-
ExTracker는 Elixir 기반의 새로운 BitTorrent 트래커 프로젝트임
-
높은 성능과 낮은 메모리 사용량을 기반으로 설계되었으며, 사실상 제로 셋업으로 바로 사용 가능함
-
BitTorrent 프로토콜(BEP) 의 여러 확장 제안서 지원으로 다양성과 호환성 제공함
-
HTTPS 지원, 디스크 백업, 운영 관리 기능 등 실무에 필요한 주요 기능을 포함함
- 현재는 산업적 사용에는 미완성 단계이지만 테스트 인스턴스가 실제 운영 중임
개요 및 프로젝트 중요성
ExTracker는 Elixir로 구현된 새로운 BitTorrent 트래커 오픈 소스 프로젝트로, 기존 트래커들에 비해 다음과 같은 이점을 제공함
-
최신 Erlang/Elixir 런타임 기반으로, 멀티코어를 모두 활용하는 고성능 구조를 가짐
- 대규모 피어 환경(약 1백만 피어당 200MB RAM)에서 낮은 메모리 사용량을 보장함
- 복잡한 사전 설정 없이 즉시 작동하는 제로 셋업 환경 제공
- 여러 BitTorrent Enhancement Proposal(BEP) 지원으로 최신 트래커 표준과 호환성 유지함
기존 트래커 대비 가볍고 효율적이며, Elixir 고유의 동시성 및 분산 환경 지원을 최대한 활용하여 동급 오픈 소스 프로젝트와 차별화됨
주요 기능 (Features)
-
고성능: 모든 CPU 코어 활용, 인메모리 저장소 사용
-
메모리 최적화: 피어 1백만 명당 약 200MB RAM 사용
-
제로 셋업: 아무런 추가 설정 없이 바로 실행 가능
지원하는 BitTorrent Enhancement Proposals (BEP)
-
BEP 0: BitTorrent 프로토콜 명세 준수
-
BEP 15: UDP 트래커 프로토콜 지원
-
BEP 23: 압축된 피어 리스트 반환
-
BEP 7: IPv6 트래커 확장
-
BEP 24: 외부 IP 반환
-
BEP 41: UDP 트래커 프로토콜 확장
-
BEP 48: Scrape 트래커 확장 (부분 지원)
-
BEP 52: BitTorrent 프로토콜 v2
- 일부 기능(BEP 27, 21, 31 등)은 미구현이거나, 계획 중임
- BEP 8(트래커 피어 난독화)은 지원하지 않음
기타 기능
-
HTTPS 연결 지원
-
디스크 백업 (데이터 안전성 강화)
- (예정) Infohash 화이트리스트/블랙리스트 관리
- (예정) 피어 관리: 권한, 정기 정리, 퇴출 등
- (예정) 메트릭/지표 관리 및 GeoIP 활용
- WebTorrent는 지원 계획 없음
사용자/개발자의 제안사항을 Issue로 접수받음
실행 방법
-
소스 코드 직접 실행
- Erlang 및 Elixir 필요
- 저장소 클론 후 환경설정, 실행
-
릴리즈 방식
- 공식 릴리즈는 없지만 직접 빌드 및 배포 방식 지원
- 릴리즈 파일 복사, 환경설정 후 실행
-
Docker
- 공식 컨테이너 이미지 사용 가능
- docker-compose 예시 파일 제공
- 컨테이너 내부 설정은 환경 변수 이용 권장
저작권 및 라이선스
- Copyright (c) Dahrkael <dahrkael at outlook dot com>
- Apache License 2.0 하에 배포
- 라이선스 상세 내용은 저장소의 LICENSE 파일 참고