Yandex.Disk a interdit l'utilisation de l'outil open source rclone

Contexte

Salut, Habr !

L'écriture de ce post a été provoquée par une erreur assez étrange que j'ai rencontrée hier soir sur mon ordinateur portable avec Linux (oui, je fais partie de ces personnes étranges qui utilisent GNU/Linux sur leur ordinateur portable) au lieu du contenu de mon Yandex.Disk :

$ ls -l /mnt/yadisk
ls : lecture du répertoire '.': Erreur d'entrée/sortie
total 0

La première pensée : le réseau est tombé, ce n'est pas grave. Mais lors de la tentative de remonter le répertoire, une nouvelle erreur est apparue :

$ sudo umount /mnt/yadisk && rclone mount --timeout 30m ya:/ /mnt/yadisk
2020/02/21 20:54:26 ERREUR : /: Dir.Stat erreur : [401 - UnauthorizedError] Non autorisé (Unauthorized).

C'était déjà étrange. Le token a-t-il expiré ? Pas de souci, je vais me réauthentifier !

$ rclone config
... (je vais passer toute la sortie du terminal) ..

Après me être connecté sur le web et avoir tenté de m'authentifier, j'obtiens déjà un message plus spécifique :

Cette application est bloquée en raison d'activités malveillantes, donc l'accès n'est pas autorisé (unauthorized_client).

La première pensée : quoi ?

À propos de rclone

Un peu d'information :
rclone — un utilitaire assez connu open source pour travailler avec des stockages en nuage (il a été mentionné à plusieurs reprises sur Habr). L'auteur l'appelle "rsync pour le stockage en nuage", ce qui est assez succinct. Mais ses fonctionnalités ne s'arrêtent pas là : en plus des fonctions rsync, il peut également monter des disques, exécuter la fonction ncdu (ce qui, soit dit en passant, m'a permis un jour de découvrir un mauvais calcul de l'espace libre sur Yandex.Disk et de résoudre ce problème avec l'assistance technique), ainsi qu'une multitude d'autres choses. L'outil prend en charge des dizaines de stockages en nuage, ainsi que des protocoles plus traditionnels — WebDAV, FTP, rsync et d'autres. Pour accéder à Yandex.Disk, l'outil utilise un, deux, trois l'API publique officielle du disque. Cet utilitaire est vraiment unique et (à mon avis) représente ce type de programme que l'on installe une fois, mais qui apportent constamment des avantages.

En consultant Google, j'ai vite compris que je n'étais pas seul. Il y a

Que s'est-il passé?

un bug sur le GitHub officiel , ainsi qu'une discussion surRésumé : l'ID client de l'outil est bloqué par Yandex.Disk, ce qui rend impossible la réauthentification. On peut essayer de changer l'ID client, mais rien ne garantit que le nouveau ID ne subira pas le même sort. le forum officiel.
La réponse du support
a été publiée sur le même forum. publié sur le même forum:

Le fait est que le programme Rclone permet d'utiliser Yandex.Disk comme un composant d'infrastructure, tandis que Yandex.Disk est un service personnel qui n'est pas conçu pour résoudre de telles tâches. C'est pourquoi nous ne prenons pas en charge l'utilisation conjointe de Rclone et Yandex.Disk.

"Composant d'infrastructure" ? Eh bien, si ce n'est pas possible, c'est probablement décrit dans les règles, ai-je pensé, mais je n'ai rien trouvé de tel dans les règles du disque lui-même ou de son API publique Je n'ai rien trouvé.

Bon, écrivons au support.
La première réponse arrive exactement comme celle publiée ci-dessus (concernant "le composant d'infrastructure"). D'accord, nous ne sommes pas fiers.

La correspondance ultérieure avec le support

Moi :

Pourriez-vous s'il vous plaît me dire quelle règle du service est violée ?
J'ai étudié les conditions d'utilisation de Yandex.Disk et il n'y a aucune interdiction d'utilisation "comme composant d'infrastructure".

De plus, je ne peux pas utiliser l'utilitaire depuis mon ordinateur portable personnel pour travailler avec le disque. Cela ne tombe clairement pas sous "composant d'infrastructure". Le client standard du disque est horrible, je vous prie de m'excuser.

Support :

Sergey, le fait est que Yandex.Disk est avant tout un service personnel qui n'est pas conçu pour télécharger des sauvegardes automatiquement.
Vous pouvez synchroniser des données entre votre ordinateur et Yandex.Disk, ainsi qu'utiliser l'interface web du Disque pour télécharger des fichiers et travailler avec eux.

Si pour une raison quelconque notre programme ne vous convient pas, merci de nous en faire part. Traditionnellement, nous tenons compte de l'avis des utilisateurs lors de la publication de mises à jour de produits.

Vous pouvez consulter les documents régissant l'utilisation du service, en particulier le « Contrat utilisateur des services Yandex », publié à l'adresse : https://yandex.ru/legal/rules/, ainsi que les « Conditions d'utilisation du service Yandex.Disk» : https://yandex.ru/legal/disk_termsofuse

Pour les tâches nécessitant de grandes capacités, nous recommandons d'utiliser Yandex.Cloud. C'est un autre service cloud de Yandex, conçu pour résoudre les besoins des entreprises. Pour en savoir plus sur Yandex.Cloud, vous pouvez consulter : https://cloud.yandex.ru

Moi :

Vous n'avez pas répondu à ma question. Pourriez-vous s'il vous plaît me dire quel point des règles du service est violé par l'utilisation de rclone ? J'ai soigneusement étudié les règles sur votre lien (encore avant que vous ne me les envoyiez).

Récemment, vous avez écrit un post disant que Yandex soutient activement l'Open Source et qu'il n'y aurait pas d'Internet moderne sans Open Source de Yandex.https://habr.com/ru/post/480090/).

Et maintenant, vous bloquez un utilitaire Open Source pour une raison arbitraire.

D'ailleurs, le programme ne "télécharge pas automatiquement des sauvegardes" ; il est destiné à travailler avec des stockages en nuage, y compris pour synchroniser des données entre un ordinateur et Yandex.Disk. C'est mon principal cas d'utilisation de l'utilitaire, qui n'est plus accessible maintenant.

Support :

Selon le point 3.1 des « Conditions d'utilisation », Yandex a le droit d'imposer des restrictions sur l'utilisation de ses services pour tous les utilisateurs ou pour certaines catégories d'utilisateurs (en fonction de leur localisation, de la langue du service, etc.), y compris : la présence ou l'absence de certaines fonctionnalités du service, la durée de stockage des messages dans Yandex.Mail, tout autre contenu, le nombre maximal de messages pouvant être envoyés ou reçus par un utilisateur enregistré, la taille maximale d'un message ou de l'espace de stockage, le nombre maximal de requêtes au service pendant une période donnée, la durée maximale de stockage du contenu, des paramètres spécifiques pour le contenu téléchargé, etc. Yandex peut interdire l'accès automatique à ses services et cesser d'accepter toute information générée automatiquement (par exemple, le spam par email).

L'utilisateur est également averti à ce sujet dans le point 4.6 des « Conditions d'utilisation de Yandex.Disk ».

Veuillez noter que les « Conditions d'utilisation de Yandex.Disk » stipulent également que l'utilisateur doit agir de bonne foi et s'abstenir d'abuser des fonctionnalités du service. L'utilisateur s'engage notamment à ne pas organiser d'échange massif de fichiers en utilisant les fonctionnalités du service.

Yandex a le droit d'appliquer des règles, des limites et des restrictions visant à prévenir, limiter et réprimer l'échange massif de fichiers selon les règles du point 4.5 des présentes « Conditions ».

La dernière réponse a apporté des clarifications. En particulier, les deux premiers paragraphes faisant référence au point 3.1 de l'« Accord utilisateur » de Yandex et au point 4.6 des « Conditions d'utilisation de Yandex.Disk ». Le texte 4.6 n’est pas fourni ici, je vais le citer :

4.6. Yandex se réserve le droit d'établir toutes les règles, limites et restrictions (techniques, juridiques, organisationnelles ou autres) concernant l'utilisation du Service, et peut les modifier à sa discrétion, sans préavis à l'Utilisateur. Dans les cas où cela n'est pas interdit par la législation, les règles, limites et restrictions mentionnées peuvent être différentes pour différentes catégories d'Utilisateurs.

Quelles conclusions?

Récemment, le respecté bobuk dans son post ici sur Habré a écrit que Yandex estime que :

Nous chez Yandex pensons que l’internet moderne est impossible sans une culture open source et des personnes qui investissent leur temps dans le développement de logiciels open source.

Mais en pratique, c'est tout autre chose. Une excellente utilité est bloquée pour des raisons qui ne sont pas interdites par les règles du service. Parce que l'utilité permet d'utiliser l'API public ouverte du disque pour son usage prévu — téléverser des fichiers. Elle n'est pas bloquée pour violation des règles du service, mais simplement parce qu'ils le peuvent.
Il est d'autant plus étrange que ce ne sont pas des contrevenants spécifiques aux règles qui sont bloqués (il est tout aussi flou de savoir quelles règles, l'utilisation du disque pour les sauvegardes n'est nulle part interdite). C'est un outil, une fonction de sauvegarde qui n'est qu'une des nombreuses.

Ce qu'est un composant d'infrastructure et pourquoi ils ne peuvent pas être utilisés avec le disque n'est pas non plus clair. Même un navigateur peut être utilisé comme un "composant d'infrastructure", ne devriez-vous pas interdire l'utilisation du disque dans le navigateur?

Que faire ?

Pour l’instant, utilisez votre client_id et continuez. Mais, à en juger par la réponse du support, on peut s'attendre à une chasse aux sorcières et à des blocages d'autres client_id, user-agent rclone ou même à des méthodes heuristiques pour bloquer l'utilité.

P.S. J'espère sincèrement qu'il s'agissait d'une simple erreur ou d'un malentendu. Chez Yandex, il y a d'excellents spécialistes (beaucoup que je connais personnellement) et parmi eux, je suis sûr, il y a des utilisateurs de rclone.

Mise à jour 24.02.2020:
Dans dans le numéro 690 du podcast Radio-T, dont le coanimateur est également le respecté Bobuk, il a été discuté du blocage de rclone. Début à 1:51:40.

Source : habr.com

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster