BitTorrent 프로토콜 데몬
btpd
는 BitTorrent 네트워크 프로토콜을 통해 파일을 공유하는 유틸리티입니다. 데몬 모드에서 실행되므로 터미널이나 GUI를 제어할 필요가 없습니다. 대신 데몬은 btcli, 해당 명령줄 유틸리티 또는 제어 소켓에서 명령과 쿼리를 보낼 수 있는 기타 프로그램에 의해 제어됩니다.
btpd
다음 프로그램으로 구성됩니다.
btpd
- 비트토렌트 클라이언트.btcli
- btpd에 대한 명령줄 인터페이스입니다.btinfo
- 토렌트 파일의 정보를 표시합니다. 모든 프로그램은 --help
옵션을 허용합니다.
btcli
유틸리티에는 여러 가지 작동 모드가 있습니다. btcli
실행할 때 다음 명령 중 하나를 지정해야 합니다.
add
- btpd에 토렌트를 추가합니다.del
- btpd에서 토렌트를 제거합니다.kill
- btpd를 종료합니다.list
- 토렌트 목록을 나열합니다.rate
- 글로벌 업 및 다운로드 속도를 KB/s 단위로 설정합니다.start
- 급류를 활성화합니다.stat
- 활성 토렌트에 대한 통계를 표시합니다.stop
- 토렌트를 비활성화합니다. btpd와 토렌트 공유를 시작하려면 토렌트를 btpd에 추가해야 합니다. 이는 btcli add
사용하여 수행됩니다. 토렌트를 자동으로 추가하면(달리 지정하지 않은 경우) 토렌트를 공유하고 누락된 데이터를 다운로드하기 시작합니다. 토렌트를 추가할 때 지정하는 콘텐츠 디렉터리가 존재할 필요는 없습니다. btpd에 의해 생성됩니다.
btcli list
사용하면 btpd에 어떤 토렌트가 추가되었는지 확인할 수 있습니다. list 명령은 추가된 각 토렌트의 번호도 표시합니다. 이 번호는 btcli 명령에 대한 대상 토렌트를 지정하는 데 사용될 수 있으므로 토렌트 파일을 추가한 후에는 보관할 필요가 없습니다.
btcli stat
명령을 사용하여 업로드 및 다운로드 진행 상황을 확인할 수 있습니다. list 및 stat 명령은 모두 다음 표시기를 사용하여 토렌트 상태를 표시합니다.
+
- 토렌트가 시작됩니다. btpd가 이 토렌트의 내용을 테스트해야 하거나 이전에 시작된 토렌트의 내용을 테스트해야 하는 경우 시간이 걸릴 수 있습니다.-
- 토렌트가 중지되고 있습니다.I
- 토렌트가 비활성화되었습니다.S
- btpd가 토렌트를 시드하고 있습니다.L
- btpd가 급류를 흡수하고 있습니다. btcli stop
사용하여 활성 토렌트를 중지할 수 있으며 물론 btcli start
사용하여 비활성 토렌트를 시작할 수 있습니다.
btcli del
명령은 토렌트 공유를 완전히 마친 경우에만 사용해야 합니다. 이 명령은 btpd에서 토렌트 및 관련 데이터를 제거합니다. 완전히 다운로드되지 않은 토렌트를 제거한 다음 다시 추가하는 것은 특히 나쁜 생각입니다. 왜냐하면 btpd는 완전히 다운로드되지 않은 부분에 대한 정보를 잃어버리고 데이터를 다시 다운로드해야 하기 때문입니다.
btpd를 종료하려면 btcli kill
사용하십시오. btcli의 각 명령에 대한 도움말을 읽는 것을 잊지 마십시오.
참고: 공유하려는 토렌트 수에 관계없이 btpd 인스턴스는 하나만 필요합니다.
기본 설정으로 btpd를 시작하려면 실행하기만 하면 됩니다. 그러나 사용할 수 있는 유용한 옵션이 많이 있습니다. 전체 목록을 보려면 btpd --help
실행하세요. 달리 지정하지 않은 경우 btpd는 마지막으로 종료되었을 때와 동일한 활성 토렌트 세트로 시작됩니다.
btdp는 정보를 저장하고 $HOME/.btpd
에 로그를 기록합니다. 따라서 실행 중에 거기에 쓸 수 있어야 합니다. -d
옵션이나 $BTPD_HOME
변수를 통해 다른 디렉터리를 지정할 수 있습니다.
최대 업로드 수를 지정하는 것이 좋습니다. Bittorrent는 tit for tat 알고리즘을 사용하므로 좋은 속도로 업로드하면 다운로드가 가능합니다. 업로드/발신 대역폭과 활성 토렌트 수 사이의 균형을 찾으십시오.
모든 옵션을 기본값으로 설정하여 btpd를 시작합니다.
# btpd
btpd를 시작하고 포트 12345에서 수신 대기하도록 하고, 나가는 대역폭을 200kB/s로 제한하고, 피어 수를 40으로 제한하고, btpd가 마지막으로 종료되었을 때 활성화된 토렌트를 시작하지 않도록 합니다.
# btpd -p 12345 --bw-out 200 --max-peers 40 --empty-start
btpd의 토렌트 목록과 그 수, 크기, 상태 등을 표시합니다.
# btcli list
위와 동일하지만 torrent 12 및 my.little.torrent에만 해당됩니다.
# btcli list 12 my.little.torrent
위와 동일하지만 활성 토렌트에만 해당됩니다.
# btcli list -a
위와 동일하지만 사용자 정의 형식을 사용하여 인쇄합니다.
# btcli list -a -f "btcli list -f "%nt%#t%p%st%rn"
foo.torrent.d 컨텐츠 디렉토리와 함께 foo.torrent를 추가하고 시작하십시오.
# btcli add -d foo.torrent.d foo.torrent
시작하지 않고 위와 동일합니다.
# btcli add --no-start -d foo.torrent.d foo.torrent
bar.torrent 및 torrent 번호 7을 시작합니다.
# btcli start bar.torrent 7
토렌트 7번을 중지하세요.
# btcli stop 7
모든 활성 토렌트를 중지합니다.
# btcli stop -a
bar.torrent를 제거하고 btpd에서 관련 정보를 삭제하세요.
# btcli del bar.torrent
활성 토렌트에 대한 업/다운로드 통계 요약을 표시합니다.
# btcli stat
5초마다 한 번씩 요약을 표시합니다.
# btcli stat -w 5
위와 동일하지만 각 활성 토렌트에 대한 개별 통계도 표시합니다.
# btcli stat -w 5 -i
글로벌 업로드 속도를 20KB/s로, 다운로드 속도를 1MB/s로 설정합니다.
# btcli rate 20K 1M
btpd를 종료합니다.
# btcli kill
알 수 없는 이유로 btpd가 종료된 경우 로그 파일에서 가능한 단서를 확인하십시오.
BSD, Linux 또는 충분히 유사한 시스템이 있어야 합니다.
다음 소프트웨어의 최신 버전이 있는지 확인하십시오.
c99 컴파일러도 필요합니다. 골동품이 아닌 GCC가 필요합니다.
doc
에 있는 매뉴얼을 열려면 man-pages
설치되어 있어야 합니다.
# ./configure
# make
# make install
위의 작업이 실패할 경우 사용 가능한 빌드 옵션은 ./configure --help
참조하세요.
btpd 0.11부터 btpd 디렉토리의 torrents 디렉토리 레이아웃이 변경되었습니다. 이후 버전을 실행하기 전에 torrents 디렉토리를 제거하십시오.
btpd가 종료되기 전에 추적기에 중지 메시지를 보내야 하는 경우 사전 종료 모드로 들어갑니다. 이 모드의 btpd 프로세스는 안전하게 무시될 수 있으며 동일한 디렉터리에서 시작된 새로운 btpd를 방해하지 않습니다.
불행하게도 btpd에서 IPv6과 IPv4를 모두 활성화하는 것은 예상보다 덜 유용합니다. 문제는 일부 사이트에 두 버전 모두에 대한 추적기가 있고 피어 수가 더 적은 IPv6 사이트가 IPv4 사이트를 선호하여 사용될 가능성이 높다는 것입니다.
이 문제를 해결하려면 btpd의 향후 버전에서 IP 버전 옵션을 토렌트별로 변경해야 합니다.
도움을 받거나 기여하거나 인사하기 위해 연락하고 싶다면 주저하지 말고 freenode의 IRC 채널 #btpd를 방문하세요.