Wiki on GitHub


FUSE file system for reading RAR archives
by hasse69

Download this project as a .zip file Download this project as a tar.gz file

rar2fs is a FUSE based file system that can mount a source RAR archive/volume or a directory containing any number of RAR archives and read the contents as regular files on-the-fly. Non-archived files located in the source directory are handled transparently. Both compressed and non-compressed archives/volumes are supported but full media seek support (aka. indexing) is only available for non-compressed plaintext archives. In general support for compressed and/or encrypted archives is "best effort", highly depending on what type of information the archive contains and by what method it is accessed.

Encrypted archives are supported but since rar2fs is completely non-interactive it requires the archive password to be stored on the local file system in a file in plaintext format. This of course is a major security limitation in itself. If you really need to use this feature, use it wisely. The author(s) of rar2fs will not be held responsible for encrypted information being exposed due to this limitation. If security is really an issue some encryption on file system level should be considered instead. A FUSE based encryption file system, such as encfs, has proven to work very well together with rar2fs.

Latest released version of rar2fs is 1.29.4 and can be downloaded here.

This program takes use of the free "Portable UnRAR" C++ library and some extensions to it. In order to build the API extensions the complete source tree of unrar is needed.

The latest supported version of the unrar source tree (by Alexander Roshal) can be found here Later versions, especially minor revision steps, should still be possible to use (should you discover a bug) depending on the level of backward source compatibility it offers. If a new source version breaks the build please report it through the issue tracking system or wait patiently for a new version of rar2fs to be released. New versions will be tested as soon as they are discovered. Also be aware that if not linking statically (which is currently the default), changing from one version of the source to another always will require that the current version of on the target system is replaced.

To successfully build rar2fs a copy of the fuse development files must also exist on the host system (build server). Any more recent version of FUSE should be possible to use, but versions earlier than 2.6 has not been tested and most probably does not work. A recent version of FUSE development files can be downloaded here For FreeBSD the FUSE ports sysutils/fusefs-kmod and sysutils/fusefs-libs must be installed.

Version 1.11.3 and later of rar2fs supports MacFUSE, the FUSE clone for Mac OS X. The latest installation package can be found on the MacFUSE project site.

The more recent versions of rar2fs also supports Fuse4x, the reference implementation of the Linux FUSE API for Mac OS X and successor to the non-proprietary version of MacFUSE. More information can be found on the Fuse4x project site. The latest installation package of Fuse4x can be downloaded here.

Version 1.15.2 and later includes support for FUSE for OS X (or OSXFUSE). OSXFUSE is a successor to MacFUSE which is no longer being maintained. OSXFUSE has also been merged with Fuse4x. A recent installation of OSXFUSE can be found here.

For further information about building and using rar2fs refer to the README file or the Wiki. If you still have questions or maybe even have a suggestion for improvement etc. do not hesitate to submit an issue report.