Yandex.Disk нь нээлттэй эхийн rclone хэрэгслийг ашиглахыг хориглосон

Эрьт урьдын түүх

Хөөе Хабр!

Намайг энэ нийтлэлийг бичихэд хүргэсэн зүйл бол өнгөрсөн шөнө Линукс бүхий зөөврийн компьютер дээр (тиймээ, би зөөврийн компьютер дээрээ 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
... (опущу тут весь вывод терминала) ..

После перехода на веб и попытки авторизоваться там получаю уже более конкретное сообщение:

Энэ аппликейшнийг хортой үйл ажиллагаанаас болж блоклосон тул хандах эрхгүй (зөвшөөрөгдөөгүй_үйлчлүүлэгч).

Эхний бодол: юу?

Rclone-ийн тухай

Бага зэрэг тусламж:
rclone - нэлээд алдартай нээлттэй үүлэн хадгалах хэрэгсэлтэй ажиллах хэрэгсэл (давтан цаг хугацаа, два, гурав Хабре дээр дурдсан). Зохиогч үүнийг "үүл хадгалах rsync" гэж нэрлэдэг бөгөөд энэ нь нэлээд багтаамжтай юм. Гэхдээ функц нь үүгээр хязгаарлагдахгүй: rsync функцээс гадна энэ нь дискийг холбож, ncdu функцийг гүйцэтгэх боломжтой (дашрамд хэлэхэд, энэ нь надад Yandex.Disk дээрх хоосон зайг буруу тооцоолж, амжилттай илрүүлж чадсан юм. техникийн дэмжлэгээр энэ асуудлыг шийдэх) болон бусад олон зүйл. Энэхүү хэрэгсэл нь олон арван үүл хадгалах сангууд, түүнчлэн илүү уламжлалт протоколуудыг дэмждэг - WebDAV, FTP, rsync болон бусад. Yandex.Disk-д хандахын тулд хэрэгсэл ашигладаг албан ёсны нийтийн API Диск.

Энэ хэрэгсэл нь үнэхээр өвөрмөц бөгөөд (миний бодлоор) таны нэг удаа суулгасан програмуудын ангилалыг төлөөлдөг бөгөөд тэдгээр нь байнга ашиг тусаа өгдөг.

Юу болсон бэ?

Google-д хандвал би ганцаараа биш гэдгээ шууд ойлгосон. Идэх Албан ёсны github дахь алдаа, түүнчлэн хэлэлцүүлэг албан ёсны форум.
Дүгнэлт: Тус хэрэгслийн client_id-г Yandex.Disk хаасан тул та нэвтрэх боломжгүй болсон. Та client_id-г өөрчлөхийг оролдож болно, гэхдээ шинэ id-д ижил хувь заяа тохиолдохгүй нь үнэн биш юм.
Дэмжих хариу ижил форум дээр нийтэлсэн:

Үнэн хэрэгтээ Rclone програм нь Yandex.Disk-ийг дэд бүтцийн бүрэлдэхүүн хэсэг болгон ашиглах боломжийг олгодог бөгөөд Yandex.Disk нь ийм асуудлыг шийдвэрлэхэд зориулагдаагүй хувийн үйлчилгээ юм. Тиймээс бид Rclone - Yandex.Disk холбоосыг дэмждэггүй.

"Дэд бүтцийн бүрэлдэхүүн хэсэг"? Хэрэв та чадахгүй бол энэ нь дүрэмд тодорхойлогдсон байх гэж би бодсон, тийм зүйл байхгүй дискний дүрэм эсвэл түүний нийтийн API Би олоогүй.

За, дэмжигч рүү бичье.
Эхний хариулт нь дээр бичсэнтэй таарч байна ("дэд бүтцийн бүрэлдэхүүн хэсэг"-ийн тухай). За, бид бардам биш.

Дэмжлэгтэй цаашдын захидал харилцаа

БИ БОЛ:

Энэ нь ямар үйлчилгээний дүрмийг зөрчиж байгааг хэлж өгнө үү?
Би Yandex Disk-ийн ашиглалтын нөхцлийг судалж үзсэн бөгөөд үүнийг "дэд бүтцийн бүрэлдэхүүн хэсэг болгон" ашиглахыг хориглосон зүйл байхгүй.

Түүгээр ч барахгүй би дисктэй ажиллахын тулд хувийн зөөврийн компьютерийнхээ хэрэгслийг ашиглаж чадахгүй байна. Энэ нь "дэд бүтцийн бүрэлдэхүүн хэсэг"-д огт хамаарахгүй. Стандарт дискний клиент нь аймшигтай, уучлаарай.

Дэмжлэг:

Сергей, баримт бол Yandex.Disk бол үндсэндээ нөөц хуулбарыг автоматаар татаж авахад зориулагдаагүй хувийн үйлчилгээ юм.
Та өөрийн компьютер болон Yandex.Disk-ийн хооронд өгөгдлийг синхрончлохоос гадна дискний вэб интерфэйсийг ашиглан файл татаж авах, тэдэнтэй ажиллах боломжтой.

Хэрэв ямар нэг шалтгааны улмаас та манай хөтөлбөрт сэтгэл хангалуун бус байвал дуу хоолойгоо хэлээрэй. Уламжлал ёсоор бид бүтээгдэхүүний шинэчлэлтийг гаргахдаа хэрэглэгчийн санал хүсэлтийг сонсдог.

Та үйлчилгээг ашиглахтай холбоотой баримт бичиг, ялангуяа "Яндекс үйлчилгээний хэрэглэгчийн гэрээ" -тэй танилцаж болно: https://yandex.ru/legal/rules/, түүнчлэн "Yandex.Disk үйлчилгээг ашиглах нөхцөл": https://yandex.ru/legal/disk_termsofuse

Их хэмжээний эрчим хүч шаарддаг асуудлыг шийдэхийн тулд бид Yandex.Cloud ашиглахыг зөвлөж байна. Энэ бол бизнесийн асуудлыг шийдвэрлэх зорилгоор бүтээгдсэн өөр нэг Yandex үүл үйлчилгээ юм. Та эндээс Yandex.Cloud-ийн талаар илүү ихийг мэдэж болно: https://cloud.yandex.ru

БИ БОЛ:

Та миний асуултад хариулсангүй. Үйлчилгээний дүрмийн аль цэг нь rclone ашиглахыг зөрчиж байгааг хэлж өгнө үү? Би таны холбоос дээрх дүрмийг сайтар судалж үзсэн (та үүнийг илгээхээс өмнө ч гэсэн).

Саяхан та Yandex нь OpenSource-г хүчтэй дэмждэг бөгөөд OpenSourceгүйгээр Yandex орчин үеийн интернет байхгүй болно гэсэн нийтлэл бичсэн байна (https://habr.com/ru/post/480090/).

Одоо та ямар нэг шалтгаанаар OpenSource хэрэгслийг хааж байна.

Дашрамд хэлэхэд, програм нь "нөөц хуулбарыг автоматаар татаж авдаггүй" бөгөөд програм нь компьютер болон 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 нь Үйлчилгээг ашиглахтай холбоотой аливаа дүрэм, хязгаарлалт, хязгаарлалтыг (техникийн, хууль эрх зүйн, зохион байгуулалтын болон бусад) тогтоох эрхтэй бөгөөд Хэрэглэгчид урьдчилан мэдэгдэхгүйгээр өөрийн үзэмжээр өөрчилж болно. Үүнийг хуулиар хориглоогүй тохиолдолд заасан дүрэм, хязгаарлалт, хязгаарлалт нь янз бүрийн ангиллын хэрэглэгчдийн хувьд өөр байж болно.

Дүгнэлт үү?

Дөнгөж саяхан хонгор минь бобук түүний дотор Хабре дээр энд нийтэлнэ үү Yandex үүнд итгэдэг гэж бичжээ.

Нээлттэй эхийн соёл, нээлттэй эхийн хөтөлбөр боловсруулахад цаг заваа зориулдаг хүмүүсгүйгээр орчин үеийн интернетийг ашиглах боломжгүй гэж Yandex-ийнхэн үзэж байна.

Гэвч практик дээр энэ нь огт өөр болж хувирдаг. Үйлчилгээний дүрмээр хориглоогүй зүйлд маш сайн хэрэгслийг хаасан. Учир нь хэрэгсэл нь танд ашиглах боломжийг олгодог олон нийтэд нээлттэй Disk API-ийн зорилго нь файлуудыг татаж авах явдал юм. Тэд үйлчилгээний дүрмийг зөрчсөнийхөө төлөө биш, харин боломжтой учраас блоклодог.
Давхар хачирхалтай нь дүрэм зөрчигчдийг хориглодоггүй (аль нь тодорхойгүй; дүрмүүд нь хаана ч нөөц хуулбар хийхэд диск ашиглахыг хориглодоггүй). Нөөцлөх функц нь олон зүйлийн зөвхөн нэг нь болох хэрэгслийг блоклосон.

Дэд бүтцийн бүрэлдэхүүн хэсэг гэж юу вэ, яагаад тэдгээрийг дисктэй ашиглах боломжгүй байгаа нь тодорхойгүй байна. Хөтөчийг хүртэл "дэд бүтцийн бүрэлдэхүүн хэсэг" болгон ашиглаж болно; хөтөч дээр диск ашиглахыг хориглох боломжгүй гэж үү?

Би яах ёстой вэ?

Одоогоор client_id-ээ ашиглаад амьдралаа үргэлжлүүлээрэй. Гэхдээ техникийн дэмжлэгийн хариултаас харахад бид шулмын ангуучлалыг үргэлжлүүлж, бусад client_ids, хэрэглэгчийн агент rclone, тэр ч байтугай хэрэгслийг хаах эвристик аргуудыг хаах болно гэж найдаж болно.

Жич Энгийн алдаа эсвэл үл ойлголцол гарсан гэж чин сэтгэлээсээ найдаж байна. Yandex нь маш сайн мэргэжилтнүүдтэй (би тэдний ихэнхийг нь мэддэг) бөгөөд тэдний дунд rclone хэрэглэгчид байдаг гэдэгт би итгэлтэй байна.

24.02.2020 шинэчлэх:
В хувилбар 690 Radio-T подкаст, түүний хамтран хөтлөгч нь бас нэр хүндтэй Бобук нь rclone-г хаах талаар ярилцав. 1:51:40 цагт эхэлнэ.

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх