2 คะแนน โดย GN⁺ 2024-08-03 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • HTTP over WebRTC
  • ติดตั้งใช้งาน HTTP client wrapper (คล้ายกับ HTML Fetch) และ HTTP proxy ฝั่งเซิร์ฟเวอร์ผ่าน WebRTC DataChannel
  • เข้าถึงอุปกรณ์เอดจ์ (IoT หรือเซิร์ฟเวอร์) ที่ซ่อนอยู่หลังไฟร์วอลล์ได้โดยตรงและปลอดภัยจากเว็บเบราว์เซอร์
  • คุณสมบัติหลัก:
    • ทำงานใน application space ที่ปลอดภัย (ไม่ต้องใช้ sudo)
    • การเข้ารหัสแบบ end-to-end
    • ไม่ต้องตั้งค่า VPN แบบกำหนดเอง
    • ไม่ต้องมี cloud intermediary สำหรับการทำ data tunneling
    • ไม่ต้องใช้บริการ Dynamic DNS
    • ไม่ต้องมีกฎไฟร์วอลล์แบบกำหนดเอง
    • ไม่ขึ้นกับภาษาโปรแกรม (ปัจจุบันใช้ได้กับ JavaScript และ Python)

กรณีการใช้งาน:

  • ให้ผู้ใช้เข้าถึงกล้องวงจรปิดภายในบ้านส่วนตัวได้โดยตรงจากเว็บแอป โดยไม่ต้องแชร์วิดีโอกับผู้ให้บริการคลาวด์
  • เมชของอุปกรณ์ IoT ที่สื่อสารแบบ p2p กันได้โดยตรง
  • เว็บแอปส่วนตัวแชร์ข้อมูลกับผู้ใช้ปลายทางโดยตรงเท่านั้น โดยไม่เปิดเผย public IP address (ไฟล์ โน้ต รูปภาพ เป็นต้น)
  • Federated learning - โมเดล ML เรียนรู้จากข้อมูลผู้ใช้ในเครื่องและแชร์สถานะการเรียนรู้ที่ฝึกแล้วถึงกันโดยตรง โดยไม่ต้องมีเซิร์ฟเวอร์รวมโมเดลแบบรวมศูนย์

สรุปโดย GN⁺

  • peerfetch เป็นโปรเจ็กต์ที่ทำให้การสื่อสาร HTTP แบบ P2P ที่ตรงไปตรงมาและปลอดภัยเป็นไปได้ผ่าน WebRTC
  • ให้การเข้ารหัสแบบ end-to-end โดยไม่ต้องมี cloud intermediary หรือการตั้งค่า VPN แบบกำหนดเอง จึงช่วยเพิ่มความปลอดภัย
  • เป็นเครื่องมือที่มีประโยชน์สำหรับการแชร์ข้อมูลโดยตรงในอุปกรณ์ IoT หรือเว็บแอปส่วนตัว โดยยังคงรักษาความเป็นส่วนตัวไว้
  • โปรเจ็กต์ที่มีความสามารถคล้ายกันได้แก่ไลบรารีสื่อสาร P2P บน WebRTC อื่น ๆ

1 ความคิดเห็น

 
GN⁺ 2024-08-03
ความคิดเห็นใน Hacker News
  • Camect เป็นระบบที่ทำให้เข้าถึงกล้องบนเซิร์ฟเวอร์ส่วนตัวได้ผ่าน WebRTC

    • ใช้ระบบยืนยันตัวตนแบบศูนย์กลาง และส่งวิดีโอได้อย่างมีประสิทธิภาพผ่าน WebRTC และ NVR แบบฮาร์ดแวร์
    • มีความเสี่ยงต่ำกว่าที่บริการคลาวด์จะกลายเป็นภาระทางการเงินจนถูกยกเลิก เหมือนอย่าง Google Nest Cams
    • เป็นสถาปัตยกรรมที่ยอดเยี่ยมมาก
  • Webtorrent เป็นไอเดียที่น่าสนใจ

    • ถ้ามีการเชื่อมต่อ WebRTC แบบสองทางอยู่แล้ว ก็สงสัยว่าทำไมถึงต้องใช้ HTTP
    • ขึ้นอยู่กับแอปพลิเคชัน
  • สงสัยว่ามีวิธีทำสิ่งนี้โดยไม่ต้องมี signaling server หรือไม่

  • สงสัยว่ามีโซลูชันสำหรับบันทึกวิดีโอผ่าน WebRTC หรือไม่

    • มีเครื่องมือมากพอสำหรับบันทึก HLS และ Dash
    • แต่หาแม้กระทั่ง PoC ที่สามารถบันทึกสตรีมวิดีโอที่ส่งผ่าน WebRTC ไม่เจอเลย (เช่น agora.io)
  • ยังไม่เข้าใจว่า signaling server อยู่ตรงไหนและทำงานอย่างไร

  • มีทางเลือกอย่าง Tailscale ด้วย

  • เคยลองไอเดียการผสาน service worker เพื่อสร้างเว็บไซต์แบบกระจายศูนย์

  • มักจะมีโปรเจกต์น่าสนใจถูกโพสต์และเกิดการถกเถียงใหญ่ใน HN แต่พอลองใช้ไลบรารีกลับพบว่าไม่ได้รับการดูแลรักษาแล้ว และอัปเดตล่าสุดเมื่อ 3 ปีก่อนบ่อยครั้ง

    • ได้คำแนะนำดีๆ มากมายจากเธรดนี้ ขอบคุณ
    • โปรเจกต์นี้ดูดี: https://github.com/subins2000/p2pt
  • เคยคาดหวังไว้ แต่รีโพซิทอรีนั้นไม่ได้อัปเดตมานานกว่า 3 ปีแล้ว