소개
e2ecp는 기기 간 파일을 주고받을 수 있는 엔드투엔드 암호화 기반 파일 전송 도구입니다. 이 프로그램은 웹 인터페이스와 명령줄 인터페이스(CLI)를 모두 제공하여, 웹 브라우저를 통한 브라우저 간 전송, CLI와 웹 간의 전송, 또는 두 CLI 간의 전송을 가능하게 합니다. 기본적으로 WebSocket 기반 중계 서버를 사용하지만, 모든 전송 데이터는 ECDH P-256 키 교환과 AES-GCM 인증 암호화를 사용하여 엔드투엔드로 암호화되므로 중계 서버는 전송 데이터에 접근할 수 없습니다.
상세정보
프로그램 소개/무엇인지
e2ecp는 ‘End-to-End Encrypted Copy’의 약자로, 두 대의 기기 간에 암호화된 파일을 주고받기 위해 설계된 오픈소스 도구입니다. 웹 사이트와 CLI를 모두 지원하여 사용 환경에 맞게 유연하게 파일을 전송할 수 있습니다.
주요 기능
- 엔드투엔드 암호화: 전송되는 모든 데이터는 ECDH P-256 키 교환과 AES-GCM을 사용하여 암호화되며, 중계 서버는 평문 데이터를 확인할 수 없습니다.
- 웹 및 CLI 지원: 웹 브라우저를 통해 ‘방(room)’에 접속하여 파일을 주고받거나, 명령줄에서 직접 파일을 전송할 수 있습니다.
- CLI를 이용한 파일 전송:
e2ecp send <file>명령으로 파일을 보내고,e2ecp receive명령으로 파일을 받을 수 있습니다. - 자체 중계 서버 호스팅: Docker를 사용하여 자신의 파일 전송 중계 서버를 호스팅하고 설정할 수 있습니다.
e2ecp serve --port 8080명령으로 서버를 실행할 수 있습니다.
기본 사용법/명령어
e2ecp는 단일 바이너리 파일로 제공되어 Windows, Mac OS, Linux에서 사용할 수 있습니다.
파일 전송
웹 브라우저에서 https://e2ecp.com 에 접속하여 방에 입장하고, 동일한 방에 상대방이 입장하면 파일을 주고받을 수 있습니다. CLI에서는 다음 명령어를 사용합니다.
- 파일 보내기:
e2ecp send <file> - 파일 받기:
e2ecp receive
자체 중계 서버 실행
자체 서버를 운영하려면 다음 명령어를 사용합니다.
- 기본 서버 실행:
e2ecp serve --port 8080 - Docker를 사용한 빌드 및 실행:
docker build -t e2ecp-relay .명령으로 이미지를 빌드한 후,docker run -p 3001:3001 e2ecp-relay명령으로 실행할 수 있습니다. 포트, 최대 방 수, IP당 최대 방 수, 로그 레벨 등을 커스터마이징할 수 있습니다.
이런 경우에 유용합니다
- 보안이 중요한 파일 전송: 중계 서버가 데이터를 볼 수 없는 암호화 환경이 필요할 때 유용합니다.
- 자체 호스팅 환경 구축: 기업이나 개인이 자신의 서버에서 파일 전송 인프라를 직접 운영하고 관리할 때 적합합니다.
- 다중 플랫폼 파일 교환: 서로 다른 운영체제를 사용하는 기기 간에 웹과 CLI를 통해 파일을 교환할 때 편리합니다.
시스템 요구사항
node.js (>=v24)와 Go가 설치되어 있어야 합니다. 자체 중계 서버에 프로필/저장 기능을 사용하려면 PostgreSQL 데이터베이스와 Mailjet 계정이 필요합니다.


