Yandex.Disk ha vietato l'uso dello strumento open source rclone

Contesto

Ciao, Habr!

La scrittura di questo post è stata provocata da un errore piuttosto strano che ho ricevuto ieri sera sul mio laptop con Linux (sì, sono uno di quelle persone strane che utilizzano GNU/Linux su un laptop) invece del contenuto del mio Yandex.Disk:

$ ls -l /mnt/yadisk
ls: errore di lettura della directory '.': Errore di input/output
totale 0

La prima cosa che ho pensato: la rete è caduta, non è un problema. Ma nel tentativo di rimontare la directory è apparsa un'altra errore:

$ sudo umount /mnt/yadisk && rclone mount --timeout 30m ya:/ /mnt/yadisk
2020/02/21 20:54:26 ERRORE : /: Errore Dir.Stat: [401 - UnauthorizedError] Non autorizzato.

Questa era già strana. Il token è scaduto? Nessun problema, mi autorizzo di nuovo!

$ rclone config
... (ometto qui l'intero output del terminale) ..

Dopo essere passato al web e aver tentato di autorizzarmi lì, ricevo un messaggio già più specifico:

Questa applicazione è stata bloccata per attività dannose, quindi l'accesso non è consentito (unauthorized_client).

La prima cosa che ho pensato: cheeeee?

Su rclone

Un po' di informazioni:
rclone è un'utilità open source piuttosto conosciuta per lavorare con archivi cloud (ripetutamente utensile per lavorare con archivi cloud (ripetutamente una volta, due volte, tre volte è stata menzionata su Habr). L'autore la definisce "rsync per lo storage cloud", il che è abbastanza azzeccato. Ma la sua funzionalità non si limita a questo: oltre alle funzioni di rsync, può anche montare dischi, eseguire la funzione ncdu (che, tra l'altro, mi ha permesso una volta di scoprire un conteggio errato dello spazio libero su Yandex.Disk e risolvere con successo il problema tramite il supporto tecnico), e molto altro ancora. L'utilità supporta sia decine di archivi cloud che protocolli più tradizionali come WebDAV, FTP, rsync e altri. Per accedere a Yandex.Disk, l'utilità utilizza l'API pubblica ufficiale di Disk.

L'utilità è davvero unica e (a mio parere) rappresenta quel tipo di software che si installa una volta e continua a portare vantaggi nel tempo.

Cosa è successo?

Cercando su Google, ho subito capito che non ero solo. Ci sono un bug nel repository ufficiale di GitHub, oltre a una discussione su un forum ufficiale.
Sintesi: client_id dell'utilità è stato bloccato da Yandex.Disk, il che rende impossibile l'autenticazione. Puoi provare a cambiare client_id, ma non è garantito che anche il nuovo id non incorra nella stessa sorte.
La risposta del supporto è stata pubblicata nello stesso forum:

Il problema è che il programma Rclone permette di utilizzare Yandex.Disk come componente infrastrutturale, ma Yandex.Disk è un servizio personale, non progettato per tali compiti. Pertanto, non supportiamo l'uso combinato di Rclone e Yandex.Disk.

"Componente infrastrutturale"? Se non è possibile, probabilmente è descritto nelle regole, ho pensato, ma non ho trovato nulla di simile. nelle regole del disco stesso o nel suo API pubblica .

Va bene, scriviamo al supporto.
La prima risposta è esattamente quella pubblicata sopra (riguardo al "componente infrastrutturale"). D'accordo, non siamo orgogliosi.

Ulteriore corrispondenza con il supporto

Io:

E potete dirmi per favore quale regola del servizio sto violando?
Ho studiato i termini di utilizzo di Yandex.Disk e non ci sono divieti sull'uso "come componente infrastrutturale".

Inoltre, non posso utilizzare l'utility dal mio portatile personale per lavorare con il disco. Questo non rientra affatto nel "componente infrastrutturale". Il client standard del disco è terribile, scusatemi.

Supporto:

Sergey, il fatto è che Yandex.Disk è principalmente un servizio personale, non progettato per caricare backup in modo automatico.
Puoi sincronizzare i dati tra il tuo computer e Yandex.Disk, oltre a utilizzare l'interfaccia web di Disk per caricare file e lavorarci sopra.

Se per qualche motivo non sei soddisfatto del nostro programma, ti preghiamo di comunicarcelo. Tradizionalmente, prestiamo attenzione alle opinioni degli utenti quando rilasciamo aggiornamenti del prodotto.

Puoi consultare i documenti che regolano l'uso del servizio, in particolare il "Contratto utente dei servizi Yandex", pubblicato all'indirizzo: https://yandex.ru/legal/rules/, così come i "Termini di utilizzo del servizio 'Yandex.Disk'": https://yandex.ru/legal/disk_termsofuse

Per affrontare compiti che richiedono grandi capacità, ti consigliamo di utilizzare Yandex.Cloud. Questo è un altro servizio cloud di Yandex, progettato per affrontare le esigenze aziendali. Scopri di più su Yandex.Cloud qui: https://cloud.yandex.ru

Io:

Non hai risposto alla mia domanda. Puoi per favore spiegarmi quale punto delle regole del servizio viola l'uso di rclone? Ho studiato attentamente le regole nel tuo link (ancora prima che tu me lo inviassi).

Recentemente hai scritto un post in cui affermi che Yandex supporta OpenSource e che senza OpenSource non ci sarebbe stato Yandex né Internet moderno (https://habr.com/ru/post/480090/).

E ora stai bloccando un'utilità OpenSource per motivi infondati.

A proposito, il programma non effettua "backup automatici", ma è progettato per lavorare con archiviazioni cloud, incluso il sincronizzazione dei dati tra computer e Yandex.Disk. Questo è il mio principale utilizzo dell'utilità, che ora non è più disponibile.

Supporto:

Secondo il punto 3.1. del "Contratto utente", Yandex ha il diritto di stabilire restrizioni nell'uso dei servizi per tutti gli Utenti, o per categorie specifiche di Utenti (in base alla posizione dell'Utente, alla lingua in cui il servizio è fornito, ecc.), comprese: la presenza o l'assenza di specifiche funzioni del servizio, il periodo di conservazione dei messaggi di posta nel servizio Yandex.Mail, di qualsiasi altro contenuto, il massimo numero di messaggi che possono essere inviati o ricevuti da un singolo utente registrato, la dimensione massima di un messaggio di posta o dello spazio su disco, il numero massimo di accessi al servizio in un determinato periodo di tempo, il massimo periodo di conservazione del contenuto, parametri speciali per i contenuti caricati, ecc. Yandex può vietare l'accesso automatico ai propri servizi e interrompere l'accettazione di qualsiasi informazione generata automaticamente (ad esempio, spam email).

L'Utente è anche avvisato riguardo a ciò nel punto 4.6. dei "Termini di utilizzo di Yandex.Disk".

Si prega di notare che i "Termini di utilizzo di Yandex.Disk" stabiliscono anche per l'Utente l'obbligo di agire in buona fede e di astenersi dall'abuso delle funzioni del Servizio. L'Utente si impegna, tra l'altro, a astenersi dall'organizzare uno scambio massivo di file utilizzando le funzioni del Servizio.

Yandex si riserva il diritto di applicare regole, limiti e restrizioni volti a prevenire, limitare e reprimere lo scambio massivo di file in conformità con le regole del punto 4.5. dei presenti "Termini".

L'ultima risposta ha chiarito la situazione. In particolare, i primi due paragrafi con riferimento al punto 3.1. del "Contratto dell'Utente" di Yandex e al punto 4.6. dei "Termini di utilizzo di Yandex.Disk". Il testo del 4.6 non è riportato qui, lo fornirò:

4.6. Yandex si riserva il diritto di stabilire qualsiasi regola, limite e restrizione (tecnica, legale, organizzativa o altro) per l'uso del Servizio e può modificarli a sua discrezione, senza preavviso all'Utente. Nei casi in cui ciò non sia vietato dalla legge, le regole, i limiti e le restrizioni sopra indicati possono essere diversi per le diverse categorie di Utenti.

Conclusioni?

Recentemente, l'illustre bobuk nel suo post qui su Habr ha scritto che Yandex crede che:

In Yandex riteniamo che l'internet moderno sia impossibile senza una cultura open source e senza le persone che investono il proprio tempo nello sviluppo di software open source.

Ma nella pratica è completamente diverso. Una grande utility viene bloccata per qualcosa che non è vietato dalle regole del servizio. Per il fatto che l'utility consente di utilizzare l'API pubblico aperto di Disk per la sua funzione principale — caricare file. Non viene bloccata per violazione delle regole del servizio, ma perché possono.
È strano che non siano stati bloccati i specifici trasgressori delle regole (che tra l'altro non sono chiare, poiché l'uso del disco per i backup non è vietato da alcuna parte). È stato bloccato uno strumento, la cui funzione di backup è solo una delle molte.

Non è chiaro cosa si intenda per componente infrastrutturale e perché non possano essere utilizzati con il disco. Anche un browser può essere considerato un "componente infrastrutturale"; non dovremmo vietare l'uso del disco nel browser?

Cosa fare?

Per ora usare il proprio client_id e andare avanti. Tuttavia, considerando la risposta del supporto tecnico, ci si può aspettare una continua caccia alle streghe e il blocco di altri client_id, user-agent di rclone o persino l'uso di metodi euristici per bloccare l'utilità.

P.S. Spero sinceramente che ci sia stata una semplice errore o incomprensione. In Yandex lavorano ottimi specialisti (ne conosco molti personalmente) e tra loro, sono sicuro, ci sono utenti di rclone.

Aggiornamento 24.02.2020:
In uscita 690 del podcast Radio-T, co-ospitato anche dal rispettato Bobuk, è stato discusso del blocco di rclone. Inizio a 1:51:40.

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster