QNAP+Transmission

QNAP+Transmission

目标

QNAPTS-453Dmini上安装Transmission并进行设置。

硬件及系统

  • QNAPTS-453Dmini
  • 8G内存
  • QTS 5.1.0.1986(2022/03/24)
    QNAP TS-453Dmini

安装 Transmission

  1. 下载:从QNAP商店下载架构为TS-NASX86_64的安装包QTransmission3_3.0.0.2_x86_64.qpkg1
  2. 安装:QTSAPPCenter,点击右上角的手动安装,通过浏览选定刚刚下载的qpkg文件后点击安装,等待安装完成。2

安装 Transmission Web Control

  1. 下载:从QNAP商店下载架构为TS-NASX86_64的安装包TransmissionWC_1.6.1_x86_64.qpk1
  2. 安装:QTSAPPCenter,点击右上角的手动安装,通过浏览选定刚刚下载的qpkg文件后点击安装,等待安装完成。2

启动 Transmission

QTS中启动TransmissionTransmission web control

登录 Transmission

QTS中点击左上角的主菜单(三条横线)图标,找到Transmission,单击打开,或者也可以直接通过网址nas ip:49092 打开,用户名和密码均为qnap

配置 Transmission

  1. 启用QTSssh连接:主菜单>>控制台>>网络文件服务>>Telnet/SSH,勾选允许SSH连接(只有管理员群组可远程登陆)后点击应用;
  2. 建立 SSH 连接:通过CMD或专门的ssh连接管理软件,例如 finalshell,远程连接 QTS
  3. 停止运行transmission
  4. 使用vim 打开配置文件:
sudo vim /share/CACHEDEV1_DATA/.qpkg/QTransmission3/etc/settings.json

其中各参数含义如下,注意:json 并不支持注释,下文代码块中的 #注释只是为了方便说明3

{
    "alt-speed-down": 50,  # 限速时段下载限速值
    "alt-speed-enabled": false,  
    "alt-speed-time-begin": 540,
    "alt-speed-time-day": 127,  # 时段限速日期(星期几),127 表示每天,
    # 更复杂配置参考官网。用 7 位二进制数表示,然后转换成十进制数,
    # 0000001 表示周日,1000000 表示周六,0000010 表示周一,
    # 0000100 表示周二。如果你只要在周末限速,该数应该 1000001,
    # 转换为十进制就是 65
    "alt-speed-time-enabled": false, # 启用限速,为 false 时,以上计划配置则不生效,
    # 生效时会自动禁用 alt-speed-enabled 配置,二者只能选一个
    "alt-speed-time-end": 1020,  # 限速时段结束时间,这个配置表示的是凌晨零点到
    # 开始时间的分钟数,比如 7:00(nas系统里的时间) 就是 7*60=420"alt-speed-up": 50,  # 限速时段上传限速值,单位KB/S
    "bind-address-ipv4": "0.0.0.0",  # IPv4 地址绑定,一般不要改动
    "bind-address-ipv6": "::",  #IPv6 地址绑定,一般不要改动
    "blocklist-enabled": false,  # 启动白名单,默认不启动,需要启动改为 true
    "blocklist-url": "http://www.example.com/blocklist",
    "cache-size-mb": 1024,  #缓存大小,以 MB 为单位,建议设大一些,
    # 避免频繁读写硬盘而伤硬盘,建议设为内存大小的 1/61/4
    "dht-enabled": true,  #关闭 DHT(不通过 tracker 寻找节点)功能,
    # 不少 PT 站的要求,但 BT 下载设置为 true 会使得下载更好
    "download-dir": "/share/Public",  #下载的内容存放的目录
    "download-queue-enabled": true,  # 下载队列开关
    "download-queue-size": 5,  # 下载队列数量
    "encryption": 1,  # 加密。指定节点的加密模式,默认 1。
    # 0 表示关闭 , 0= 不加密,1= 优先加密,2= 必须加密
    "idle-seeding-limit": 30,
    "idle-seeding-limit-enabled": false,
    "incomplete-dir": "/share/Public",  # 临时文件路径
    "incomplete-dir-enabled": true, 
    "lpd-enabled": false,  #禁用 LDP(本地节点发现,用于在本地网络寻找节点), 不少 PT 站的要求
    "message-level": 2,
    "peer-congestion-algorithm": "",
    "peer-id-ttl-hours": 6,
    "peer-limit-global": 200,  # 全局连接数
    "peer-limit-per-torrent": 50,  # 每个种子最多的连接数
    "peer-port": 51413,  # 传入端口,预设的 port 口
    "peer-port-random-high": 65535,  # 传入端口随机值范围上限
    "peer-port-random-low": 49152,  # 传入端口随机值范围下限
    "peer-port-random-on-start": false,  # 启用随机端口,默认关闭,不建议改为 true
    "peer-socket-tos": "default",  
    "pex-enabled": true, # 是否启用用户交换,默认为 true,关于 PEX,
    # 有兴趣的朋友可参考 http://en.wikipedia.org/wiki/Peer_exchange,对于只用 PT 的朋友,
    # 可以设为 false, 禁用 PEX(节点交换,用于同已与您相连接的节点交换节点名单), 不少 PT 站的要求
    "port-forwarding-enabled": false,  # 启用端口转发(uPnP),如果路由支持并且也开启了 uPnP,
    # 则路由会自动做端口映射,但是需要注意的是如果内网有几台机器同时使用 transmission,
    # 就必须更改 peer-port 值为不一样
    "preallocation": 1,  # 预分配文件磁盘空间,0= 关闭,1= 快速,2= 完全。
    # 建议取 1 开启该功能,防止下载大半了才发现磁盘不够。取 2 时,可以减少磁盘碎片,但速度较慢。
    "prefetch-enabled": false,
    "queue-stalled-enabled": true,
    "queue-stalled-minutes": 30,
    "ratio-limit": 1,  # 分享率限制
    "ratio-limit-enabled": true,  # 启用分享率限制,默认不启用
    "rename-partial-files": true,  #在未完成的文件名后添加后缀.part,false= 禁用
    "rpc-authentication-required": true,  # 远程控制需要验证,默认为需要
    "rpc-bind-address": "0.0.0.0",  # 远程控制地址绑定,允许 IP 通过 RPC 访问,
    # 默认值表示任何地址都可以访问
    "rpc-enabled": true,   # 启用远程控制,默认启用
    "rpc-host-whitelist": "",  # 白名单,如果需要远程访问,最好配置
    "rpc-host-whitelist-enabled": true,  # 是否开启主机白名单
    "rpc-password": "{xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",  #web-ui 的密码,可直接修改,
    # 重新运行或者 reload 服务的时候密码会自动 HASH 增加安全性
    "rpc-port": 49092,  # 默认 web-ui 的 port 口,也是远程控制端口,可自行更改
    "rpc-url": "/transmission/",
    "rpc-username": "qnap",  #默认登入名称,也是远程控制用户名, 默认为 qnap
    "rpc-whitelist": "127.0.0.1",  # 远程控制白名单,默认值为所有地址,支持通配符*,如 192.168.2.*
    "rpc-whitelist-enabled": false,
    "scrape-paused-torrents-enabled": true,
    "script-torrent-done-enabled": false,
    "script-torrent-done-filename": "",
    "seed-queue-enabled": false,
    "seed-queue-size": 10,
    "speed-limit-down": 100,  #平时的下载限速,单位KB/s
    "speed-limit-down-enabled": false,  #启用平时下载限速
    "speed-limit-up": 1000,  #平时上传限速,单位KB/s
    "speed-limit-up-enabled": true,  #启用平时上传限速
    "start-added-torrents": true,
    "trash-original-torrent-files": false,
    "umask": 2,
    "upload-slots-per-torrent": 14,
    "utp-enabled": true,
    "watch-dir": "/share/Public/torrent",  # 监听文件夹目录
    "watch-dir-enabled": true  # 是否监听文件夹,经测试无效

自定义限速时间

目标:每天定时(北京时间20:0023:59)启动限速,上传限速2500 KB/s,下载限速30000 KB/s
注意:json 并不支持注释,下文代码块中的 #注释只是为了方便说明

    "alt-speed-up": 2500,  # 限速时段上传限速值,单位KB/S
    "alt-speed-down": 30000,  # 限速时段下载限速值,单位KB/S
    "alt-speed-enabled": false,  # 启用全局限速
    
    "alt-speed-time-day": 127,  # 时段限速日期(星期几),127 表示每天,
    # 更复杂配置参考官网。用 7 位二进制数表示,然后转换成十进制数,
    # 0000001 表示周日,1000000 表示周六,0000010 表示周一,
    # 0000100 表示周二。如果你只要在周末限速,该数应该 1000001,
    # 转换为十进制就是 65
    "alt-speed-time-begin": 1200,  # 北京时间20点,20*60=1200
    "alt-speed-time-end": 1439,  # 北京时间2359分,24*60-1=1439
    # 限速时段结束时间,这个配置表示的是凌晨零点到
    # 开始时间的分钟数,比如 7:00 就是 7*60=420。
    # 经测试,该时间将同 NAS 当前时间直接进行比较,并不一定是 GMT 时间!!!
    "alt-speed-time-enabled": true, # 启用限速,为 false 时,以上计划配置则不生效,
    # true 表示开启自动限速,则在限速时间段内将会自动启动限速
    # 生效时会自动禁用 alt-speed-enabled 配置,二者只能选一个

效果:在限速时间段内:
Transmission alternative speeds

修改Transmission Web 端口号

  1. 启用QTSssh连接:主菜单>>控制台>>网络文件服务>>Telnet/SSH,勾选允许SSH连接(只有管理员群组可远程登陆)后点击应用;
  2. 建立 SSH 连接:通过CMD或专门的ssh连接管理软件,例如 finalshell,远程连接 QTS
  3. 停止运行Transmission
  4. 使用vim 打开配置文件:
sudo vim /share/CACHEDEV1_DATA/.qpkg/QTransmission3/etc/settings.json
  1. 修改rpc-port
"rpc-port": xxxxx,  # 修改xxxxx为自己的端口号
  1. 使用vim 打开配置文件:
sudo vim /mnt/HDA_ROOT/.config/qpkg.conf
  1. 定位至Transmission并修改:
[QTransmission3]
Status = complete
Name = QTransmission3
Build = 20200626
Display_Name = Transmission
Version = 3.0.0.2
Author = QoolBox
QPKG_File = QTransmission3.qpkg
Date = 2022-01-16
Shell = /share/CACHEDEV1_DATA/.qpkg/QTransmission3/QTransmission3.sh
Service_Port = xxxxx  # 修改xxxxx为自己的端口号
Volume_Select = 3
Install_Path = /share/CACHEDEV1_DATA/.qpkg/QTransmission3
WebUI = /transmission
Web_Port = xxxxx  # 修改xxxxx为自己的端口号
RC_Number = 161
FW_Ver_Min = 4.2.6
FW_Ver_Max = 5.0.0
Enable = TRUE

[TransmissionWC]
Status = complete
Name = TransmissionWC
Build = 20201002
Display_Name = Transmission Web control
Version = 1.6.1
Author = QoolBox
QPKG_File = TransmissionWC.qpkg
Date = 2022-01-16
Shell = /share/CACHEDEV1_DATA/.qpkg/TransmissionWC/TransmissionWC.sh
Install_Path = /share/CACHEDEV1_DATA/.qpkg/TransmissionWC
RC_Number = 162
FW_Ver_Min = 4.2.6
FW_Ver_Max = 5.0.0
Enable = TRUE

使transmission 端口测试显示开启

问题描述

在上述配置文件中指定的"peer-port"transmission同其他peer通信的端口号,在transmission 3.0.0.2中,在QNAP NASQuFirewall中添加该端口的IPV4IPV6的通行规则后,并在路由器中配置端口转发后,transmission web UI中的端口测试仍不通过,具体表现在网页端点击Test the port后,一直显示testing而没结果,而在windows的Transmission Remote GUI 中则会提示http error 400 bad request。但在https://canyouseeme.org/中测试端口是开启的。

错误原因

端口测试会访问portcheck.transmissionbt,但该域名的DNS解析中IPV6优先级高于IPV4,而我们通过IPV4访问会返回正确结果,而通过IPV6访问则会返回HTTP/1.1 400 Bad Request4

$ curl -i -4 http://portcheck.transmissionbt.com/52955  # 我的 peer port 为52955
HTTP/1.1 200 OK
Server: nginx/1.10.3 (Ubuntu)
Date: Sat, 21 May 2022 08:40:37 GMT
Content-Type: text/html; charset=ISO-8859-1
Transfer-Encoding: chunked
Connection: keep-alive

$ curl -i -6 http://portcheck.transmissionbt.com/52955
HTTP/1.1 400 Bad Request
Server: nginx/1.10.3 (Ubuntu)
Date: Sat, 21 May 2022 08:40:50 GMT
Content-Type: text/html; charset=ISO-8859-1
Transfer-Encoding: chunked
Connection: keep-alive

解决办法:

  1. 启用QTSssh连接:主菜单>>控制台>>网络文件服务>>Telnet/SSH,勾选允许SSH连接(只有管理员群组可远程登陆)后点击应用;
  2. 建立 SSH 连接:通过CMD或专门的ssh连接管理软件,例如 finalshell,远程连接 QTS
  3. 运行命令:
sudo vim /etc/hosts
  1. hosts文件尾部添加4
87.98.162.88 portcheck.transmissionbt.com
  1. 再次测试端口,验证结果:
    test port

利用反向代理配置HTTPS访问

登录威联通NAS网页端,控制台>>网络访问>>反向代理,点击添加,规则名称可填写transmission
来源这一部分表示我们从外部将通过哪个域名的哪个端口来经HTTPS访问NAS内部的Transmission,故协议选择HTTPS域名填写访问NAS用的域名,端口填写一个未被NAS内各种服务占用的端口(端口1),访问控制配置文件选择允许所有连接
相反的,目标这一部分表示是我们要通过这个代理来访问NAS内部的哪个服务,这里我们是为了访问Transmission,内部是没有SSL的,故协议选择HTTP主机名保持默认,端口号填写内网中访问Transmission Web UI 的端口号(端口2)。然后点击应用,在反向代理对话框中将列出新添加的Transmission规则,状态已启用。然后再在路由器中配置端口转发,将来源部分填写的端口号(端口1)转发出去,便可通过外网https://domain:端口1访问Transmission Web UI
方向代理 来源
反向代理目标
反向代理结果

ssl 证书验证问题

  • 问题:黄种 could not connect to tracker
  • 解决办法:

方法1. 从 qnapclub 依次安装 QperlCACert,无需重启 transmission, 等待片刻便可连接 https tracker 成功。5

方法26: 禁用transmissionssl验证
在AppCenter中将TR停止掉,然后,

You just need to add 2 lines in the QTransmission3.sh file under the .qpkg folder QTransmission3:
(我的是这个文件:/share/CACHEDEV1_DATA/.qpkg/QTransmission3/Qtransmission3.sh,需要通过ssh登入,使用sudo权限来写入)

TR_CURL_SSL_NO_VERIFY=1
export TR_CURL_SSL_NO_VERIFY

The file should look like this:

#!/bin/sh
CONF=/etc/config/qpkg.conf
QPKG_NAME="QTransmission3"
TR_CURL_SSL_NO_VERIFY=1
QPKG_ROOT=`/sbin/getcfg $QPKG_NAME Install_Path -f ${CONF}`
export QNAP_QPKG=$QPKG_NAME
export QPKG_ROOT QPKG_NAME
export TR_CURL_SSL_NO_VERIFY
...

更改好后重启transmission即可。

参考:


  1. 威联通QANP安装Transmission和中文UI改端口登陆用户名密码以及解决错误Couldn’t find Transmission’s web… ↩︎ ↩︎

  2. 我的NAS 篇二:QNAP TS-453BMINI 新手设置和transmission设置 ↩︎ ↩︎

  3. Qnap Nas 安装 Transmission 后重要配置详解 ↩︎

  4. transmission port is closed #407 ↩︎ ↩︎

  5. Transmission 3.0 does not support SSL why ? ↩︎

  6. I figured out how to make the https trackers work. ↩︎

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
网络传送带 (Net Transport) 是中国第一个实现 MMS、RTSP(PNM)、HTTP、HTTPS 和 FTP 的普通类下载利器。它协议支持之多,至今在国际上依然罕见。流下载是它的主要特点,同时下载普通文件速度也堪称一流,站点管理近乎完美。目前支持的协议有: HTTP / HTTPS FTP / SSL (Secure Sockets Layer) / SFTP (SSH File Transfer Protocol) MMS (Microsoft Media Service) RTSP (Real-Time Streaming Protocol) PNM (rename PNM to RTSP) 网络传送带是一个高效稳定且功能强大的下载工具,下载速度一流,CPU占用率低,尤其在宽带上特别明显。它的特色在于,影音下载及合成无人能及;强悍的多代理机制能有效地打破服务器限制;完美的站点管理能让您保持与服务器的连接;支援SSL和SSH保证数据传输的安全性,目前就算在国际上也没有几款软件能达到这样的高度。 主要功能列表 内建简易的但功能不弱的文件管理器,帮助用户更好地分类和轻松地组织下载文件。 简单的多用户管理,不同的用户不同的任务数据。依据的是Windows的登录名。 内建的站点探测器能轻而易举地浏览FTP站点的目录结构,可以有选择的大批下载文件。FTP是软件的强项。 完美的FTP重用机制,只要单一连接就能下载来自同一个站点的文件。 可检查文件是否更新或重新下载。 支持代理服务器。在多代理类型的任务中,用户可以自由地为每个线程设置一个代理,彻底打破某些站点只允许一个IP一个连接的限制。 能穿透需要NTLM认证的防火墙如Microsoft ISA 2000,特别适合公司局域网。 速度限制允许用户边下载边浏览。 监视浏览器点击。用户可以使用数种方式添加任务,诸如通过IE扩展菜单、将URL拖入下载窗口等等。 自动关机和自动挂断MODEM。 多语言支持,并可随时切换。只要将语言文件翻译成母语就可以实现本地化。 中国第一个支持RTSP协议的下载工具。 MMS支持NTLM认证;RTSP支持NTLM和RN5认证。 支持MMS和RTSP多线程,有效地缩短下载时间。 能自动地分析流脚本如.asx、.smi,并获取真实的URL。 支持HTTPS,并且支持HTTP、SOCKS4&5等代理方式。下载工具中目前也只有网络传送带能让HTTPS透过SOCKS5代理下载。 FTP支持SSL技术加密传输的数据,支持一次性密钥保护你的登录信息,因为一般情况下密码是明码,容易被窃取,比如 所谓的IP包监视的工具。 支援SSH协议,更强悍的数据加密能力,很少有Windows软件支持。 强大灵活的计划管理器,能让您定时录制节目,或避开下载高峰。还能录制那些根据日期时间动态改变的URL。这也是传送带的强项。 版本2以后能录制影音片断。
QNAP Jellyfin是一种流媒体服务器软件,可让用户在家庭网络中共享和播放媒体内容。QNAP是一家专门提供网络存储和视频监控解决方案的公司,而Jellyfin则是一个开源的媒体服务器软件项目。 QNAP Jellyfin的使用非常简便,只需安装Jellyfin服务器软件后,用户可以通过QNAP设备上的浏览器或Jellyfin客户端应用程序轻松访问和管理媒体库。用户可以添加电影、电视节目、照片、音乐等多种媒体类型,并根据需要创建不同的媒体库。此外,用户还可以对媒体进行标记、评级、收藏等操作,以便更方便地组织和浏览。 QNAP Jellyfin还具有跨平台的优势,支持Windows、Mac、Linux等多个操作系统,使用户可以在不同设备上轻松访问和播放媒体内容。此外,它还支持多种播放客户端,如Web浏览器、移动设备应用程序和支持DLNA的设备等,使用户可以根据自己的喜好选择最合适的播放方式。 与许多其他媒体服务器软件不同的是,QNAP Jellyfin是开源的,这意味着用户可以自由使用、修改和共享软件,而不需要支付任何费用。此外,由于其开源性质,用户还可以参与Jellyfin社区的开发和改进,使软件更加稳定和功能强大。 总之,QNAP Jellyfin是一款方便易用的流媒体服务器软件,可以让用户轻松地在家庭网络中共享和播放媒体内容,并且其开源性质也为用户提供了更多自定义和参与的机会。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

silenceagle

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值