Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kaitai-io/kaitai_fs

KaitaiFS: mount any filesystem specified with a .ksy as a real file system
https://github.com/kaitai-io/kaitai_fs

filesystem fuse kaitai-struct python

Last synced: 10 days ago
JSON representation

KaitaiFS: mount any filesystem specified with a .ksy as a real file system

Awesome Lists containing this project

README

        

========
KaitaiFS
========

KaitaiFS is a tool that allows you to mount any filesystem image,
container, archive file, etc, in a format specified using `Kaitai
Struct ` .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 .

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