2025. 8. 7. 11:21

개요

  • 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+ (모든 브라우저) 모던 브라우저만 모던 브라우저만

참고

Posted by zerolive