- ใช้ WebRTC เพื่อตัดขั้นตอนการอัปโหลดเริ่มต้นออกไปซึ่งบริการแชร์ไฟล์บนเว็บอื่น ๆ มักต้องการ
- เนื่องจากข้อมูลไม่ได้ถูกเก็บไว้บนเซิร์ฟเวอร์ตัวกลาง การโอนจึงรวดเร็ว เป็นส่วนตัว และปลอดภัย
- อินสแตนซ์ที่โฮสต์ของ FilePizza ใช้งานได้ที่ file.pizza
ฟีเจอร์ใหม่ใน FilePizza v2
- UI ใหม่และรองรับโหมดมืด สร้างขึ้นบนเทคโนโลยีเบราว์เซอร์สมัยใหม่
- ใช้งานได้บนเบราว์เซอร์มือถือส่วนใหญ่ รวมถึง Mobile Safari
- โอนโดยตรงจากฝั่งอัปโหลดไปยังเบราว์เซอร์ของผู้ดาวน์โหลด (WebRTC, ไม่มี WebTorrent) ทำให้จับมือเชื่อมต่อได้เร็วขึ้น
- ฝั่งอัปโหลดสามารถติดตามความคืบหน้าของการโอนและหยุดได้
- เสริมมาตรการด้านความปลอดภัยและความมั่นคงด้วยการป้องกันด้วยรหัสผ่านและฟังก์ชันการรายงาน
- อัปโหลดหลายไฟล์พร้อมกันได้ และผู้ดาวน์โหลดจะได้รับเป็นไฟล์ zip
- ดาวน์โหลดแบบสตรีมมิงผ่าน service worker
- จัดเก็บสถานะเซิร์ฟเวอร์ในโปรเซสภายนอกด้วย Redis
เทคโนโลยีสแตกและการพัฒนา
- Next.js, Tailwind, TypeScript, React, PeerJS (สำหรับ WebRTC), View Transitions, Redis (ไม่บังคับ)
- สามารถโคลนซอร์สโค้ดจาก GitHub และติดตั้งรวมถึงรันด้วย pnpm
- สามารถบิลด์และรัน FilePizza ด้วย Docker
FAQ
- วิธีการโอนไฟล์: ไฟล์จะถูกโอนโดยตรงจากเบราว์เซอร์ของผู้อัปโหลดไปยังเบราว์เซอร์ของผู้ดาวน์โหลด ไม่ผ่านเซิร์ฟเวอร์ ใช้ WebRTC ในการโอนไฟล์ และผู้อัปโหลดต้องเปิดหน้าต่างเบราว์เซอร์ทิ้งไว้จนกว่าการโอนจะเสร็จสิ้น
- ดาวน์โหลดพร้อมกันได้หรือไม่: ได้ เพียงส่ง URL แบบสั้นหรือแบบยาวก็ได้
- ขนาดไฟล์สูงสุด: ใหญ่ได้เท่าที่เบราว์เซอร์รองรับ
- หากปิดเบราว์เซอร์: URL ของไฟล์จะใช้งานไม่ได้อีกต่อไป หากดาวน์โหลดเสร็จแล้ว ผู้ดาวน์โหลดคนนั้นจะยังคงช่วย seed ให้กับผู้ที่ดาวน์โหลดยังไม่เสร็จ แต่จะไม่สามารถเริ่มการดาวน์โหลดใหม่ได้
- มีการเข้ารหัสไฟล์หรือไม่: การสื่อสารผ่าน WebRTC ทั้งหมดจะถูกเข้ารหัสโดยอัตโนมัติผ่าน DTLS และสามารถเพิ่มรหัสผ่านให้การอัปโหลดเพื่อความปลอดภัยเพิ่มเติมได้
1 ความคิดเห็น
ความคิดเห็นบน Hacker News
ฉันเก็บรายชื่อเครื่องมือรับส่งไฟล์แบบ P2P ทั้งบนเบราว์เซอร์และแบบ CLI ไว้เป็นรายการยาว
เบราว์เซอร์ Opera เคยมีฟีเจอร์รับส่งไฟล์แบบ P2P ชื่อ Unite อยู่ช่วงหนึ่งราวปี 2010
สิ่งที่มักทำให้ฉันหงุดหงิดกับบริการพวกนี้คือการให้ URL ที่ซับซ้อน
อยากให้มีวิธีทำ local peer discovery ด้วย WebRTC
กังวลว่า ShareDrop กับ Snapdrop จะลงเอยแบบเดียวกับที่ถูก LimeWire เข้าซื้อ
ปัญหานี้ควรถูกแก้ได้ตั้งแต่หลายสิบปีก่อนแล้ว แต่โซลูชันที่แข็งแรง ปลอดภัย และไม่ใช่เชิงพาณิชย์ก็ยังไม่มีอยู่ดี
WebRTC ทำให้การรับส่งรวดเร็วและปลอดภัย เพราะข้อมูลไม่ถูกเก็บไว้บนเซิร์ฟเวอร์ตัวกลาง
ถ้าไม่ได้มีปัญหากับการติดตั้ง Transmission หรือไคลเอนต์ทอร์เรนต์ตัวอื่น ฉันจะชอบแนวทาง privtracker มากกว่า
ฉันชอบ PairDrop มากจริง ๆ
ยังมี Magic Wormhole ด้วย และมันไม่ใช่แบบทำงานบนเบราว์เซอร์