ข้ามไปเนื้อหาหลัก

SaveNowX: เครื่องมือโหลดวิดีโอ X แบบไม่เก็บบนเซิร์ฟเวอร์

เจาะลึกเบื้องหลัง SaveNowX เครื่องมือดาวน์โหลดวิดีโอ X ฟรีโดยไม่สร้างบัญชีและไม่เก็บไฟล์บนเซิร์ฟเวอร์แม้แต่ไบต์เดียว ด้วยสถาปัตยกรรม Next.js, FastAPI และ Cloudflare Worker

เรียบเรียงโดย AI
Inewgen
27 Sep 2026ที่มา: Dev.to3 นาทีอ่าน (0 ครั้ง)
แชร์
SaveNowX: เครื่องมือโหลดวิดีโอ X แบบไม่เก็บบนเซิร์ฟเวอร์

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง

ขนาดตัวอักษร
  • SaveNowX เป็นเครื่องมือฟรีสำหรับดาวน์โหลดวิดีโอ X โดยไม่ต้องมีบัญชีและไม่มีลายน้ำ
  • ออกแบบภายใต้เงื่อนไขเข้มงวด: เซิร์ฟเวอร์ต้องไม่เก็บไฟล์วิดีโอหรือประวัติการดาวน์โหลดเลย
  • ใช้ Cloudflare Worker แก้ปัญหาการดาวน์โหลดไฟล์ข้ามโดเมนโดยที่เซิร์ฟเวอร์ไม่ต้องส่งผ่านข้อมูลเอง
  • รองรับการแปลงไฟล์ HLS และ MP3 ผ่านระบบงานเบื้องหลังที่ลบไฟล์ชั่วคราวทันทีหลังส่งมอบ

การพัฒนาเครื่องมือดาวน์โหลดวิดีโอจากแพลตฟอร์มโซเชียลมีเดียทั่วไปมักเลือกใช้วิธีง่ายๆ คือดึงไฟล์เข้ามาเก็บไว้ที่เซิร์ฟเวอร์ของตัวเองก่อนจะส่งต่อให้ผู้ใช้งาน แต่สำหรับ SaveNowX ผู้พัฒนาได้ตั้งกฎเหล็กตั้งแต่เริ่มต้นโครงการว่า ข้อมูลทั้งหมดจะต้องไม่แตะต้องฮาร์ดดิสก์บนเซิร์ฟเวอร์เลยแม้แต่นิดเดียว ไม่มีไฟล์วิดีโอค้างเติ่ง ไม่มีประวัติการดาวน์โหลด และไม่มีอะไรให้ต้องมานั่งเคลียร์หรือเสี่ยงต่อการรั่วไหล

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

software code programming screen workspace

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง

ขั้นตอนแรกเมื่อผู้ใช้งานวางลิงก์โพสต์ ระบบจะเรียกใช้งานผ่าน Endpoint GET /api/resolve?url= ซึ่งทำหน้าที่ดึงข้อมูลเมตาเดตาและลิงก์ CDN โดยตรง โดยไม่มีการดาวน์โหลดไบต์วิดีโอเข้ามาเลยแม้แต่ไบต์เดียว ทำให้กระบวนการนี้ทำงานได้อย่างรวดเร็วแม้จะมีผู้ใช้งานเข้ามาพร้อมกันจำนวนมาก ผลลัพธ์จะถูกแคชไว้ผ่าน Redis หรือหน่วยความจำภายในโดยแบ่งระยะเวลา TTL เป็น 2 แบบ:

  • 1 ชั่วโมง สำหรับลิงก์ที่ประมวลผลสำเร็จ
  • 5 นาที สำหรับกรณีลิงก์ไม่พบหรือไม่มีวิดีโอ เพื่อป้องกันไม่ให้บอตหรือผู้ใช้งานที่ใส่ลิงก์ผิดซ้ำๆ ยิงคำขอไปที่ระบบต้นทางจนเกิดภาระเกินจำเป็น
1 ชม.แคชลิงก์ที่สำเร็จ
5 นาทีแคชลิงก์ที่ผิดพลาด

ในกรณีส่วนใหญ่ที่วิดีโอบน X เป็นลิงก์ตรงแบบ MP4 จาก CDN ของ X เอง (video.twimg.com) วิธีการแบบดั้งเดิมคือให้แบ็กเอนด์ไปดึงไฟล์นั้นแล้วสตรีมกลับมาให้ผู้ใช้ แต่ SaveNowX เลือกใช้ Cloudflare Worker ตัวเล็กๆ มาคั่นกลาง ทำหน้าที่เพียงแค่วางส่วนหัว Content-Disposition เพื่อให้เบราว์เซอร์ดาวน์โหลดไฟล์ได้ทันที แทนที่จะเปิดหน้าวิดีโอขึ้นมาเล่น ผลลัพธ์คือวิดีโอวิ่งตรงจาก CDN ของ X ไปยังอุปกรณ์ของผู้ใช้โดยที่แบ็กเอนด์ FastAPI ไม่ต้องแตะต้องข้อมูลเลยแม้แต่ไบต์เดียว

ไม่อยากพลาดข่าวใหม่?

สมัครรับสรุปข่าวสารใหม่ทางอีเมล ไม่บ่อยจนรำคาญ

โฆษณา

"Nothing touches disk on the server, ever. No stored video files, no download history, nothing to clean up or leak."

Dev.to

การใช้ Edge Worker เช่น Cloudflare Worker มาจัดการเรื่อง HTTP Header ถือเป็นแนวทางปฏิบัติที่ดีในสถาปัตยกรรมเว็บสมัยใหม่ (Edge Computing) เพราะช่วยลดภาระการประมวลผล (Compute Load) ของเซิร์ฟเวอร์หลักได้อย่างมหาศาล และยังช่วยเลี่ยงปัญหา CORS หรือข้อจำกัดของเบราว์เซอร์ในการดาวน์โหลดไฟล์ข้ามโดเมน ทำให้ระบบมีความสามารถในการรองรับผู้ใช้งาน (Scalability) สูงขึ้นมากโดยไม่ต้องเพิ่มต้นทุนเซิร์ฟเวอร์

อย่างไรก็ตาม ความท้าทายเกิดขึ้นกับโพสต์บางส่วนที่เป็นรูปแบบ HLS (ไฟล์เพลย์ลิสต์ .m3u8 พร้อมชิ้นส่วนวิดีโอขนาดเล็ก .ts จำนวนมาก) ซึ่งไม่สามารถแปลงเป็นไฟล์เดียวผ่านการเปลี่ยนเส้นทางลิงก์ธรรมดาได้ ในกรณีนี้ระบบจะมีระบบงานย่อย (Job System) ที่ใช้เครื่องมืออย่าง yt-dlp และ ffmpeg ทำการดึงและรวมไฟล์ชั่วคราว พร้อมทั้งรายงานความคืบหน้าแบบเรียลไทม์ และที่สำคัญคือ ไฟล์ชั่วคราวทั้งหมดจะถูกลบทิ้งทันทีที่ส่งมอบเสร็จสิ้น เพื่อรักษาคำมั่นสัญญาว่าจะไม่มีการเก็บรักษาข้อมูลใดๆ ไว้ทั้งสิ้น

ที่มา: Dev.to

ความคิดเห็น

แสดงความคิดเห็น
0/2000

พบข้อมูลผิดพลาดในบทความนี้? แจ้งปัญหาบทความนี้