Yandex.Disk ได้สั่งห้ามการใช้ยูทิลิตี้ rclone โอเพ่นซอร์ส

ประวัติศาสตร์

เฮ้ ฮับ!

สิ่งที่กระตุ้นให้ฉันเขียนโพสต์นี้เป็นข้อผิดพลาดที่ค่อนข้างแปลก ซึ่งเมื่อคืนนี้บนแล็ปท็อปที่ใช้ Linux (ใช่ ฉันเป็นหนึ่งในคนแปลก ๆ ที่ใช้ 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
... (опущу тут весь вывод терминала) ..

หลังจากไปที่เว็บและพยายามเข้าสู่ระบบ ฉันได้รับข้อความที่เจาะจงมากขึ้น:

แอปพลิเคชันนี้ถูกบล็อกเนื่องจากมีกิจกรรมที่เป็นอันตราย ดังนั้นจึงไม่ได้รับอนุญาตให้เข้าถึง (unauthorized_client)

ความคิดแรก: อะไร?

เกี่ยวกับ 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 แล้วและไม่มีข้อห้ามในการใช้ "เป็นส่วนประกอบโครงสร้างพื้นฐาน"

นอกจากนี้ ฉันไม่สามารถใช้ยูทิลิตี้จากแล็ปท็อปส่วนตัวของฉันเพื่อทำงานกับดิสก์ได้ สิ่งนี้ไม่อยู่ภายใต้ "องค์ประกอบโครงสร้างพื้นฐาน" เลย ดิสก์ไคลเอ็นต์มาตรฐานแย่มาก ขออภัย

สนับสนุน:

Sergey ความจริงก็คือ Yandex.Disk ส่วนใหญ่เป็นบริการส่วนบุคคลที่ไม่ได้ออกแบบมาเพื่อดาวน์โหลดสำเนาสำรองโดยอัตโนมัติ
คุณสามารถซิงโครไนซ์ข้อมูลระหว่างคอมพิวเตอร์ของคุณกับ Yandex.Disk และยังใช้เว็บอินเตอร์เฟสของ Disk เพื่อดาวน์โหลดไฟล์และทำงานกับไฟล์เหล่านั้น

หากคุณไม่พอใจกับโปรแกรมของเราด้วยเหตุผลบางประการ โปรดแจ้งพวกเขา โดยปกติแล้ว เราจะรับฟังความคิดเห็นของผู้ใช้เมื่อเผยแพร่การอัปเดตผลิตภัณฑ์

คุณสามารถทำความคุ้นเคยกับเอกสารที่ควบคุมการใช้บริการ โดยเฉพาะ "ข้อตกลงผู้ใช้สำหรับบริการ Yandex" ซึ่งเผยแพร่ที่: 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 เนื้อหาอื่น ๆ จำนวนข้อความสูงสุดที่สามารถส่งหรือรับโดยผู้ใช้ที่ลงทะเบียนหนึ่งราย ขนาดสูงสุดของข้อความเมลหรือ พื้นที่ดิสก์, จำนวนการโทรสูงสุดไปยังบริการในช่วงเวลาที่กำหนด, ระยะเวลาการจัดเก็บเนื้อหาสูงสุด, พารามิเตอร์พิเศษสำหรับเนื้อหาที่ดาวน์โหลด ฯลฯ ยานเดกซ์อาจห้ามการเข้าถึงบริการโดยอัตโนมัติ และหยุดการยอมรับข้อมูลใด ๆ ที่สร้างขึ้นโดยอัตโนมัติ (เช่น สแปมเมล)

ผู้ใช้ยังได้รับคำเตือนเกี่ยวกับเรื่องนี้ในข้อ 4.6 "ข้อกำหนดการใช้งาน Yandex.Disk"

โปรดทราบว่า "ข้อกำหนดการใช้งาน Yandex.Disk" ยังกำหนดภาระหน้าที่สำหรับผู้ใช้ในการดำเนินการโดยสุจริตและละเว้นจากการใช้ฟังก์ชันบริการในทางที่ผิด ผู้ใช้ยังรับภาระที่จะละเว้นจากการจัดการแบ่งปันไฟล์จำนวนมากโดยใช้ฟังก์ชันของบริการ

ยานเดกซ์มีสิทธิ์ใช้กฎ ข้อจำกัดและข้อจำกัดที่มุ่งป้องกัน จำกัด และระงับการแบ่งปันไฟล์จำนวนมากตามกฎของข้อ 4.5 “ข้อกำหนด” เหล่านี้

คำตอบสุดท้ายนำมาซึ่งความชัดเจน โดยเฉพาะสองย่อหน้าแรกที่อ้างอิงถึงข้อ 3.1 Yandex "ข้อตกลงผู้ใช้" และข้อ 4.6 "ข้อกำหนดการใช้งาน Yandex.Disk" ไม่ได้ระบุข้อความของ 4.6 ที่นี่ แต่ฉันจะให้ไว้ที่นี่:

4.6. Yandex ขอสงวนสิทธิ์ในการสร้างกฎ ข้อจำกัด และข้อจำกัด (ทางเทคนิค กฎหมาย องค์กร หรืออื่นๆ) เกี่ยวกับการใช้บริการ และอาจเปลี่ยนแปลงได้ตามดุลยพินิจของตนเอง โดยไม่ต้องแจ้งให้ผู้ใช้ทราบล่วงหน้า ในกรณีที่กฎหมายไม่ได้ห้าม กฎ ข้อจำกัด และข้อจำกัดที่ระบุอาจแตกต่างกันไปตามหมวดหมู่ของผู้ใช้

สรุป?

เมื่อไม่นานนี้เองที่รัก โบบัค ในตัวเขา โพสต์ที่นี่บนHabré เขียนว่ายานเดกซ์เชื่อว่า:

พวกเราที่ Yandex เชื่อว่าอินเทอร์เน็ตสมัยใหม่เป็นไปไม่ได้หากไม่มีวัฒนธรรมโอเพ่นซอร์สและผู้คนที่สละเวลาในการพัฒนาโปรแกรมโอเพ่นซอร์ส

แต่ในทางปฏิบัติมันแตกต่างไปจากเดิมอย่างสิ้นเชิง ยูทิลิตี้ที่ยอดเยี่ยมถูกบล็อกสำหรับบางสิ่งที่ไม่ได้ถูกห้ามตามกฎการบริการ เพราะยูทิลิตี้ช่วยให้คุณใช้งานได้ เปิดสาธารณะ วัตถุประสงค์ของ Disk API คือการดาวน์โหลดไฟล์ พวกเขาไม่ได้บล็อกเพราะละเมิดกฎของการบริการ แต่เพราะพวกเขาทำได้
สิ่งที่แปลกเป็นทวีคูณคือไม่ใช่ผู้ฝ่าฝืนกฎเฉพาะเจาะจงที่ถูกบล็อก (ยังไม่ชัดเจนว่าคนใดฝ่าฝืนกฎไม่ได้ห้ามการใช้ดิสก์สำหรับสำเนาสำรองทุกที่) เครื่องมือที่มีฟังก์ชันการสำรองข้อมูลเป็นเพียงหนึ่งในหลาย ๆ เครื่องถูกบล็อก

ส่วนประกอบโครงสร้างพื้นฐานคืออะไรและเหตุใดจึงไม่สามารถใช้กับดิสก์ได้ก็ไม่ชัดเจนเช่นกัน แม้แต่เบราว์เซอร์ก็สามารถใช้เป็น "ส่วนประกอบโครงสร้างพื้นฐาน" ได้ ไม่ควรห้ามการใช้ดิสก์ในเบราว์เซอร์ใช่ไหม

จะทำอย่างไร?

สำหรับตอนนี้ ใช้ client_id ของคุณและดำเนินชีวิตต่อไป แต่เมื่อพิจารณาจากการตอบสนองจากฝ่ายสนับสนุนด้านเทคนิคแล้ว เราสามารถคาดหวังถึงความต่อเนื่องของการล่าแม่มดและการบล็อก client_ids อื่นๆ, user-agent rclone หรือแม้แต่วิธีฮิวริสติกบางอย่างในการบล็อกยูทิลิตี

ป.ล. ฉันหวังเป็นอย่างยิ่งว่าจะมีข้อผิดพลาดหรือความเข้าใจผิดเกิดขึ้น ยานเดกซ์มีผู้เชี่ยวชาญที่ยอดเยี่ยม (ฉันรู้จักพวกเขาหลายคนเป็นการส่วนตัว) และในหมู่พวกเขา ฉันแน่ใจว่ามีผู้ใช้ rclone

อัปเดต 24.02.2020:
В ปล่อย 690 พอดแคสต์ Radio-T ซึ่งพิธีกรร่วมซึ่งเป็น Bobuk ที่เคารพนับถือ กล่าวถึงการบล็อก rclone เริ่มเวลา 1:51:40 น.

ที่มา: will.com

เพิ่มความคิดเห็น