- PVSM.RU - https://www.pvsm.ru -
Привет!
К написанию этого поста привела довольно странная ошибка, которую вчера вечером на ноутбуке с 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 [1] — достаточно известная открытая [2] утилита для работы с облачными хранилищами (неоднократно раз [3], два [4], три [5] упоминалась на Хабре). Автор называет её "rsync for cloud storage", что довольно ёмко. Но этим функциональность не ограничивается: помимо функций rsync она ещё может монтировать диски, выполнять функцию ncdu (что, кстати, мне позволило однажды обнаружить неправильный подсчёт свободного места на Яндекс.Диске и успешно решить эту проблему через техподдержку), а также кучу всего ещё. Утилита поддерживает как десятки облачных хранилищ, так и более традиционные протоколы — WebDAV, FTP, rsync и другие. Для доступа к Яндес.Диску утилита использует официальный публичный API [6] Диска.
Утилита поистине уникальна и (по моему мнению) представляет из себя тот класс программ, которые ставишь один раз, а пользу они приносят постоянно.
Обратившись к Google я сразу понял, что не одинок. Есть баг в официальном гитхабе [7], а также обсуждение на официальном форуме [8].
Краткое содержание: client id утилиты заблокирован Яндекс.Диском, из-за чего авторизоваться больше нельзя. Можно попробовать поменять client id, но не факт, что та же участь не постигнет и новый id.
Ответ поддержки опубликован на том же форуме [9]:
Дело в том, что программа Rclone позволяет использовать Яндекс.Диск в качестве инфраструктурного компонента, а Яндекс.Диск — это персональный сервис, который не рассчитан на решение таких задач. Поэтому мы не поддерживаем работу связки Rclone — Яндекс.Диск.
"Инфраструктурный компонент"? Ну раз нельзя, то наверное это описано в правилах подумал я и ничего такого в правилах самого диска [10] или его публичного API [11] я не нашёл.
Ладно, напишем в поддержку.
Первый ответ прилетает 1 в 1 тот, что опубликован выше (про "инфраструктурный компонент"). Окей, мы не гордые.
Я:
А подскажите пожалуйста, какое правило сервиса это нарушает?
Я изучил условия использования Яндекс диска и никаких запретов на использование "в качестве инфраструктурного компонента" там нет.Более того, я не могу использовать утилиту с личного ноутбука для работы с диском. Это уже совсем никак под " инфраструктурный компонент" не подпадает. Штатный клиент диска ужасен, уж простите.
Поддержка:
Сергей, дело в том, что Яндекс.Диск — это в первую очередь персональный сервис, который не рассчитан на загрузку резервных копий в автоматическом режиме.
Вы можете синхронизировать данные между вашим компьютером и Яндекс.Диском, а также пользоваться веб-интерфейсом Диска для загрузки файлов и работы с ними.Если вас по каким-то причинам не устраивает наша программа, пожалуйста, озвучьте их. Традиционно мы прислушиваемся к мнению пользователей при выпуске обновлений продукта.
Вы можете ознакомиться с документами, регулирующими использование сервиса, в частности «Пользовательским соглашением сервисов Яндекса», опубликованным по адресу: https://yandex.ru/legal/rules/ [12], а также «Условиями использования сервиса "Яндекс.Диск"»: https://yandex.ru/legal/disk_termsofuse [13]
Для решения задач, которые требуют больших мощностей, мы рекомендуем использовать Яндекс.Облако. Это другой облачный сервис Яндекса, который создан для решения задач бизнеса. Узнать больше о Яндекс.Облаке можно тут: https://cloud.yandex.ru [14]
Я:
Вы не ответили на мой вопрос. Подскажите пожалуйста, какой пункт правил сервиса нарушает использование rclone? Я внимательно изучил правила по вашей ссылке (ещё до того, как вы из прислали).
Совсем недавно вы писали пост, что Яндекс всячески поддерживает OpenSource и без OpenSource Яндекса и современного интернета бы не было (https://habr.com/ru/post/480090/ [15]).
А теперь вы блокируете OpenSource утилиту по надуманной причине.
Кстати, программа не осуществляет "загрузку резервных копий в автоматическом режиме", программа предназначена для работы с облачными хранилищами, в том числе для синхронизации данных между компьютером и Яндекс.Диском. И этой мой основной use-case утилиты, который теперь недоступен.
Поддержка:
Согласно п. 3.1. «Пользовательского соглашения» Яндекс вправе устанавливать ограничения в использовании сервисов для всех Пользователей, либо для отдельных категорий Пользователей (в зависимости от места пребывания Пользователя, языка, на котором предоставляется сервис и т.д.), в том числе: наличие/отсутствие отдельных функций сервиса, срок хранения почтовых сообщений в сервисе Яндекс.Почта, любого другого контента, максимальное количество сообщений, которые могут быть отправлены или получены одним зарегистрированным пользователем, максимальный размер почтового сообщения или дискового пространства, максимальное количество обращений к сервису за указанный период времени, максимальный срок хранения контента, специальные параметры загружаемого контента и т.д. Яндекс может запретить автоматическое обращение к своим сервисам, а также прекратить прием любой информации, сгенерированной автоматически (например, почтового спама).
Пользователь также предупреждается об этом в п. 4.6. «Условий использования Яндекс.Диска».
Обратите внимание, что «Условия использования Яндекс.Диска» также устанавливают для Пользователя обязанность действовать добросовестно и воздержаться от злоупотребления функциями Сервиса. Пользователь в том числе обязуется воздержаться от организации массового файлообмена с использованием функций Сервиса.
Яндекс имеет право применять правила, лимиты и ограничения, направленные на предотвращение, ограничение и пресечение массового файлообмена по правилам п. 4.5. настоящих «Условий».
Последний ответ привнёс ясности. Особенно, первые два абзаца со ссылкой на п. 3.1. «Пользовательского соглашения» Яндекс и п. 4.6. «Условий использования Яндекс.Диска». Текст 4.6 тут не приведён, приведу:
4.6. Яндекс оставляет за собой право устанавливать любые правила, лимиты и ограничения (технические, юридические, организационные или иные) на использование Сервиса, и может менять их по собственному усмотрению, без предварительного уведомления Пользователя. В случаях, когда это не запрещено законодательством, указанные правила, лимиты и ограничения могут быть различными для различных категорий Пользователей.
Итого уже принёс понимание что произошло: заблокировать могут что угодно и какого угодно просто по желанию и без какой-либо причины.
Совсем недавно уважаемый bobuk [16] в своём посте здесь на Хабре [17] писал, что Яндекс считает, что:
Мы в Яндексе считаем, что современный интернет невозможен без культуры open source и людей, которые инвестируют свое время в разработку программ с открытым кодом.
А на практике получается совсем иначе. Отличную утилиту блокируют за что-то, что не запрещено правилами сервиса. За то, что утилита позволяет использовать открытый публичный API Диска по прямому назначению — загружать файлы. Блокируют не за нарушение правил сервиса, а потому что могут.
Вдвойне странно то, что заблокированы не конкретные нарушители правил (тоже непонятно каких, в правилах использование диска для резервных копий нигде не запрещено). Заблокирован инструмент, функция осуществления резервного копирования в котором лишь одна из многих.
Что такое инфраструктурный компонент и почему их нельзя использовать с диском тоже не понятно. Даже браузер может быть использован как "инфраструктурный компонент", не стоит ли запретить пользоваться диском в браузере?
Пока использовать свой client id и жить дальше. Но, судя по ответу техподдержки, можно ждать продолжения охоты на ведьм и блокировки также других client id, user-agent rclone или, даже, какие-то эвристические способы заблокировать утилиту.
P.S. Я искренне надеюсь, что имела места простая ошибка или недопонимание. В Яндексе работают отличные специалисты (много с кем я знаком лично) и среди них, уверен, есть пользователи rclone.
Автор: Sergey
Источник [18]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/open-source/347397
Ссылки в тексте:
[1] rclone: https://rclone.org/
[2] открытая: https://github.com/rclone/rclone/blob/master/COPYING
[3] раз: https://habr.com/ru/company/pc-administrator/blog/468559/
[4] два: https://habr.com/ru/company/selectel/blog/305514/
[5] три: https://habr.com/ru/company/southbridge/blog/454734/
[6] официальный публичный API: https://yandex.ru/dev/disk/
[7] баг в официальном гитхабе: https://github.com/rclone/rclone/issues/3989
[8] официальном форуме: https://forum.rclone.org/t/yandexdisk-problem/14478
[9] опубликован на том же форуме: https://forum.rclone.org/t/yandexdisk-problem/14478/5
[10] правилах самого диска: https://yandex.ru/legal/disk_termsofuse/
[11] публичного API: https://yandex.ru/legal/disk_api/
[12] https://yandex.ru/legal/rules/: https://yandex.ru/legal/rules/
[13] https://yandex.ru/legal/disk_termsofuse: https://yandex.ru/legal/disk_termsofuse
[14] https://cloud.yandex.ru: https://cloud.yandex.ru
[15] https://habr.com/ru/post/480090/: https://habr.com/ru/post/480090/
[16] bobuk: https://habr.com/ru/users/bobuk/
[17] посте здесь на Хабре: https://habr.com/ru/company/yandex/blog/480090/
[18] Источник: https://habr.com/ru/post/489492/?utm_source=habrahabr&utm_medium=rss&utm_campaign=489492
Нажмите здесь для печати.