mirror of
https://github.com/TurboGit/hubicfuse.git
synced 2026-08-01 18:32:23 +02:00
6ab9d470fe2aa6bb9e28a9024a8fdd6be9601af9
* next: (42 commits) Update README Expand readme about tenant names & usage requirements rm on segments fixed segfault bug due to incorrectly handling persistent tempfiles removed unnecessary flush symlinks work again, needed to fflush for proper size rearanging functions w/out temp_dir uses tmpfile() from 14 to 130MB/s configure temp path not tested keep tmep files returned 0 removed threaded segment download ready for testing factored out the threads for segments and verified tip to remove segments put back the retry Add chengelog entry and bump package version. errors when public container not visible fast mounting of public container and checks not (options.storage_url ^ options.container)) updated README ...
HubicFuse is a FUSE application which provides access to Hubic's
cloud files via a mount-point.
This version contains support for DLO, symlinks and support to see other
tenant's containers. Those features are coming from:
https://github.com/LabAdvComp/cloudfuse.git
BUILDING:
You'll need libcurl, fuse, libssl, and libxml2 (and probably their dev
packages) installed to build it.
For CentOS or similar:
yum install gcc make fuse-devel curl-devel libxml2-devel \
openssl-devel json-c-devel
For GNU/Debian or Ubuntu:
apt-get install gcc make curl libfuse-dev pkg-config \
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
* Matt Greenway https://github.com/LabAdvComp
Thanks, and I hope you find it useful.
Pascal Obry
<pascal@obry.net>
Languages
C
73.8%
Shell
23.9%
M4
1.2%
Makefile
0.9%
Dockerfile
0.2%