프로젝트 소개
croc은 두 컴퓨터 간 파일과 폴더를 간단하고 안전하게 교환할 수 있는 명령줄 파일 전송 도구입니다. README에 따르면, 피어투피어 전송과 릴레이 백업, 비밀번호 인증 키 합의(PAKE) 기반 엔드투엔드 암호화, 크로스플랫폼 지원(Windows, Linux, macOS 및 브라우저 클라이언트), 다중 파일 전송, 중단된 전송 재개, 로컬 서버나 포트 포워딩 필요 없음, IPv6 우선 IPv4 백업, Tor와 같은 프록시를 통해 작동할 수 있습니다.
사용은 짧은 코드 문구에 중심을 둡니다. 송신자는 `croc send [파일(들)-또는 폴더]`를 실행하여 코드 문구를 출력하고, 수신자는 다른 기계에서 `croc 코드 문구`를 실행합니다. 코드 문구는 암호화를 위한 공유 비밀 키를 생성하는 PAKE 핸드셰이크를 유도합니다. Linux와 macOS에서는 README에 따르면 프로세스 이름을 통해 비밀을 유출하지 않기 위해 환경 변수(`CROC_SECRET=*** croc`)를 전달하는 것이 권장되며, 단일 사용자 시스템에서 기본 동작을 복원하는 `--classic` 옵션이 있습니다.
기본적인 전송/수신 외에도 도구는 여러 옵션을 문서화합니다: 사용자 정의 코드 문구, 기존 파일 처리를 위한 `--overwrite` 및 `--rename`, 폴더 내용 필터링을 위한 `--exclude` 및 `--exclude-file`, stdin/stdout을 통한 파이핑, `--text`를 사용한 짧은 텍스트 전송, 여러 파일 또는 폴더 전송, 모바일 사용을 위한 QR 코드 표시, SOCKS5 프록시 지원, 선택 가능한 암호화 곡선, 대체 `imohash` 해시 알고리즘, 클립보드 동작 플래그, 스크립트용 조용 모드 등이 있습니다.
README에는 Linux, macOS, FreeBSD, OpenBSD에서 지속적인 터미널 세션을 공유하는 `croc ssh`도 설명되어 있습니다. 호스트는 읽기/쓰기 및 읽기 전용 참여자를 위한 별도의 6단어 초대를 발행합니다. 세션은 일시적인 WireGuard 경로와 일시적인 SSH 호스트 키를 사용하며, 원격 명령, 포워딩 및 SFTP는 비활성화됩니다. 별도의 `croc store` 모드는 나중에 검색할 수 있도록 클라이언트 측 암호화된 암호문을 업로드하며, 다운로드 제한 및 만료 시간을 구성할 수 있고, 암호 해독 키가 URL 조각에 있는 브라우저 링크와 취소 명령이 있습니다.
전송 선택은 `--transport auto`로 기본 설정됩니다: PAKE 핸드셰이크 후 호환되는 네이티브 클라이언트는 DERP 백업과 NAT 트래버설이 있는 WireGuard 기반 경로를 시도하고, 그렇지 않으면 croc의 릴레이 데이터 포트로 백업됩니다. 사용자는 `croc relay`로 자체 릴레이를 호스팅할 수 있으며(기본 TCP 포트 9009-9013) 또는 Docker를 통해 비밀번호로 옵션을 설정할 수 있습니다. 별도의 `croc-web` 서버에 포함된 React/Vite 웹 클라이언트는 파일 전송 및 수신, `croc ssh` 세션 참여가 가능하며 CLI와 호환됩니다. 설치는 쉘 스크립트, Homebrew, MacPorts, Scoop, Chocolatey, Nix, Alpine, Debian, Arch, Termux, FreeBSD, Conda, Docker, Go로 소스에서 빌드, 커뮤니티 Android 및 데스크톱 GUI 앱을 통해 문서화되었습니다. 배포 노트는 Disco를 포함하여 환경 변수, 릴레이 포트, 지속적인 저장소 볼륨을 다룹니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.