Yandex.Disk ochiq kodli rclone yordam dasturidan foydalanishni taqiqladi

Sana oldin

Hey Xabr!

Meni ushbu postni yozishga undagan narsa juda g'alati xato bo'lib, kecha Linux bilan noutbukda xatolik yuz berdi (ha, men noutbukda GNU/Linux-dan foydalanadigan g'alati odamlardan biriman) Yandex-ning mazmuni o'rniga men oldim. .Disk:

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

Mening birinchi fikrim: tarmoq qulab tushdi, hech qanday muammo yo'q. Ammo katalogni qayta o'rnatishga urinayotganda, yangi xato paydo bo'ldi:

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

Bu allaqachon g'alati edi. Token chiriganmi? Muammo yo'q, men yana ruxsat beraman!

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

Internetga kirib, u yerga kirishga harakat qilgandan so'ng, men aniqroq xabarni olaman:

Ushbu ilova zararli harakatlar uchun bloklangan va shuning uchun kirishga ruxsat berilmagan (unauthorized_client).

Birinchi fikr: nima?

Rclone haqida

Bir oz yordam:
rclone - juda mashhur ochiq bulutli omborlar bilan ishlash uchun yordamchi dastur (takroriy vaqt, два, uchta Habreda eslatib o'tilgan). Muallif buni "bulutli saqlash uchun rsync" deb ataydi, bu juda sig'imli. Ammo funksionallik bu bilan cheklanmaydi: rsync funktsiyalaridan tashqari, u disklarni o'rnatishi, ncdu funktsiyasini ham bajarishi mumkin (aytmoqchi, bu menga Yandex.Disk-da bo'sh joyni noto'g'ri hisoblashni aniqlashga imkon berdi va muvaffaqiyatli bu muammoni texnik yordam orqali hal qiling) va boshqa bir qancha narsalar. Yordamchi dastur o'nlab bulutli xotiralarni, shuningdek an'anaviy protokollarni - WebDAV, FTP, rsync va boshqalarni qo'llab-quvvatlaydi. Yandex.Disk-ga kirish uchun yordamchi dastur foydalanadi rasmiy ommaviy API Disk.

Yordamchi dastur haqiqatan ham noyob va (mening fikrimcha) siz bir marta o'rnatadigan dasturlar sinfini ifodalaydi va ular doimo foyda keltiradi.

Nima sodir bo `LDI?

Googlega murojaat qilib, men yolg'iz emasligimni darhol angladim. Yemoq rasmiy github-dagi xato, shuningdek, muhokama qilish rasmiy forum.
Xulosa: yordamchi dasturning client_identifikatori Yandex.Disk tomonidan bloklangan, shuning uchun siz endi tizimga kira olmaysiz. Siz client_id-ni o'zgartirishga urinib ko'rishingiz mumkin, ammo bu yangi identifikatorning taqdiri xuddi shunday bo'lmasligi haqiqat emas.
Qo'llab-quvvatlash javobi xuddi shu forumda e'lon qilingan:

Gap shundaki, Rclone dasturi Yandex.Disk-dan infratuzilma komponenti sifatida foydalanish imkonini beradi va Yandex.Disk bu kabi muammolarni hal qilish uchun mo'ljallanmagan shaxsiy xizmatdir. Shuning uchun biz Rclone - Yandex.Disk havolasini qo'llab-quvvatlamaymiz.

"Infratuzilma komponenti"? Xo'sh, agar qila olmasangiz, unda bu qoidalarda tasvirlangan bo'lishi mumkin, deb o'yladim va unda bunday narsa yo'q. diskning o'zi qoidalari yoki uning umumiy API topmadim.

Mayli, qo'llab-quvvatlash xizmatiga yozamiz.
Birinchi javob yuqorida e'lon qilingan javobga mos keladi ("infratuzilma komponenti" haqida). Mayli, biz mag'rurlanmaymiz.

Qo'llab-quvvatlash bilan keyingi yozishmalar

Men bir:

Bu qanday xizmat qoidasini buzayotganini ayta olasizmi?
Men Yandex Diskdan foydalanish shartlarini o'rganib chiqdim va uni "infratuzilma komponenti sifatida" ishlatish bo'yicha hech qanday taqiq yo'q.

Bundan tashqari, men shaxsiy noutbukimdan disk bilan ishlash uchun yordam dasturidan foydalana olmayman. Bu "infratuzilma komponenti" ga umuman kirmaydi. Standart disk mijozi dahshatli, kechirasiz.

Qo'llab-quvvatlash:

Sergey, haqiqat shundaki, Yandex.Disk, birinchi navbatda, zaxira nusxalarini avtomatik ravishda yuklab olish uchun mo'ljallanmagan shaxsiy xizmatdir.
Siz kompyuteringiz va Yandex.Disk o'rtasida ma'lumotlarni sinxronlashtirishingiz mumkin, shuningdek, fayllarni yuklab olish va ular bilan ishlash uchun Disk veb-interfeysidan foydalanishingiz mumkin.

Agar biron sababga ko'ra dasturimiz sizni qoniqtirmasa, ularni ovoz chiqarib yuboring. An'anaga ko'ra, mahsulot yangilanishlarini chiqarishda foydalanuvchilarning fikr-mulohazalarini tinglaymiz.

Siz ushbu xizmatdan foydalanishni tartibga soluvchi hujjatlar, xususan, quyidagi manzilda e'lon qilingan "Yandex xizmatlari uchun foydalanuvchi shartnomasi" bilan tanishishingiz mumkin: https://yandex.ru/legal/rules/, shuningdek, "Yandeks.Disk xizmatidan foydalanish shartlari": https://yandex.ru/legal/disk_termsofuse

Katta hajmdagi quvvatni talab qiladigan muammolarni hal qilish uchun Yandex.Cloud-dan foydalanishni tavsiya etamiz. Bu biznes muammolarini hal qilish uchun yaratilgan yana bir Yandex bulutli xizmati. Yandex.Cloud haqida batafsil ma'lumotni bu yerda olishingiz mumkin: https://cloud.yandex.ru

Men bir:

Siz mening savolimga javob bermadingiz. Iltimos, ayting-chi, xizmat qoidalarining qaysi bandi rclone-dan foydalanishni buzadi? Men sizning havolangizdagi qoidalarni diqqat bilan o'rganib chiqdim (siz uni yuborishingizdan oldin ham).

Yaqinda siz Yandex-ning OpenSource-ni kuchli qo'llab-quvvatlaydigan va OpenSourcesiz Yandex va zamonaviy Internet mavjud bo'lmasligi haqida xabar yozdingiz (https://habr.com/ru/post/480090/).

Va endi siz juda tushunarsiz sabablarga ko'ra OpenSource yordam dasturini bloklayapsiz.

Aytgancha, dastur "zaxira nusxalarini avtomatik ravishda yuklab olmaydi"; dastur bulutli saqlash bilan ishlashga, shu jumladan kompyuter va Yandex.Disk o'rtasida ma'lumotlarni sinxronlashtirishga mo'ljallangan. Va bu mening asosiy yordam dasturim, u hozir mavjud emas.

Qo'llab-quvvatlash:

3.1-bandga muvofiq. "Foydalanuvchi shartnomasi" Yandex barcha Foydalanuvchilar yoki foydalanuvchilarning ayrim toifalari uchun (Foydalanuvchining joylashgan joyiga, xizmat ko'rsatilayotgan tilga va boshqalarga qarab) xizmatlardan foydalanishga cheklovlar o'rnatish huquqiga ega, shu jumladan: ma'lum funktsiyalar xizmatining mavjudligi/yo'qligi, Yandex.Mail xizmatida pochta xabarlarini saqlash muddati, boshqa har qanday kontent, bitta ro'yxatdan o'tgan foydalanuvchi tomonidan yuborilishi yoki qabul qilinishi mumkin bo'lgan maksimal xabarlar soni, pochta xabarining maksimal hajmi yoki disk maydoni, ma'lum vaqt oralig'ida xizmatga qo'ng'iroqlarning maksimal soni, kontentni saqlashning maksimal muddati, yuklab olingan kontent uchun maxsus parametrlar va boshqalar. Yandex o'z xizmatlariga avtomatik kirishni taqiqlashi, shuningdek avtomatik ravishda yaratilgan har qanday ma'lumotni (masalan, spam-pochta) qabul qilishni to'xtatishi mumkin.

Foydalanuvchi bu haqda 4.6-bandda ham ogohlantiriladi. "Yandeks.Diskdan foydalanish shartlari".

Shuni esda tutingki, “Yandeks.Diskdan foydalanish shartlari” ham Foydalanuvchi uchun vijdonan harakat qilish va Xizmat funksiyalarini suiiste'mol qilmaslik majburiyatini belgilaydi. Foydalanuvchi shuningdek, Xizmat funksiyalaridan foydalangan holda ommaviy fayllar almashishni tashkil etishdan bosh tortish majburiyatini oladi.

Yandex 4.5-band qoidalariga muvofiq ommaviy fayl almashishni oldini olish, cheklash va bostirishga qaratilgan qoidalar, cheklovlar va cheklovlarni qo'llash huquqiga ega. ushbu "Shartlar".

Oxirgi javob aniqlik keltirdi. Ayniqsa, 3.1-bandga havola qilingan birinchi ikkita xatboshi. Yandex "Foydalanuvchi shartnomasi" va 4.6. "Yandeks.Diskdan foydalanish shartlari." 4.6 matni bu erda berilmagan, lekin men uni bu erda beraman:

4.6. Yandex Xizmatdan foydalanish bo'yicha har qanday qoidalar, cheklovlar va cheklovlarni (texnik, huquqiy, tashkiliy yoki boshqa) belgilash huquqini o'zida saqlab qoladi va ularni o'z xohishiga ko'ra, Foydalanuvchini oldindan ogohlantirmasdan o'zgartirishi mumkin. Bu qonun bilan taqiqlanmagan hollarda, ko'rsatilgan qoidalar, chegaralar va cheklovlar foydalanuvchilarning turli toifalari uchun har xil bo'lishi mumkin.

Xulosa?

Yaqinda, azizim bobuk uning ichida Habré-da bu erda nashr qiling Yandex bunga ishonadi deb yozgan:

Biz Yandex kompaniyasida zamonaviy Internetni ochiq manba madaniyatisiz va vaqtini ochiq kodli dasturlarni ishlab chiqishga sarflaydigan odamlarsiz mumkin emas deb hisoblaymiz.

Ammo amalda bu butunlay boshqacha bo'lib chiqadi. Ajoyib yordamchi dastur xizmat ko'rsatish qoidalari bilan taqiqlanmagan narsa uchun bloklanadi. Chunki yordam dasturi foydalanishga imkon beradi ochiq jamoatchilik Disk API-ning maqsadi fayllarni yuklab olishdir. Ular xizmat qoidalarini buzgani uchun emas, balki mumkinligi uchun blokirovka qilishadi.
Ikki marta g'alati tomoni shundaki, bu aniq qoida buzuvchilar tomonidan bloklanmaydi (qaysi biri ham aniq emas; qoidalar har qanday joyda zaxira nusxalari uchun diskdan foydalanishni taqiqlamaydi). Zaxira funksiyasi ko'pchilikdan faqat bittasi bo'lgan vosita bloklangan.

Infratuzilma komponenti nima va nima uchun ularni disk bilan ishlatish mumkin emasligi ham aniq emas. Hatto brauzer ham "infratuzilma komponenti" sifatida ishlatilishi mumkin, brauzerda diskdan foydalanishni taqiqlash mumkin emasmi?

Nima qilish kerak?

Hozircha client_id-dan foydalaning va hayotingizni davom ettiring. Ammo, texnik yordamdan olingan javobga ko'ra, biz jodugar ovi davom etishini va boshqa client_ids, foydalanuvchi-agent rclone yoki hatto blokirovka qilinadigan yordam dasturini blokirovka qilishning ba'zi evristik usullarini kutishimiz mumkin.

PS Men oddiy xato yoki tushunmovchilik bo'lganiga chin dildan umid qilaman. Yandex-da ajoyib mutaxassislar bor (ularning ko'pchiligini shaxsan bilaman) va ular orasida rclone foydalanuvchilari borligiga aminman.

24.02.2020 yangilanishi:
В 690-son Radio-T podkasti, uning hammuallifi ham hurmatli Bobuk, rclone blokirovkasini muhokama qildi. 1:51:40 da boshlanadi.

Manba: www.habr.com

a Izoh qo'shish