Tło
Cześć, Habr!
Do napisania tego postu skłonił mnie dość dziwny błąd, który wczoraj wieczorem wystąpił na moim laptopie z Linuxem (tak, jestem jednym z tych dziwnych ludzi, którzy używają GNU/Linux na laptopie) - zamiast zawartości swojego Yandex.Dysku otrzymałem:
$ ls -l /mnt/yadisk
ls: błąd odczytu katalogu '.': błąd wejścia/wyjścia
total 0Pierwsza myśl: sieć się rozłączyła, nic strasznego. Ale przy próbie ponownego zamontowania katalogu pojawił się nowy błąd:
$ sudo umount /mnt/yadisk && rclone mount --timeout 30m ya:/ /mnt/yadisk
2020/02/21 20:54:26 ERROR : /: Dir.Stat error: [401 - UnauthorizedError] Unauthorized (Nieautoryzowany.)To już było dziwne. Czy token stracił ważność? Nic strasznego, autoryzuję się ponownie!
$ rclone config
... (pomijam całą resztę wyjścia z terminala) ..Po przejściu do wersji webowej i próbie zalogowania się tam otrzymuję bardziej konkretne komunikaty:
Ta aplikacja została zablokowana za działalność złośliwą, dlatego dostęp jest zabroniony (unauthorized_client).
Pierwsza myśl: cooo?
O rclone
Trochę informacji:
— dość znane narzędzie do pracy z chmurami (wielokrotnie , , wspomniane na Habrze). Autor nazywa to "rsync dla przechowywania w chmurze", co jest dość trafne. Ale to nie ogranicza jego funkcjonalności: oprócz funkcji rsync, może również montować dyski, pełnić funkcję ncdu (co, nawiasem mówiąc, pozwoliło mi pewnego razu wykryć błędne obliczenia wolnego miejsca na Yandex.Dysku i skutecznie rozwiązać ten problem przez wsparcie techniczne), a także wiele innych. Narzędzie obsługuje zarówno dziesiątki chmur, jak i bardziej tradycyjne protokoły — WebDAV, FTP, rsync i inne. Do uzyskania dostępu do Yandex.Dysku narzędzie wykorzystuje Dysku.
Narzędzie jest naprawdę unikalne i (moim zdaniem) stanowi ten rodzaj oprogramowania, które instalujesz raz, a korzyści z niego płyną ciągle.
Co się stało?
Przeglądając Google, od razu zrozumiałem, że nie jestem sam. Istnieje , a także dyskusja na .
Krótka charakterystyka: client_id narzędzia został zablokowany przez Yandex.Dysk, przez co nie można się już autoryzować. Można spróbować zmienić client_id, ale nie ma pewności, że nowy id nie spotka tego samego losu.
Odpowiedź wsparcia :
Chodzi o to, że program Rclone pozwala korzystać z Yandex.Dysku jako komponentu infrastrukturalnego, a Yandex.Dysk to osobisty serwis, który nie jest zaprojektowany do rozwiązywania takich zadań. Dlatego nie wspieramy pracy zestawienia Rclone — Yandex.Dysk.
"Komponent infrastrukturalny"? Skoro nie można, to pewnie jest to opisane w regulaminie, pomyślałem i nic takiego w lub publicznego API
nie znalazłem.
Dobrze, napiszemy do wsparcia.
Pierwsza odpowiedź przylatuje 1 w 1 to, co opublikowane powyżej (o "komponencie infrastrukturalnym"). Ok, nie jesteśmy dumni.
Dalsza korespondencja z wsparciem
Ja:
Może powiedzielibyście, które zasady usługi to narusza?Przeanalizowałem warunki korzystania z Yandex.Dysku i nie ma tam żadnych zakazów dotyczących używania "jako komponentu infrastrukturalnego".
Wsparcie:
Co więcej, nie mogę korzystać z narzędzia z prywatnego laptopa do pracy z dyskiem. To już zupełnie nie podpada pod "komponent infrastrukturalny". Klient dysku jest okropny, wybaczcie.
Sergey, chodzi o to, że Yandex.Dysk to przede wszystkim osobisty serwis, który nie jest zaprojektowany do automatycznego przesyłania kopii zapasowych.Możecie synchronizować dane między swoim komputerem a Yandex.Dyskiem, a także korzystać z interfejsu webowego Dysku do przesyłania plików i pracy z nimi.
Jeśli z jakiegoś powodu nie jesteś zadowolony z naszego programu, proszę, wyraź to. Tradycyjnie słuchamy opinii użytkowników przy wydawaniu aktualizacji produktu. Możecie zapoznać się z dokumentami regulującymi korzystanie z usługi, w szczególności "Umową użytkownika serwisów Yandex", opublikowaną pod adresem:
, a także "Zasadami korzystania z usługi 'Yandex.Dysk'":
Dalsza korespondencja z wsparciem
Nie odpowiedzieliście na moje pytanie. Proszę, powiedzcie, który punkt zasad usługi narusza korzystanie z rclone? Dokładnie przeanalizowałem zasady pod waszym linkiem (jeszcze przed tym, jak mi je wysłaliście).
Niedawno pisałeś post, że Yandex wspiera OpenSource na wszelkie sposoby, a nowoczesny internet nie istniałby bez OpenSource Yandexa.).
A teraz blokujesz OpenSource'owe narzędzie z powodu wymyślonego powodu.
Przy okazji, program nie realizuje "automatycznego ładowania kopii zapasowych"; jest przeznaczony do współpracy z chmurami, w tym do synchronizacji danych między komputerem a Yandex.Dyskiem. I to jest mój główny przypadek użycia tego narzędzia, który teraz jest niedostępny.
Wsparcie:
Zgodnie z punktem 3.1. "Umowy użytkownika" Yandex ma prawo nałożyć ograniczenia w korzystaniu z usług dla wszystkich Użytkowników lub dla wybranych kategorii Użytkowników (w zależności od miejsca pobytu Użytkownika, języka, w jakim usługa jest świadczona itp.), w tym: obecność/brak poszczególnych funkcji usługi, czas przechowywania wiadomości e-mail w usłudze Yandex.Poczta, jakiegokolwiek innego kontentu, maksymalna liczba wiadomości, które mogą być wysłane lub otrzymane przez jednego zarejestrowanego użytkownika, maksymalny rozmiar wiadomości e-mail lub przestrzeni dyskowej, maksymalna liczba zapytań do usługi w podanym okresie czasu, maksymalny czas przechowywania treści, specjalne parametry przesyłanego kontentu itp. Yandex może zabronić automatycznego dostępu do swoich usług, jak również wstrzymać przyjmowanie jakichkolwiek informacji generowanych automatycznie (np. spamu e-mailowego).
Użytkownik jest również o tym informowany w punkcie 4.6. "Warunków korzystania z Yandex.Dysku".
Zauważ, że "Warunki korzystania z Yandex.Dysku" nakładają na Użytkownika obowiązek działania w dobrej wierze i powstrzymywania się od nadużywania funkcji Usługi. Użytkownik zobowiązuje się też do powstrzymywania się od organizowania masowej wymiany plików przy użyciu funkcji Usługi.
Yandex ma prawo stosować zasady, limity i ograniczenia mające na celu zapobieganie, ograniczanie i zwalczanie masowej wymiany plików zgodnie z zasadami punktu 4.5. niniejszych "Warunków".
Ostatnia odpowiedź wprowadziła jasność. Szczególnie pierwsze dwa akapity z odniesieniem do pkt 3.1. „Umowy użytkownika” Yandeksu i pkt 4.6. „Warunków korzystania z Yandex.Dysku”. Tekst 4.6 tutaj nie został podany, zacytuję:
4.6. Yandex zastrzega sobie prawo do ustalania jakichkolwiek zasad, limitów i ograniczeń (technicznych, prawnych, organizacyjnych lub innych) dotyczących korzystania z Usługi i może je zmieniać według własnego uznania, bez wcześniejszego powiadomienia Użytkownika. W przypadkach, gdy nie jest to zabronione przez przepisy prawne, wymienione zasady, limity i ograniczenia mogą być różne dla różnych kategorii Użytkowników.
Wnioski?
Niedawno szanowany w swoim pisał, że Yandex uważa, że:
Uważamy w Yandex, że nowoczesny internet nie może istnieć bez kultury open source i ludzi, którzy inwestują swój czas w rozwój oprogramowania z otwartym kodem.
A w praktyce sytuacja wygląda zupełnie inaczej. Doskonałe narzędzie jest blokowane za coś, co nie jest zabronione przez zasady usługi. Za to, że narzędzie umożliwia korzystanie z otwartego publicznego API Dysku zgodnie z jego przeznaczeniem — przesyłanie plików. Blokują nie za naruszenie zasad usługi, ale dlatego, że mogą.
Dziwi także fakt, że zablokowane nie zostały konkretne osoby naruszające zasady (które też są niejasne, w zasadach korzystania z dysku nie ma zakazu tworzenia kopii zapasowych). Zablokowane zostało narzędzie, w którym funkcja tworzenia kopii zapasowych jest tylko jedną z wielu.
Co to jest komponent infrastrukturalny i dlaczego nie można ich używać z dyskiem, też nie jest jasne. Nawet przeglądarka może być używana jako "komponent infrastrukturalny", czy zatem nie warto zakazać korzystania z dysku w przeglądarkach?
Co robić?
Na razie korzystam ze swojego client_id i żyję dalej. Ale, sądząc po odpowiedzi pomocy technicznej, można spodziewać się dalszych poszukiwań czarownic i blokad także innych client_id, user-agent rclone lub, nawet, jakieś heurystyczne sposoby blokowania narzędzia.
P.S. Szczerze mam nadzieję, że to była po prostu zwykła pomyłka lub nieporozumienie. W Yandex pracują doskonałe specjalistki (z wieloma z nich znam się osobiście) i jestem pewien, że są wśród nich użytkownicy rclone.
Aktualizacja 24.02.2020:
W podcastu Radio-T, którego współprowadzącym jest również szanowany Bobuk, omawiano blokadę rclone. .
Źródło: habr.com
