HubicFuse is a FUSE application which provides access to Hubic's cloud files via a mount-point. BUILDING: You'll need libcurl, fuse, libssl, and libxml2 (and probably their dev packages) installed to build it. From a base Debian or Ubuntu install, this should get you to a point you can build and run it: apt-get install build-essential libcurl4-openssl-dev libxml2-dev \ libssl-dev libfuse-dev libjson0-dev pkg-config For CentOS or similar, yum install gcc make fuse-devel curl-devel libxml2-devel \ openssl-devel json-c-devel For Debian or Ubuntu, apt-get install gcc make libfuse-dev libcurl-dev \ libcurl4-openssl-dev libxml2-dev libssl-dev libjson-c-dev Cloudfuse is built and installed like any other autoconf configured code. Normally, ./configure make sudo make install USE: Your Hubic Cloud configuration can be placed in a file named $HOME/.hubicfuse. All the following variables are required: client_id=[Hubic client id for the registered application] client_secret=[Hubic client secret for the registered application] refresh_token=[A refresh token you got from the script] client_id, client_secret can be retrieved from the hubic web interface: https://hubic.com/home/browser/developers/ The refresh_token can be obtained running the script provided (hubic_token) or with any other method you like if you follow the example at https://api.hubic.com Then you can call hubicfuse: sudo hubicfuse /mnt/hubic -o noauto_cache,sync_read,allow_other And finaly, it can be set in /etc/fstab: hubicfuse /mnt/hubic fuse user,noauto 0 0 It also inherits a number of command-line arguments and mount options from the Fuse framework. The "-h" argument should provide a summary. USE AS NON-ROOT: Add the user into the fuse group: $ sudo usermod -a -G fuse [username] Mount using the above command without the sudo. The .hubicfuse file is searched into the user's home. To unmount use: $ fusermount -u [chemin] BUGS/SHORTCOMINGS: * rename() doesn't work on directories (and probably never will). * When reading and writing files, it buffers them in a local temp file. * It keeps an in-memory cache of the directory structure, so it may not be usable for large file systems. Also, files added by other applications will not show up until the cache expires. * The root directory can only contain directories, as these are mapped to containers in cloudfiles. * Directory entries are created as empty files with the content-type "application/directory". * Cloud Files limits container and object listings to 10,000 items. cloudfuse won't list more than that many files in a single directory. AWESOME CONTRIBUTORS: * Pascal Obry https://github.com/TurboGit * Tim Dysinger https://github.com/dysinger * Chris Wedgwood https://github.com/cwedgwood * Nick Craig-Wood https://github.com/ncw * Dillon Amburgey https://github.com/dillona * Manfred Touron https://github.com/moul * David Brownlee https://github.com/abs0 * Mike Lundy https://github.com/novas0x2a * justinb https://github.com/justinsb Thanks, and I hope you find it useful. Pascal Obry