Το Yandex.Disk έχει απαγορεύσει τη χρήση του βοηθητικού προγράμματος ανοιχτού κώδικα rclone

Ιστορικό

Γεια σου Χαμπρ!

Αυτό που με ώθησε να γράψω αυτήν την ανάρτηση ήταν ένα μάλλον περίεργο σφάλμα, το οποίο έλαβα χθες το βράδυ σε φορητό υπολογιστή με Linux (ναι, είμαι ένας από αυτούς τους περίεργους ανθρώπους που χρησιμοποιούν GNU/Linux σε φορητό υπολογιστή) αντί για το περιεχόμενο του Yandex μου .Δίσκος:

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

Η πρώτη μου σκέψη: το δίκτυο έπεσε, τίποτα σπουδαίο. Αλλά κατά την προσπάθεια επαναπροσάρτησης του καταλόγου, εμφανίστηκε ένα νέο σφάλμα:

$ sudo umount /mnt/yadisk && rclone mount --timeout 30m ya:/ /mnt/yadisk
2020/02/21 20:54:26 ERROR : /: Dir.Stat error: [401 - UnauthorizedError] Unauthorized (Не авторизован.)

Αυτό ήταν ήδη περίεργο. Είναι σάπιο το κουπόνι; Κανένα πρόβλημα, θα εξουσιοδοτήσω ξανά!

$ rclone config
... (опущу тут весь вывод терминала) ..

Αφού πάω στον ιστό και προσπαθώ να συνδεθώ εκεί, λαμβάνω ένα πιο συγκεκριμένο μήνυμα:

Αυτή η εφαρμογή έχει αποκλειστεί για κακόβουλες δραστηριότητες και επομένως δεν επιτρέπεται η πρόσβαση (unauthorized_client).

Πρώτη σκέψη: τι;

Σχετικά με το rclone

Λίγη βοήθεια:
rclone - αρκετά διάσημος ανοιχτό βοηθητικό πρόγραμμα για εργασία με αποθηκευτικούς χώρους cloud (επανειλημμένα ώρα, два, τρία αναφέρεται στο Habré). Ο συγγραφέας το αποκαλεί "rsync for cloud storage", το οποίο είναι αρκετά ευρύχωρο. Αλλά η λειτουργικότητα δεν περιορίζεται σε αυτό: εκτός από τις λειτουργίες rsync, μπορεί επίσης να τοποθετήσει δίσκους, να εκτελέσει τη λειτουργία ncdu (η οποία, παρεμπιπτόντως, κάποτε μου επέτρεψε να εντοπίσω έναν εσφαλμένο υπολογισμό ελεύθερου χώρου στο Yandex.Disk και με επιτυχία λύστε αυτό το πρόβλημα μέσω τεχνικής υποστήριξης) και ένα σωρό άλλα πράγματα. Το βοηθητικό πρόγραμμα υποστηρίζει δεκάδες αποθηκευτικούς χώρους cloud, καθώς και πιο παραδοσιακά πρωτόκολλα - WebDAV, FTP, rsync και άλλα. Για πρόσβαση στο Yandex.Disk, το βοηθητικό πρόγραμμα χρησιμοποιεί επίσημο δημόσιο API Δίσκος.

Το βοηθητικό πρόγραμμα είναι πραγματικά μοναδικό και (κατά τη γνώμη μου) αντιπροσωπεύει αυτήν την κατηγορία προγραμμάτων που εγκαθιστάτε μία φορά και αποφέρουν συνεχώς οφέλη.

Τι συνέβη?

Γυρίζοντας στο Google, συνειδητοποίησα αμέσως ότι δεν ήμουν μόνος. Τρώω bug στο επίσημο github, καθώς και συζήτηση για επίσημο φόρουμ.
Περίληψη: το client_id του βοηθητικού προγράμματος έχει αποκλειστεί από το Yandex.Disk, γι' αυτό δεν μπορείτε πλέον να συνδεθείτε. Μπορείτε να προσπαθήσετε να αλλάξετε το client_id, αλλά δεν είναι γεγονός ότι το νέο ID δεν θα έχει την ίδια τύχη.
Απόκριση υποστήριξης αναρτήθηκε στο ίδιο φόρουμ:

Το γεγονός είναι ότι το πρόγραμμα Rclone σάς επιτρέπει να χρησιμοποιείτε το Yandex.Disk ως στοιχείο υποδομής και το Yandex.Disk είναι μια προσωπική υπηρεσία που δεν έχει σχεδιαστεί για την επίλυση τέτοιων προβλημάτων. Επομένως, δεν υποστηρίζουμε τη σύνδεση Rclone - Yandex.Disk.

«Στοιχείο υποδομής»; Λοιπόν, αν δεν μπορείτε, τότε μάλλον περιγράφεται στους κανόνες, σκέφτηκα, και δεν υπάρχει τίποτα τέτοιο στο κανόνες του ίδιου του δίσκου ή του δημόσιο API Δεν βρήκα.

Εντάξει, ας γράψουμε για υποστήριξη.
Η πρώτη απάντηση ταιριάζει με αυτή που δημοσιεύτηκε παραπάνω (σχετικά με το "συστατικό υποδομής"). Εντάξει, δεν είμαστε περήφανοι.

Περαιτέρω αλληλογραφία με υποστήριξη

ΕΓΩ:

Μπορείτε να μου πείτε ποιον κανόνα υπηρεσίας παραβιάζει αυτό;
Έχω μελετήσει τους όρους χρήσης του Yandex Disk και δεν υπάρχουν απαγορεύσεις για τη χρήση του "ως στοιχείο υποδομής".

Επιπλέον, δεν μπορώ να χρησιμοποιήσω το βοηθητικό πρόγραμμα από τον προσωπικό μου φορητό υπολογιστή για να εργαστώ με το δίσκο. Αυτό δεν εμπίπτει καθόλου στο "συστατικό της υποδομής". Ο τυπικός πελάτης δίσκου είναι τρομερός, συγγνώμη.

Υποστήριξη:

Sergey, το γεγονός είναι ότι το Yandex.Disk είναι κυρίως μια προσωπική υπηρεσία που δεν έχει σχεδιαστεί για αυτόματη λήψη αντιγράφων ασφαλείας.
Μπορείτε να συγχρονίσετε δεδομένα μεταξύ του υπολογιστή σας και του Yandex.Disk, καθώς και να χρησιμοποιήσετε τη διεπαφή ιστού του δίσκου για λήψη αρχείων και εργασία με αυτά.

Εάν για κάποιο λόγο δεν είστε ικανοποιημένοι με το πρόγραμμά μας, παρακαλούμε εκφράστε τους. Παραδοσιακά, ακούμε τα σχόλια των χρηστών όταν δημοσιεύουμε ενημερώσεις προϊόντων.

Μπορείτε να εξοικειωθείτε με τα έγγραφα που διέπουν τη χρήση της υπηρεσίας, ιδίως τη «Συμφωνία χρήστη για τις υπηρεσίες Yandex», που δημοσιεύεται στη διεύθυνση: https://yandex.ru/legal/rules/, καθώς και «Όροι χρήσης της υπηρεσίας Yandex.Disk»: https://yandex.ru/legal/disk_termsofuse

Για την επίλυση προβλημάτων που απαιτούν μεγάλες ποσότητες ενέργειας, συνιστούμε να χρησιμοποιήσετε το Yandex.Cloud. Αυτή είναι μια άλλη υπηρεσία cloud Yandex, η οποία δημιουργήθηκε για την επίλυση επιχειρηματικών προβλημάτων. Μπορείτε να μάθετε περισσότερα για το Yandex.Cloud εδώ: https://cloud.yandex.ru

ΕΓΩ:

Δεν απάντησες στην ερώτησή μου. Πείτε μου ποιο σημείο των κανόνων υπηρεσίας παραβιάζει τη χρήση του rclone; Μελέτησα προσεκτικά τους κανόνες από τον σύνδεσμό σου (ακόμα και πριν τον στείλεις).

Μόλις πρόσφατα γράψατε μια ανάρτηση ότι το Yandex υποστηρίζει σθεναρά το OpenSource και χωρίς το OpenSource το Yandex και το σύγχρονο Διαδίκτυο δεν θα υπήρχε (https://habr.com/ru/post/480090/).

Και τώρα αποκλείετε το βοηθητικό πρόγραμμα OpenSource για έναν τραβηγμένο λόγο.

Παρεμπιπτόντως, το πρόγραμμα δεν "κατεβάζει αυτόματα αντίγραφα ασφαλείας"· το πρόγραμμα έχει σχεδιαστεί για να λειτουργεί με αποθήκευση cloud, συμπεριλαμβανομένου του συγχρονισμού δεδομένων μεταξύ ενός υπολογιστή και του Yandex.Disk. Και αυτό είναι το βασικό μου βοηθητικό πρόγραμμα χρήσης, το οποίο δεν είναι πλέον διαθέσιμο.

Υποστήριξη:

Σύμφωνα με την παράγραφο 3.1. "Συμφωνία χρήστη" Η Yandex έχει το δικαίωμα να θεσπίσει περιορισμούς στη χρήση των υπηρεσιών για όλους τους Χρήστες ή για ορισμένες κατηγορίες Χρηστών (ανάλογα με την τοποθεσία του Χρήστη, τη γλώσσα στην οποία παρέχεται η υπηρεσία κ.λπ.), συμπεριλαμβανομένων: η παρουσία/απουσία ορισμένων λειτουργιών υπηρεσίας, η περίοδος αποθήκευσης των μηνυμάτων αλληλογραφίας στην υπηρεσία Yandex.Mail, οποιοδήποτε άλλο περιεχόμενο, ο μέγιστος αριθμός μηνυμάτων που μπορούν να σταλούν ή να ληφθούν από έναν εγγεγραμμένο χρήστη, το μέγιστο μέγεθος ενός μηνύματος αλληλογραφίας ή χώρος στο δίσκο, ο μέγιστος αριθμός κλήσεων προς την υπηρεσία για μια καθορισμένη χρονική περίοδο, η μέγιστη περίοδος αποθήκευσης περιεχομένου, ειδικές παράμετροι για περιεχόμενο λήψης κ.λπ. Η Yandex μπορεί να απαγορεύσει την αυτόματη πρόσβαση στις υπηρεσίες της και επίσης να σταματήσει να αποδέχεται τυχόν πληροφορίες που δημιουργούνται αυτόματα (για παράδειγμα, ανεπιθύμητη αλληλογραφία).

Ο χρήστης προειδοποιείται επίσης για αυτό στην ενότητα 4.6. "Όροι χρήσης του Yandex.Disk."

Λάβετε υπόψη ότι οι «Όροι χρήσης του Yandex.Disk» καθορίζουν επίσης την υποχρέωση του Χρήστη να ενεργεί καλόπιστα και να απέχει από την κατάχρηση των λειτουργιών της Υπηρεσίας. Ο Χρήστης δεσμεύεται επίσης να απέχει από την οργάνωση μαζικής κοινής χρήσης αρχείων χρησιμοποιώντας τις λειτουργίες της Υπηρεσίας.

Η Yandex έχει το δικαίωμα να εφαρμόζει κανόνες, όρια και περιορισμούς που αποσκοπούν στην πρόληψη, τον περιορισμό και την καταστολή της μαζικής κοινής χρήσης αρχείων σύμφωνα με τους κανόνες της ρήτρας 4.5. αυτούς τους «Όρους».

Η τελευταία απάντηση έφερε σαφήνεια. Ειδικά οι δύο πρώτες παράγραφοι με αναφορά στην ρήτρα 3.1. Yandex "Συμφωνία χρήστη" και ρήτρα 4.6. "Όροι χρήσης του Yandex.Disk." Το κείμενο του 4.6 δεν δίνεται εδώ, αλλά θα το δώσω εδώ:

4.6. Η Yandex διατηρεί το δικαίωμα να θεσπίσει οποιουσδήποτε κανόνες, όρια και περιορισμούς (τεχνικούς, νομικούς, οργανωτικούς ή άλλους) σχετικά με τη χρήση της Υπηρεσίας και μπορεί να τους αλλάξει κατά τη διακριτική της ευχέρεια, χωρίς προηγούμενη ειδοποίηση του Χρήστη. Σε περιπτώσεις όπου αυτό δεν απαγορεύεται από το νόμο, οι καθορισμένοι κανόνες, όρια και περιορισμοί μπορεί να είναι διαφορετικοί για διαφορετικές κατηγορίες Χρηστών.

Συμπεράσματα;

Μόλις πρόσφατα, αγαπητέ μπόμπουκ στο δικό του δημοσιεύστε εδώ στο Habré έγραψε ότι η Yandex πιστεύει ότι:

Εμείς στη Yandex πιστεύουμε ότι το σύγχρονο Διαδίκτυο είναι αδύνατο χωρίς μια κουλτούρα ανοιχτού κώδικα και ανθρώπους που επενδύουν το χρόνο τους στην ανάπτυξη προγραμμάτων ανοιχτού κώδικα.

Αλλά στην πράξη αποδεικνύεται εντελώς διαφορετικά. Ένα εξαιρετικό βοηθητικό πρόγραμμα μπλοκάρεται για κάτι που δεν απαγορεύεται από τους κανόνες σέρβις. Επειδή το βοηθητικό πρόγραμμα σας επιτρέπει να χρησιμοποιήσετε ανοιχτό κοινό Ο σκοπός του Disk API είναι η λήψη αρχείων. Μπλοκάρουν όχι για παραβίαση των κανόνων της υπηρεσίας, αλλά επειδή μπορούν.
Αυτό που είναι διπλά περίεργο είναι ότι δεν αποκλείονται συγκεκριμένοι παραβάτες κανόνων (δεν είναι επίσης σαφές ποιοι· οι κανόνες δεν απαγορεύουν τη χρήση δίσκου για αντίγραφα ασφαλείας οπουδήποτε). Ένα εργαλείο του οποίου η λειτουργία δημιουργίας αντιγράφων ασφαλείας είναι μόνο μία από τις πολλές είναι αποκλεισμένο.

Το τι είναι ένα στοιχείο υποδομής και γιατί δεν μπορούν να χρησιμοποιηθούν με δίσκο δεν είναι επίσης σαφές. Ακόμη και ένα πρόγραμμα περιήγησης μπορεί να χρησιμοποιηθεί ως "συστατικό υποδομής"· δεν θα έπρεπε να είναι δυνατό να απαγορευτεί η χρήση του δίσκου στο πρόγραμμα περιήγησης;

Τι να κάνω;

Προς το παρόν, χρησιμοποιήστε το client_id σας και συνεχίστε τη ζωή σας. Ωστόσο, κρίνοντας από την ανταπόκριση από την τεχνική υποστήριξη, μπορούμε να περιμένουμε τη συνέχιση του κυνηγιού μαγισσών και τον αποκλεισμό άλλων client_ids, user-agent rclone ή ακόμα και ορισμένους ευρετικούς τρόπους αποκλεισμού του βοηθητικού προγράμματος.

ΥΓ Ελπίζω ειλικρινά να έγινε ένα απλό λάθος ή παρεξήγηση. Η Yandex έχει εξαιρετικούς ειδικούς (γνωρίζω πολλούς από αυτούς προσωπικά) και μεταξύ αυτών, είμαι σίγουρος, υπάρχουν χρήστες rclone.

Ενημέρωση 24.02.2020:
В έκδοση 690 Το podcast Radio-T, συν-παρουσιαστής του οποίου είναι και ο σεβαστός Bobuk, συζήτησε το μπλοκάρισμα του rclone. Έναρξη 1:51:40.

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο