개요
- Copyparty는 웹브라우저를 통한 resumable 업로드/다운로드, 중복제거, 미디어 인덱싱 등을 지원하는 휴대용 파일 서버임
- Python으로 작성된 단일 파일 실행형 서버로, 별도 의존성 설치 없이 바로 실행 가능함
- HTTP/WebDAV/FTP/TFTP/SMB 등 다양한 프로토콜 지원과 크로스 플랫폼 호환성을 제공함
- 9001 개발자에 의해 오픈소스로 개발되고 있으며, 노르웨이에서 제작됨
주요 기능
🌐 멀티 프로토콜 지원
- HTTP/HTTPS, WebDAV, FTP/FTPS, TFTP, SMB/CIFS 서버 기능을 단일 프로그램으로 제공
⚡ 고성능 업로드/다운로드
- up2k 기술을 통한 resumable 업로드 (네트워크 중단 시 자동 재개)
- 병렬 청크 업로드로 고속 전송 (8 GiB/s 다운로드, 1 GiB/s 업로드)
- 업로드 중인 파일을 실시간으로 다운로드 가능한 "race the beam" 기능
🗂️ 파일 시스템 기능
- 심볼릭 링크 기반 파일 중복제거
- 실시간 파일 인덱싱 및 메타데이터 추출
- 폴더/파일 검색, 배치 리네이밍, 파일 매니저 기능
🎵 멀티미디어 지원
- 거의 모든 오디오 포맷 재생 지원 (FFmpeg 기반 실시간 트랜스코딩)
- 이미지/비디오/오디오 썸네일 생성
- 오디오 플레이어 (이퀄라이저, 플레이리스트, OS 미디어 컨트롤 연동)
🔐 보안 및 권한 관리
- 사용자별 계정 및 권한 설정 (읽기/쓰기/삭제/관리자)
- 볼륨별 세부 권한 제어
- IP 기반 자동 로그인, Identity Provider 연동 지원
🌍 네트워크 기능
- Zeroconf/mDNS를 통한 LAN 내 자동 발견
- QR 코드를 통한 빠른 접속
- 리버스 프록시 지원, Cloudflare 터널 호환
설치 및 사용법
빠른 시작
# SFX 버전 다운로드 및 실행 (권장)
curl -LO https://github.com/9001/copyparty/releases/latest/download/copyparty-sfx.py
python3 copyparty-sfx.py
# PyPI를 통한 설치
python3 -m pip install --user -U copyparty
# Docker 사용
docker run --rm -it copyparty/ac
권장 의존성 설치
# 썸네일, 미디어 인덱싱, 오디오 트랜스코딩을 위한 추가 패키지
# Ubuntu/Debian
apt install --no-install-recommends python3-pil ffmpeg
# Alpine
apk add py3-pillow ffmpeg
# macOS
brew install pillow ffmpeg
# Windows
python -m pip install --user -U Pillow
# FFmpeg는 별도 수동 설치 필요
기본 서버 시작
# 현재 폴더를 모든 사용자에게 읽기/쓰기 권한으로 공유
python3 copyparty-sfx.py
# 권한 설정이 포함된 예시
python3 copyparty-sfx.py -v /mnt/music:/music:r:rw,foo -a foo:bar
# /mnt/music을 /music으로 마운트, 모든 사용자 읽기 권한, foo 사용자는 읽기/쓰기
설정 파일 사용 예시
[accounts]
admin: secretpass
guest: guestpass
[/]
/srv/files
accs:
r: * # 모든 사용자 읽기 권한
rw: admin # 관리자만 쓰기 권한
[/music]
/mnt/music
accs:
r: *
rw: admin
flags:
e2ts # 음악 메타데이터 인덱싱 활성화
grid # 그리드 뷰 기본 활성화
웹 브라우저 인터페이스
주요 탭 기능
[🔎]검색: 크기, 날짜, 경로/파일명, MP3 태그 등으로 검색[🧯]unpost: 업로드 취소/삭제[🚀]up2k: 고급 resumable 업로더[🎈]bup: 기본 업로더 (IE6+ 호환)[📂]mkdir: 디렉토리 생성[🎺]오디오 플레이어 설정[⚙️]일반 클라이언트 설정
핵심 단축키
B: 브레드크럼/네비게이션 패널 토글G: 리스트/그리드 뷰 토글T: 썸네일/아이콘 토글P: 오디오 재생/일시정지J/L: 이전/다음 트랙F2: 파일/폴더 이름 변경Ctrl-X/C/V: 잘라내기/복사/붙여넣기
고급 기능
- Zip/Tar 다운로드: 폴더나 선택된 파일들을 압축 파일로 다운로드
- Markdown 뷰어/편집기: 실시간 프리뷰와 변수 확장 지원
- 텍스트 파일 뷰어: 실시간 로그 스트리밍 (
tail -f기능) - RSS 피드: 폴더를 RSS로 모니터링 (팟캐스트 메타데이터 포함)
비교 분석
| 특징 | Copyparty | Nextcloud | Seafile |
|---|---|---|---|
| 설치 복잡도 | 단일 파일 실행 | 복잡한 LAMP 스택 | 중간 복잡도 |
| 시스템 리소스 | 매우 가벼움 | 무거움 | 중간 |
| Resumable 업로드 | ✅ (up2k) | ✅ | ✅ |
| 파일 중복제거 | ✅ | ❌ | ❌ |
| 멀티 프로토콜 | HTTP/WebDAV/FTP/TFTP/SMB | HTTP/WebDAV | HTTP |
| 미디어 인덱싱 | ✅ (FFmpeg 기반) | 제한적 | 제한적 |
| 오디오 플레이어 | ✅ (고급 기능) | 기본적 | 기본적 |
| 브라우저 호환성 | IE6+ (모든 브라우저) | 모던 브라우저만 | 모던 브라우저만 |
참고
- github: https://github.com/9001/copyparty
- releases: https://github.com/9001/copyparty/releases
- demo server: https://a.ocv.me/pub/demo/ (읽기 전용)
- documentation: https://github.com/9001/copyparty/blob/hovudstraum/docs/
- comparison: https://github.com/9001/copyparty/blob/hovudstraum/docs/versus.md
- discord: https://discord.gg/25J8CdTT6G
- android app: https://github.com/9001/party-up
