1 คะแนน โดย GN⁺ 2024-08-08 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • 1fps.video - การแชร์หน้าจอแบบเข้ารหัส

  • เริ่มต้นอย่างรวดเร็ว

    • ต้องติดตั้ง Golang ก่อนจึงจะรันคำสั่งนี้ได้
    • หากยังไม่มี Golang สามารถติดตั้งได้ด้วยวิธีใดวิธีหนึ่งต่อไปนี้
      • ใช้คำสั่งบรรทัดเดียวเพื่อติดตั้ง Go Runtime บน Mac, Linux, Windows: https://webinstall.dev/golang/
      • ดูคำแนะนำการติดตั้งจากเว็บไซต์ทางการของ Go: https://go.dev/doc/install
    • คำสั่ง: go run github.com/1fpsvideo/1fps@v0.1.1
  • ตรวจสอบแอปไคลเอนต์โอเพนซอร์สที่ปลอดภัย

    • การแชร์วิดีโอที่เรียบง่ายสำหรับนักพัฒนา ทีม IT ผู้เชี่ยวชาญด้านความปลอดภัย และผู้ที่ชื่นชอบการทำงานร่วมกันแบบไร้การประชุม
  • ทำไมต้อง 1 FPS?

    • พบว่าการแชร์วิดีโอแบบ FPS ต่ำและความละเอียดต่ำก็เพียงพอสำหรับงานทำงานร่วมกันส่วนใหญ่
    • มีข้อดีหลายประการ
      • ลดความจำเป็นของเสียง จึงช่วยส่งเสริมวัฒนธรรมการทำงานแบบไร้การประชุม
      • ลดการใช้ CPU, หน่วยความจำ และเครือข่ายได้อย่างมาก
      • ทำให้โน้ตบุ๊กเก่าก็ยังแชร์หน้าจอได้ลื่นไหลขึ้น
      • ใช้ทรัพยากรน้อย จึงเป็นมิตรต่อสิ่งแวดล้อม
  • 1 FPS เพียงพอหรือไม่?

    • เพียงพอสำหรับงานเขียนโค้ดและงานพัฒนาส่วนใหญ่
    • ใช้การติดตามเคอร์เซอร์บนพื้นฐาน WebSocket เพื่อให้การเคลื่อนไหวของตัวชี้ลื่นไหลและใกล้เคียง 30 FPS
  • ทำไมต้องเลือกบริการของเรา?

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

    • เราให้ความสำคัญกับความเป็นส่วนตัว
      • ข้อมูลทั้งหมดถูกเข้ารหัสแบบต้นทางถึงปลายทาง
      • คีย์เข้ารหัสถูกสร้างฝั่งไคลเอนต์และจะไม่ถูกส่งไปยังเซิร์ฟเวอร์
      • คีย์ถูกใส่ไว้เป็นส่วนหนึ่งของ URL (หลังเครื่องหมายแฮช) และจะไม่ถูกส่งไปยังแบ็กเอนด์
      • เฉพาะผู้ที่มีลิงก์เต็มเท่านั้นจึงจะเข้าถึงหน้าจอที่แชร์ได้
    • หมายเหตุ: กำลังดำเนินการเข้ารหัสพิกัดเคอร์เซอร์เพื่อความเป็นส่วนตัวที่สูงขึ้น
  • เริ่มแชร์หน้าจอด้วย 1fps.video ได้อย่างง่ายดายและปลอดภัย

  • ติดต่อ

    • roman.pushkin@gmail.com

สรุปโดย GN⁺

  • 1fps.video มอบเครื่องมือทำงานร่วมกันที่มีประสิทธิภาพให้กับนักพัฒนาและทีม IT ผ่านการแชร์วิดีโอแบบ FPS ต่ำและความละเอียดต่ำ
  • เสริมความเป็นส่วนตัวด้วยการเข้ารหัสแบบต้นทางถึงปลายทาง และลดการใช้ทรัพยากรจึงเป็นมิตรต่อสิ่งแวดล้อม
  • การติดตามเคอร์เซอร์บนพื้นฐาน WebSocket ช่วยให้การเคลื่อนไหวของตัวชี้ลื่นไหล จึงเหมาะกับงานพัฒนา
  • ส่งเสริมวัฒนธรรมการทำงานร่วมกันแบบไร้การประชุม และเป็นโซลูชันที่เหมาะอย่างยิ่งสำหรับคนเก็บตัวและผู้ทำงานระยะไกล

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

 
GN⁺ 2024-08-08
ความคิดเห็นจาก Hacker News
  • ขอแสดงความยินดีกับการเปิดตัวโปรเจกต์ ไอเดียดีและมินิมอลมาก แต่มีข้อบกพร่องบางอย่างในซอร์สโค้ดการเข้ารหัส

    • สร้างคีย์แบบสุ่มแล้วใช้ PBKDF2 เพื่อสร้างคีย์ AES-GCM ขนาด 32 ไบต์ การสร้างไบต์สุ่ม 32 ไบต์โดยตรงจะดีกว่า
    • ใช้ nonce แบบสุ่ม 12 ไบต์กับ AES-GCM ซึ่งอาจทำให้การยืนยันความถูกต้องพังได้ ควรเปลี่ยนไปใช้ XSalsa20+Poly1305
    • การสร้างคีย์สุ่มจากชุดอักขระที่จำกัดอาจทำให้โจมตีแบบ brute force ได้ง่ายขึ้น ควรใช้คีย์สุ่ม 256 บิต
    • แจกจ่าย symmetric key ผ่าน fragment identifier ของ URL หากเซิร์ฟเวอร์เป็นอันตราย ก็สามารถใช้ JavaScript ฝั่งไคลเอนต์เพื่อขโมยคีย์ได้
  • จากการวิเคราะห์โค้ด ดูเหมือนว่าจะส่งสกรีนช็อต (.jpg) ทุกวินาที จึงน่าสงสัยว่าจะประหยัดแบนด์วิดท์ได้มากกว่าวิธีบีบอัดวิดีโอสมัยใหม่หรือไม่

    • เมื่อบันทึกคลิปวิดีโอความยาว 1 นาทีแล้วเข้ารหัสด้วย AV1 ขนาดไฟล์เล็กกว่าสกรีนช็อต JPEG 60 ภาพประมาณครึ่งหนึ่ง
  • ชอบโปรเจกต์นี้มาก มันสร้างเวิร์กโฟลว์ที่ไม่ต้องพึ่งออฟฟิศหรือโครงสร้างพื้นฐานทางเทคนิค

    • สมาชิกทีมส่วนใหญ่เป็นคนเก็บตัว จึงใช้ระบบ push-to-talk และจะทิ้งโน้ตไว้ในแชตเมื่อไม่จำเป็นต้องคุยกันทั้งกลุ่ม
  • สงสัยว่ามีกรณีใช้งานการแชร์หน้าจอแบบไม่มีเสียงอย่างไรบ้าง เพราะยังต้องสื่อสารกับคนอื่นอยู่ดี

  • เตือนเรื่องข้อจำกัดเวลาของ Google Meet และ Zoom ส่วน jitsi เป็นทางเลือกวิดีโอคอนเฟอเรนซ์แบบโอเพนซอร์สที่ใช้ WebRTC

    • ใช้งานผ่านเว็บไซต์หลักหรือจะโฮสต์เองก็ได้
  • น่าจะน่าสนใจถ้าทำ heuristic สำหรับการเลือกเฟรม เพราะการเลือกเฟรมล่าสุดเสมอไปอาจไม่ใช่วิธีที่ดีที่สุด

    • ควรเลือกเฟรมที่มีการเคลื่อนไหวน้อยหรือไม่มีแอนิเมชัน
  • ระหว่างใช้ไลบรารี go-vgo/robotgo พบข้อผิดพลาดว่าไม่พบไฟล์ X11/extensions/XTest.h

    • บน Mint 22 ต้องติดตั้งแพ็กเกจ libxtst-dev
  • เคยใช้ Google Meet เพื่อติดตามอีเวนต์ทดสอบทางกายภาพจากระยะไกล แต่ต้องมีแชตข้อความด้วย

    • โปรเจกต์นี้มีอินเทอร์เฟซที่เรียบง่ายมาก และอาจเพิ่มการคงอยู่ของแชตข้อความได้
  • Moonlight Game Streaming เข้ามาแทนที่ VNC แต่ยังต้องมีฟีเจอร์อย่างการส่งไฟล์และการแชร์คลิปบอร์ด

  • กำลังทำบอตอัตโนมัติด้วย golang และสงสัยว่าจะใช้โปรแกรมนี้เพื่อติดตามหน้าจอจากโทรศัพท์มือถือได้หรือไม่