All Projects → kaitai-io → Kaitai_fs

kaitai-io / Kaitai_fs

Licence: gpl-3.0
KaitaiFS: mount any filesystem specified with a .ksy as a real file system

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Kaitai fs

Catfs
Cache AnyThing filesystem written in Rust
Stars: ✭ 404 (+797.78%)
Mutual labels:  fuse, filesystem
S3fs Fuse
FUSE-based file system backed by Amazon S3
Stars: ✭ 5,733 (+12640%)
Mutual labels:  fuse, filesystem
Google Drive Ocamlfuse
FUSE filesystem over Google Drive
Stars: ✭ 4,447 (+9782.22%)
Mutual labels:  fuse, filesystem
Infinit
The Infinit policy-based software-defined storage platform.
Stars: ✭ 363 (+706.67%)
Mutual labels:  fuse, filesystem
Fuse Ts
Stars: ✭ 6 (-86.67%)
Mutual labels:  fuse, filesystem
Svfs
The Swift Virtual File System
Stars: ✭ 375 (+733.33%)
Mutual labels:  fuse, filesystem
Exfat
Free exFAT file system implementation
Stars: ✭ 528 (+1073.33%)
Mutual labels:  fuse, filesystem
Jnr Fuse
FUSE implementation in Java using Java Native Runtime (JNR)
Stars: ✭ 266 (+491.11%)
Mutual labels:  fuse, filesystem
Distribyted
📂 ➡️ 📺 🎶 🎮 Torrent client with on-demand file downloading as a filesystem.
Stars: ✭ 791 (+1657.78%)
Mutual labels:  fuse, filesystem
Fuse Rs
Rust library for filesystems in userspace (FUSE)
Stars: ✭ 735 (+1533.33%)
Mutual labels:  fuse, filesystem
Goofys
a high-performance, POSIX-ish Amazon S3 file system written in Go
Stars: ✭ 3,932 (+8637.78%)
Mutual labels:  fuse, filesystem
Fusell Seed
FUSE (the low-level interface) file system boilerplate 📂 🔌 💾
Stars: ✭ 9 (-80%)
Mutual labels:  fuse, filesystem
Winfsp
Windows File System Proxy - FUSE for Windows
Stars: ✭ 4,071 (+8946.67%)
Mutual labels:  fuse, filesystem
Dokany
User mode file system library for windows with FUSE Wrapper
Stars: ✭ 4,055 (+8911.11%)
Mutual labels:  fuse, filesystem
Btfs
A bittorrent filesystem based on FUSE.
Stars: ✭ 2,984 (+6531.11%)
Mutual labels:  fuse, filesystem
Securefs
Filesystem in userspace (FUSE) with transparent authenticated encryption
Stars: ✭ 518 (+1051.11%)
Mutual labels:  fuse, filesystem
ext2py
The slowest ext2fs driver ever! (in Python)
Stars: ✭ 14 (-68.89%)
Mutual labels:  fuse, filesystem
redis-fs
Mount a Redis database as a filesystem using fuse.
Stars: ✭ 76 (+68.89%)
Mutual labels:  fuse, filesystem
Dbxfs
User-space file system for Dropbox
Stars: ✭ 673 (+1395.56%)
Mutual labels:  fuse, filesystem
Fuse Copyfs
CopyFS is the copy-on-write (COW) versioned filesystem for FUSE. Years ago I added features to CopyFS 1.0, then 1.0.1 came out and I never bothered to forward-port my changes. Now I have. Master is 1.3.1M, which is CopyFS 1.0.1 + 1.3M
Stars: ✭ 24 (-46.67%)
Mutual labels:  fuse, filesystem

======== KaitaiFS

KaitaiFS is a tool that allows you to mount any filesystem image, container, archive file, etc, in a format specified using Kaitai Struct <http://kaitai.io> .ksy file.

Internally, it provides a thin binding of a Python parser generated by Kaitai Struct compiler from a .ksy file to a FUSE (filesystem in userspace) Python API.

Installing

Prerequisites: FUSE (tested on a Linux system, should work on Mac OS X as well).

  • Clone this repository
  • Run python setup.py install

How to extend

Adapting any .ksy file to work with KaitaiFS should be pretty easy. Generally, one needs to create a new binding file in fs package. For inspirations, see quake_pak_fs for a filesystem with a flat list of file entries (note that file paths inside the filesystem may be still hierarchical, it's just a list of file entries that is flat!) and iso9660_fs for an example of a real-life tree-based filesystem used on almost every data CD-ROM.

Licensing

KaitaiFS is copyright (C) 2017 Kaitai Project.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

KaitaiFS uses parsers generated with Kaitai Struct, which are licensed as specified in source .ksy files.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].