Yandex.Disk ti gbesele lilo orisun ṣiṣi rclone IwUlO

prehistory

Hey Habr!

Ohun ti o jẹ ki n kọ ifiweranṣẹ yii jẹ aṣiṣe ajeji kuku, eyiti o jẹ alẹ alẹ lori kọǹpútà alágbèéká kan pẹlu Linux (bẹẹni, Mo jẹ ọkan ninu awọn eniyan ajeji wọnyẹn ti o lo GNU/Linux lori kọǹpútà alágbèéká kan) Mo gba dipo awọn akoonu ti Yandex mi .Disk:

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

Ero akọkọ mi: nẹtiwọọki naa ṣubu, ko si adehun nla. Ṣugbọn nigbati o n gbiyanju lati tun gbe ilana naa pada, aṣiṣe tuntun kan han:

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

Eyi jẹ ajeji tẹlẹ. Ṣe àmi náà jẹrà? Ko si iṣoro, Emi yoo fun ni aṣẹ lẹẹkansi!

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

Lẹhin lilọ si oju opo wẹẹbu ati igbiyanju lati wọle sibẹ, Mo gba ifiranṣẹ kan pato diẹ sii:

Ohun elo yii ti ni idinamọ fun awọn iṣẹ irira ati nitorinaa ko gba laaye laaye (laithorized_client).

Ero akọkọ: kini?

Nipa rclone

Iranlọwọ diẹ:
oniye - oyimbo olokiki ṣii IwUlO fun ṣiṣẹ pẹlu awọn ibi ipamọ awọsanma (lẹẹkansi igba, meji, mẹta mẹnuba lori Habré). Onkọwe naa pe ni “rsync fun ibi ipamọ awọsanma”, eyiti o jẹ agbara pupọ. Ṣugbọn iṣẹ-ṣiṣe ko ni opin si eyi: ni afikun si awọn iṣẹ rsync, o tun le gbe awọn disiki, ṣe iṣẹ ncdu (eyiti, nipasẹ ọna, ni ẹẹkan gba mi laaye lati ṣawari iṣiro ti ko tọ ti aaye ọfẹ lori Yandex.Disk ati ni ifijišẹ daradara. yanju iṣoro yii nipasẹ atilẹyin imọ-ẹrọ), ati opo awọn ohun miiran. IwUlO ṣe atilẹyin awọn dosinni ti awọn ibi ipamọ awọsanma, bakanna bi awọn ilana aṣa diẹ sii - WebDAV, FTP, rsync ati awọn miiran. Lati wọle si Yandex.Disk, ohun elo naa nlo API ti gbogbo eniyan osise Disiki.

IwUlO jẹ alailẹgbẹ nitõtọ ati (ninu ero mi) ṣe aṣoju kilasi ti awọn eto ti o fi sii lẹẹkan, ati pe wọn mu awọn anfani nigbagbogbo.

Kini o ti ṣẹlẹ?

Titan si Google, Mo rii lẹsẹkẹsẹ pe Emi kii ṣe nikan. Jeun kokoro ni github osise, bi daradara bi fanfa lori osise forum.
Lakotan: client_id ti iwUlO jẹ idinamọ nipasẹ Yandex.Disk, eyiti o jẹ idi ti o ko le wọle mọ. O le gbiyanju lati yi client_id pada, ṣugbọn kii ṣe otitọ pe ayanmọ kanna kii yoo ṣẹlẹ si id tuntun naa.
Idahun atilẹyin Pipa lori kanna forum:

Otitọ ni pe eto Rclone gba ọ laaye lati lo Yandex.Disk gẹgẹbi paati amayederun, ati Yandex.Disk jẹ iṣẹ ti ara ẹni ti a ko ṣe lati yanju iru awọn iṣoro bẹ. Nitorina, a ko ṣe atilẹyin ọna asopọ Rclone - Yandex.Disk.

"Papanu ohun elo"? O dara, ti o ko ba le, lẹhinna o ṣee ṣe apejuwe ninu awọn ofin, Mo ro, ati pe ko si nkankan bi iyẹn ninu. awọn ofin ti awọn disk ara tabi tirẹ API gbangba Emi ko ri.

O dara, jẹ ki a kọ lati ṣe atilẹyin.
Idahun akọkọ ṣe ibaamu eyi ti a fiweranṣẹ loke (nipa “apakan ohun elo”). O dara, a ko ni igberaga.

Ifiweranṣẹ siwaju sii pẹlu atilẹyin

Emi:

Jọwọ ṣe o le sọ fun mi kini ofin iṣẹ ti eyi ṣẹ?
Mo ti kẹkọọ awọn ofin lilo Yandex Disk ati pe ko si awọn idinamọ lori lilo rẹ “gẹgẹbi paati amayederun”.

Pẹlupẹlu, Emi ko le lo ohun elo lati kọǹpútà alágbèéká ti ara ẹni lati ṣiṣẹ pẹlu disiki naa. Eyi ko ṣubu labẹ “papapato amayederun” rara. Onibara disk boṣewa jẹ ẹru, binu.

Atilẹyin:

Sergey, otitọ ni pe Yandex.Disk jẹ akọkọ iṣẹ ti ara ẹni ti a ko ṣe lati ṣe igbasilẹ awọn ẹda afẹyinti laifọwọyi.
O le mu data ṣiṣẹpọ laarin kọnputa rẹ ati Yandex.Disk, ati tun lo oju opo wẹẹbu Disk lati ṣe igbasilẹ awọn faili ati ṣiṣẹ pẹlu wọn.

Ti o ko ba ni itẹlọrun fun awọn idi kan pẹlu eto wa, jọwọ sọ wọn. Ni aṣa, a tẹtisi esi olumulo nigbati o ba nfi awọn imudojuiwọn ọja silẹ.

O le mọ ararẹ pẹlu awọn iwe aṣẹ ti o nṣakoso lilo iṣẹ naa, ni pataki “Adehun Olumulo fun Awọn iṣẹ Yandex”, ti a tẹjade ni: https://yandex.ru/legal/rules/, bakannaa "Awọn ofin lilo ti iṣẹ Yandex.Disk": https://yandex.ru/legal/disk_termsofuse

Lati yanju awọn iṣoro ti o nilo iye agbara nla, a ṣeduro lilo Yandex.Cloud. Eyi jẹ iṣẹ awọsanma Yandex miiran, eyiti a ṣẹda lati yanju awọn iṣoro iṣowo. O le kọ ẹkọ diẹ sii nipa Yandex.Cloud nibi: https://cloud.yandex.ru

Emi:

O ko dahun ibeere mi. Jọwọ sọ fun mi aaye wo ninu awọn ofin iṣẹ ti o lodi si lilo rclone? Mo farabalẹ kẹkọọ awọn ofin lati ọna asopọ rẹ (paapaa ṣaaju ki o to firanṣẹ).

Laipẹ o kowe ifiweranṣẹ kan ti Yandex ṣe atilẹyin OpenSource ni agbara ati laisi OpenSource Yandex ati Intanẹẹti ode oni kii yoo wa (https://habr.com/ru/post/480090/).

Ati ni bayi o n ṣe idiwọ ohun elo OpenSource fun idi ti o jinna.

Nipa ọna, eto naa ko "ṣe igbasilẹ awọn ẹda afẹyinti laifọwọyi"; eto naa jẹ apẹrẹ lati ṣiṣẹ pẹlu ibi ipamọ awọsanma, pẹlu mimuuṣiṣẹpọ data laarin kọnputa ati Yandex.Disk. Ati pe eyi ni ohun elo lilo ọran akọkọ mi, eyiti ko si ni bayi.

Atilẹyin:

Gẹgẹbi gbolohun ọrọ 3.1. "Adehun Olumulo" Yandex ni ẹtọ lati ṣeto awọn ihamọ lori lilo awọn iṣẹ fun gbogbo Awọn olumulo, tabi fun awọn ẹka kan ti Awọn olumulo (da lori ipo ti olumulo, ede ti o ti pese iṣẹ naa, ati bẹbẹ lọ), pẹlu: wiwa / isansa ti awọn iṣẹ iṣẹ kan, akoko ibi ipamọ ti awọn ifiranṣẹ meeli ni iṣẹ Yandex.Mail, eyikeyi akoonu miiran, nọmba ti o pọju ti awọn ifiranṣẹ ti o le firanṣẹ tabi gba nipasẹ olumulo ti o forukọsilẹ, iwọn ti o pọju ifiranṣẹ meeli tabi aaye disk, nọmba ti o pọju ti awọn ipe si iṣẹ naa fun akoko kan pato, ibi ipamọ akoonu akoko ti o pọju, awọn aye pataki fun akoonu igbasilẹ, ati bẹbẹ lọ. Yandex le ṣe idiwọ iraye si aladaaṣe si awọn iṣẹ rẹ, ati tun da gbigba eyikeyi alaye ti o ṣe ipilẹṣẹ laifọwọyi (fun apẹẹrẹ, meeli àwúrúju).

Olumulo naa tun kilo nipa eyi ni gbolohun ọrọ 4.6. "Awọn ofin lilo ti Yandex.Disk."

Jọwọ ṣe akiyesi pe “Awọn ofin lilo ti Yandex.Disk” tun ṣe agbekalẹ ọranyan fun Olumulo lati ṣe ni igbagbọ to dara ati yago fun ilokulo awọn iṣẹ ti Iṣẹ naa. Olumulo naa tun ṣe ipinnu lati yago fun siseto pinpin faili pupọ nipa lilo awọn iṣẹ ti Iṣẹ naa.

Yandex ni ẹtọ lati lo awọn ofin, awọn opin ati awọn ihamọ ti o pinnu lati ṣe idiwọ, diwọn ati didipa pinpin faili pupọ ni ibamu si awọn ofin ti gbolohun ọrọ 4.5. awọn wọnyi "Awọn ofin".

Awọn ti o kẹhin idahun mu wípé. Paapa awọn paragi meji akọkọ pẹlu itọkasi si gbolohun ọrọ 3.1. Yandex "Adehun Olumulo" ati gbolohun ọrọ 4.6. "Awọn ofin lilo ti Yandex.Disk." Ọrọ ti 4.6 ko fun nibi, ṣugbọn Emi yoo fun ni nibi:

4.6. Yandex ni ẹtọ lati fi idi eyikeyi awọn ofin, awọn opin ati awọn ihamọ (imọ-ẹrọ, ofin, ajo tabi omiiran) lori lilo Iṣẹ naa, ati pe o le yi wọn pada ni lakaye tirẹ, laisi akiyesi iṣaaju si olumulo. Ni awọn ọran nibiti eyi ko ti ni idinamọ nipasẹ ofin, awọn ofin pàtó kan, awọn opin ati awọn ihamọ le yatọ fun awọn isọri ti Awọn olumulo.

Awọn ipari?

O kan laipe, ọwọn bobuk ninu re firanṣẹ nibi lori Habré kowe pe Yandex gbagbọ pe:

A ni Yandex gbagbọ pe Intanẹẹti ode oni ko ṣee ṣe laisi aṣa orisun ṣiṣi ati awọn eniyan ti o nawo akoko wọn ni idagbasoke awọn eto orisun ṣiṣi.

Ṣugbọn ni iṣe o wa ni iyatọ patapata. IwUlO ti o tayọ ti dina fun nkan ti ko ni idinamọ nipasẹ awọn ofin iṣẹ. Nitori awọn IwUlO faye gba o lati lo gbangba gbangba Idi ti Disk API ni lati ṣe igbasilẹ awọn faili. Wọn ṣe idiwọ kii ṣe fun irufin awọn ofin iṣẹ naa, ṣugbọn nitori wọn le.
Ohun ti o jẹ ajeji meji ni pe kii ṣe awọn olutọpa ofin kan pato ti o ti dina (o tun jẹ koyewa awọn wo; awọn ofin ko ni idinamọ lilo disk kan fun awọn adakọ afẹyinti nibikibi). Ọpa ti iṣẹ afẹyinti jẹ ọkan ninu ọpọlọpọ ti dina.

Kini paati amayederun ati idi ti wọn ko le lo pẹlu disiki kan ko tun han. Paapaa ẹrọ aṣawakiri le ṣee lo bi “apakankan ohun elo”; Ṣe ko ṣee ṣe lati ṣe idiwọ lilo disk ni ẹrọ aṣawakiri naa?

Kini o yẹ ki n ṣe?

Ni bayi, lo client_id rẹ ki o tẹsiwaju pẹlu igbesi aye rẹ. Ṣugbọn, ni idajọ nipasẹ idahun lati atilẹyin imọ-ẹrọ, a le nireti itesiwaju isode ajẹ ati idinamọ ti alabara_ids miiran, aṣoju-olumulo rclone, tabi paapaa diẹ ninu awọn ọna heuristic lati ṣe idiwọ ohun elo naa.

PS Mo ni ireti ni otitọ pe aṣiṣe ti o rọrun tabi aiyede kan wa. Yandex ni awọn alamọja ti o dara julọ (Mo mọ ọpọlọpọ ninu wọn tikalararẹ) ati laarin wọn, Mo dajudaju, awọn olumulo rclone wa.

Imudojuiwọn 24.02.2020:
В atejade 690 Redio-T adarọ-ese, alabaṣiṣẹpọ eyiti o tun jẹ Bobuk ti o bọwọ, jiroro lori idinamọ ti rclone. Bẹrẹ ni 1:51:40.

orisun: www.habr.com

Fi ọrọìwòye kun