Projects / libferris


libferris is a virtual filesystem that exposes hierarchical data of all kinds through a common C++ interface. Access to data is performed using C++ IOStreams and metadata is available as key-value pairs through the Extended Attributes (EA) interface. Rich support for filesystem indexing is included to provide timely search results for well into millions of files. Ferris uses a plugin API to handle a large range of data sources, metadata, and index and search strategies. Filesystems include file:// with monitoring, XML (mount an XML file as a filesystem), relational databases, ISAM databases (Berkeley db, tdb, gdbm, eet et al), xmldb, LDAP, Applications (Evolution, Firefox, Emacs), HTTP, FTP, sockets, and RDF (from XML, binary, soprano). EA generators include image, audio, and animation decoders.

Operating Systems

Recent releases

  •  29 Jul 2013 07:43

    Release Notes: This release adds initial support for mounting Google Drive with support for listing, uploading, downloading, and altering metadata, and viewing how files are shared and adding new users to those shares.

    •  22 Jul 2013 06:14

      Release Notes: Mounting vimeo now uses oauth, streaming upload works again, and the user can now list "My Videos", update titles, and delete videos.

      •  31 May 2012 22:43

        Release Notes: This release adds a new YUI Web interface to the REST API, including annotations, searches, and tagging interfaces.

        •  16 Apr 2012 00:42

          Release Notes: Mounting Zoneminder. A new REST interface allowing search, fetch by docid, list, read, write, and tagging. The ability to mount the new REST interface as a filesystem. Updates to the PostgreSQL metadata index module. A new "as-json" extended attribute; ferrisls can now output in JSON. A new docid: a virtual filesystem to allow access to files by their indexed number. The clucene eaindex module now includes indexed prefilter on simple regular expressions. Updates for paths of SQLite files and transaction use in the QtSql eaindex module. Updates for building on Gentoo compliments to APTX.

          •  05 Mar 2012 11:31

            Release Notes: A new metadata and fulltext index module using QtSql targeting SQLite by default. Updates to the boostmmap and clucene indexing modules. Updates to statusnet mounting. Udpates for building without GTK2 for modern headless ARM devices. A new --total-files-to-index-per-run option to feaindexadd and findexadd,


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.