{"id":16717984,"url":"https://github.com/dsheets/google-drive-profuse","last_synced_at":"2025-08-24T14:24:44.511Z","repository":{"id":15002659,"uuid":"17728126","full_name":"dsheets/google-drive-profuse","owner":"dsheets","description":"Fork of [google-drive-ocamlfuse](https://github.com/astrada/google-drive-ocamlfuse) to use [profuse](https://github.com/dsheets/profuse) Consistent syntax is not GitHub's strong suit.","archived":false,"fork":false,"pushed_at":"2014-03-13T22:27:28.000Z","size":468,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-01-22T00:49:51.962Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"OCaml","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"prakhar1989/awesome-courses","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dsheets.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-03-13T22:23:53.000Z","updated_at":"2023-05-19T02:26:02.000Z","dependencies_parsed_at":"2022-09-21T13:20:25.833Z","dependency_job_id":null,"html_url":"https://github.com/dsheets/google-drive-profuse","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsheets%2Fgoogle-drive-profuse","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsheets%2Fgoogle-drive-profuse/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsheets%2Fgoogle-drive-profuse/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsheets%2Fgoogle-drive-profuse/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dsheets","download_url":"https://codeload.github.com/dsheets/google-drive-profuse/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243713420,"owners_count":20335567,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-12T21:34:35.679Z","updated_at":"2025-03-15T10:12:55.664Z","avatar_url":"https://github.com/dsheets.png","language":"OCaml","readme":"FUSE filesystem over Google Drive\n=================================\n\n**google-drive-ocamlfuse** is a FUSE filesystem backed by Google Drive,\nwritten in OCaml. It lets you mount your Google Drive on Linux.\n\n### Features\n\n* Full read/write access to ordinary files and folders\n* Read-only access to Google Docs, Sheets, and Slides (exported to\n  configurable formats)\n* Multiple account support\n* Duplicate file handling\n* Access to trash (`.Trash` directory)\n\n### Resources\n\n* [Homepage](http://gdfuse.forge.ocamlcore.org/)\n* [Wiki](https://github.com/astrada/google-drive-ocamlfuse/wiki): includes\n  installation instructions, and more details about configuration, and\n  authorization\n\n### Authorization\n\nPlease be sure to have a look at the\n[authorization](https://github.com/astrada/google-drive-ocamlfuse/wiki/Authorization)\npage, to understand how the authorization process works, and to discover all\nthe available options.\n\nGetting started\n---------------\n\n### Installation\n\nI've uploaded .deb packages to my [PPA](https://launchpad.net/~alessandro-strada/+archive/ppa),\nfor Ubuntu 13.10, 13.04, 12.10, 12.04. In order to to install it, use the commands below:\n\n    $ sudo add-apt-repository ppa:alessandro-strada/ppa\n    $ sudo apt-get update\n    $ sudo apt-get install google-drive-ocamlfuse\n\nFor other installation options, please refer to the [wiki](https://github.com/astrada/google-drive-ocamlfuse/wiki/Installation).\n\nHow to build\n------------\n\n### Requirements\n\n* [OCaml][] \u003e= 3.12.0\n* [Findlib][] \u003e= 1.2.7\n* [ocamlfuse][] \u003e= 2.7.1\n* [gapi-ocaml][] \u003e= 0.2.1\n* [sqlite3-ocaml][] \u003e= 1.6.1\n\n[OCaml]: http://caml.inria.fr/ocaml/release.en.html\n[Findlib]: http://projects.camlcity.org/projects/findlib.html/\n[ocamlfuse]: http://sourceforge.net/projects/ocamlfuse/\n[gapi-ocaml]: http://forge.ocamlcore.org/projects/gapi-ocaml/\n[sqlite3-ocaml]: https://bitbucket.org/mmottl/sqlite3-ocaml\n\n### Configuration and installation\n\nTo build the executable, run\n\n    $ ocaml setup.ml -configure\n    $ ocaml setup.ml -build\n\nTo install it, run (as root, if your user doesn't have enough privileges)\n\n    $ ocaml setup.ml -install\n\nTo uninstall anything that was previously installed, execute\n\n    $ ocaml setup.ml -uninstall\n\n### Usage\n\nThe first time, you can run `google-drive-ocamlfuse` without parameters:\n\n    $ google-drive-ocamlfuse\n\nThis command will create the default application directory\n(`~/.gdfuse/default`), containing the configuration file `config` (see the\n[wiki\npage](https://github.com/astrada/google-drive-ocamlfuse/wiki/Configuration)\nfor more details about configuration). And it will start a web browser to\nobtain authorization to access your Google Drive. This will let you modify\ndefault configuration before mounting the filesystem.\n\nThen you can mount the filesystem:\n\n    $ google-drive-ocamlfuse mountpoint\n\nIf you have more than one account, you can run:\n\n    $ google-drive-ocamlfuse -label label [mountpoint]\n\nUsing `label` to distinguish different accounts. The program will use the\ndirectory `~/.gdfuse/label` to host configuration, application state, and file\ncache. No file is shared among different accounts, so you can have a different\nconfiguration for each one.\n\nTo unmount the filesystem, issue this command:\n\n    $ fusermount -u mountpoint\n\n### Troubleshooting\n\nThis application is still under testing, so there are probably bugs to\ndiscover and fix. To be extra sure, if you want, you can mount the filesystem\nin read-only mode, modifying the configuration (see the\n[documentation](https://github.com/astrada/google-drive-ocamlfuse/wiki/Configuration)),\nto avoid any write attempt to the server. Anyway, the `rm` command will simply\ntrash your file, so you should always be able to rollback any changes. If you\nhave problems, you can turn on debug logging:\n\n    $ google-drive-ocamlfuse -debug mountpoint\n\nIn `~/.gdfuse/default` you can find `curl.log` that will track every request\nto the Google Drive API, and `gdfuse.log` that will log FUSE operations and\ncache management. If something goes wrong, you can try clearing the cache,\nwith this command:\n\n    $ google-drive-ocamlfuse -cc\n\nIf something still doesn't work, try starting from scratch removing everything\nin `~/.gdfuse/default`. In this case you will need to reauthorize the\napplication.\n\nNote that in order to reduce latency, the application will query the server\nand check for changes only every 60 seconds (configurable). So, if you make a\nchange to your documents (server side), you won't see it immediately in the\nmounted filesystem.\n\nNote also that Google Documents will be exported read-only.\n\n### Support\n\nIf you have questions, suggestions or want to report a problem, you can post\nto this [mailing\nlist](https://lists.forge.ocamlcore.org/mailman/listinfo/gdfuse-devel). Or you\nmay want to open an\n[issue](https://github.com/astrada/google-drive-ocamlfuse/issues) on github.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdsheets%2Fgoogle-drive-profuse","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdsheets%2Fgoogle-drive-profuse","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdsheets%2Fgoogle-drive-profuse/lists"}