Как подключить Google Drive и Яндекс.Диск в Linux и FreeBSD

Доброго времени суток. Как вы наверно знаете недавно компании Google и Яндекс запустили сервисы хранения файлов файлов в облаке. Я был и остаюсь фанатом DroBox’а, но халява же … Одна беда — про пользователей альтернативных операционных систем как обычно забыли. Тогда как для пользователей Windows имеется все готовое, нам суровым линуксойдам :-) приходится думать над подключением самим.

Начав с подключения Яндекс.Диска, в котором меня привлекло использование WebDAV (Web-based Distributed Authoring and Versioning — расширение протокола HTTP позволяющее работать с файлами на удаленном хостинге), так же я подключил Google Drive и некоторые другие облачные флешки, подключать которые раньше в Linux и не думал.

Подключаем WebDAV ресурс в Ubuntu

В принципе что в Linux, что в Windows никаких особых программ не нужно, все работает из коробки. В Ubuntu работа реализована с помощью пакета GVFS, доступно в Nautilus (Файл -> Подключиться к серверу). Способ простой, но не лучший из возможных, например работает только в графическом режиме, только в оболочке Gnome или Unity … Куда более интересный вариант использовать лишенный этих недостатков модуль FUSE davfs2. Установим davfs2 и попробуем подключить Яндекс.Диск, делается это примерно так:

  • Устанавливаем пакет davfs2 (считаем что FUSE уже установлен и настроен): sudo apt-get install davfs2
  • Чтобы разрешить использовать davfs обычным пользователям выполним: sudo chmod 4755 /usr/sbin/mount.davfs
  • Создаем точку монтирования: sudo mkdir /media/yandex.disk
  • Монтируем Яндекс.Диск, потребуется ввести логин и пароль:
    sudo mount -t davfs https://webdav.yandex.ru /media/yandex.disk/
  • Проверяем: sudo df -h /media/yandex.disk/

Добавим настройки монтирования в fstab (пусть система сама все делает за нас):

  • Отредактируем fstab: sudo gedit /etc/fstab, добавим: https://webdav.yandex.ru:443 /media/yandex.disk davfs user,rw,noauto 0 0
  • Отредактируем /etc/davfs2/secrets(чтобы не вводить пароль при каждом монтировании): sudo gedit /etc/davfs2/secrets, добавим: https://webdav.yandex.ru login pass

Разрешить доступ можно и переконфигурировав пакет davfs: sudo dpkg-reconfigure davfs2
Каталог /media используется для подключения сменных дисков, так что точку монтирования нужно создавать именно в нем. Опция user разрешает любому пользователю монтировать файловую систему. Для чтения и записи — rw. Опция noauto монтирование вручную, иначе Ubuntu будет пытается подключить файловую систему при загрузке до загрузки собственно сети, что ни к чему хорошему не приведет..

Продолжаем для всех используемых облаков. Я уже говорил что мы не ограничимся Яндекс.Диском? Не забываем только создавать отдельные каталоги в точке монтирования для каждого диска. Теперь наш диск будет виден в Nautilus (Unity) как отдельный накопитель.

WebDAV в FreeBSD

В большинстве случаев Linux в этом блоге это Ubuntu. Это моя основная рабочая система уже скоро как шесть лет и пиарю я ее абсолютно сознательно. Но я умею не только Ubuntu, и после анализа поискового трафика я решил добавить этот раздел(пусть никто не уйдет обиженным). Способ полностью рабочий (FreeBSD9), проверял специально на нескольких машинах. От Linux варианта отличается тем что вместо отсутствующего в портах davfs, используется wdfs:

  • Устанавливаем пакет fusefs-wdfs: pkg_add -r fusefs-wdfs,
  • или собираем из портов:
    cd /usr/ports/sysutils/fusefs-wdfs/
    make install clean
  • Разрешаем запуск FUSE:
    echo 'fusefs_enable="YES"' >> /etc/rc.conf
  • Запускаем FUSE: /usr/local/etc/rc.d/fusefs start
  • Создаем точку монтирования: mkdir /mnt/yandex.disk
  • Монтируем Яндекс.Диск:
    wdfs https://webdav.yandex.ru /mnt/yandex.disk -o ,username=user@yandex.ru,password=password
  • Соглашаемся с сертификатом, вводим логин и пароль
  • Проверяем: sudo df -h /mnt/yandex.disk/

Добавляем другие облака

Потренировались на Яндекс.Диске? Хотите знать что можно подключить еще? Для начала можно попробовать эти: SkyDrive от MS и ownCloud.

Чтобы подключить SkyDrive зайдите по своему Windows Live ID и скопируйте из URL код идущий после cid=: https://skydrive.live.com/#cid=*****. Теперь можно подключится используя в качестве адреса ресурса https //docs.live.net/ваш_cid_тут/. Или воспользоваться вариантом изложенным ниже.

Забудьте не работает, работающий способ здесь: Подключение SkyDrive в Ubuntu.

Теперь OwnCloud. Это проект сообщества KDE, предназначение которого создание свободной альтернативы некоторым облачным сервисам. Можно поднять самому а можно воспользоваться готовым например OwnCube(платный) или PortKnox(можно попользоваться бесплатно). Адрес будет выглядеть примерно так(зависит от сервиса): http://сервер/путь/к/папке/owncloud/webdav.php.

Сервис не поддерживает WebDAV

С помощью WebDAV можно подключить Google Drive, DropBox и другие облачные сервисы, не имеющие поддержки WebDAV или только обещающие такую (Ubuntu One, DropBox). Например, чтобы получить доступ к вашему DropBox’у из FreeBSD или Haiku не дожидаясь появления родного клента.

Для Google Drive можно воспользоваться сервисом Otixo (реф-ссылка). Если коротко этот сервис добавляет поддержку WebDAV в Google Drive. И не только, еще Dropbox, SugarSync, SkyDrive, Ubuntu One и другие. Подключаемся по адресу https://dav.otixo.com/ авторизуем приложение и работаем. Бесплатная версия имеет ограничения, но для запасного варианта должно хватить.

Для DropBox неплохим выбором был — DropDAV. Регистрируемся, авторизируем приложение на Dropbox, пользуемся. Для подключения используем адрес https://dav.dropdav.com/. Почему неплохим? Раньше сервисом можно было пользоваться бесплатно теперь только за деньги.

(К слову, про Haiku и другие, для подключения используем CLI клиент Cadaver.)

Добавим немного шифрования

Для шифрования воспользуемся EncFS. Нравится мне эта файловая система за простоту в использовании и всеядность по отношению к операционным системам. Тема шифрования с EncFS раскрыта в этой заметке, добавлю разве скрипт автомонтирования (найден на хабре и слегка подправлен):


# Проверяем примонтирован ли yandex disk к директории если да, то отключаем
if grep -q "yandex.disk" /proc/mounts; then
# Выводим сообщение в области уведомлений.
notify-send -u normal "Yandex Disk" "На данный момент примонтирован \n ОТМОНТИТРОВАНИЕ !"
# Отключаем шифрованный раздел
# пользователь должен быть в группе fuse
fusermount -u /home/user/yandex.disk.encrypted
# Отмонтируем Диск с правами пользователя
# в /etc/fstab , в параметрах монтирования должен быть параметр user (все параметры: rw,uid=1000,gid=1000,user,noauto)
umount /home/user/yandex.disk
# если не примонтирован
else
# Выводим сообщение в области уведомлений.
notify-send -u normal "Yandex Disk" "Не примонтирован"
# Спрашиваем пароль шифрования во всплывающем окне
pass=$(zenity --password --title "Пароль от EncFS" )
# Монтируем яндекс диск с учётными данными из /etc/davfs2/secrets
mount /home/user/yandex.disk
# Подключаем шифрованную папку
echo $pass | encfs -S -o uid=1000,gid=1000 /home/user/yandex.disk/encrypted/ /home/user/yandex.disk.encrypted/
# Ждём (lol)
ping ya.ru -c 1
# Выводим сообщение в области уведомлений
notify-send -u normal "Yandex Disk" "Успешно примонтирован"
fi

Совсем хитрое шаманство

Хитрое шаманство один — обьем неограничен. Суть идеи — есть такой модуль FUSE mhddfs, делает он следующее обьединяет несколько файловых систем в одну. Например несколько davfs2 файловых систем … Можно получить сколь угодно большого обьема(зависит от вашего желания заводить новые аккаунты) сетевой диск. Работает это примерно так:

  • Устанавливаем mhddfs: sudo apt-get install mhddfs
  • Монтируем WebDAV каталоги:
    sudo mount -t davfs -o rw url /clouds/webdav1/
    sudo mount -t davfs -o rw url /clouds/webdav2/
  • Обьединяем каталоги: mhddfs /clouds/webdav1,/clouds/webdav2 /media/webdav

Примерно так, хотя есть более адекватные методы увеличить доступный обьем облачного хранилища.

Хитрое шаманство два — настраиваем RAID 1(зеркало). В принципе подойдет любое ПО для синхронизации, но шаманить так шаманить. Еще один модуль FUSE — Chiron FS, создает RAID 1. Подробностей не будет. Возможно под настроение опробую и опишу результат.

Хитрое шаманство за номером три — обьединить первых два. Вы только представьте это себе !!! :-).

Ссылки:

Скрипт автоматического обьединения ресурсов WebDAV (обсуждение на хабре)

Голосуем за добавление поддержки WebDAV в DropBox.

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
9 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Frodox
Frodox
11 лет назад

Поправьте адрес:
https //docs.live.net/ваш_cid_тут/
на
https://docs.live.net/ваш_cid_тут/  , а то ведь люди копируют, не глядя ;-)
И что-то не получилось SkyDrive по WebDAV =

Ivush
Ivush
Ответить на  Frodox
11 лет назад

Спасибо, поправил. Про работу SkyDrive сам не понял — работало через раз. Или из-за того что опция не документирована (в инетах подключение описывают по разному), или из-за того что тестил под фряхой (отзывы на fusefs-wdfs тоже не радуют). 

Phanthom
Phanthom
10 лет назад

Неограниченное пространство… щастье то какое…
Чушь. Для рядового пользователя — бесполезняк. В основном продвинутые пользователи хранят на дисках торрентопомойку. Фотки и прочее — мизерный процент. Для них хватит и пары дисков в зеркале. Пусть даже облачных.
А для того чтобы хранить торренты на этих дисках — нужен широкий канал в инет, чего у большинства нету.
Вторая проблема — доступ к этим ресурсам с левого компа. Облачные диски тем и хороши, что на них можно зайти с любого компа подключённого к инету. Причём с любой из осей. А при реализации «бесконечного шифрованного зеркально-облачного» диска — зайти вы сможете только с этой системы, либо с той, доступ которой вы разрешите посредством шлюза (нфс, самба, фтп, хттп). А так чтобы пришёл в интернет кафе или в гости и открыл диск — не получится. И вы забыли упомянуть главную особенность mhddfs — если использовать «бесконечный» диск для единственного, что мне приходит на ум — для бэкапов — то размер файла бэкапа будет ограничен размером максимального свободного места на одном таком облаке. Т.е. если у вас 2 облака по 10 гигов, но на одном уже лежит что то на 5 гигов предположим — то вы имеете хранилище суммарной ёмкостью свободного места в 15 гигов, но залить больше 10 вы не сможете — система скажет что не хватит места.

Ivush
Ответить на  Phanthom
10 лет назад

Для меня облака в основном синхронизация и резервное копирование. Соглашусь, добиваться неограниченного пространства не нужно — проще заплатить. Именно поэтому и говорится про совсем хитрое шаманство, побаловаться интересно, а практической пользы маловато. Дело даже не в размерах файлов — никто не запрещает порезать архив на части, геморно это. Доступность? WebDAV как раз и решает вопрос с доступностью с чужой машины, т.к. используется стандартный софт и ничего своего ставить не потребуется. С шифрованием в этом случае пролетаешь, но получить доступ к зашифрованным разделам я и так могу в любое время с мобильного телефона. Или если очень прижмет — с любой современной операционной системы после доустановки нужного.

Phanthom
Phanthom
Ответить на  Ivush
10 лет назад

кстати, на работе было не чем заняться — попробовал примонтировать фьюзером вебдиск яндеха. канал на отдачу 100 мбпс, 130 метровый файл писало на диск в районе 10 минут. канал был свободен полностью. Так что использование вебдисков пока не оправдано.

Nikola Tesla
Nikola Tesla
10 лет назад

Примонтировал Yandex, понравилось. Вот только после всех вышеуказанных действий монтировать/отмонтировать раздел, равно как и загружать/удалять/перемещать/создавать файлы получается только через sudo nautilus. Это так и задумано? Ubuntu 13.04

Ivush
Ответить на  Nikola Tesla
10 лет назад

Посмотрел, забыл добавить что нужно разрешить обычным пользователям использовать davfs: sudo chmod 4755 /usr/sbin/mount.davfs

Александр Гречушников
Александр Гречушников
Ответить на  Ivush
9 лет назад

Не помогло. Все равно просит рут

Mikhail Zhilin
Mikhail Zhilin
9 лет назад

fusefs-wdfs исчез из портов FreeBSD (печаль)

9
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x