Torrust-Actix 追蹤器
項目描述
Torrust-Actix Tracker 是一款使用 Rust 製作的輕量級但極其強大且功能豐富的 BitTorrent Tracker。
目前,它在 https://www.gbitt.info/ 上得到積極使用。
該專案源自於最初由 Mick van Dijke 開發的 Torrust-Tracker 程式碼,由 Power2All 進一步開發,作為 OpenTracker 和 GitHub 上提供的其他追蹤器程式碼的替代方案。
特徵
實施的 BEP
- BEP 3:BitTorrent 協議
- BEP 7:IPv6 支持
- BEP 15:BitTorrent 的 UDP 追蹤協議
- BEP 23:追蹤器傳回緊湊的對等點列表
- BEP 41:UDP 追蹤器協定擴展
- BEP 48:追蹤器協定擴充:Scrape
入門
您可以從版本中取得最新的二進位檔案或按照下面的從頭開始安裝說明進行操作。
從頭開始安裝
- 克隆儲存庫:
git clone https://github.com/Power2All/torrust-actix.git
cd torrust-actix
- 使用 Rust 建立原始程式碼(確保您已經安裝了帶有 stable 分支的 rustup)
使用建置腳本
用法
使用--help
參數運行程式碼以在您的環境中使用:
./target/release/torrust-actix --help
在運行伺服器之前,您需要關閉持久性,並在啟用後確保資料庫已建立並正常運作。請參閱上面的說明參數,以了解如何根據需要修復您的設定。
引入了 Swagger UI,當在配置中啟用時,可以透過/swagger-ui/
透過 API 進行存取。
引入了 Sentry.io 支持,您可以在配置和將資料推送到的 URL 中啟用它。
變更日誌
v4.0.4
v4.0.3
- 修復公告和抓取路徑,因為這是錯誤的方式。
- 修復各種較小的錯誤,這些錯誤不會破壞應用程序,但應該得到更好的處理。
- 新增了對 Sentry.io SaaS 和自架設定的支援。
- v4.1.0 版本的準備工作,將引入對中間件的 LUA 支援。
v4.0.2
- 新增了系統將從資料庫中刪除資料的選項。
- 新增了白/黑名單和金鑰表的更新變數。
- 重新命名“資料庫”命名,應為“表”。
- 我偶然發現了很多修復和錯誤。
v4.0.0
- 完全重建了追蹤器程式碼,以提高可讀性。
- 移至 Actix v4,因此該軟體的版本也為 v4.0.0。
- 按照建立設定檔的方式重建和重新製作(您需要將命令作為其參數)。
- 重做了整個資料庫系統,並使用目前可用的最新版本進行了測試。
- API經過了大量的工作和測試。
- 引入了 Swagger UI 作為測試和文件。
- 速度和性能方面的許多改進進一步得到應用。
- 新增了匯入和匯出功能,將從 JSON 檔案轉儲或匯入,方便從現有資料庫進行備份或遷移到其他資料庫引擎時。
- 刪除了 WebGUI,它已經過時並且沒有真正的用處。
v3.2.2
- 顯著提高了庫版本,包括安全性補丁。
- 修復了庫中的更改以正常工作。
- 調整非持久性程式碼以使用更少的記憶體。
v3.2.1
- 碰撞庫版本,包括安全性修補程式。
- 修正了 PostgreSQL 處理程序中的錯誤。
- 有些人忘記了從 Torrust-Axum 到 Torrust-Actix 的命名。
v3.2.0
- 碰撞庫版本。
- 修改了透過線程完成調度的方式,它可以鎖定並減慢活動頻繁的公共追蹤器。
- 調整 SQLite3 資料庫使用量和資料庫空間消耗。
- 對種子和同級在記憶體中的使用方式進行全面檢查。使用 Crossbeam SkipMap 進行線程安全的非鎖定記憶體共享。
- 對編碼效能、可讀性和文件檢查進行了一些改進。
- 將 Tokio Axum Web 框架替換為 Actix,原因:缺少諸如連接逾時、斷開連接、讀取和寫入等關鍵功能,並且支援乏善可陳。
- 將 github 儲存庫從 torrust-axum 重新命名為 torrust-actix。
- 使用額外的密鑰添加用戶追蹤支援。
v3.1.2
- 碰撞庫版本。
- 新增了行為準則文件,因為一些開源專案需要此文件。
- 為 API 和 WebGUI 新增了維護切換功能。
- 當設定檔不存在或包含無效資料時,不會產生設定文件,除非使用「--create-config」參數強制。
- 修復了各種小錯誤。
v3.1.1
- 碰撞庫版本。
- SQLite3、MySQL 和 PostgreSQL 資料庫現在可以與所有表正常工作,並且如果啟用則將使用。
- UDP 在 IPv4 中存在問題,修復了正確解析位元組數組的程式碼。
- 清理和重構一些冗餘程式碼。
- 在需要時添加一些小檢查以防止錯誤。
v3.1.0
- 白名單系統:您可以啟用此功能以僅允許使用您在資料庫中指定的 torrent 雜湊值,或透過 API 新增它們。
- 黑名單系統:您可以啟用此功能以禁止使用您在資料庫中指定的 torrent 雜湊值,或透過 API 新增它們。
- 金鑰系統:您可以啟用此功能,僅在給出啟動的「金鑰」雜湊(與 info_hash 相同,20 個位元組或 40 個十六進位字元)時允許追蹤。超時為零“0”的按鍵將是永久的,不會被清除清除。
- WebGUI:API 有一個可用的 Web 介面,可以透過 https://your.api:8080/webgui/ 存取並提供正確的 API 金鑰(您可以在設定檔中配置該金鑰)。
- 可以在設定檔中給出可自訂的資料庫結構。
- 該系統現在也可透過 Docker Hub 使用:https://hub.docker.com/r/power2all/torrust-axum
v3.0.1
- 錯誤修正
- 新增了 SQLite3 支援
- 新增了 MySQL 支持
- 新增了 PostgresSQL 支持
v3.0.0
Torrust-Axum 的初始版本。
製作人員
這款 Torrust-Tracker 是 Nautilus Cyberneering GmbH、Dutch Bits 和 Power2All 的共同成就。也要感謝 Naim A. 和Greatest-ape 提供了 Torrust-Tracker 程式碼中的某些部分。該專案 (Torrust-Actix) 是由 Power2All 從頭開始建立的。