GCSF is a virtual filesystem that allows users to mount their Google Drive account locally and interact with it as a regular disk partition. You can find out more in this paper.
GCSF requires the stable branch of the Rust programming language, which can be installed following the instructions on rustup.rs. If you already have Rust installed, make sure that it is updated to the latest version (≥1.26):
$ rustup update stableOn Mac OSX, GCSF requires osxfuse and pkg-config:
$ brew update; brew install pkg-config; brew tap homebrew/cask; brew cask install osxfuseOn Ubuntu, GCSF requires libfuse-dev and pkg-config:
sudo apt-get install -y libfuse-dev pkg-configAn AUR package is maintained by axionl: gcsf-git.
Make sure you have pkg-config and the fuse library installed. These are usually found in the package repositories of major distributions.
Rust can be installed via the lang/rust port. You will need to install sysutils/fusefs-libs for the cairo install command to succeed.
Unfortunately, Windows is not supported at the time being. See issue #19.
After all requirements are met, GCSF can be installed using cargo:
$ cargo install gcsfThis will generate the gcsf binary in $HOME/.cargo/bin. Make sure that this directory is in your PATH variable: export PATH=$PATH:$HOME/.cargo/bin
Alternatively, you can download a release binary for your platform.
GCSF will attempt to create a configuration file in $XDG_CONFIG_HOME/gcsf/gcsf.toml, which is usually defined as $HOME/.config/gcsf/gcsf.toml. Credentials are stored in the same directory.
The first step is to log in to Drive and authorize the application. A name must be provided for the session:
$ gcsf login some_session_name
Please direct your browser to https://accounts.google.com/o/oauth2/[...] and follow the instructions displayed there.
Successfully logged in. Saved credentials to "$HOME/.config/gcsf/some_session_name"You can also list all existing sessions:
$ gcsf list
Sessions:
- personal
- some_session_name
- workAnd then mount one (or more) of them:
$ gcsf mount /mnt/gcsf -s some_session_name
INFO gcsf > Creating and populating file system...
INFO gcsf > File sytem created.
INFO gcsf > Mounting to /mnt/gcsf
INFO gcsf > Mounted to /mnt/gcsfYou can now find the contents of your Drive account in /mnt/gcsf:
Using Ranger:
Or Thunar:
GCSF stands for "Google Conduce Sistem de Fișiere" which translated from Romanian is "Google Drive Filesystem". However GDFS already exists so it remains GCSF.
Contributions are welcome. Documentation available on docs.rs/gcsf. You can also help by reporting or fixing issues.