소개
SP2P는 Zyno Consulting에서 개발한 엔드투엔드 암호화된 피어투피어 파일 전송 도구입니다. CLI와 브라우저 간에도 파일을 직접 전송할 수 있으며, NAT traversal을 위해 TURN 릴레이를 마지막 수단으로 사용합니다. 오픈소스 MIT 라이선스로 제공되며, Windows, macOS, Linux를 지원합니다.
상세정보
파일 및 폴더 전송
SP2P는 개별 파일, 여러 파일, 전체 폴더를 전송할 수 있습니다. stdin을 통해 파이프 입력도 지원하여 tar 아카이브와 같은 스트림 데이터를 전송할 수 있습니다.
암호화 및 보안
모든 데이터 전송은 AES-256-GCM 암호화를 사용하며, X25519 Diffie-Hellman 키 교환과 HKDF를 통해 세션 키를 생성합니다. TURN 릴레이를 사용할 때도 데이터는 암호화된 상태로 유지되어 릴레이 서버가 내용을 볼 수 없습니다.
연결 전략
SP2P는 대칭 TCP와 WebRTC 두 가지 연결 방식을 동시에 시도하여 먼저 성공한 방식을 사용합니다. 자동 모드에서는 64MiB 이상의 대용량 파일 전송 시 TCP를 우선적으로 시도하여 더 빠른 전송 속도를 제공합니다.
AI 에이전트 지원
SP2P는 JSON Lines 인터페이스를 제공하여 AI 에이전트와의 자동화를 지원합니다. 에이전트는 간단한 프롬프트를 통해 파일 전송을 지시할 수 있으며, 세션 이벤트와 진행 상황을 실시간으로 받을 수 있습니다.
Windows에서의 설치
Windows 사용자는 Scoop 패키지 관리자를 통해 SP2P를 설치할 수 있습니다. 먼저 zyno-io 버킷을 추가한 후 sp2p 패키지를 설치합니다.
scoop bucket add zyno-io https://github.com/zyno-io/scoop-bucket scoop install sp2p
Chocolatey 및 WinGet을 통한 설치는 현재 준비 중이며, 소스 코드로부터 직접 빌드하는 방법도 제공됩니다.
파일 보내기
파일을 보내려면 sp2p send 명령어를 사용합니다. 수신자는 전송 코드를 입력하여 파일을 받을 수 있습니다.
sp2p send document.pdf sp2p receive abc123-xYz456
여러 파일을 보내거나 폴더 전체를 전송할 수도 있습니다.
sp2p send ./my-folder sp2p send *.jpg # 여러 파일을 tar 아카이브로 전송
stdin을 통한 전송
파이프 입력을 통해 데이터를 보낼 수 있습니다. 예를 들어 에코 명령어나 tar 출력을 직접 전송할 수 있습니다.
echo "hello world" | sp2p send - tar czf - src/ | sp2p send -name src.tar.gz -
수신 및 출력 옵션
수신 시 출력 디렉터리를 지정하거나 stdout으로 직접 출력할 수 있습니다. tar과 결합하여 아카이브를 바로 풀 수도 있습니다.
sp2p receive abc123-xYz456 -output ~/Downloads sp2p receive abc123-xYz456 -stdout | tar xzf -
이런 경우에 유용합니다
SP2P는 클라우드 서버에 업로드하지 않고도 두 대의 컴퓨터 간에 큰 파일을 빠르게 전송해야 하는 상황에서 유용합니다. 특히 재택근무 중 회사 컴퓨터와 집 컴퓨터 간에 작업 파일을 주고받을 때, 복잡한 클라우드 스토리지 설정 없이 직접 전송할 수 있습니다. 또한 개발자는 AI 에이전트와의 통합을 통해 자동화된 파일 전송 워크플로우를 구축할 수 있습니다.
시스템 요구사항
별도의 시스템 요구사항이 등록되지 않았습니다.


