1P by neo 1달전 | favorite | 댓글 1개
  • 1fps.video - 암호화된 화면 공유

  • 빠른 시작

    • 이 명령을 실행하려면 Golang이 설치되어 있어야 함
    • Golang이 없는 경우 다음 방법 중 하나를 사용하여 설치 가능
    • 명령어: 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는 저해상도 FPS 비디오 공유를 통해 개발자와 IT 팀에게 효율적인 협업 도구를 제공함
  • 종단 간 암호화로 개인정보 보호를 강화하며, 자원 소비를 줄여 환경 친화적임
  • WebSocket 기반 커서 추적으로 매끄러운 포인터 움직임을 제공하여 개발 작업에 적합함
  • 회의 없는 협업 문화를 촉진하며, 내성적이고 원격 근무자에게 이상적인 솔루션임
Hacker News 의견
  • 프로젝트 출시를 축하함. 아이디어가 멋지고 미니멀리스트적임. 그러나 암호화 소스 코드에 몇 가지 결함이 있음

    • 랜덤 키를 생성하고 PBKDF2를 사용해 32바이트 AES-GCM 키를 생성함. 32바이트 랜덤 바이트를 직접 생성하는 것이 더 나음
    • AES-GCM에 랜덤 12바이트 논스를 사용함. 이는 인증을 깨뜨릴 수 있음. XSalsa20+Poly1305로 전환하는 것이 좋음
    • 제한된 문자 집합으로 랜덤 키를 생성하면 브루트 포스 공격이 쉬워질 수 있음. 256비트 랜덤 키를 사용해야 함
    • 대칭 키 분배를 URL의 프래그먼트 식별자를 통해 수행함. 서버가 악의적일 경우 클라이언트 측 자바스크립트를 사용해 키를 탈취할 수 있음
  • 코드 분석 결과, 매 초마다 스크린샷(.jpg)을 전송하는 것으로 보임. 이는 현대 비디오 압축 방식보다 대역폭을 절약할 수 있는지 의문임

    • 1분짜리 비디오 클립을 AV1 인코딩으로 녹화했을 때, 60개의 JPEG 스크린샷보다 파일 크기가 절반 정도 작았음
  • 이 프로젝트를 사랑함. 사무실과 기술 인프라가 필요 없는 워크플로우를 구축함

    • 팀원 대부분이 내향적이어서 푸시 투 토크 시스템을 사용함. 전체 논의가 필요하지 않은 경우 채팅에 메모를 남김
  • 오디오 없이 화면 공유를 사용하는 경우가 궁금함. 다른 사람과 소통해야 하기 때문임

  • Google Meet와 Zoom의 시간 제한에 지침. jitsi는 오픈 소스 WebRTC 기반 비디오 회의 대안임

    • 메인 사이트를 통해 사용하거나 자체 호스팅 가능함
  • 프레임 선택을 위한 휴리스틱을 만들면 흥미로울 것 같음. 항상 최신 프레임을 선택하는 것은 이상적이지 않음

    • 움직임이 적거나 애니메이션이 없는 프레임을 선택하는 것이 좋음
  • go-vgo/robotgo 라이브러리 사용 시 X11/extensions/XTest.h 파일을 찾을 수 없다는 오류 발생

    • Mint 22에서 libxtst-dev 패키지를 설치해야 함
  • 원격 물리 테스트 이벤트를 모니터링하기 위해 Google Meet를 사용했으나, 텍스트 채팅이 필요함

    • 이 프로젝트는 최소한의 인터페이스를 제공함. 텍스트 채팅 지속성을 추가할 수 있음
  • Moonlight Game Streaming이 VNC를 대체함. 파일 전송, 클립보드 공유 등의 기능이 필요함

  • golang으로 자동화 봇을 작업 중임. 이 프로그램을 사용해 휴대폰으로 화면을 모니터링할 수 있는지 궁금함