Yandex.Disk keelab rclone avatud lähtekoodiga tööriista kasutamise.

Eelalugu

Tere, Habr!

Selle postituse kirjutamiseks viis mind üsna kummaline viga, millega ma eile õhtul Linuxi sülearvutis (jah, ma olen üks neist kummalistest inimestest, kes kasutab GNU/Linuxi sülearvutis) silmitsi seisin, kui sain oma Yandex.Diski sisu asemel:

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

Esimene mõte: võrk kukkus ära, ei midagi hullu. Kuid kausta uuesti mountimisel tekkis uus viga:

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

See oli juba kummaline. Kas token on aegunud? Pole hullu, autoriseerin end uuesti!

$ rclone config
... (jätan siin terminali väljundi vahele) ..

Pärast veebilehele minemist ja seal autentimist sain juba täpsema sõnumi:

See rakendus on blokeeritud kahjulike tegevuste tõttu, seetõttu pole juurdepääs lubatud (unauthorized_client).

Esimene mõte: mis?!

rclone'ist

Natuke teavet:
rclone - üsna tuntud avatud tööriist pilveteenustega töötamiseks (korduvalt kord, kaks, kolm mainitud Habras). Autor nimetab seda "rsync pilvesalvestusele", mis iseloomustab seda hästi. Kuid selle funktsionaalsus ei piirdu sellega: lisaks rsynci funktsioonidele suudab ta ka kettaid mountida, täita ncdu funktsiooni (mis, muide, aitas mul kunagi avastada vale vaba ruumi arvestust Yandex.Diskis ja lahendada see probleem edukalt tehnilise toe kaudu), ning palju muud. Utiliit toetab nii kümneid pilvesalvestusteenuseid kui ka traditsioonilisemaid protokolle — WebDAV, FTP, rsync ja teised. Yandex.Diskile pääsemiseks kasutab utiliit ametlikku avalikku API-d Diski.

Utiliit on tõeliselt ainulaadne ja (minu arvates) kuulub sellesse programmide klassi, mida paigaldad üks kord ja mis toovad pidevalt kasu.

Mis juhtus?

Google'ile pöördudes mõistsin kohe, et ma pole üksinda. On olemas vea ametlik GitHubis, samuti arutelu ametlikul foorumil.
Kokkuvõte: utiliidi client_id on Yandex.Diski poolt blokeeritud, mistõttu ei saa enam autentida. Võid proovida client_id-d muuta, kuid ei ole kindel, et sama saatus ei tabaks ka uut id-d.
Toe vastus on avaldatud samal foorumil:

Tegelikult võimaldab Rclone kasutada Yandex.Diski infrastruktuurikomponendina, kuid Yandex.Disk on isiklik teenus, mis ei ole selliste ülesannete lahendamiseks mõeldud. Seetõttu ei toeta me Rclone ja Yandex.Diski kombinatsiooni töötamist.

"Infrastruktuurikomponent"? Kui seda ei saa kasutada, siis arvasin, et see on ilmselt reeglites kirjas ja ma ei leidnud seal midagi sellist. Diski reeglitest või selle avalikust API-st ei leidnud ma.

Olgu, kirjutame tugiteenusele.
Esimene vastus tuleb täpselt sama, mis eespool avaldatud ("infrastruktuurikomponent"). Okei, me ei ole uhked.

Edasi toimuv suhtlus tugiteenusega

Mina:

Kas saaksite palun öelda, millist teenuse reeglit see rikub?
Olen uurinud Yandex.Diski kasutustingimusi, ega seal ei ole keelde "infrastruktuurikomponendina" kasutamiseks.

Veelgi enam, ma ei saa kasutada utiliiti isiklikult sülearvutilt ketta kasutamiseks. See ei sobi kuidagi "infrastruktuurikomplektiga". Diski tavaline klient on kohutav, palun andke mulle andeks.

Tugi:

Sergei, asi on see, et Yandex.Disk on eelkõige isiklik teenus, mis ei ole mõeldud varukoopiate automaatseks üleslaadimiseks.
Saate sünkroniseerida andmeid oma arvuti ja Yandex.Diski vahel, samuti kasutada Diski veebiliidest failide üles laadimiseks ja nende haldamiseks.

Kui te mingil põhjusel meie programmi ei rahulda, palun andke meile sellest teada. Traditsiooniliselt kuuleme kasutajate arvamusi toodete uuendamise käigus.

Saate tutvuda teenuse kasutamist reguleerivate dokumentidega, sealhulgas „Yandexi teenuste kasutajalepinguga”, mis on avaldatud aadressil: https://yandex.ru/legal/rules/, samuti „Yandex.Diski teenuse kasutamise tingimustega”: https://yandex.ru/legal/disk_termsofuse

Suurte jõudluse nõudvate ülesannete lahendamiseks soovitame kasutada Yandex.Cloudi. See on Yandexi teine pilveteenus, mis on loodud äritegevuse ülesannete lahendamiseks. Lisainfot Yandex.Cloudi kohta leiate siit: https://cloud.yandex.ru

Mina:

Te ei vastanud minu küsimusele. Kas saaksite palun öelda, millist teenuse reegli punktit rclone'i kasutamine rikub? Olen hoolikalt uurinud reegleid teie lingilt (veel enne, kui sa mulle selle saatsite).

Hiljuti kirjutasite postituse, et Yandex toetab igati OpenSource'i ja ilma OpenSource'ita ei oleks ka Yandexit ning tänapäevast internetti.https://habr.com/ru/post/480090/).

Ja nüüd blokeerite te OpenSource tööriista mõttetute põhjuste tõttu.

Muide, programm ei tee "automaatset varukoopiate üleslaadimist", see on mõeldud pilvehoiustamisega töötamiseks, sealhulgas andmete sünkroniseerimiseks arvuti ja Yandex.Drives'i vahel. Just see on minu peamine tööriista kasutusjuht, mis nüüd ei ole enam saadaval.

Tugi:

Punkt 3.1. «Kasutaja lepingus» on sätestatud, et Yandexil on õigus seada piiranguid teenuste kasutamisele kõigi kasutajate või konkreetsete kasutajate kategooriate osas (sõltuvalt kasutaja asukohast, teenuse keeles jne), sealhulgas: teenuse teatud funktsioonide olemasolu/puudumine, e-kirjade säilitamise periood Yandex.Mail teenuses, muu sisu, maksimaalne sõnumite arv, mida saab edastada või vastu võtta ühe registreeritud kasutaja poolt, maksimaalne posti sõnumi suurus või kettaruum, maksimaalne päringute arv teenusele antud ajavahemikus, maksimaalne sisu säilitamise kestus, erilised nõuded üles laaditavale sisule jne. Yandex võib keelata automaatse juurdepääsu oma teenustele ning lõpetada igasuguse automaatselt genereeritud teabe vastuvõtmise (nt e-kirjade rämpsposti).

Kasutajat teavitatakse sellest ka punktis 4.6. «Yandex.Disci kasutamise tingimustes».

Pange tähele, et „Yandex.Diski kasutustingimused“ kehtestavad kasutajale kohustuse tegutseda hea usu põhimõttel ja hoiduda teenuse funktsioonide kuritarvitamisest. Kasutaja kohustub ka hoiduma massilisest failide jagamisest teenuse funktsioonide abil.

Yandex'il on õigus kehtestada reegleid, piire ja piiranguid, et ennetada, piirata ja peatada massilist failide vahetust vastavalt punktile 4.5 käesolevates „Tingimustes“.

Viimane vastus tõi selgust. Eriti esimesed kaks lõiku, viidates punktile 3.1. Yandeksi „Kasutajalepingust“ ja punktile 4.6. „Yandex.Diski kasutustingimustest“. Siin ei ole toodud teksti punktist 4.6, tuon selle:

4.6. Yandex jätab endale õiguse kehtestada igasuguseid reegleid, limite ja piiranguid (tehnilisi, õiguslikke, organisatsioonilisi või muid) Teenuse kasutamiseks ning võib need oma äranägemisel ilma kasutajat eelnevalt teavitamata muuta. Juhul, kui seadus ei keela, võivad nimetatud reeglid, limite ja piirangud olla erinevad erinevate kasutajate kategooriate jaoks.

Järeldused?

Hiljuti mainis tuntud bobuk oma postituses siin Habbres kirjutas, et Yandex arvab, et:

Me Yandexis usume, et tänapäevane internet ei ole võimalik ilma avatud lähtekoodiga kultuuri ja inimesteta, kes investeerivad oma aega avatud koodiga tarkvara arendamisse.

Kuid praktikas on lood sootuks teised. Suurepärane utiliit blokeeritakse millegi eest, mis ei ole teenuse reeglitega keelatud. Selle eest, et utiliit võimaldab kasutada avatud avalikku Diski API-d vastavalt otstarbele - failide üleslaadimiseks. Blokeeritakse mitte teenuse reeglite rikkumise tõttu, vaid sellepärast, et nad saavad.
Kummalisem on see, et ei ole blokeeritud konkreetsed reeglite rikkujad (mille reeglite all mõeldakse, ei ole samuti selge, kuna diskiruumi kasutamine varukoopiate jaoks pole kusagil keelatud). Blokeeritud on tööriist, mille varukoopia funktsioon on vaid üks paljusid.

Mis on infrastruktuuri komponent ja miks neid ei tohi kasutada ka kettal, pole samuti selge. Isegi brauserit võib kasutada "infrastruktuuri komponendina", kas ei tasu siis keelata kettaga brauseri kasutamine?

Mis teha?

Praegu tuleb kasutada oma client_id ja elada edasi. Kuid, arvestades tehnilise toe vastust, võib oodata nõiajahi jätkumist ja ka teiste client_id, user-agent rclone blokeerimist või isegi mõningaid heuristika meetodeid tööriista blokeerimiseks.

P.S. Lootan siiralt, et oli tegemist lihtsa vea või arusaamatusega. Yandexis töötavad suurepärased spetsialistid (palju neist tunnen isiklikult) ja nende seas olen kindel, et on rclone'i kasutajaid.

Uuendus 24.02.2020:
V väljaandes 690 podcastis Raadio-T, mille kaasjuht on ka lugupeetud Bobuk, arutati rclone'i blokeerimist. Algus kell 1:51:40.

Allikas: habr.com

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster