媒介

做为在“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官方的更新日记https://github.com/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 ("fast", "full", default: "fast") 新添加的种子能否在添加时对当地数据停止全面验证,仍是期待稍后按需验证。

关于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相当重要!

新功用实测开源BT下载软件Transmission发布4.0版正式版原生支持快校功能  第1张

▲ 前端Web UI完全重写,利用现代简约气概,自适应挪动端

快速校验和跳过校验关于PT玩家仍是相当重要的,出格是若是Transmission卸载重拆、多站辅种或从其他软件下载的文件转移使命到Transmission,若是重拆前没有备份做种信息,原使命想要继续做种混上传,在从头添加使命后,Transmission是会对所有使命逐个做校验,关于PT做种的“大户人家”,少说上百个、多则几千个以至上万个做种使命,加上Transmission单线程性能,重拆后逐个校验阿谁时间完满是能够急疯人的!且长时间疯狂读取硬盘也对硬盘寿命有所影响,那也是为什么良多玩家不吝逼上梁山也要找所谓的“快校版”、“跳过校验”版本的魔改Transmission。

用了一个简单的比照实测,来看看官方原生的快校效果若何:

开源BT下载软件Transmission发布4.0版正式版原生支持快校功能  第2张

▲ 新添加使命,下载途径指向当地已有准确文件的目次,测试用的Ubuntu 20.04.4的系统镜像文件,文件大小3.14GB,Transmission 4.0几秒钟即从校验形态变成“已暂停”,看来官方关于该功用仍是相对“守旧”,不会间接更改为“正在做种”形态,后续用户能够自行选择起头使命停止做种,仍是对使命停止完好校验。

模仿一下数据不一般的情况,看看“快校”若何处置:

开源BT下载软件Transmission发布4.0版正式版原生支持快校功能  第3张

▲ 把原Ubuntu 20.04.4文件改名备份,将一个旧版的Ubuntu 20.04通过复造、改名,将其冒充Ubuntu 20.04.4文件(文件大小差别,但时间早于.torrent种子文件),再在前端手动添加Ubuntu 20.04.4的种子文件。

成果是,Transmission 4.0在几秒钟的快速校验后,使命形态间接变成“下载中”,且下载过程不会再生成.part的临时文件,而是间接将下载数据写入冒充的Ubuntu 20.04.4文件中。

开源BT下载软件Transmission发布4.0版正式版原生支持快校功能  第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用户需要安拆包文件,能够存眷后,私信发送“威联通transmission”,主动获取下载地址。

其他品牌NAS若是需要体验的话,能够通过docker体例尝鲜。

点评总结

Transmission老玩家应该都领会,Transmission的更新频次大要是2年一更,但是从Transmission 4.0的更新日记中来看,代码库C迁徙到C++,精简代码、重构和利用SemVer版本控造来看,后续Transmission的版本更新可能会加快频次;

用户期盼多年的”快校/跳过校验“功用末于落地,再也用四处找寻魔改的Transmission,“trackers添加”也有助于BT玩家进一步提拔下载体验,固然那两个功用在其他BT下载软件可能早已实现多年,但是关于Transmission来说却是及其重要的功用更新!