Tło
Cześć, Habr!
Do napisania tego posta skłonił mnie dość dziwny błąd, który wczoraj wieczorem na moim laptopie z systemem Linux (tak, jestem jednym z tych dziwnych ludzi, którzy używają GNU/Linux na laptopie) otrzymałem zamiast zawartości swojego Yandex.Disku:
$ ls -l /mnt/yadisk
ls: reading directory '.': Błąd wejścia/wyjścia
total 0Pierwsza myśl: sieć padł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] Nieautoryzowane (Unauthorized).To już było dziwne. Token wygasł? Nie ma sprawy, autoryzuję ponownie!
$ rclone config
... (pomińmy całą tutaj zawartość terminala) ..Po przejściu na stronę i próbie autoryzacji otrzymuję już bardziej konkretną wiadomość:
Ta aplikacja została zablokowana z powodu szkodliwych działań, więc dostęp jest zabroniony (unauthorized_client).
Pierwsza myśl: coooo?
O rclone
Trochę informacji:
— dość znane narzędzie do pracy z chmurami (wielokrotnie , , wspomniano na Habra. Autor określa to jako "rsync dla chmury", co w pełni oddaje istotę. Ale to nie wszystko: obok funkcji rsync może również montować dyski, pełniąc funkcję ncdu (co zresztą pozwoliło mi kiedyś odkryć błędne obliczenie wolnego miejsca na Yandex.Disk i skutecznie rozwiązać ten problem przez wsparcie techniczne), a także wiele innych. Narzędzie wspiera zarówno dziesiątki chmur, jak i bardziej tradycyjne protokoły – WebDAV, FTP, rsync i inne. Do dostępu do Yandex.Disk narzędzie wykorzystuje Dysku.
Narzędzie jest naprawdę unikalne i (moim zdaniem) należy do tej klasy programów, które instaluje się raz, a korzyści płyną stale.
Co się stało?
Szukając w Google od razu zrozumiałem, że nie jestem sam. Istnieje , a także dyskusja na .
Podsumowanie: client_id narzędzia zostało zablokowane przez Yandex.Disk, przez co nie można się już autoryzować. Można spróbować zmienić client_id, ale nie ma pewności, że ta sama fate nie spotka nowego ID.
Odpowiedź wsparcia :
Program Rclone umożliwia korzystanie z Yandex.Disk jako komponentu infrastrukturalnego, ale Yandex.Disk to usługa osobista, która nie jest zaprojektowana do realizacji takich zadań. Dlatego nie wspieramy współpracy Rclone z Yandex.Disk.
"Komponent infrastrukturalny"? Skoro nie można, to prawdopodobnie jest to opisane w regulaminie, pomyślałem, i nic takiego w ani jego nie znalazłem.
Dobra, napiszemy do wsparcia.
Pierwsza odpowiedź przychodzi dokładnie taka sama jak ta, która została opublikowana wyżej (o "komponencie infrastrukturalnym"). Ok, nie jesteśmy dumni.
Dalsza korespondencja z wsparciem
Ja:
Czy mógłbyś mi powiedzieć, które zasady usługi są naruszane?
Zapoznałem się z warunkami korzystania z Yandex.Disk i nie ma żadnych zakazów na użycie "jako komponentu infrastrukturalnego".Co więcej, nie mogę używać narzędzia z osobistego laptopa do pracy z dyskiem. To już zupełnie nie kwalifikuje się jako "komponent infrastrukturalny". Klient natywny dysku jest straszny, wybacz.
Wsparcie:
Sergiusz, chodzi o to, że Yandex.Dysk to przede wszystkim usługa osobista, która nie jest przeznaczona do automatycznego tworzenia kopii zapasowych.
Możesz synchronizować dane między swoim komputerem a Yandex.Dyskiem, a także korzystać z interfejsu internetowego Dysku do przesyłania plików i ich edytowania.Jeśli z jakiegoś powodu nie jesteś zadowolony z naszego programu, daj nam znać. Zwykle zwracamy uwagę na opinie użytkowników przy wydawaniu aktualizacji produktu.
Dokumenty regulujące korzystanie z usługi są dostępne w tym miejscu, w tym 'Umowa użytkownika serwisów Yandex', opublikowana pod adresem: , a także 'Warunki korzystania z usługi "Yandex.Dysk"':
Aby rozwiązywać problemy wymagające dużych mocy obliczeniowych, zalecamy korzystanie z Yandex.Cloud. To inna usługa chmurowa Yandex, stworzona z myślą o potrzebach biznesowych. Więcej informacji o Yandex.Cloud znajdziesz tutaj:
Ja:
Nie odpowiedziałeś na moje pytanie. Proszę, powiedz mi, który punkt regulaminu usługi narusza użycie rclone? Dokładnie zapoznałem się z zasadami podanym w twoim linku (jeszcze przed tym, jak mi go wysłałeś).
Niedawno napisałeś post, że Yandex w pełni wspiera OpenSource, a bez OpenSource Yandex i współczesny internet nie istnieją ().
A teraz blokujesz narzędzie OpenSource z powodu bezpodstawnego powodu.
A tak w ogóle, program nie realizuje "automatycznego przesyłania kopii zapasowych", program jest przeznaczony do pracy z chmurami, w tym do synchronizacji danych między komputerem a Yandex.Dyskiem. I to jest mój główny przypadek użycia narzędzia, który teraz nie jest dostępny.
Wsparcie:
Zgodnie z punktem 3.1. „Umowy użytkownika” Yandex ma prawo ustanawiać ograniczenia w korzystaniu z usług dla wszystkich Użytkowników lub dla wybranych kategorii Użytkowników (w zależności od lokalizacji Użytkownika, języka, w którym świadczona jest usługa itp.), w tym: obecność/brak określonych funkcji usługi, okres przechowywania wiadomości e-mail w usłudze Yandex.Mail, wszelkie inne treści, maksymalna liczba wiadomości, które mogą zostać wysłane lub odebrane przez jednego zarejestrowanego użytkownika, maksymalny rozmiar wiadomości e-mail lub przestrzeni dyskowej, maksymalna liczba zapytań do usługi w określonym czasie, maksymalny okres przechowywania treści, specjalne parametry przesyłanego materiału itp. Yandex może zablokować automatyczne zapytania do swoich usług, a także zaprzestać przyjmowania jakichkolwiek informacji generowanych automatycznie (na przykład spamu e-mailowego).
Użytkownik zostaje również o tym poinformowany w punkcie 4.6. „Warunków korzystania z Yandex.Dysku”.
Zauważ, że „Zasady korzystania z Yandex.Dysku” nakładają na Użytkownika obowiązek działania w dobrej wierze oraz powstrzymania się od nadużywania funkcji Usługi. Użytkownik zobowiązuje się także do unikania organizowania masowej wymiany plików przy użyciu funkcji Usługi.
Yandex ma prawo wprowadzać zasady, limity i ograniczenia mające na celu zapobieganie, ograniczanie i zwalczanie masowego udostępniania plików zgodnie z zasadami punktu 4.5 niniejszych „Zasad”.
Ostatnia odpowiedź wprowadziła jasność. Szczególnie pierwsze dwa akapity, które odnoszą się do punktu 3.1 „Umowy użytkownika” Yandexu oraz punktu 4.6 „Zasad korzystania z Yandex.Dysku”. Tekst 4.6 nie jest tutaj przytaczany, więc podam go:
4.6. Yandex zastrzega sobie prawo do ustalania wszelkich 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 uprzedniego powiadomienia Użytkownika. W przypadkach, gdy nie jest to zabronione przez prawo, wspomniane zasady, limity i ograniczenia mogą się różnić w zależności od różnych kategorii Użytkowników.
Wnioski?
Niedawno szanowany w swoim napisał, że Yandex uważa, że:
W Yandexie wierzymy, ż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 wychodzi zupełnie inaczej. Doskonałe narzędzie jest blokowane za coś, co nie jest zabronione regulaminem usługi. Za to, że narzędzie umożliwia korzystanie z otwartego publicznego API Dysku zgodnie z jego przeznaczeniem — do przesyłania plików. Blokują nie za naruszenie zasad usługi, lecz dlatego, że mogą.
Dziwne jest to, że nie zablokowano konkretnych naruszycieli zasad (których zasady również są niejasne; w zasadach nie ma zakazu używania dysku do kopii zapasowych). Zablokowano narzędzie, którego funkcja tworzenia kopii zapasowej jest tylko jedną z wielu.
Czym jest komponent infrastrukturalny i dlaczego nie można go używać z dyskiem, też nie jest jasne. Nawet przeglądarka może być używana jako "komponent infrastrukturalny"; czy nie warto byłoby zabronić korzystania z dysku w przeglądarce?
Co robić?
Na razie trzeba korzystać ze swojego client_id i żyć dalej. Jednak, sądząc po odpowiedzi wsparcia technicznego, można spodziewać się kontynuacji polowania na czarownice i zablokowania również innych client_id, user-agent rclone lub nawet jakichś heurystycznych sposobów na zablokowanie narzędzia.
P.S. Szczerze mam nadzieję, że to był zwykły błąd lub nieporozumienie. W Yandexie pracują świetni specjaliści (z wieloma znam się osobiście) i wśród nich, jestem pewny, są użytkownicy rclone.
Aktualizacja 24.02.2020:
W podcastu Radio-T, którego współprowadzącym jest ceniony Bobuk, omawiana była blokada rclone. .
Źródło: habr.com
