Yandex.Disk proibiu o uso da ferramenta open source rclone

Tarixçə

Salam, Habr!

A escrita deste post foi motivada por um erro bastante estranho que recebi ontem à noite no meu laptop com Linux (sim, sou uma daquelas pessoas estranhas que usam GNU/Linux no laptop):

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

O primeiro pensamento: a conexão caiu, não é nada grave. Mas ao tentar remontar o diretório, apareceu um novo erro:

$ sudo umount /mnt/yadisk && rclone mount --timeout 30m ya:/ /mnt/yadisk
2020/02/21 20:54:26 ERROR : /: Dir.Stat error: [401 - UnauthorizedError] Unauthorized (Não autorizado.)

Isso já era estranho. O token expirou? Sem problemas, vou autorizar novamente!

$ rclone config
... (omitirei toda a saída do terminal) ..

Após acessar pelo web e tentar autenticar lá, recebo uma mensagem mais específica:

Este aplicativo foi bloqueado por ações maliciosas, portanto, o acesso não é permitido (unauthorized_client).

O primeiro pensamento: o queee?

Sobre o rclone

Algumas informações:
rclone — uma ferramenta bastante conhecida open source para trabalhar com armazenamento em nuvem (já foi bir, iki, três vezes citada no Habré). O autor a chama de "rsync para armazenamento em nuvem", o que é bastante conciso. Mas essa funcionalidade não é tudo: além das funções do rsync, ela também pode montar drives, executar a função ncdu (o que, aliás, me permitiu descobrir uma vez uma contagem incorreta do espaço livre no Yandex.Disk e resolver esse problema com o suporte técnico), além de uma infinidade de outras coisas. A ferramenta suporta dezenas de serviços de armazenamento em nuvem, bem como protocolos mais tradicionais — WebDAV, FTP, rsync e outros. Para acessar o Yandex.Disk, a ferramenta utiliza a API pública oficial do Disk.

A ferramenta é verdadeiramente única e (na minha opinião) representa aquele tipo de programa que você instala uma vez e a utilidade que traz é contínua.

O que aconteceu?

Ao buscar no Google, percebi que não estou sozinho. Existe um bug no GitHub oficial, bem como uma discussão em rəsmi forumda.
Resumo: o client_id da ferramenta foi bloqueado pelo Yandex.Disk, o que impede a autenticação. É possível tentar mudar o client_id, mas não há garantia de que o mesmo destino não encontre o novo id.
Resposta do suporte publicada no mesmo fórum:

O fato é que o programa Rclone permite usar o Yandex.Disk como um componente de infraestrutura, e o Yandex.Disk é um serviço pessoal, que não foi projetado para esse tipo de tarefa. Portanto, não suportamos o uso combinado do Rclone com o Yandex.Disk.

"Componente de infraestrutura"? Bem, se não pode, deve estar escrito nas regras, pensei, e não encontrei nada assim nas regras do próprio disk ou em sua API pública .

Está bem, vamos escrever para o suporte.
A primeira resposta que chega é exatamente a mesma que foi publicada acima (sobre "componente de infraestrutura"). Tudo bem, não somos orgulhosos.

A correspondência posterior com o suporte

Eu:

Xahiş edirəm, bu xidmətin hansı qaydasını pozduğumu bildirin?
Mən Yandex Disk-in istifadə şərtlərini öyrənmişəm və "infrastruktur element kimi" istifadə etməyə heç bir qadağa yoxdur.

Daha da, mən şəxsi noutbukla diski idarə etmək üçün proqramı istifadə edə bilmirəm. Bu, artıq "infrastruktur komponentinə" aid deyil. Diskin standart müştərisi dəhşətlidir, üzr istəyirəm.

Dəstək:

Sergey, məsələ ondadır ki, Yandex.Disk birbaşa şəxsi xidmət olaraq nəzərdə tutulub ki, avtomatik ehtiyat nüsxələrinin yüklənməsi üçün uyğun deyil.
Siz məlumatları kompüterinizlə Yandex.Disk arasında sinkronizasiya edə bilərsiniz, həmçinin Diskin veb interfeysindən faylları yükləmək və onlarla işləmək üçün istifadə edə bilərsiniz.

Hansısa səbəblərdən bizim proqramımız sizi qane etmir, xahiş edirəm bunu qeyd edin. Ümumiyyətlə, biz yeniliklər buraxarkən istifadəçi fikirlərini dinləyirik.

Siz xidmətin istifadəsini tənzimləyən sənədlərlə, xüsusən də Yandex xidmətlərinin "İstifadəçi Sazişi" ilə tanış ola bilərsiniz, bu ünvan üzrə dərc olunmuşdur: https://yandex.ru/legal/rules/, həmçinin "Yandex.Disk xidmətinin istifadəsi şərtləri" ilə: https://yandex.ru/legal/disk_termsofuse

Böyük güc tələb edən vəzifələr üçün Yandex.Cloud-u istifadə etməyi tövsiyə edirik. Bu, biznes vəzifələrinin həlli üçün yaradılmış Yandex-in başqa bir bulud xidmətidir. Yandex.Cloud haqqında ətraflı məlumatı burada öyrənə bilərsiniz: https://cloud.yandex.ru

Eu:

Suallarıma cavab vermədiniz. Xahiş edirəm, rclone-un istifadəsi hansı xidmət qaydalarını pozduğunu bildirin? Bağlantınızdakı qaydaları diqqətlə öyrənmişəm (hələ siz göndərməzdən əvvəl).

Tezliklə siz yazdınız ki, Yandex hər cür OpenSource-u dəstəkləyir və OpenSource olmadan Yandex və müasir internet olmazdı (https://habr.com/ru/post/480090/).

İndi isə siz OpenSource proqramını süni səbəbdən bloklayırsınız.

Bunlardan başqa, proqram "avtomatik ehtiyat nüsxələrinin yüklənməsi" həyata keçirmir, proqram bulud saxlama sistemləri ilə işləmək üçün nəzərdə tutulub, o cümlədən Yandex.Disk ilə məlumatların sinkronizasiyasıdır. Bu da mənim proqramın əsas istifadəm olub, indi isə bu, mümkünsüzdür.

Dəstək:

Maddə 3.1-ə uyğun olaraq, Yandex istifadəçi razılaşmasının Yandex, xidmətlərin istifadəsində bütün İstifadəçilər üçün və ya ayrı-ayrı İstifadəçi kateqoriyaları üçün (İstifadəçinin yerləşdiyi yerə, xidmətin təqdim edildiyi dilə və s. görə) məhdudiyyətlər qoyma hüququna malikdir. Bunlara aşağıdakılar daxildir: ayrı-ayrı xidmət funksiyalarının mövcudluğu/yoxluğu, Yandex.Məktub xidmətində poçt mesajlarının saxlanma müddəti, digər məzmun, bir qeydiyyatdan keçmiş istifadəçi tərəfindən göndərilə və ya alına bilən maksimum mesaj sayı, poçt mesajının maksimum ölçüsü və ya disk sahəsi, müəyyən bir dövr ərzində xidmətə maksimum müraciət sayı, məzmunun maksimum saxlanma müddəti, yüklənən məzmun üçün xüsusi parametrlər və s. Yandex avtomatik xidmətlərə müraciəti qadağan edə bilər və avtomatik şəkildə yaradılan hər hansı məlumatın (məsələn, poçt spamının) qəbulunu dayandıra bilər.

İstifadəçi, eyni zamanda, maddə 4.6-da "Yandex.Disk istifadə şərtləri" üzrə bu barədə xəbərdar edilir.

Diqqət yetirin ki, "Yandex.Disk istifadə şərtləri" İstifadəçidən dürüst davranmağı tələb edir və xidmət funksiyalarından sui-istifadə etməməyə riayət etməsini nəzərdə tutur. İstifadəçi, eyni zamanda, xidmətin funksiyaları ilə kütləvi fayl mübadiləsi təşkil etməkdən çəkinməyi öhdəsinə götürür.

Yandex, maddə 4.5-ə əsasən, kütləvi fayl mübadiləsini qarşısını almaq, məhdudlaşdırmaq və dayandırmağa yönəlmiş qaydaları, limitləri və məhdudiyyətləri tətbiq etmək hüququna malikdir.

Sonuncu cavab aydınlıq gətirdi. Xüsusilə, Yandex istifadəçi razılaşmasının maddə 3.1-i və Yandex.Disk istifadə şərtlərinin maddə 4.6-ya istinad edən ilk iki abzas. Burada 4.6 mətni verilməyib, təqdim edərəm:

4.6. Yandex, xidmətin istifadəsində hər cür qaydaları, limitləri və məhdudiyyətləri (texniki, hüquqi, təşkilati və ya digər) müəyyən etmə hüququna malikdir və bunları İstifadəçini əvvəlcədən xəbərdar etmədən istədiyi kimi dəyişə bilər. Qanunvericilik tərəfindən qadağan edilmədiyi halda, qeyd olunan qaydalar, limitlər və məhdudiyyətlər müxtəlif İstifadəçi kateqoriyaları üçün fərqli ola bilər.

Nəticələr?

Çox yaxınlarda hörmətli bobuk öz məqaləsində burada Habra yazmışdı ki, Yandex hesab edir ki:

Biz Yandex-də düşünürük ki, müasir internet açıq mənbə mədəniyyəti olmadan və proqramların açıq kodu ilə inkişafına vaxt sərf edən insanların olmadan mümkün deyil.

Amma praktikada vəziyyət tamamilə fərqlidir. Əla bir utiliti, xidmət qaydalarında qadağan olunmayan bir səbəbə görə bloklayırlar. Utilit, istifadə etməyə imkan yaradır açıq ictimai API Disk for its intended purpose — to upload files. They block not for violating service rules, but because they can.
It's doubly strange that specific rule violators are not blocked (it's also unclear which rules, as using the disk for backups is not banned anywhere in the rules). The tool, a function for backup, is blocked when it is just one of many features.

What is an infrastructure component, and why can't they be used with the disk is unclear too. Even a browser can be used as an "infrastructure component"; shouldn't the use of the disk in a browser be prohibited?

What to do?

For now, use your client_id and continue. But, judging by the tech support response, one can expect the witch hunt to continue and also block other client_ids, user-agent rclone, or even find heuristic ways to block the utility.

P.S. I sincerely hope there was a simple mistake or misunderstanding. Yandex has excellent specialists (many of whom I know personally), and among them, I'm sure there are rclone users.

Update 24.02.2020:
İ in release 690 of the Radio-T podcast, hosted by the respected Bobuk, the blocking of rclone was discussed. Starts at 1:51:40.

Mənbə: habr.com

DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər 🔥 DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər | ProHoster