Yandex.Disk har forbudt brugen af open source værktøjet rclone

Background

Hello, Habr!

Dette indlæg blev inspireret af en temmelig mærkelig fejl, som jeg oplevede i går aftes på min bærbare computer med Linux (ja, jeg er en af de underlige mennesker, der bruger GNU/Linux på en bærbar) i stedet for indholdet på min Yandex.Disk:

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

Den første tanke: netværket er faldet ud, ikke noget alvorligt. Men da jeg forsøgte at remontere biblioteket, opstod der en ny fejl:

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

Det var allerede mærkeligt. Er tokenen udløbet? Ingen problemer, jeg logger ind igen!

$ rclone config
... (jeg springer over hele terminaludskriften her) ..

Efter at have skiftet til web og forsøgt at logge ind dér, modtager jeg et mere konkret besked:

Denne applikation er blevet blokeret for skadelige handlinger, derfor er adgangen ikke tilladt (unauthorized_client).

Den første tanke: hvaaaa?

Om rclone

Lidt baggrund:
rclone — en ret kendt åben værktøj til arbejde med cloud-lagringsløsninger (har gentagne gange en, to, tre været nævnt på Habr). Forfatteren kalder den "rsync for cloud storage", hvilket er ret præcist. Men dens funktionalitet stopper ikke der: ud over rsync-funktioner kan den også montere drev, udføre ncdu-funktioner (hvilket faktisk gjorde det muligt for mig engang at opdage en forkert beregning af ledig plads på Yandex.Disk og succesfuldt løse dette problem gennem support), samt en hel del andet. Værktøjet understøtter både mange cloud-lagringsløsninger og mere traditionelle protokoller — WebDAV, FTP, rsync og andre. For adgang til Yandex.Disk bruger værktøjet den officielle offentlige API fra Disk.

Værktøjet er virkelig unikt og (efter min mening) repræsenterer en klasse af software, som man installerer én gang, og som giver konstant værdi.

Hvad skete der?

Da jeg søgte på Google, indså jeg straks, at jeg ikke var alene. Der er en bug på den officielle GitHub, samt en diskussion på det officielle forum.
Kort opsummering: client_id for værktøjet er blevet blokeret af Yandex.Disk, hvilket gør det umuligt at logge ind igen. Man kan forsøge at ændre client_id, men der er ingen garanti for, at samme skæbne ikke vil ramme det nye id.
Supportens svar er offentliggjort på det samme forum:

Det er sådan, at programmet Rclone tillader brug af Yandex.Disk som en infrastrukturel komponent, men Yandex.Disk er en personlig service, der ikke er designet til at løse sådanne opgaver. Derfor understøtter vi ikke brugen af Rclone sammen med Yandex.Disk.

"Infrastrukturel komponent"? Nå, da det ikke er muligt, tænkte jeg, at det måske er beskrevet i reglerne, og jeg fandt ikke noget sådant i reglerne for selve disken eller dens offentlige API jeg fandt ikke.

Nå, lad os skrive til support.
Det første svar er præcist det samme, som ovenfor (om "infrastrukturel komponent"). Okay, vi er ikke stolte.

Den videre korrespondance med support

Jeg:

Kan du venligst fortælle mig, hvilken regel i servicen det overtræder?
Jeg har gennemgået vilkårene for brugen af Yandex.Disk, og der er ingen forbud mod at bruge det "som en infrastrukturel komponent".

Desuden kan jeg ikke bruge værktøjet fra min personlige bærbare computer til at arbejde med disken. Det falder slet ikke under "infrastrukturel komponent". Den officielle klient til disken er forfærdelig, undskyld.

Support:

Sergio, sagen er den, at Yandex.Disk først og fremmest er en personlig service, der ikke er designet til at uploade sikkerhedskopier automatisk.
Du kan synkronisere data mellem din computer og Yandex.Disk samt bruge webgrænsefladen til disken til at uploade filer og arbejde med dem.

Hvis du af en eller anden grund ikke er tilfreds med vores program, så lad os venligst høre om det. Traditionelt lytter vi til brugernes mening ved opdateringer af produktet.

Du kan finde dokumenterne, der regulerer brugen af servicen, især "Brugerlicensen for Yandex tjenester", som er offentliggjort på adressen: https://yandex.ru/legal/rules/, samt "Vilkår for brug af Yandex.Disk": https://yandex.ru/legal/disk_termsofuse

For opgaver, der kræver store ressourcer, anbefaler vi at bruge Yandex.Cloud. Dette er en anden cloud service fra Yandex, som er designet til at løse forretningsopgaver. Du kan finde mere information om Yandex.Cloud her: https://cloud.yandex.ru

Jeg:

Du svarede ikke på mit spørgsmål. Kan du venligst fortælle mig, hvilket punkt i servicen regler overtræder brugen af rclone? Jeg har nøje gennemgået reglerne via dit link (allerede før du sendte det).

For nylig skrev du et indlæg om, at Yandex i høj grad støtter OpenSource, og uden Yandex' OpenSource ville den moderne internet ikke eksistere.https://habr.com/ru/post/480090/).

Men nu blokerer I en OpenSource-utility af en påstået grund.

Forresten, programmet "effektuerer ikke upload af sikkerhedskopier i automatisk tilstand"; programmet er designet til arbejde med cloud-lagringspladser, herunder til synkronisering af data mellem computeren og Yandex.Disk. Dette er mit primære use-case for utility, som nu ikke er tilgængeligt.

Support:

Ifølge punkt 3.1. i 'Brugerhandlen' har Yandex ret til at fastlægge begrænsninger i brugen af tjenester for alle brugere eller for bestemte kategorier af brugere (afhængigt af brugerens opholdssted, sproget, som tjenesten tilbydes på, osv.), herunder: tilstedeværelse/ fravær af specifikke funktioner i tjenesten, opbevaringsperiode for e-mail-efterretninger i Yandex.Mail, enhver anden indhold, maksimalt antal meddelelser, der kan sendes eller modtages af én registreret bruger, maksimal størrelse for e-mail-besked eller lagerplads, maksimalt antal anmodninger til tjenesten i den angivne tidsperiode, maksimal opbevaringsperiode for indhold, specielle parametre for uploadet indhold osv. Yandex kan forbyde automatisk adgang til sine tjenester samt stoppe modtagelsen af enhver oplysning genereret automatisk (f.eks. e-mail spam).

Brugeren bliver også informeret om dette i punkt 4.6. 'Betingelserne for brug af Yandex.Disk'.

Bemærk, at 'Betingelserne for brug af Yandex.Disk' også fastsætter for brugeren en forpligtelse til at handle i god tro og undgå misbrug af tjenestens funktioner. Brugeren forpligter sig også til at undgå at organisere massefiludveksling ved hjælp af tjenestens funktioner.

Yandex har ret til at anvende regler, grænser og begrænsninger med det formål at forhindre, begrænse og undertrykke massefiludveksling i henhold til reglerne i punkt 4.5. i disse 'Betingelser'.

Den seneste kommentar har givet klarhed. Især de første to afsnit, der henviser til pkt. 3.1. "Brugeraftalen" fra Yandex og pkt. 4.6. "Brugsbetingelserne for Yandex.Disk". Teksten i pkt. 4.6 er ikke her nævnt; jeg vil gengive den:

4.6. Yandex forbeholder sig retten til at fastsætte enhver regel, grænse og begrænsning (teknisk, juridisk, organisatorisk eller anden) for brugen af tjenesten og kan ændre disse efter eget valg uden forudgående varsel til brugeren. I de tilfælde, hvor dette ikke er forbudt ved lov, kan de nævnte regler, grænser og begrænsninger variere for forskellige kategorier af brugere.

Hvad er konklusionerne?

For nylig skrev den respekterede bobuk i sit indlæg her på Habré at Yandex mener, at:

Vi hos Yandex mener, at det moderne internet ikke kan eksistere uden en open source-kultur og folk, der investerer deres tid i udviklingen af programmer med åben kildekode.

Men i praksis er det helt anderledes. En fremragende utilitet blokeres for noget, der ikke er forbudt i tjenestens regler. For at det værktøj gør det muligt at bruge den åbne offentlige API for Disk til sit oprindelige formål — at uploade filer. Blokeringen skyldes ikke overtrædelse af tjenestens regler, men fordi de kan.
Det er dobbelt underligt, at det ikke er specifikke overtrædere af reglerne (som også er ubegribeligt, da brugen af disken til backup ikke er forbudt nogen steder i reglerne) der er blokeret. Det er et værktøj, hvor backup-funktionen kun er én af mange.

Hvad er en infrastrukturel komponent, og hvorfor kan de heller ikke bruges med disken, er heller ikke klart. Selv en browser kan bruges som "infrastrukturel komponent"; skal vi ikke forbyde brug af disken i browseren?

Hvad skal man gøre?

Indtil videre bruger man sit client_id og fortsætter som før. Men ifølge svaret fra teknisk support kan man vente på, at heksejagten og blokeringsmetoderne også rammer andre client_id'er, user-agent for rclone eller endda nogle heuristiske metoder til at blokere værktøjet.

P.S. Jeg håber oprigtigt, at der kan have været tale om en simpel fejl eller misforståelse. Der arbejder fremragende specialister hos Yandex (mange kender jeg personligt), og blandt dem er jeg sikker på, at der er brugere af rclone.

Opdatering 24.02.2020:
I i episode 690 af podcasten Radio-T, hvis medvært også er den respekterede bobuk, blev blokeringen af rclone diskuteret. Start kl. 1:51:40.

Kilde: habr.com

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster