Яндекс.Диск забрани употребата на open source утилитата rclone

Предистория

Здравейте, Хабр!

Тази публикация беше предизвикана от доста странна грешка, която получих снощи на моя лаптоп с Linux (да, аз съм един от онези странни хора, които използват GNU/Linux на лаптоп) вместо съдържанието на моя Яндекс.Диск:

$ ls -l /mnt/yadisk
ls: reading directory '.': Input/output error
total 0

Първата ми мисъл: мрежата се е провалила, не е беда. Но при опит да монтирам директорията отново се появи нова грешка:

$ sudo umount /mnt/yadisk && rclone mount --timeout 30m ya:/ /mnt/yadisk
2020/02/21 20:54:26 ERROR : /: Dir.Stat error: [401 - UnauthorizedError] Unauthorized (Неавторизиран.)

Това вече беше странно. Токенът изтече? Няма проблем, ще се авторизирам отново!

$ rclone config
... (ще опусна целия изход от терминала) ..

След преминаване на уеб сайта и опит за авторизиране там получавам вече по-конкретно съобщение:

Тази апликация е блокирана за вредоносни действия, затова достъпът не е разрешен (unauthorized_client).

Първата ми мисъл: каквооо?!

За rclone

Няколко факта:
rclone е доста известна открита утилита за работа с облачни хранилища (нееднократно едно, две, три споменавана в Хабра). Авторът я нарича "rsync за облачно хранилище", което е доста точно. Но функционалността ѝ не се ограничава до това: освен функциите на rsync, тя може да монтира дискове, да изпълнява функцията на ncdu (което, между другото, ми позволи веднъж да открия грешен отчет на свободното пространство на Яндекс.Диск и успешно да реша този проблем чрез техническата поддръжка), както и много други. Утилитата поддържа както десетки облачни хранилища, така и по-традиционни протоколи — WebDAV, FTP, rsync и други. За достъп до Яндекс.Диск утилитата използва официалния публичен API на Диска.

Утилитата наистина е уникална и (по мое мнение) представлява онзи клас програми, които инсталираш веднъж, а ползата е постоянна.

Какво се случи?

Когато се обърнах към Google, веднага осъзнах, че не съм сам. Има баг в официалния GitHub, както и обсъждане на официалния форум.
Кратко резюме: client_id на утилитата е блокиран от Яндекс.Диск, поради което не може да се авторизира повече. Може да се опита да се смени client_id, но не е сигурно, че същата участ не ще сполети и новия id.
Отговорът от поддръжката е публикуван на същия форум:

Става въпрос за това, че програмата Rclone позволява използването на Яндекс.Диск като инфраструктурен компонент, а Яндекс.Диск е личен сервис, който не е предназначен за решаване на такива задачи. Затова не поддържаме работата на комбинация Rclone — Яндекс.Диск.

"Инфраструктурен компонент"? Ами, тъй като не може, вероятно е описано в правилата, помислих аз, но не намерих нищо такова в правилата на самия диск или неговия публичен API не намерих.

Добре, ще се свържем с поддръжката.
Първият отговор е абсолютно същият, като публикувания по-горе (за "инфраструктурен компонент"). Добре, не сме горделиви.

По-нататъшната кореспонденция с поддръжката

Аз:

А можете ли да ми кажете, кое правило на сервиса нарушава това?
Изучих условията за ползване на Яндекс.Диск и не открих забрани за използването му "като инфраструктурен компонент".

Още повече, не мога да използвам утилита от личния си лаптоп, за да работя с диска. Това изобщо не попада под "инфраструктурен компонент". Стандартният клиент на диска е ужасен, моля за извинение.

Поддръжка:

Сергей, става въпрос за това, че Яндекс.Диск е преди всичко личен сервис, който не е предназначен за качване на резервни копия в автоматичен режим.
Можете да синхронизирате данни между компютъра си и Яндекс.Диск, а също така да използвате уеб интерфейса на Диска за качване на файлове и работа с тях.

Ако по някаква причина нашата програма не ви удовлетворява, моля, споделете ги. Традиционно прислушваме се към мнението на потребителите при издаване на обновления на продукта.

Можете да се запознаете с документите, които регулират използването на сервиса, включително "Потребителското споразумение на услугите на Яндекс", публикувано на адрес: https://yandex.ru/legal/rules/, както и "Условията за ползване на сервиса "Яндекс.Диск": https://yandex.ru/legal/disk_termsofuse

За решаване на задачи, които изискват по-големи мощности, препоръчваме да използвате Яндекс.Облако. Това е друг облачен сервис на Яндекс, създаден за решаване на бизнес задачи. Можете да научите повече за Яндекс.Облако тук: https://cloud.yandex.ru

Аз:

Не отговорихте на въпроса ми. Моля, кажете кое правило на сервиса нарушава използването на rclone? Внимателно проучих правилата по вашата връзка (още преди да ми ги изпратите).

Съвсем наскоро написахте пост, че Яндекс активно поддържа OpenSource и без OpenSource Яндекс и съвременният интернет не биха съществували.https://habr.com/ru/post/480090/).

А сега блокирате OpenSource приложението по измислено основание.

Между другото, програмата не извършва "запис на резервни копия в автоматичен режим", тя е предназначена за работа с облачни хранилища, включително за синхронизиране на данни между компютър и Яндекс.Диск. И това е основният ми случай на употреба на приложението, който вече не е достъпен.

Поддръжка:

Според т. 3.1. на "Потребителското споразумение" Яндекс има право да налага ограничения върху използването на услугите за всички потребители или за определени категории потребители (в зависимост от местоположението на потребителя, езика на предоставената услуга и т.н.), включително: наличие/липса на определени функции на услугата, срок на съхранение на имейли в услугата Яндекс.Поща, всякакво друго съдържание, максимален брой съобщения, които могат да бъдат изпратени или получени от един регистриран потребител, максимален размер на имейл или дисково пространство, максимален брой запитвания към услугата за определен период от време, максимален срок на съхранение на съдържание, специални параметри на качваното съдържание и т.н. Яндекс може да забрани автоматичния достъп до своите услуги, както и да спре приемането на всякаква информация, генерирана автоматично (например имейл спам).

Потребителят също така е предупреден за това в т. 4.6. на "Условията за ползване на Яндекс.Диск".

Обърнете внимание, че "Условията за ползване на Яндекс.Диск" също така налагат на потребителя задължението да действа добросъвестно и да се въздържа от злоупотреба с функциите на услугата. Потребителят поема задължението да се въздържа от организиране на масов обмен на файлове, използвайки функциите на услугата.

Яндекс има право да прилага правила, лимити и ограничения, насочени към предотвратяване, ограничаване и прекратяване на масовия обмен на файлове в съответствие с правилата на т. 4.5. от настоящите "Условия".

Последният отговор внесе яснота. Особено, първите два абзаца със ссылка към п. 3.1. "Потребителското споразумение" на Яндекс и п. 4.6. "Условията за ползване на Яндекс.Диск". Текстът 4.6 тук не е приведен, ще го спомена:

4.6. Яндекс запазва правото си да определя всякакви правила, лимити и ограничения (технически, юридически, организационни или други) за ползването на Сервиса и може да ги променя по собствено усмотрение, без предварително уведомление на Потребителя. В случаите, когато това не е забранено от законодателството, посочените правила, лимити и ограничения могат да бъдат различни за различни категории Потребители.

Какви са изводите?

Съвсем наскоро уважаваният bobuk в своя пост тук на Хабра писа, че Яндекс смята, че:

Ние в Яндекс смятаме, че съвременният интернет е невъзможен без културата на open source и хората, които инвестират своето време в разработка на софтуер с отворен код.

А на практика се оказва съвсем иначе. Отлична утилита се блокира за неща, които не са забранени от правилата на услугата. За това, че утилита позволява да се използва отворен публичен API на Диска за предназначението му — да се качват файлове. Блокират не за нарушение на правилата на услугата, а защото могат.
Макар и двойно странно, че са блокирани не конкретни нарушители на правилата (които също не са ясни, в правилата не е забранено използването на диска за резервни копия). Блокиран е инструмент, функцията на която за извършване на резервно копие е само една от многото.

Какво е инфраструктурен компонент и защо не могат да се използват с диска също не е ясно. Дори браузърът може да бъде използван като "инфраструктурен компонент", не трябва ли да забраним ползването на диска в браузъра?

Какво да правим?

Докато използвам своя client_id и продължавам напред. Но, судя по отговора на техподдръжката, може да се очаква продължение на лов на вещици и блокиране на също други client_id, user-agent rclone или дори някакви хедонични методи за блокиране на утилитата.

P.S. Искрено се надявам, че е имало просто грешка или недоразумение. В Яндекс работят отлични специалисти (много от които познавам лично) и сред тях, съм уверен, има потребители на rclone.

Актуализация 24.02.2020:
В в издаването 690 на подкаста Радио-Т, съводещият на който също е уважаваният Бобук, обсъждаше блокировката на rclone. Начало на 1:51:40.

Източник: habr.com

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster