Pozadí
Ahoj, Habr!
Napsání tohoto příspěvku vyvolala docela podivná chyba, kterou jsem včera večer na notebooku s Linuxem (ano, jsem jedním z těch podivných lidí, kteří používají GNU/Linux na notebooku) dostal místo obsahu svého Yandex.Disku:
$ ls -l /mnt/yadisk
ls: reading directory '.': Chyba vstupu/výstupu
total 0První myšlenka: síť pád ne, to není nic hrozného. Ale při pokusu o přimontování adresáře se objevila nová chyba:
$ sudo umount /mnt/yadisk && rclone mount --timeout 30m ya:/ /mnt/yadisk
2020/02/21 20:54:26 ERROR : /: Dir.Stat error: [401 - UnauthorizedError] Unauthorized (Neautorizováno.)To už bylo podivné. Token vypršel? Nic hrozného, znovu se autorizuji!
$ rclone config
... (vynechám celou výstup terminálu) ..Po přechodu na web a pokusu o autorizaci tam dostávám už konkrétnější zprávu:
Tato aplikace byla zablokována z důvodu škodlivých činností, a proto není povolen přístup (unauthorized_client).
První myšlenka: coooo?
O rclone
Trochu informací:
— poměrně známá utilita pro práci s cloudovými úložišti (ne jednou , , byla zmiňována na Habru). Autor ji označuje jako "rsync pro cloudové úložiště", což je celkem výstižné. Ale tím se její funkčnost neomezuje: kromě funkcí rsync může také přimontovat disky, vykonávat funkce ncdu (což mi mimochodem jednou umožnilo zjistit nesprávný výpočet volného místa na Yandex.Disku a úspěšně to vyřešit přes technickou podporu), a také spoustu dalšího. Utilita podporuje jak desítky cloudových úložišť, tak i tradiční protokoly — WebDAV, FTP, rsync a další. Pro přístup k Yandex.Disku utilita používá Disku.
Utilita je skutečně unikátní a (podle mého názoru) představuje tu třídu programů, které se nainstalují jednou a užitek přinášejí neustále.
Co se stalo?
Když jsem se obrátil na Google, hned jsem pochopil, že nejsem sám. Existuje , a také diskuze na .
Shrnutí: client_id utility byl zablokován Yandex.Diskem, a proto již není možné se autorizovat. Můžete zkusit změnit client_id, ale není jisté, že stejný osud nepostihne i nový id.
Odpověď podpory :
Faktem je, že program Rclone umožňuje používat Yandex.Disk jako infrastrukturní komponent, a Yandex.Disk je osobní služba, která není navržena pro řešení takových úkolů. Proto nepodporujeme práci kombinace Rclone — Yandex.Disk.
"Infrastrukturní komponent"? No když to nejde, asi je to popsáno v pravidlech, pomyslel jsem si a nic takového v nebo jeho jsem nenašel.
Dobře, napíšeme na podporu.
První odpověď dorazila 1 k 1 přesně ta, kterou jsem zmínil výše (o "infrastrukturním komponentu"). Dobře, nejsme hrdí.
Další korespondence s podporou
Já:
Můžete mi prosím říct, které pravidlo služby porušuje použití Rclone?
Prostudoval jsem podmínky používání Yandex.Disku a žádné zákazy na použití "jako infrastrukturní komponent" tam nejsou.Více než toho, nemohu používat utilitu z osobního notebooku pro práci s diskem. To už vůbec nezapadá pod "infrastrukturní komponent". Standardní klient disku je příšerný, omlouvám se.
Podpora:
Sergije, faktem je, že Yandex.Disk je především osobní služba, která není určena pro automatické zálohování.
Můžete synchronizovat data mezi vaším počítačem a Yandex.Diskem a také používat webové rozhraní Disku pro nahrávání souborů a práci s nimi.Pokud vás z nějakého důvodu naše program neuspokojil, prosím, řekněte nám to. Tradičně nasloucháme názorům uživatelů při vydávání aktualizací produktu.
Můžete se seznámit s dokumenty, které regulují používání služby, zejména s "Uživatelskou smlouvou služeb Yandex", zveřejněnou na adrese: , a také s "Podmínkami používání služby 'Yandex.Disk'":
Pro úkoly, které vyžadují velké zdroje, doporučujeme použít Yandex.Cloud. To je jiná cloudová služba Yandexu, která byla vytvořena pro řešení businessových úkolů. Více informací o Yandex.Cloud můžete najít zde:
Já:
Neodpověděli jste na mou otázku. Můžete prosím říct, jaký bod pravidel služby porušuje použití Rclone? Pečlivě jsem prostudoval pravidla podle vašeho odkazu (ještě před tím, než jste mi je poslali).
Nedávno jste psali příspěvek, že Yandex všemožně podporuje OpenSource a bez OpenSource by Yandex a moderní internet neexistovaly.).
A teď blokujete OpenSource nástroj z vymyšleného důvodu.
Mimochodem, program neprovádí "automatické zálohování", je určený pro práci s cloudovými úložišti, včetně synchronizace dat mezi počítačem a Yandex.Diskem. A to je můj hlavní use-case tohoto nástroje, který je nyní nedostupný.
Podpora:
Podle bodu 3.1. "Uživatelské smlouvy" má Yandex právo stanovit omezení v používání služeb pro všechny uživatele, nebo pro jednotlivé kategorie uživatelů (v závislosti na pobytu uživatele, jazyku, ve kterém je služba poskytována atd.), včetně: existence/neexistence jednotlivých funkcí služby, doby uchovávání e-mailových zpráv ve službě Yandex.Pošta, jakéhokoliv jiného obsahu, maximálního počtu zpráv, které může odeslat nebo přijmout jeden registrovaný uživatel, maximální velikosti e-mailové zprávy nebo diskového prostoru, maximálního počtu žádostí o službu za uvedené časové období, maximální doby uchovávání obsahu, specifických parametrů nahrávaného obsahu atd. Yandex může zakázat automatický přístup k svým službám, stejně jako přerušit příjem jakýchkoliv automaticky generovaných informací (např. e-mailového spamu).
Uživatel je o tom také upozorněn v bodě 4.6. "Podmínek používání Yandex.Disku".
Vezměte prosím na vědomí, že "Podmínky používání Yandex.Disku" rovněž stanovují pro uživatele povinnost jednat v dobré víře a zdržet se zneužívání funkcí služby. Uživatel se rovněž zavazuje zdržet se organizování hromadného sdílení souborů pomocí funkcí služby.
Yandex má právo uplatňovat pravidla, limity a omezení směřující k předcházení, omezování a potlačování hromadného sdílení souborů podle pravidel bodu 4.5. těchto "Podmínek."
Poslední odpověď přinesla jasnost. Zvlášť první dva odstavce s odkazem na p. 3.1. „Uživatelské smlouvy“ Yandexu a p. 4.6. „Podmínek použití Yandex.Disku“. Text 4.6 zde není uveden, uvedu:
4.6. Yandex si vyhrazuje právo stanovit jakákoli pravidla, limity a omezení (technická, právní, organizační nebo jiná) pro používání Služby a může je měnit podle vlastního uvážení, bez předchozího upozornění Uživatelů. V případech, kdy to není zakázáno legislativou, mohou být uvedená pravidla, limity a omezení různá pro různé kategorie Uživatelů.
Závěry?
Nedávno vážený ve svém psal, že Yandex má za to, že:
V Yandexu se domníváme, že moderní internet není možný bez kultury open source a lidí, kteří investují svůj čas do vývoje programů s otevřeným kódem.
A ve skutečnosti to vypadá úplně jinak. Skvělý nástroj je zablokován za něco, co není pravidly služby zakázáno. Za to, že nástroj umožňuje používat otevřený veřejný API Disku k přímému účelu — nahrávání souborů. Blokují to ne za porušení pravidel služby, ale protože mohou.
Dvakrát podivné je, že nejsou zablokováni konkrétní porušovatelé pravidel (rovněž není jasné jakých, pravidlech používání disku pro zálohy nikde není zakázáno). Zablokován je nástroj, přičemž funkce provádění zálohování je pouze jednou z mnoha.
Co je to infrastrukturní komponent a proč je nelze používat s diskem, také není jasné. I prohlížeč může být použit jako "infrastrukturní komponent", neměli bychom zakázat používat disk v prohlížeči?
Co dělat?
Zatím používat svůj client_id a žít dál. Ale podle odpovědi technické podpory lze očekávat pokračování honu na čarodějnice a blokování také dalších client_id, user-agent rclone nebo dokonce nějaké heuristické způsoby, jak zablokovat nástroj.
P.S. Upřímně doufám, že šlo o prostou chybu nebo nedorozumění. V Yandexu pracují skvělí specialisté (spousta z nich znám osobně) a mezi nimi jsem si jist, že jsou uživatelé rclone.
Aktualizace 24.02.2020:
V podcastu Rádio-T, jehož spolumoderátorem je také vážený Bobuk, byla diskutována blokace rclone. .
Zdroj: habr.com
