{"id":21254559,"url":"https://github.com/gottox/sqsh-tools","last_synced_at":"2025-07-06T13:38:04.538Z","repository":{"id":60715935,"uuid":"363083301","full_name":"Gottox/sqsh-tools","owner":"Gottox","description":"🗜️ fast r/o squashfs implementation written in C.","archived":false,"fork":false,"pushed_at":"2025-07-02T02:02:21.000Z","size":18056,"stargazers_count":47,"open_issues_count":7,"forks_count":4,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-07-02T03:19:12.962Z","etag":null,"topics":["c","compression","filesystem","fuse","library","libsquashfs","linux","lz4","squashfs","unix","zlib","zstd"],"latest_commit_sha":null,"homepage":"https://gottox.de/sqsh-tools/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Gottox.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["Gottox"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":"Gottox","issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2021-04-30T08:56:34.000Z","updated_at":"2025-07-02T02:02:25.000Z","dependencies_parsed_at":"2023-09-22T15:20:18.546Z","dependency_job_id":"35ec6f54-684c-4b78-9a2b-a41891ce9809","html_url":"https://github.com/Gottox/sqsh-tools","commit_stats":null,"previous_names":["gottox/sqsh-tools","gottox/libsqsh"],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/Gottox/sqsh-tools","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gottox%2Fsqsh-tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gottox%2Fsqsh-tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gottox%2Fsqsh-tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gottox%2Fsqsh-tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Gottox","download_url":"https://codeload.github.com/Gottox/sqsh-tools/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gottox%2Fsqsh-tools/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263909060,"owners_count":23528575,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","compression","filesystem","fuse","library","libsquashfs","linux","lz4","squashfs","unix","zlib","zstd"],"created_at":"2024-11-21T03:57:14.214Z","updated_at":"2025-07-06T13:38:04.495Z","avatar_url":"https://github.com/Gottox.png","language":"C","funding_links":["https://github.com/sponsors/Gottox","https://liberapay.com/Gottox"],"categories":[],"sub_categories":[],"readme":"# sqsh-tools [![CI](https://github.com/Gottox/libsqsh/actions/workflows/ci.yaml/badge.svg)](https://github.com/Gottox/libsqsh/actions/workflows/ci.yaml) [![codecov](https://codecov.io/github/Gottox/sqsh-tools/graph/badge.svg?token=AM5COPDMH0)](https://codecov.io/github/Gottox/sqsh-tools) [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=Gottox_libsqsh\u0026metric=alert_status)](https://sonarcloud.io/summary/new_code?id=Gottox_libsqsh) [![License](https://img.shields.io/badge/License-BSD_2--Clause-orange.svg)](https://opensource.org/licenses/BSD-2-Clause)\n\nsquashfs is an open and free compressed read-only filesystem. It is used in\nembedded devices, live-CDs, or in packaging. The original implementation\nresides in the linux kernel, but there are also userspace implementations.\n\nThis project provides a userspace implementation of the squashfs filesystem\ncontaining a set of command line tools and a C library.\n\n## users of sqsh-tools\n\n* [radare2](https://www.radare.org/) - A reverse engineering framework.\n  Integrates [libsqsh](./libsqsh/README.md) into their virtual filesystem\n  framework to explore inline squashfs archives.\n* [Filer](https://github.com/probonopd/Filer) - A file manager for Unix systems.\n  Uses [libsqsh](./libsqsh/README.md) to show previews of AppImages without\n  mounting them first.\n* [sqsh-rs](https://github.com/Dr-Emann/sqsh-rs) - Rust bindings for [libsqsh](./libsqsh/README.md).\n\n## Building\n\n### Dependencies\n\n* **libc**: Any POSIX compliant libc should work. Open a bug if it doesn't.\n* [**zlib**](https://zlib.net/) *optional*: For gzip compression support.\n* [**liblz4**](https://lz4.org/) *optional*: For lz4 compression support.\n* [**liblzma**](https://tukaani.org/xz) *optional*: For lzma compression support.\n* [**libzstd**](https://facebook.github.io/zstd/) *optional*: For zstd compression\n  support.\n* [**fuse3**](https://libfuse.github.io/) *optional*: For mounting squashfs\n  archives.\n* [**fuse2**](https://libfuse.github.io/) *optional*: For mounting squashfs \n  archives on systems that don't support fuse3. e.g. OpenBSD.\n* [**libcurl**](https://curl.se/) *optional*: For transparently reading squashfs\n  archives from the internet without downloading them first.\n\nNote that to do anything useful with *libsqsh*, you need to have at least one of the\ncompression libraries enabled.\n\n### Compile \u0026 Install\n\n```bash\nmeson setup build\ncd build\nmeson compile\nmeson install\n```\n\n## tools\n\nThis project provides a set of command line tools to interact with squashfs\narchives.\n\n* [`sqsh-cat`](./tools/man/sqsh-cat.1.in): Prints the content of one or \n  multiple files to stdout.\n* [`sqsh-ls`](./tools/man/sqsh-ls.1.in): Lists the content of a directory.\n* [`sqsh-stat`](./tools/man/sqsh-stat.1.in): Prints the metadata of a file,\n  directory, or the whole archive.\n* [`sqsh-unpack`](./tools/man/sqsh-unpack.1.in): Extracts a squashfs archive to\n  a directory.\n* [`sqsh-xattr`](./tools/man/sqsh-xattr.1.in): Prints the extended attributes of\n  a file or directory.\n* [`sqshfs`](./tools/man/sqshfs.1.in): Mounts a squashfs archive to a directory.\n  There are two versions of this tool, one for fuse3 and one for fuse2.\n\n## libsqsh\n\nsqsh-tools also provides a C library to interact with squashfs archives. There are two APIs\navailable:\n\n* **Easy API**: This API is designed to be easy to use and provides a\n  simple interface to read the content of a squashfs archive. It is the\n  recommended API to use.\n\n* **Low-level API**: This API provides a more fine-grained control over the\n  squashfs archive. It allows zero copy reading of the archive.\n\nFor more information, see the [libsqsh README](./libsqsh/README.md).\n\n## LZO2\n\nLZO2 is a fast compression algorithm. Unfortunately the current implementation\nis GPL licensed and therefore not included in this library. If you want to use \nLZO2 there's and independent glue library called [libsqsh-lzo](https://github.com/Gottox/libsqsh-lzo).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgottox%2Fsqsh-tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgottox%2Fsqsh-tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgottox%2Fsqsh-tools/lists"}