17P by neo 3일전 | ★ favorite | 댓글 1개
  • WebRTC를 사용하여 다른 웹 기반 파일 공유 서비스에서 요구하는 초기 업로드 단계를 제거
  • 데이터가 중간 서버에 저장되지 않기 때문에 전송이 빠르고, 개인적이며, 안전함
  • FilePizza의 호스팅 인스턴스는 file.pizza에서 사용 가능

FilePizza v2의 새로운 기능

  • 새로운 UI와 다크 모드 지원, 현대 브라우저 기술 기반으로 구축됨
  • 모바일 Safari를 포함한 대부분의 모바일 브라우저에서 작동함
  • 업로더에서 다운로드하는 브라우저로 직접 전송 (WebRTC, WebTorrent 없음)으로 더 빠른 핸드셰이크
  • 업로더가 전송 진행 상황을 모니터링하고 중지할 수 있음
  • 비밀번호 보호 및 보고 기능을 통한 보안 및 안전 조치 강화
  • 여러 파일을 한 번에 업로드할 수 있으며, 다운로드하는 사람은 zip 파일로 받음
  • 서비스 워커를 통한 스트리밍 다운로드
  • Redis를 사용한 서버 상태의 외부 프로세스 저장

기술 스택 및 개발

  • Next.js, Tailwind, TypeScript, React, PeerJS (WebRTC용), View Transitions, Redis (선택 사항)
  • GitHub에서 소스 코드를 클론하고 pnpm을 사용하여 설치 및 실행 가능
  • Docker를 사용하여 FilePizza를 빌드하고 실행 가능

FAQ

  • 파일 전송 방식: 파일은 업로더의 브라우저에서 다운로드하는 사람의 브라우저로 직접 전송됨. 서버를 거치지 않음. WebRTC를 사용하여 파일 전송하며, 업로더는 전송 완료 시까지 브라우저 창을 열어 두어야 함.
  • 동시 다운로드 가능 여부: 가능함. 짧거나 긴 URL을 보내면 됨.
  • 파일 크기 제한: 브라우저가 처리할 수 있는 만큼의 크기
  • 브라우저를 닫으면: 파일 URL은 더 이상 작동하지 않음. 다운로드가 완료된 경우, 해당 다운로드하는 사람이 미완료 다운로드자에게 시드를 계속 제공하지만, 새로운 다운로드는 시작할 수 없음.
  • 파일 암호화 여부: 모든 WebRTC 통신은 DTLS를 통해 자동으로 암호화됨. 추가 보안을 위해 업로드에 비밀번호를 추가할 수 있음.
Hacker News 의견
  • 나는 브라우저 기반과 CLI P2P 파일 전송 도구의 긴 목록을 유지하고 있음

    • LimeWire는 최근 ShareDrop과 SnapDrop 같은 좋은 도구들을 인수하고 있음
    • 현재 <a href="https://pairdrop.net/" rel="nofollow">https://pairdrop.net/</a>가 남아 있음
  • Opera 브라우저는 2010년경 Unite라는 P2P 파일 전송 기능을 잠시 제공했음

    • '냉장고' 모양의 GUI에서 사용자가 포스트잇 스타일의 메모를 남길 수 있었음
    • Opera Presto는 다양한 기능을 제공했으며, Bittorrent 클라이언트, 데스크톱 위젯, IRC 클라이언트, 이메일 클라이언트, 핫키 커스터마이징 기능이 포함되었음
    • 그럼에도 불구하고 브라우저는 여전히 가벼운 바이너리였음
  • 이러한 서비스에서 보통 나를 짜증나게 하는 것은 복잡한 URL을 제공하는 것임

    • <a href="https://file.pizza" rel="nofollow">https://file.pizza</a>는 URL이 실제 단어로 구성되어 있어 더 나음
    • <a href="https://pairdrop.net" rel="nofollow">https://pairdrop.net</a>는 전화로 쉽게 공유할 수 있는 다섯 글자의 임시 '방'을 생성할 수 있어 선호함
    • CLI를 통해 연결을 시작하고 간단한 URL을 제공하는 P2P 서비스를 기다리고 있음
  • WebRTC로 로컬 피어 발견을 할 수 있는 방법이 있었으면 좋겠음

    • 현재는 두 엔드포인트가 활성 인터넷 연결과 공유 식별자를 필요로 함
    • 오프라인 로컬 공유는 불가능함
  • ShareDrop과 Snapdrop이 LimeWire에 인수된 것처럼 될까봐 걱정됨

  • 이 문제는 수십 년 전에 해결되었어야 했지만, 강력하고 안전한 비상업적 솔루션은 여전히 부재함

    • IPFS 프로젝트는 요즘 어떻게 되고 있는지 궁금함
  • WebRTC는 중간 서버에 데이터가 저장되지 않아 전송이 빠르고 안전함

    • 그러나 NAT 뒤에 있는 클라이언트 간의 전송을 위해 TURN 서버가 필요함
    • 데이터는 중간 서버에 저장되지 않지만 통과할 수 있음
    • TURN 서버가 데이터를 읽지 않는다는 보장이 있는지 궁금함
    • E2EE가 사용되는지 여부도 궁금함
  • Transmission이나 다른 토렌트 클라이언트를 설치하는 것이 문제가 아니라면 privtracker 접근 방식을 선호함

    • 대부분의 토렌트 클라이언트는 기본적으로 백그라운드에서 실행될 수 있음
    • 최근에 주목받았지만 놓쳤다면 아쉬울 것임
  • PairDrop을 정말 좋아함

  • Magic Wormhole도 있으며 브라우저 기반이 아님