transmission 群暉transmission設置
前言
作為在“BT/PT界”很有名氣的Transmission,在2023年初發布Transmission 4.0-beta.3測試版本后,2月8日Transmission官方在GitHub上終于發布了正式版的Transmission 4.0源碼,在官方更新日志中看到了許多新的特性和功能,其中最引人矚目的則是,看到了和校驗相關的新參數,原生支持快校、跳過校驗功能;以及支持默認trackers預設,這兩項對于經常使用Transmission的玩家來說,可謂是相當重要!雖然其它軟件早已實現,但是對于PT做種的“大戶人家”來說,Transmission的低占用特性還是相當受歡迎的。所以本文就分享一下新功能的特性和實測,以及當前NAS的支持情況。
Transmission 4.0正式版新特性
- 整個代碼庫已從 C 遷移到 C++。在此過程中,我們刪除了數千行自定義代碼并改用標準 C++ 工具。核心代碼縮減了 18%。核心代碼庫已進行了廣泛的重構,以提高可測試性和可維護性;
- 從 4.0.0-beta.1 開始,Transmission 版本現在使用SemVer版本控制。
- 全新的Web 前端,改用 Javascript 重寫,不再使用老舊的 jQuery UI,支持黑暗模式,且對移動端進行了適配兼容;
- 支持使用BitTorrent v2種子和混合種子。(對創建v2 和混合種子的支持計劃在即將發布的版本中提供)
- 新添加的種子是否在添加時完全驗證本地數據,或者稍后按需驗證; *重要特性
- 用戶現在可以在設置中預設默認的公共tracker追蹤服務器; *重要特性
- 現在支持 IPv6 黑名單;
- 添加了一個選項以在創建新種子時可以匿名忽略身份信息(例如用戶代理和創建日期);
- 創建新種子時,用戶現在可以指定片段大小;
更多細節,可以查看Transmission官方的更新日志http://github.com/origin/transmission/transmission/releases/
新功能解析
Mojelly在NAS上安裝完Transmission 4.0后,想了解一下和Transmission 3.0有什么不同,所以就對比兩個版本的settings.config配置文件,發現了兩個比較感興趣的新參數torrent-added-verify-mode和default-trackers,單從字面上可以理解為,種子添加驗證模式和默認trackers。
快校&跳過校驗
先了解一下驗證模式,正式名稱為散列檢測,也叫數據校驗,目的為了保證添加的新任務和本地已存在的文件是完全一致的,軟件才會認為任務是完成狀態,用以做種對外提供數據上傳時保證文件的準確性,以往Transmission版本是會對任務強制做完整校驗的。
關于種子校驗模式在Transmission的GitHub主頁里找到了具體介紹:
torrent-added-verify-mode: String (&34;fast&34;, &34;full&34;, default: &34;fast&34;) 新添加的種子是否在添加時對本地數據進行全面驗證,還是等待稍后按需驗證。
關于torrent-added-verify-mode這個參數有兩個可用選項,默認為fast,快速模式;可選為full,即完整校驗模式,后者則舊版本默認方式,新加任務后,設定的下載目錄已有同名文件,則直接做完整校驗。
在翻閱Transmission的GitHub資料發現了新驗證模式的判斷邏輯:
如果 torrent 滿足所有如下條件時,允許新添加的 torrent 跳過完整的驗證步驟:
* 種子有元數據(即不是磁力鏈接)
* 所有文件都存在
* 所有文件都不是未完成 ( .part) 文件
* 所有文件的大小都與 .torrent 文件中列出的大小相匹配
* 所有文件的時間(上次修改時間的時間戳)都比添加 torrent 的時間早
* 第一段通過校驗和測試
當所有條件都符合時,初始驗證通過且種子被視為完整種子,跳過完整校驗。當對等方請求塊時,各個部分將按需進行惰性檢查。
通過上面的判斷邏輯條件來看,還是相對安全可靠的,但跳過校驗對于PT玩家來說多少可能會有點風險,且新版本、新功能是否被各PT站所兼容、支持尚未可知,建議各位PTer還是謹慎使用或觀望一段時間,看看其他玩家的反饋再決定。
添加默認trackers
先了解一下什么是tracker?又稱為追蹤服務器,它的作用是在你新增任務后,讓任務通過更多的trackers服務器,能夠更快速的找到全網更多同一個任務的做種資源的客戶端,實現各個客戶端進行數據交互,也就能加速資源的下載速度,所以理論上有效的trackers服務器越多下載速度越快。
default-trackers在最新版的前端UI中可以在設置中找到填寫位置,在網上找到大佬們收集的trackerslist列表粘貼進去即可,這個對于PT玩家沒有什么用處,但是對于常規的BT下載玩家,trackers相當重要!
新功能實測
▲ 前端Web UI完全重寫,使用現代簡約風格,自適應移動端
快速校驗和跳過校驗對于PT玩家還是相當重要的,特別是如果Transmission卸載重裝、多站輔種或從其他軟件下載的文件轉移任務到Transmission,如果重裝前沒有備份做種信息,原任務想要繼續做種混上傳,在重新添加任務后,Transmission是會對所有任務逐個做校驗,對于PT做種的“大戶人家”,少說上百個、多則幾千個甚至上萬個做種任務,加上Transmission單線程性能,重裝后逐個校驗那個時間完全是可以急瘋人的!且長時間瘋狂讀取硬盤也對硬盤壽命有所影響,這也是為什么很多玩家不惜鋌而走險也要找所謂的“快校版”、“跳過校驗”版本的魔改Transmission。
用了一個簡單的對比實測,來看看官方原生的快校效果如何:
▲ 新添加任務,下載路徑指向本地已有正確文件的目錄,測試用的Ubuntu 20.04.4的系統鏡像文件,文件大小3.14GB,Transmission 4.0幾秒鐘即從校驗狀態變為“已暫停”,看來官方對于該功能還是相對“保守”,不會直接更改為“正在做種”狀態,后續用戶可以自行選擇開始任務進行做種,還是對任務進行完整校驗。
模擬一下數據不正常的情況,看看“快校”如何處理:
▲ 把原Ubuntu 20.04.4文件更名備份,將一個舊版的Ubuntu 20.04通過復制、更名,將其冒充Ubuntu 20.04.4文件(文件大小不同,但時間早于.torrent種子文件),再在前端手動添加Ubuntu 20.04.4的種子文件。
結果是,Transmission 4.0在幾秒鐘的快速校驗后,任務狀態直接變為“下載中”,且下載過程不會再生成.part的臨時文件,而是直接將下載數據寫入假冒的Ubuntu 20.04.4文件中。
▲ 關于預設默認trackers功能,著名的Tr Web Control前端暫時還沒有更新,所以暫時無法使用這個新特性,只能切回Transmission 4.0自帶的UI前端,在設置(Edit preferences)→網絡(Network)里進行添加。
但是實測發現,這個功能的使用邏輯和qBittorrent的略不同,所有的任務的tracker都”實時“依賴于設置中的”預設trackers“,當設置中的trackers更新或者刪除,那么現有任務的tracker列表也隨之變動。不會像qBittorrent只對添加的任務直接寫入trackers列表,后續更改設置中的tracker不會影響已有任務,而是影響后續新添加的任務。
這個使用邏輯,對需要批量更新所有任務tracker的用戶比較友好,但是要確保使用的trackers都有效,不然反而有副作用,影響現有任務的下載效率。
NAS支持情況
截止NAS研玩社站內發文,主流品牌NAS中,就威聯通擁有了第三方大佬制作的Transmission 4.0專用包,其他品牌NAS如果需要體驗的話,可以通過docker方式嘗鮮。
威聯通NAS安裝包
截止NAS研玩社站內發文,主流品牌NAS中,僅威聯通擁有了第三方大佬制作的Transmission 4.0專用包,威聯通NAS用戶需要安裝包文件,可以關注后,私信發送“威聯通tr”,自動獲取下載地址。
其他品牌NAS如果需要體驗的話,可以通過docker方式嘗鮮。
點評總結
Transmission老玩家應該都了解,Transmission的更新頻率大概是2年一更,但是從Transmission 4.0的更新日志中來看,代碼庫C遷移到C++,精簡代碼、重構和使用SemVer版本控制來看,后續Transmission的版本更新可能會加快頻率;
用戶期盼多年的”快校/跳過校驗“功能終于落地,再也用到處找尋魔改的Transmission,“trackers添加”也有助于BT玩家進一步提升下載體驗,雖然這兩個功能在其他BT下載軟件可能早已實現多年,但是對于Transmission來說卻是及其重要的功能更新!