Nitter กลับมาใช้งานได้อีกครั้ง
(github.com/zedeus)- PR #927 ของ zedeus/nitter “Fix everything” ถูก merge เข้า
masterเมื่อวันที่ 10 กรกฎาคม 2023 ทำให้มีการเปลี่ยนแปลงเพื่อกู้คืนฟีเจอร์ที่เสียไป - การกู้คืนทำโดยใช้ bearer token ใหม่ และชุด endpoint ที่อัปเดตแล้ว พร้อมอัปเดต parser ไปด้วย
- ฟีเจอร์ค้นหายังไม่กลับมาสมบูรณ์ โดย ณ คอมมิตนั้น เปิดใช้งานการค้นหาผู้ใช้ แล้ว แต่ปิดการค้นหาทวีตอยู่
- การเปลี่ยนแปลงเพิ่มเติมคือ multi-user timelines ถูกปิดใช้งานชั่วคราว และรวมถึงการแก้ parsing ของ pinned tombstone
- RSS ใช้งานได้ แต่ ถูกปิดไว้บน nitter.net ดังนั้นการใช้งานได้หรือไม่จึงขึ้นอยู่กับการตั้งค่าของแต่ละอินสแตนซ์
ขอบเขตของการแก้ไขที่ถูก merge
- PR #927 ของ zedeus/nitter “Fix everything” ถูก merge จากสาขา
elon-fixเข้าmaster- วันที่ merge คือ 10 กรกฎาคม 2023
- มีทั้งหมด 4 คอมมิต
- หลัง merge แล้ว สาขา
elon-fixถูกลบ
วิธีการกู้คืนหลัก
- แกนหลักของการเปลี่ยนแปลงคือการใช้ bearer token ใหม่ และชุด endpoint ที่อัปเดตแล้ว
- parser ถูกอัปเดตไปพร้อมกัน เพื่อให้ทำงานสอดคล้องกับโครงสร้าง response ที่เปลี่ยนไป
- ในคำอธิบายเบื้องต้น ฟีเจอร์ที่ยังขาดถูกสรุปว่าเป็น search
การเปลี่ยนแปลงเกี่ยวกับการค้นหาและไทม์ไลน์
- การค้นหาถูกกู้คืนมาเพียงบางส่วน
- คอมมิต
Enable user search, disable tweet searchทำให้ การค้นหาผู้ใช้ ถูกเปิดใช้งาน - การค้นหาทวีต ถูกปิดใช้งาน
- คอมมิต
- คอมมิต
Disable multi-user timelines for nowทำให้ multi-user timelines ถูกปิดใช้งานชั่วคราว
การแก้ไข parsing
- มีคอมมิต
Fix parsing of pinned tombstoneรวมอยู่ด้วย - ปัญหาการ parsing ที่เกี่ยวข้องกับ pinned tombstone ถูกแก้ไขแยกต่างหาก
สถานะของ RSS
- ในคอมเมนต์มีคำถามว่า RSS ใช้งานได้หรือไม่
- zedeus ตอบว่า RSS ใช้งานได้ แต่ถูกปิดไว้บน nitter.net
- ดังนั้นการรองรับ RSS เอง กับสถานะการเปิดใช้งานบน nitter.net จึงเป็นคนละเรื่องกัน
1 ความคิดเห็น
ความเห็นจาก Hacker News
คำเตือน: อาจฟังดูยืดยาวและเหมือนคุยอวดแบบเกี่ยวข้องนิดหน่อย แต่สรุปคือ การหลบเลี่ยงการจำกัดอัตราการใช้งานของ Twitter ไม่ได้ยากขนาดนั้น
ผมไม่อยากไปยุ่งกับ certificate pinning ที่น่ารำคาญของ Twitter เลยเอา Twitter APK ไปรันบน Corellium แล้วเปิด "network monitor" จากนั้นก็เปิดแอป Twitter ที่ยังใช้งานได้โดยไม่ต้องล็อกอิน
พอลองค้นหาและดูทวีตพร้อมตรวจ log ของคำขอ ก็พบว่ามีกระบวนการ guest token คล้ายกับบนเว็บไซต์ ต่างกันแค่ไม่กี่จุด
ถ้าจำลองคำขอเหล่านี้ได้ ก็สามารถสร้าง OAuth token ที่ไม่มีวันหมดอายุได้วันละหลายตัวต่อ 1 IP โทเค็นพวกนี้เป็นของผู้ใช้ที่ยังไม่ยืนยันตัวตน เลยไม่มีสิทธิ์เขียน แต่กรณีนี้ก็ไม่ได้ต้องใช้
ถ้าซื้อแบนด์วิดท์สัก 1GB จากผู้ให้บริการพร็อกซีที่มี IP pool ขนาดใหญ่ ก็สามารถใช้แบนด์วิดท์น้อยมากเพื่อเอา token/secret มาหลายพันชุดได้ง่าย ๆ และแต่ละชุดก็มีข้อจำกัดอัตราการใช้งานแยกกัน โดยไม่สำคัญเลยว่าจะเอาโทเค็นไปใช้จาก IP ไหนจริง ๆ
หลังจากนั้นก็ทำตาม https://docs.google.com/document/d/1xVrPoNutyqTdQ04DXBEZW4ZW... และอาศัยข้อเท็จจริงที่ว่า /statuses/lookup.json ยังคืนทวีตได้ทีละ 100 รายการ เพื่อประกอบสิ่งที่ใกล้เคียงกับ Twitter 50% Firehose ขึ้นมาใหม่
Twitter ไม่ได้บล็อกแม้แต่ IP ของดาต้าเซ็นเตอร์ ผมตั้งใจจะเอาข้อมูลไปแสดงที่ https://firehose.lol แต่รู้สึกไม่สบายใจกับการที่ต้องยิงคำขอหลายร้อยครั้งต่อวินาที สุดท้ายเลยปิดโปรแกรมและไม่ปล่อยให้มันรันเกินไม่กี่นาที
การได้ดูส่วนหนึ่งของ Firehose อยู่ไม่กี่นาทีนั้นน่าสนใจมาก ตอนแรกผมลืมซ่อนทวีตที่ถูกทำเครื่องหมายว่า possibly_sensitive เลยเห็นของค่อนข้างวาบหวิวอยู่ไม่กี่วินาที ทั้งที่ Twitter ถูกบล็อกในจีนแต่กลับมีโฆษณาพนันภาษาจีนเยอะมาก มีบัญชีโปรโมตการลงทุนที่น่าสงสัย บัญชีชื่อประมาณ FirstnameLastname3781264872 ที่ทวีตคำสุ่มสามคำทุก ๆ ไม่กี่วินาที และยังมีทวีตตลก ๆ อีกไม่กี่อัน
นี่น่าจะเป็น โปรเจกต์ Nim ที่น่าประทับใจที่สุดเท่าที่ผมเคยเห็น การสร้างฟรอนต์เอนด์หลักขึ้นมาใหม่ ทำให้ระบบยืนยันตัวตนใช้งานได้ และยังรองรับพฤติกรรมประหลาดของ private API ได้ด้วย เป็นงานใหญ่มาก
ถ้าเป็นบริบทภายใน Twitter จริง ๆ ก็คงต้องมีทีมมากกว่า 20 คนมาดูแลฟีเจอร์นี้ ขอปรบมือให้ผู้เขียนที่ทำสิ่งนี้สำเร็จ
https://github.com/karaxnim/karax
ตลกดีที่ผลของการจำกัดอัตราการใช้งานแทบไม่กระทบบอตกับสแครปเปอร์เลย แต่กลับสร้างความเสียหายหนักให้กับ ผู้ใช้ทั่วไป ของเว็บไซต์
หนึ่งในคนที่รวยที่สุดในโลกและมีจุดยืนต่อต้านสหภาพแรงงานอย่างมาก ได้เข้ามาซื้อพื้นที่นั้นแล้วทำให้มันใช้งานไม่ได้ ในช่วงเวลาที่ความเหลื่อมล้ำรุนแรงขึ้นและความเป็นปึกแผ่นทางสังคมกำลังพังทลาย
ตอนนี้ไม่มีพื้นที่สำหรับการจัดตั้งอีกต่อไป และภัยคุกคามต่อทุนก็ลดลงไปหนึ่งอย่าง
ไม่ว่า Elmo จะทำอะไร ก็ดูเหมือนจะไม่ได้ผลสักอย่าง
หลัง API เปลี่ยน bearer token เริ่มต้นที่ผมใช้ก็ใช้ไม่ได้เหมือนกัน แต่พอเปลี่ยนตามวิธีเดียวกัน แอปดาวน์โหลด Twitter Spaces ของผมก็กลับมาใช้งานได้ปกติอีกครั้ง
0: https://github.com/Chiplis/moonbird
ตอนนี้ถ้าไม่ล็อกอินก็ยังดูโปรไฟล์หรือ replies บน Twitter ไม่ได้ ซึ่งสุดยอดจริง ๆ
ผมเป็น ผู้ใช้ Nitter มา 4 ปีแล้ว และจะใช้ต่อไปตราบใดที่มันยังทำงานอยู่
/rssต่อท้าย URLนี่มันเรื่องประเภท Fight Club ที่ไม่ควรพูดถึงนะ
นี่ถาวรจริงหรือเปล่า? ผมอยากรู้เพิ่มเติมเกี่ยวกับ bearer token นี้
ใน issue thread อื่นบน GitHub ดูเหมือนว่าทุกครั้งที่มีคนหาวิธีเลี่ยงมาตรการป้องกันของ Twitter ได้ สุดท้ายก็จะถูกปิดช่องโหว่เสมอ
ดูเหมือนว่าในซอร์สโค้ดจะฮาร์ดโค้ดโทเค็นนี้ไว้แบบตรง ๆ ซึ่งแปลว่า Nitter หลายพันอินสแตนซ์ทั่วโลกกับผู้ใช้อีกหลายพันคนจะใช้โทเค็นเดียวกัน
บริษัท AI ต่าง ๆ ก็อาจนำโทเค็นนี้ไปใช้ได้เหมือนกัน เลยไม่เข้าใจว่าทำไมมันยังใช้งานต่อได้
นี่หมายความว่าการเข้าถึงแบบไม่ระบุตัวตนกลับมาแล้ว Nitter เองก็ไม่ได้ใช้ Twitter API ที่หายไปแล้วอยู่ดี เคยมีช่วงที่กลับมาใช้ได้ชั่วคราว
Twitter จำเป็นต้องมีเว็บพอร์ทัลแบบ noscript/basic (x)html ที่ทำงานร่วมกันได้
งั้น AI Scrapocalypse ก็ไม่ใช่ประเด็นวิกฤตถึงตายอีกต่อไปแล้วหรือ?
นี่คล้ายกับ ช่องโหว่แบบแอนะล็อก ตราบใดที่ข้อมูลยังถูกส่งจากเซิร์ฟเวอร์ไปยังไคลเอนต์ การสแครปก็จะเป็นไปได้เสมอ
เพียงแต่ Apple พยายามทำให้มันยากขึ้น: https://developer.apple.com/documentation/devicecheck/prepar...