- Saved searches
- Use saved searches to filter your results more quickly
- mikea/gdrive-webdav
- Name already in use
- Sign In Required
- Launching GitHub Desktop
- Launching GitHub Desktop
- Launching Xcode
- Launching Visual Studio Code
- Latest commit
- Git stats
- Files
- README.md
- Google drive в Ubuntu, Linux Mint, Archlinux, Manjaro используя google-drive-ocamlfuse
- Linux mint Google Drive
Saved searches
Use saved searches to filter your results more quickly
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
Webdav bridge for Google Drive
mikea/gdrive-webdav
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
README.md
Simple Google Drive => WebDAV bridge.
- Build docker image: docker build -t gdrive-webdav .
- Create a project and enable «Drive API» (https://developers.google.com/workspace/guides/create-project)
- Obtain OAuth client ID credentials for Desktop Application (https://developers.google.com/workspace/guides/create-credentials#oauth-client-id)
- Run using docker:
touch .gdrive_token docker run -ti --rm -p 8765:8765 -v $(pwd)/.gdrive_token:/root/.gdrive_token gdrive-webdav --client-id=client_id> --client-secret=client_secret>
Alpha quality. I trust it my files.
- Linux Nautilus: Readable/Writable
- Linux davfs2: Some issues
- Mac Finder: Read-only
- Cyberduck: Appears to work (works also with Win8)
- Win8: Cannot connect to http://localhost:8765/ , using WIN8 network share builtin webdav support
- Win8 MiniRedirector Client does not seem to send correct PROPFIND. Missing xml on request body 0 length.
Litmus test results as of Aug 2022:
-> running `basic': 0. init. pass 1. begin. pass 2. options. pass 3. put_get. pass 4. put_get_utf8_segment.. pass 5. put_no_parent. pass 6. mkcol_over_plain. pass 7. delete. pass 8. delete_null. pass 9. delete_fragment. pass 10. mkcol. pass 11. mkcol_again. pass 12. delete_coll. pass 13. mkcol_no_parent. pass 14. mkcol_with_body. pass 15. finish. pass running `copymove': 0. init. pass 1. begin. pass 2. copy_init. pass 3. copy_simple. pass 4. copy_overwrite. pass 5. copy_nodestcoll. WARNING: COPY to non-existant collection '/litmus/nonesuch' gave '500 Internal Server Error' not 409 (RFC2518:S8.8.5) . pass (with 1 warning) 6. copy_cleanup. pass 7. copy_coll. pass 8. copy_shallow. pass 9. move. pass 10. move_coll. pass 11. move_cleanup. pass 12. finish. pass 1 warning was issued. -> running `props': 0. init. pass 1. begin. pass 2. propfind_invalid. pass 3. propfind_invalid2. FAIL (PROPFIND with invalid namespace declaration in body (see FAQ) got 207 response not 400) 4. propfind_d0. pass 5. propinit. pass 6. propset. pass 7. propget. pass 8. propextended. pass 9. propmove. pass 10. propget. pass 11. propdeletes. pass 12. propget. pass 13. propreplace. pass 14. propget. pass 15. propnullns. pass 16. propget. pass 17. prophighunicode. pass 18. propget. pass 19. propremoveset. pass 20. propget. pass 21. propsetremove. pass 22. propget. pass 23. propvalnspace. pass 24. propwformed. pass 25. propinit. pass 26. propmanyns. pass 27. propget. pass 28. propcleanup. pass 29. finish. pass
Use nix to set up development environment:
nix-shell go test ./. go build golangci-lint run
You can use litmus tests to test the implementation:
docker build -t litmus litmus && docker run -ti --network=host litmus http://localhost:8765/
Running single group of tests:
docker run -ti --network=host --entrypoint=/usr/local/libexec/litmus/copymove litmus http://localhost:8765/
Evailable tests: basic, copymove, http, locks, props.
To get test log add -v $(pwd)/debug.log:/usr/local/share/litmus/debug.log .
About
Webdav bridge for Google Drive
Используем Google drive в linux через webdav и ocamlfuse
Компания Гугл бесплатно предоставляет любому желающему 15 Гигабайт дискового пространства. Файлы находящиеся там, вы можете открывать с любого устройства под любой операционной системой в любой точке мира.
Предлагаю вашему вниманию новую статью из цикла статей о Linux: Шифрование облачного диска Linux (файлов, папок)
WebDaV Google drive Linux
К сожалению в Google Drive нет встроенной поддержки технологии WebDAV. Я нашёл на просторах костыльный способ подключения по WebDaV. Для этого нужно зарегистрироваться по ссылке https://dav-pocket.appspot.com/signup . Сразу хочу предупредить, что в этом случае какой то сторонний сервис получит доступ к вашим данным в google drive, если вас это устраивает, то используйте.
Необходимо будет в нём подключить свой Гугл аккаунт. Для подключения Google Drive через WebDAV потребуются данные, выданные сервисом: имя аккаунта, пароль и адрес сервера. Это касаемо всех дистрибутивов, теперь же перейдём к конкретике на примере Ubuntu и Archlinux (и их производных).
Установим пакет davfs2 в Ubuntu и производные
sudo apt-get install davfs2 sudo dpkg-reconfigure davfs
После введения второй команды, система спросит разрешение на монтирования WebDaV раздела непривилегированным пользователям. Соглашаемся.
в Archlinux и производные
Далее первой командой в домашней директории создаём папку в которую будем монтировать наш удалённый файловый хостинг. Второй командой создадим папку с файлом в который запишем данные полученные от стороннего сервиса, ссылку на который вы видели дюжиной строк выше.
mkdir ~/mnt && mkdir ~/mnt/GDrive
mkdir ~/.davfs2 && nano ~/.davfs2/secretsВ него вписываем следующие строки(разумеется внеся свои login и password и вместо tehnojam имя своего пользователя)
/home/tehnojam/mnt/GDrive login password
Если всё до текущего шага у вас таки получилось сделать, то остался последний штрих- добавление в fstab сведений для автомонтирования нашего новоявленного файлоохранилища:
и в конце дописываем (вместо tehnojam не забываем вписать имя своего пользователя)
https://dav-pocket.appspot.com/docso /home/tehnojam/mnt/GDrive davfs user,rw,_netdev 0 0
Теперь всё должно автомонтироваться при перезагрузке.
Google drive в Ubuntu, Linux Mint, Archlinux, Manjaro используя google-drive-ocamlfuse
Реализация подключения Google Drive в linux реализуется пакетом google-drive-ocamlfuse. Так как установка и настройка подключения в различных дистрибутивах несколько разнится, то опишу это далее на конкретных дистрибутивах.
Так как Ubuntu и Linux Mint наиболее популярные дистрибутивы Linux, то далее будет пример подключения в этих дистрибутивах.
Для установки и настройки google-drive-ocamlfuse в Ubuntu и Linux Mint, нам необходимо подключить дополнительный репозиторий введя в терминале эти команды:
sudo add-apt-repository ppa:alessandro-strada/ppa sudo apt update sudo apt install google-drive-ocamlfuse
Для установки и настройки google-drive-ocamlfuse в Archlinux и Manjaro выполним в терминале:
#для пользователей yaourt ввести
yaourt -S google-drive-ocamlfuse#для пользователей pacaur ввести
pacaur -S google-drive-ocamlfuseДалее создаём в домашней директории папку, в которую будем осуществлять монтирование облака, выполняем это командой:
mkdir ~/GDisk google-drive-ocamlfuse ~/GDisk
После отработки последней команды откроется окно вашего дефолтного браузера
После введения своих данных от гугл аккаунта увидите что-то подобное:
Поздравляю, у вас в домашнем каталоге появился ваш Google Drive.
Linux mint Google Drive
Так как на моей машине сейчас стоит Linux Mint 19, то в завершение статьи о Google Drive приведу один понравившийся простой и безболезненный способ использования гуглового файлохранилища в данном дистрибутиве.
Достаточно просто введя одну команду
sudo apt-get install gnome-control-center
установить gnome-control-center , запустить его, и кликнуть по пункту «Online Account»
Там выберем аккаунт google, вводим свои логин и пароль и вуаля, Google Drive уже появился в Nautilus и при нажатии легко и непринужденно монтируется к вашей машине.
Наверное прочитав статью, вы в недоумении скажете: «И что? Где нормальные решения? Где повествования о Rclone или ODrive?» Безусловно есть куча различных мейнстрим клиентов на линукс, но о них расписаны уже тысячи страниц. Я же решил поделиться менее распространёнными способами интегрирования Google Drive в Linux.