TCP over Google Drive?
June 2025
There is a filesystem in user namespace (FUSE) for Google Drive called google-drive-ocamlfuse. Lets see if I can get it working. First, lets setup OAUTH 2.0 on my Google account. Make sure to download the json file when you setup OAUTH and put it in a safe place.
Had to compile Zarith from source. Make sure /usr/lib/ocaml/zarith/libzarith.a exists due to some LTO(Link time optimization?) stuff. Didn’t run into any issues here.
git clone https://github.com/ocaml/Zarith.gitmake && make install
Run opam install google-drive-ocamlfuse, then add export PATH=$PATH:$HOME/.opam/default/bin to .bashrc.
Run google-drive-ocamlfuse -id <id from file> -secret <secret from file>, it opened a browser prompt for me to signin. Upon signing in I got a 403 access denied. Hmmm lets investigate further. I had to go to Google Auth Platform/Audience and add my email address under Test users. Anyway problem solved.
mkdir ~/googledirectory, then google-drive-ocamlfuse ~/googledirectory. BOOM I have access to my google drive. Wow im impressed, very easy.
File "src/netstring/netdate.ml", line 308, characters 2-13:
Error: Unbound module Stream
make: *** [Makefile:4: build] Error 1
Im getting this error when building gapi-ocaml from source. Figured it out. Uninstall libcamlp-streams-ocaml using apt if installed. This version conflicts with the local version.
Unfortunately after trying to create 2 FIFOs on both sides and disabling cache, it doesn’t seem to work. Might or might not look further into this.
To unmount the FUSE fs: fusermount -u <path>