BitTorrent 協定守護程式
btpd
是一個透過 BitTorrent 網路協定共享檔案的實用程式。它以守護程序模式運行,因此不需要控制終端或 GUI。相反,守護程序由 btcli、其命令列實用程式或能夠在控制套接字上發送命令和查詢的其他程式控制。
btpd
由以下程序組成:
btpd
- BitTorrent 用戶端。btcli
- btpd 的命令列介面。btinfo
- 顯示 torrent 檔案中的資訊。所有程式都接受--help
選項。
btcli
實用程式有幾種不同的操作模式。執行btcli
時必須指定下列命令之一:
add
- 將 torrent 加入到 btpd。del
- 從 btpd 中刪除 torrent。kill
- 關閉 btpd。list
- 列出種子。rate
- 設定全域下載速率(以 KB/秒為單位)。start
- 激活種子。stat
- 顯示活動種子的統計資料。stop
- 停用種子。 要開始與 btpd 共用 torrent,需要將 torrent 新增至 btpd。這是透過btcli add
完成的。當您自動新增 torrent 時(如果您沒有另外指定),btpd 會開始共用 torrent 並下載任何遺失的資料。新增 torrent 時指定的內容目錄不需要存在;它將由 btpd 創建。
您可以使用btcli list
查看哪些種子已加入 btpd 中。 list 指令也會顯示每個新增的 torrent 的編號。該數字可用於指定 btcli 命令的目標 torrent,因此在新增 torrent 檔案後無需保留它。
可以使用btcli stat
指令追蹤上傳和下載進度。 list 和 stat 指令都使用下列指示器來顯示 torrent 的狀態:
+
- 洪流正在開始。如果 btpd 需要測試此 torrent 或先前啟動的 torrent 的內容,這可能需要一些時間。-
- 洪流正在停止。I
- 激流不活躍。S
- btpd 正在為 torrent 播種。L
- btpd 正在竊取種子。您可以使用btcli stop
停止活動的 torrent,當然也可以使用btcli start
啟動不活動的 torrent。
僅當您完全完成 torrent 共用時才應使用btcli del
指令。該命令將從 btpd 中刪除 torrent 及其關聯資料。刪除未完全下載的 torrent 然後再次添加它是一個特別糟糕的主意,因為 btpd 丟失了未完全下載的片段的信息,並且需要再次下載數據。
若要關閉 btpd,請使用btcli kill
。不要忘記閱讀每個 btcli 指令的幫助。
注意:無論您想要共用多少 torrent,您都應該只需要一個 btpd 實例。
要使用預設設定啟動 btpd,您只需運行它。但是,您可能想要使用許多有用的選項。要查看完整列表,請執行btpd --help
。如果您沒有另外指定,btpd 將以與上次關閉時相同的一組活動 torrent 啟動。
btdp 將儲存資訊並將其日誌寫入$HOME/.btpd
。因此它需要能夠在執行期間在那裡寫入。您可以透過-d
選項或$BTPD_HOME
變數指定另一個目錄。
我建議指定最大上傳數量。 Bittorrent 採用針鋒相對的演算法,因此以良好的速率上傳可以進行下載。試著在上傳/傳出頻寬和活動種子數量之間找到平衡。
啟動 btpd,並將所有選項設為預設值。
# btpd
啟動 btpd 並使其偵聽連接埠 12345,將傳出頻寬限制為 200kB/s,將對等點數量限制為 40,並且不啟動上次關閉 btpd 時活動的任何 torrent。
# btpd -p 12345 --bw-out 200 --max-peers 40 --empty-start
顯示 btpd 的 torrent 清單及其數量、大小、狀態等。
# 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,內容為 foo.torrent.d,然後啟動它。
# btcli add -d foo.torrent.d foo.torrent
與上面相同,無需啟動。
# btcli add --no-start -d foo.torrent.d foo.torrent
啟動 bar.torrent 和 7 號種子。
# btcli start bar.torrent 7
停止 7 號種子。
# btcli stop 7
停止所有活動的種子。
# btcli stop -a
從 btpd 中刪除 bar.torrent 及其相關資訊。
# btcli del bar.torrent
顯示活動種子的上傳/下載統計資料摘要。
# btcli stat
每五秒顯示一次摘要。
# btcli stat -w 5
與上方相同,但也顯示每個活動 torrent 的單獨統計資料。
# 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 目錄中 torrent 目錄的佈局已變更。請在運行更高版本之前刪除 torrent 目錄。
如果 btpd 在關閉之前需要向追蹤器發送停止訊息,它將進入預退出模式。可以安全地忽略此模式下的 btpd 進程,並且不會幹擾在同一目錄中啟動的任何新 btpd。
不幸的是,在 btpd 中同時啟用 IPv6 和 IPv4 並沒有應有的用途。問題在於,有些網站同時擁有這兩種版本的追蹤器,並且可能會使用 IPv6 版本(其對等點可能較少)來取代 IPv4 版本。
為了解決這個問題,在 btpd 的未來版本中,IP 版本選項應該會變更為每個 torrent。
如果您希望聯繫以獲得協助、貢獻或只是打個招呼,請隨時造訪我們在 freenode 上的 IRC 頻道#btpd。