Jump to content
Александр Рыжов

Подключение к Яндекс.Диску

Recommended Posts

Когда авторы прошивки добавят fuse.ko в перечень доступных для кинетика модулей, Я.Диск можно будет подключать к кинетику как часть локальной файловой системы. Пока же работа с WebDAV-ресурсами доступна из командной строки.

Ниже приведён пример работы с файлами Я.Диска с помощью пакета cadaver.

~ # # Установка пакета:
~ # opkg install cadaver
Installing cadaver (0.23.3-1) to root...
Downloading http://entware.zyxmon.org/binaries/mipsel/cadaver_0.23.3-1_mipselsf.ipk.
Installing libncurses (6.0-1) to root...
Downloading http://entware.zyxmon.org/binaries/mipsel/libncurses_6.0-1_mipselsf.ipk.
Installing libexpat (2.1.0-3) to root...
Downloading http://entware.zyxmon.org/binaries/mipsel/libexpat_2.1.0-3_mipselsf.ipk.
Installing libneon (0.30.0-1) to root...
Downloading http://entware.zyxmon.org/binaries/mipsel/libneon_0.30.0-1_mipselsf.ipk.
Installing libreadline (6.3-1) to root...
Downloading http://entware.zyxmon.org/binaries/mipsel/libreadline_6.3-1_mipselsf.ipk.
Configuring libexpat.
Configuring libneon.
Configuring libreadline.
Configuring libncurses.
Configuring cadaver.

~ # # Подключение к Я.Диску. Введите email\пароль к учётке Яндекса при запросе Username\Password соответсвенно
~ # cadaver https://webdav.yandex.ru
WARNING: Untrusted server certificate presented for `webdav.yandex.com.ua':
Issued to: Russian Federation, Moscow, ITO, Yandex LLC, RU
Issued by: Yandex Certification Authority, Yandex LLC, RU
Certificate is valid from Thu, 19 Nov 2015 12:01:23 GMT to Sat, 18 Nov 2017 12:01:23 GMT
Do you wish to accept the certificate? (y/n) y
Authentication required for Yandex.Disk on server `webdav.yandex.ru':
Username: mail@yandex.ru
Password:

dav:/> # Посмотр списка файлов/папок в корневой директории:
dav:/> ls
Listing collection `/': succeeded.
Coll:   Документы                     0  Apr 20  2012
Coll:   Загрузки                       0  Feb 12 18:59
Coll:   Скриншоты                     0  Jun  6  2014
Coll:   Entware-shared                         0  Feb 16  2014
Coll:   Public                                 0  Feb 17  2014
Coll:   Settings                               0  Feb 17  2014

dav:/> # Переход в папку Settings и обзор её содержимого:
dav:/> cd Settings
dav:/Settings/> ls
Listing collection `/Settings/': succeeded.
Coll:   Miranda-ng                             0  Apr  6  2015
Coll:   Notepad++                              0  Oct 11 15:52
       adblock.txt                         1164  Sep 15 12:25
       noscript.txt                        6060  Jul 20  2015
       putty sessions.reg                 70798  Jul 20  2015

dav:/Settings/>  # Пример скачивания файла adblock.txt
dav:/Settings/> get adblock.txt
Downloading `/Settings/adblock.txt' to adblock.txt:
Progress: [=============================>] 100.0% of 1164 bytes succeeded.

dav:/Settings/> # Пример переименования файла:
dav:/Settings/> mv adblock.txt adblock.bak.txt
Moving `/Settings/adblock.txt' to `/Settings/adblock.bak.txt':  succeeded.

dav:/Settings/> # Пример закачки файла на диск:
dav:/Settings/> put adblock.txt
Uploading adblock.txt to `/Settings/adblock.txt':
Progress: [=============================>] 100.0% of 1164 bytes succeeded.

dav:/Settings/> # Проверка результата работы
dav:/Settings/> ls
Listing collection `/Settings/': succeeded.
Coll:   Miranda-ng                             0  Apr  6  2015
Coll:   Notepad++                              0  Oct 11 15:52
       adblock.bak.txt                     1164  Sep 15 12:25
       adblock.txt                         1164  Feb 18 10:20
       noscript.txt                        6060  Jul 20  2015
       putty sessions.reg                 70798  Jul 20  2015

dav:/Settings/> # Окончание работы
dav:/Settings/> exit
Connection to `webdav.yandex.ru' closed.
 
  • Thanks 1

Share this post


Link to post
Share on other sites

В принципе все ясно, но есть пара вопросов:

1. Как сделать чтоб логин-пароль не вводить каждый раз?

2. Как скопировать одной командой все файлы из определенной папки?

Share this post


Link to post
Share on other sites
В принципе все ясно, но есть пара вопросов:
Уверен, что будет ещё куча вопросов, до тех пор, пока вы не обратитесь к документации по cadaver.

Share this post


Link to post
Share on other sites

Немного разобрался, но не до конца. Для начала надо создать 2 файла в /opt/root:

machine webdav.yandex.ru

login ваш_логин

password ваш_пароль

open https://webdav.yandex.ru

cd папка_на_яндекс.диске

lcd папка_на_кинетик # по умолчанию /opt/root

mput *

quit

Запуск командой cadaver. В итоге все файлы из папки /opt/root копируются в указаную папку на яндекс.диске.

Единственное чего пока не понял, как прописать сертификат и где его взять. Каждое подключение запрашивается новый и надо подтверждать.

Share this post


Link to post
Share on other sites
Немного разобрался, но не до конца. Для начала надо создать 2 файла в /opt/root:
Пример.
Единственное чего пока не понял, как прописать сертификат и где его взять.
opkg install ca-certificates

Share this post


Link to post
Share on other sites
opkg install ca-certificates

Спасибо. Это помогло. Теперь одной командой выполняю нужную мне функцию выгрузки всех файлов из определенной папки на яндекс.диск. То что и хотел сделать

Share this post


Link to post
Share on other sites

Папки не копируе командой mput, создает вместо папки файл с таким же названием.

Share this post


Link to post
Share on other sites
Папки не копируе командой mput, создает вместо папки файл с таким же названием.
Почему вы не читаете документацию к программе?

Share this post


Link to post
Share on other sites
Почему вы не читаете документацию к программе?

А почему вы так уверены, что я не читаю инструкцию? Уже раз 20 прочитал, не вижу про копирование папок на яндекс.диск. Я понимаю что кучей команд введенных вручную, возможно копировать папки. Но мне надо, чтоб все файлы и папки с определенной директории с сохранением структуры папок копировалось на яндекс.диск при мимимаиьммм вводе команд. Если это пока невозможно, так и скажите

Share this post


Link to post
Share on other sites
Папки не копируе командой mput, создает вместо папки файл с таким же названием.
Если читали двадцать раз, то где вычитали про возможность копирования папок средствами cadaver?
Но мне надо, чтоб все файлы и папки с определенной директории с сохранением структуры папок копировалось на яндекс.диск при мимимаиьммм вводе команд. Если это пока невозможно, так и скажите
Возможно собственным скриптом. Гуглится за пять минут, включая проверку на кинетике.

Share this post


Link to post
Share on other sites

Приветствую! Вот набрёл на тему - https://habrahabr.ru/post/142067/

А можно ли её или обсуждаемое здесь НАВСЕГДА прикрутить к морде кинетиков в раздел приложений?

От пользователя только - ввести логин/пароль и диск автоматически примонтируется в Системный монитор - Накопители... )))

Ведь яндекс днс как-то прикручен...

Ведь будет очень удобно - переустановил винду, а приложение с непонятным содержимым (яндекс браузер и иже с ними) не нужно устанавливать каждый раз - диск всегда активен с Кинетика в сетевых...

Share this post


Link to post
Share on other sites

Раза два или три настраивал Яндекс.Диск через webdav. В начале на первой версии прошивок для Keenetic Giga II. Затем на ББ под Alt Linux. Во всех случаях настроил и оно работало, но чуть какое не ловкое движение и система просто с ума сходила кешируя и качая то что мне не надо. На ББ поставил официальный консольный клиент https://yandex.ru/support/disk/cli-clients.xml. Он крутится в виде демона и синхронизирует то что указано в конфигах. Вот если бы его пересобрать для KeenOPT, это было бы супер. Пользуюсь им на ББ уже больше полугода.

Share this post


Link to post
Share on other sites
Раза два или три настраивал Яндекс.Диск через webdav. В начале на первой версии прошивок для Keenetic Giga II. Затем на ББ под Alt Linux. Во всех случаях настроил и оно работало, но чуть какое не ловкое движение и система просто с ума сходила кешируя и качая то что мне не надо. На ББ поставил официальный консольный клиент https://yandex.ru/support/disk/cli-clients.xml. Он крутится в виде демона и синхронизирует то что указано в конфигах. Вот если бы его пересобрать для KeenOPT, это было бы супер. Пользуюсь им на ББ уже больше полугода.

У этого клиента отсутствуют исходники, потому запустить его под MIPS не представляется возможным.

  • Thanks 1
  • Upvote 1

Share this post


Link to post
Share on other sites
... На ББ поставил официальный консольный клиент https://yandex.ru/support/disk/cli-clients.xml. Он крутится в виде демона и синхронизирует то что указано в конфигах. Вот если бы его пересобрать для KeenOPT, это было бы супер. Пользуюсь им на ББ уже больше полугода.

У этого клиента отсутствуют исходники, потому запустить его под MIPS не представляется возможным.

Написал в поддержку, с просьбой выложить исходники или собрать под нашу плотформу. Официальная вежливая отписка, о том что моё предложение добавлено в список идей и они обязательно рассмотрят возможность её реализоать... Посмотрим... Хотя, что то мало верится...

Share this post


Link to post
Share on other sites

Есть Keenetic II c прошивкой kn_rb_draft_2.06.B.4.0-1, в которой я включил все ядерные модули поддержки открытых пакетов. В закладке "Облачные клиенты" вебинтерфейса роутера поставил галку "Включить" и нажал "Применить". Дальше, по идее, надо ввести имя пользователя в поле, которое расположено ниже на странице. Но оно не активно и ввести туда ничего не получается. Как дальше настраивать подключение к Яндекс Диску? Спасибо.

Share this post


Link to post
Share on other sites
Есть Keenetic II c прошивкой kn_rb_draft_2.06.B.4.0-1, в которой я включил все ядерные модули поддержки открытых пакетов. В закладке "Облачные клиенты" вебинтерфейса роутера поставил галку "Включить" и нажал "Применить". Дальше, по идее, надо ввести имя пользователя в поле, которое расположено ниже на странице. Но оно не активно и ввести туда ничего не получается. Как дальше настраивать подключение к Яндекс Диску? Спасибо.
Закладка «Облачные клиенты» веб-интерфейса никак с Я.Диском не связана, это совершенно другая функция.

Share this post


Link to post
Share on other sites
Когда авторы прошивки добавят fuse.ko в перечень доступных для кинетика модулей, Я.Диск можно будет подключать к кинетику как часть локальной файловой системы.

Согласно http://keenopt.ru/viewtopic.php?p=5440#p5440

На текущий момент доступный набор модулей следующий:

- opkg-kmod-fs (Opkg kernel filesystems modules / Ядерные модули поддержки файловых систем для открытых пакетов)

[*] fuse.ko : FUSE

fuse.ko добавлен. Подскажите, пжл, как теперь Я.Диск подключить к кинетику как часть локальной файловой системы?

Share this post


Link to post
Share on other sites
....

fuse.ko добавлен. Подскажите, пжл, как теперь Я.Диск подключить к кинетику как часть локальной файловой системы?

fuse был добавлен 10500 лет назад, а недавно перенесен в доп. компоненты.

Если первый пост непонятен, вот доп. информация - http://forums.zyxmon.org/viewtopic.php?f=5&t=33

Но там не только про кинетики, а про entware в общем случае.

Есть инфа и на моем старом (закрытом) форуме и на "форуме Олега"!

Share this post


Link to post
Share on other sites
fuse.ko добавлен. Подскажите, пжл, как теперь Я.Диск подключить к кинетику как часть локальной файловой системы?
Напишу чуть позже, когда будет девайс на руках.

Share this post


Link to post
Share on other sites

Попробовал завести на Extra. Вылезло две проблемы.

1. Отсутвует /etc/mtab - это должна быть ссылка на /proc/mounts

Это дело я обошел. Не буду рассказывать как.

2. После этого получил

SSL handshake failed: SSL disabled due to lack of entropy

Пересоздал символьные устройства

rm /dev/random
mknod /dev/random c 1 9
rm /dev/urandom
mknod /dev/urandom c 1 9
rm /dev/ptmx
mknod /dev/ptmx c 5 2
rm /dev/null
mknod /dev/null c 1 3
chmod 666 /dev/null

После этого все "зашуршало".

Краткий вывод - не готовы еще кинетики к яндекс диску. Или .... Подождем ....

А так все работает. Почти

[Extra@~]>mount
rootfs on / type rootfs (rw)
....
https://webdav.yandex.ru on /opt/ya type fuse (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other,max_read=16384)
[Extra@~]>cat /proc/version
Linux version 3.4.112 (developers@ndmsystems.com) (gcc version 4.9.3 (crosstool-NG crosstool-ng-1.22.0-ndm-8 - NDMS Toolkit 1.0.0) ) #1 Fri Jun 24 17:41:12 UTC 2016

Share this post


Link to post
Share on other sites
Попробовал завести на Extra. Вылезло две проблемы.

1. Отсутвует /etc/mtab - это должна быть ссылка на /proc/mounts

Это дело я обошел. Не буду рассказывать как.

2. После этого получил

SSL handshake failed: SSL disabled due to lack of entropy

Пересоздал символьные устройства

rm /dev/random
mknod /dev/random c 1 9
rm /dev/urandom
mknod /dev/urandom c 1 9
rm /dev/ptmx
mknod /dev/ptmx c 5 2
rm /dev/null
mknod /dev/null c 1 3
chmod 666 /dev/null

После этого все "зашуршало".

Краткий вывод - не готовы еще кинетики к яндекс диску. Или .... Подождем ....

А так все работает. Почти

[Extra@~]>mount
rootfs on / type rootfs (rw)
....
https://webdav.yandex.ru on /opt/ya type fuse (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other,max_read=16384)
[Extra@~]>cat /proc/version
Linux version 3.4.112 (developers@ndmsystems.com) (gcc version 4.9.3 (crosstool-NG crosstool-ng-1.22.0-ndm-8 - NDMS Toolkit 1.0.0) ) #1 Fri Jun 24 17:41:12 UTC 2016

Должно быть поправлено в ближайших билдах.

Share this post


Link to post
Share on other sites

Есть желающие написать актуальную инструкцию "под ключ"?)

Edited by karimovrt

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...