1 điểm bởi GN⁺ 2024-08-08 | 1 bình luận | Chia sẻ qua WhatsApp
  • 1fps.video - chia sẻ màn hình được mã hóa

  • Bắt đầu nhanh

    • Cần cài đặt Golang để chạy lệnh này
    • Nếu chưa có Golang, có thể cài bằng một trong các cách sau
    • Lệnh: go run github.com/1fpsvideo/1fps@v0.1.1
  • Kiểm tra ứng dụng client mã nguồn mở, bảo mật

    • Chia sẻ video đơn giản cho nhà phát triển, đội IT, chuyên gia bảo mật và những người yêu thích cộng tác không họp
  • Vì sao là 1 FPS?

    • Họ nhận thấy rằng chia sẻ video FPS thấp là đủ cho phần lớn công việc cộng tác
    • Mang lại nhiều lợi ích
      • Loại bỏ nhu cầu âm thanh, thúc đẩy văn hóa không họp
      • Giảm đáng kể mức tiêu thụ CPU, bộ nhớ và mạng
      • Ngay cả laptop cũ cũng hoạt động tốt hơn khi chia sẻ màn hình
      • Dùng ít tài nguyên hơn nên thân thiện với môi trường
  • 1 FPS có đủ không?

    • Đủ cho phần lớn công việc lập trình và phát triển
    • Dùng theo dõi con trỏ dựa trên WebSocket để mang lại chuyển động con trỏ mượt mà, gần như 30 FPS
  • Vì sao nên chọn dịch vụ của họ?

    • 1fps.video là giải pháp hoàn hảo cho người hướng nội và người làm việc từ xa muốn chia sẻ màn hình mà không bị áp lực của gọi thoại hay gọi video
    • Là giải pháp linh hoạt hoạt động cùng với các ứng dụng chat nhóm mà bạn đang sử dụng
  • Quyền riêng tư và bảo mật

    • Họ coi trọng quyền riêng tư
      • Mọi dữ liệu đều được mã hóa đầu cuối
      • Khóa mã hóa được tạo ở phía client và không được gửi lên máy chủ
      • Khóa được chứa trong một phần của URL (sau dấu hash) và không được gửi tới backend
      • Chỉ những ai có toàn bộ liên kết mới có thể truy cập màn hình được chia sẻ
    • Lưu ý: đang thực hiện mã hóa tọa độ con trỏ để tăng cường quyền riêng tư hơn nữa
  • Bắt đầu chia sẻ màn hình dễ dàng và an toàn với 1fps.video

  • Liên hệ

    • roman.pushkin@gmail.com

Tóm tắt của GN⁺

  • 1fps.video cung cấp công cụ cộng tác hiệu quả cho nhà phát triển và đội IT thông qua chia sẻ video FPS thấp
  • Tăng cường bảo vệ quyền riêng tư bằng mã hóa đầu cuối, đồng thời giảm tiêu thụ tài nguyên nên thân thiện với môi trường
  • Cung cấp chuyển động con trỏ mượt mà nhờ theo dõi con trỏ dựa trên WebSocket, phù hợp cho công việc phát triển
  • Thúc đẩy văn hóa cộng tác không họp, là giải pháp lý tưởng cho người hướng nội và người làm việc từ xa

1 bình luận

 
GN⁺ 2024-08-08
Ý kiến trên Hacker News
  • Chúc mừng dự án ra mắt. Ý tưởng rất hay và mang tính tối giản. Tuy nhiên, có một số vấn đề trong mã nguồn mã hóa

    • Tạo khóa ngẫu nhiên rồi dùng PBKDF2 để sinh khóa AES-GCM 32 byte. Tốt hơn là tạo trực tiếp 32 byte ngẫu nhiên
    • Dùng nonce ngẫu nhiên 12 byte cho AES-GCM. Điều này có thể làm hỏng tính xác thực. Nên chuyển sang XSalsa20+Poly1305
    • Nếu tạo khóa ngẫu nhiên từ tập ký tự giới hạn thì brute-force sẽ dễ hơn. Nên dùng khóa ngẫu nhiên 256 bit
    • Việc phân phối khóa đối xứng được thực hiện qua fragment identifier của URL. Nếu máy chủ độc hại, nó có thể dùng JavaScript phía client để đánh cắp khóa
  • Sau khi phân tích mã, có vẻ như hệ thống gửi ảnh chụp màn hình (.jpg) mỗi giây. Không rõ cách này có tiết kiệm băng thông hơn các phương pháp nén video hiện đại hay không

    • Khi ghi một đoạn video dài 1 phút bằng mã hóa AV1, kích thước tệp chỉ bằng khoảng một nửa so với 60 ảnh chụp màn hình JPEG
  • Rất thích dự án này. Nó xây dựng một quy trình làm việc không cần văn phòng hay hạ tầng kỹ thuật

    • Phần lớn thành viên trong nhóm là người hướng nội nên dùng hệ thống push-to-talk. Khi không cần thảo luận cả nhóm, họ để lại ghi chú trong chat
  • Tò mò không biết có những trường hợp nào dùng chia sẻ màn hình mà không có âm thanh, vì vẫn cần giao tiếp với người khác

  • Đây là lời nhắc về giới hạn thời gian của Google Meet và Zoom. Jitsi là giải pháp họp video mã nguồn mở dựa trên WebRTC

    • Có thể dùng qua trang chính hoặc tự host
  • Sẽ khá thú vị nếu tạo heuristic để chọn frame. Việc luôn chọn frame mới nhất không phải lúc nào cũng lý tưởng

    • Nên chọn những frame có ít chuyển động hoặc không có hoạt ảnh
  • Khi dùng thư viện go-vgo/robotgo thì gặp lỗi không tìm thấy tệp X11/extensions/XTest.h

    • Trên Mint 22 cần cài gói libxtst-dev
  • Đã dùng Google Meet để theo dõi các sự kiện kiểm thử vật lý từ xa, nhưng cần chat văn bản

    • Dự án này cung cấp giao diện tối giản. Có thể bổ sung tính năng lưu trữ chat liên tục
  • Moonlight Game Streaming đã thay thế VNC. Cần thêm các tính năng như truyền tệp, chia sẻ clipboard, v.v.

  • Đang làm một bot tự động hóa bằng golang. Tò mò không biết có thể dùng chương trình này để theo dõi màn hình từ điện thoại hay không