标签: bt

  • 使用 flexget 实现下载更新自动化

    使用 flexget 实现下载更新自动化

    [c-alert type=”success”]原文连接:使用 flexget 实现下载更新自动化 | Verne in GitHub (einverne.github.io)[/c-alert]

    FlexGet 官网是这样描述自己的,媒体文件的多功能自动化工具。可以支持 torrents, nzbs, podcasts, comics, TV, movies, RSS, HTML, CSV, 等等作为输入。FlexGet 是 Python 编写的,所以如果想要实现更加复杂的功能,也可以自己写脚本来处理。

    简单的来说,FlexGet 解决 BT 客户端没有订阅功能的问题,通过 FlexGet 可以方便的制定一些规则来自动订阅并自动下载特定的种子,比如在追剧集时,按照特定的名字以及文件大小,或者分辨率自动进行下载。

    FlexGet 一大被称道的就是可以实现 PT 或者 BT 的自动下载,并且直接传给 Deluge, transmission, uTorrent, rTorrent, SABnzb 等等客户端进行下载。FlexGet 也集成了 trakt, thetvdb.com, imdb.com 等等网站可以用来追踪剧集。

    FlexGet 可以自定义任务,自定义运行时间,有一个友好的 Web 界面,然后还有很多很多有待发现的功能。

    在没有了解到 FlexGet 之前,我都是手动将 torrent 文件下载到 ~/Downloads 目录中,然后在 crontab 中将下载目录中的所有 torrent 文件 rsync 到 Transmission 或者 ruTorrent 的 watch 文件夹中的。

    */1 * * * * rsync -avz -e "ssh -p xxxx" --remove-source-files /home/einverne/Downloads/*.torrent xxx@ip:/share/Transmission/watch/
    

    但是自从有了 Flexget 我发现借助 Flexget 可以实现很多自动化工作,以前手工执行的工作完全可以解放出来。比如将 PT 中收藏的内容添加到下载的 RSS 中,然后通过 Flexget 自动下载到硬盘中,比如自动下载 PT 中最近更新的 Free 种子。

    docker install

    使用 Docker 进行安装,我这里用的是 wiserain/flexget 镜像:1

    这里的 PUID,PGID 可以在终端使用 id 命令来查看,替换成当前用户的 ID 即可。

    docker run -d \
        --name=flexget \
        -e PUID=1000 \
        -e PGID=1000 \
        -e FG_WEBUI_PASSWD=yourhorriblesecret \
        -e FG_LOG_LEVEL=info \
        -e TZ=Asia/Shanghai \
        -p 5050:5050 \
        -v ~/flexget/config:/config \
        -v ~/flexget/data:/data \
        wiserain/flexget
    

    说明:

    • ~/flexget/config: 目录中是 flexget 的配置文件
    • ~/flexget/data: 目录保存 Flexget 下载的文件

    或者使用 Docker Compose 安装

    docker-compose:

    version: '3.3'
    
    services:
      flexget:
        image: wiserain/flexget
        restart: always
        container_name: flexget
        environment:
          - PUID=1000
          - PGID=1000
          - FG_WEBUI_PASSWD=${PASSWD}
          - FG_LOG_LEVEL=info
          - TZ=Asia/Shanghai
        ports:
          - '5050:5050'
        volumes:
          - '~/flexget/config:/config'
          - '~/flexget/data:/data'
    

    等容器启动之后,访问 5050 端口,用户名 flexget 密码为在配置中设定的密码,访问后台。

    Plugins

    flexget 更多的插件可以在这里 查到。

    配置详解

    进入后台,或者直接编辑配置文件夹中的 config.yml 文件都可以直接对 flexget 进行配置,更推荐在命令行中进行修改。

    一份简单的配置

    首先来看一个最简单的配置,方便快速入门,这个配置仅有一个 task,并且只定义了一个定时器。

    web_server:
      bind: 0.0.0.0
      port: 5050
      web_ui: yes
    
    tasks:
      btschool:
        rss: http://example.com/rss
        # 种子的下载目录
        download: /data
        # 把 RSS 链接里的所有种子都下载下来,不做过滤
        accept_all: yes
    
    schedules:
      - tasks: '*'
        interval:
          minutes: 60
    

    上面的配置一目了然,也不过多解释,大致就是定义了一个RSS 下载任务,会下载这个 RSS 中所有的内容,并保存到 /data/ 目录。

    下面就单独演示一下稍微复杂一些的用例,比如过滤标题,文件大小,等等。

    针对个别任务设置定时

    在上面的配置中使用通配符 * 来匹配了所有的任务,如果要指定任务设定定时,可以

    schedules:
      - tasks: 'task_name'
        interval:
          minutes: 15
    

    稍微复杂一些的配置

    通过正则表达式过滤标题

    tasks 定义:

    # tasks 定义多个任务,在下方定义
    tasks:
      # 自定义 task 名字,名字可以自己起
      task_name:
        rss: http://example.com/torrentrss.php
    	# 可选项 yes/no,是否下载全部内容,还是按条件过滤
        accept_all: no
        regexp:
          accept:
            - some-title
          reject:
            - 1080
          from: title
        content_size:
          min: 1000
          max: 10000
          strict: no
    	# 种子下载的路径
        download: /data
        deluge:
          password: "deluge"
          path: /data
      another-task:
        rss: https://example.com/torrentrss.php
        accept_all: no
        if:
          - "'1996' in title": accept
          - "'720' in title": accept
        content_size:
          min: 1000
          max: 10000
          strict: no
        download: /data
        deluge:
    	  host: locahost
    	  port: 13222
    	  user: someone
          password: "deluge"
          path: /data
    

    还可以通过配置预设模板的方法:

    # 预设模板
    templates:
    # 剩余空间模板,当配置的 path 路径的剩余空间小于 space 规定的数值时,停止 RSS 下载
      freespace:
        free_space:
          path: /home/einverne
          space: 10240
    # qb 的模板,之后写 qb 就是指把种子推送到 qb 进行下载;下面 tr de rt 也是如此
      qb:
        qbittorrent:
          path: /home/einverne/qbittorrent/download/
          host: localhost
          port: 2017
          username: einverne
          password: password
      tr:
        transmission:
          path: /home/einverne/transmission/download/
          host: localhost
          port: 9091
          username: einverne
          password: password
      de:
        deluge:
          path: /home/einverne/deluge/download/
          host: localhost
          port: 58846
          username: einverne
          password: password
    # 体积过滤模板,min 是符合条件的最小种子体积,max 是符合条件的最大种子体积,单位均为 MB
    # strict 默认是 yes,表示在无法确定大小的情况下就不下载,这里把它改成 no 了
    # 这段 size 的意思是,只下载体积为 6000-666666 MB 的种子,其他不满足条件的种子不下载
      size:
        content_size:
          min: 6000
          max: 666666
          strict: no
    
    # 任务
    tasks:
    # Web-HDSky 是任务名称,基本上随便起
      Web-HDSky:
        rss: https://hdsky.me/torrentrss.php
        # 因为 HDSWEB 发单集的时候用的标题是一样的, 因此下过一次后
        # 之后新发出来的单集由于标题一样,flexget 会当成是以前已经下过的种子
        # 为了避免这个问题,对 seen 插件设定为只检查 url 是否一致
        seen:
          fields:
            - url
      # 正则表达式;标题带 HDSWEB 的种子就下载(accept,接受),不想下载的话就写拒绝(reject)
        regexp:
          accept:
            - HDSWEB
      # 调用上边的 de 模板
        template: de
      # 可以不使用模板的体积过滤,针对每个任务单独设置体积过滤
        content_size:
          min: 3000
          max: 500000
          strict: no
      # 以下设定实现的效果:对这个任务加载到 deluge 的种子,自动添加 WEB-DL 的标签
      # 自动限制上传速度到 10MB/s(防止超速),下完后自动移动到 /mnt/HDSky/HDSWEB
        deluge:
          label: WEB-DL
          # Limit upload speed to 100 MiB/s in case of being auto-banned
          max_up_speed: 10240
          move_completed_path: /mnt/HDSky/HDSWEB
      ADC-AnimeBD-JPN:
        rss: http://asiandvdclub.org/rss.xml
        if:
          - "'Anime' and 'AVC' in title": accept
          - "'subs only' in title": reject
          - "'Custom' in description": reject
          # 这三个过滤条件组合起来就是,下载标题里带 Anime 和 AVC 且不含 subs only 的种子
          # 并排除掉描述里含有 Custom 的种子
          # 这也就约等于,RSS 日版动画蓝光碟(非日版、DIY 碟、DVD 都过滤掉)
        # RSS ADC 需要 Cookies,这里我们用 headers 插件来加上 cookies
        headers:
          Cookie: "uid=12345; pass=abcdefg"
        # 转换 RSS 链接,将原本形如 http://asiandvdclub.org/details.php?id=123456 的种子描述页面链接
        # 替换为形如 http://asiandvdclub.org/download.php?id=123456 的种子下载链接
        urlrewrite:
          sitename:
            regexp: 'http://asiandvdclub.org/details.php\?id=(?P<id>\d+)'
            format: 'http://asiandvdclub.org/download.php?id=\g<id>'
        qbittorrent:
          label: ADC
          # Flexget 支持添加种子到 qBittorrent 的时候自动设定单种限速
          maxdownspeed: 30000
    

    Web UI 设置

    # Flexget WebUI 设定 (WebUI如何开启见后文)
    web_server:
      port: 6566
      web_ui: yes
    # base_url: /flexget
    # base_url 是为了反代设置的,需要使用反代的话就取消这个的注释,然后在安装了 rTorrent 的情况下(不装 rt 的话没有 nginx)
    # Flexget WebUI 地址就变成了 https://IP/flexget
    

    Transmission 配置

    如果要配置 Transmission 可以通过 Transmission 插件配置

    tasks:
      one-task:
        rss: https://example.com/torrentrss.php
        accept_all: no
        # 通过正则表达式匹配标题中有 some-title 的内容,accept 表示接受,而 reject 表示带有 1080 的就不接受
        regexp:
          accept:
            - some-title
          reject:
            - 1080
          from: title
        content_size:
          min: 3000
          max: 180000
          strict: no
        download: /data
        transmission:
          host: localhost
          port: 9091
          username: user
          password: "pass"
    

    更多该插件的参数和使用可以参考官网

    template

    如果需要配置更加复杂的,可以使用 template

    templates:
      # freespace 插件
      freespace:
        free_space:
          path: /data
          space: 10240
      qb:
        qbittorrent:
          path: /data
          host: localhost
          port: 8080
          username: admin
          password: password
      de:
        deluge:
          password: "deluge"
          path: /data
      tr:
        transmission:
          host: localhost
          port: 9091
          username: admin
          password: "password"
    tasks:
      BTSchool:
        rss: https://pt.btschool.net/torrentrss.php
        accept_all: yes
        template:
          - de
      HDChina:
        rss: https://hdchina.org/torrentrss.php
        accept_all: yes
        template:
          - qb
        qbittorrent:
          label: HDChina
      CHDBits:
        rss: https://chdbits.co/torrentrss.php
        accept_all: no
        if:
          - "'CHDPAD' in title": reject
          - "'CHDPad' in title": reject
          - "'CHD' in title": accept
        template:
          - tr
      U2:
        rss: https://u2.dmhy.org/torrentrss.php
        accept_all: no
        regexp:
          accept_excluding:
            - DVD
            - ADC
            - TTG
            - TSDM
          from: title
        download: /data/torrent/
      Mteam:
        rss: https://tp.m-team.cc/torrentrss.php
        accept_all: no
        regexp:
          accept:
            - sweety
          from: title
        download: /data/torrent/
      GZtown:
        rss: https://pt.gztown.net/torrentrss.php
        accept_all: no
        if:
          - "'GZtown' in title": accept
        download: /data/torrent/
      HDSky:
        rss: https://hdsky.me/torrentrss.php
        accept_all: yes
        download: /data/torrent/
      Ourbits:
        rss: https://ourbits.club/torrentrss.php
        accept_all: yes
        download: /data/torrent/
      ezrss:
        rss: http://eztv.ag/ezrss.xml
        accept_all: yes
        content_size:
          min: 200
          max: 4444
          strict: no
        download: /data
    

    定义 Schedules

    常见的定时器,比如定时每 10 分钟跑一次,或者在特定时间执行一次。

    设置固定间隔时间执行:

    # 针对所有的任务,每隔 10 分钟执行一次
    schedules:
      - tasks: '*'
        interval:
          minutes: 10
    

    或者你可以设置更加复杂的定时规则,针对具体的任务名设定:[^schedule]

    [^schedule]

    schedules:
      - tasks: 'Update-Queue'
        interval:
          hours: 3
      - tasks: 'Series-*'
        interval:
          minutes: 30
      - tasks: 'Movies-*'
        interval:
          hours: 1
      - tasks: 'Update-trakt-*'
        interval:
          days: 1
          at_time: 4:43 am
      - tasks: [HDC, btschool]
        interval:
          minutes: 30
    

    如果不配置 Schedule 也可以通过 cron 命令来定时执行,比如每隔 30 分钟执行一次:

    */30 * * * * /usr/local/bin/flexget --cron execute
    

    常用命令

    使用 Docker 安装的话,可以手动进入容器执行 sudo docker exec -it flexget /bin/bash,然后执行:

    • flexget check : 用于检查 config.yml 配置文件是否有格式错误。
    • flexget --test execute : 手动模拟一次 RSS 操作,仅供测试,不会下载种子文件到本地。
    • flexget execute : 手动执行所有任务
    • flexget execute --tasks Series-*: 手动执行指定的任务
    • flexget status : 查看 flexget 的 RSS 记录。
    • flexget execute --learn : 这样子不会下载种子,但是会把这次 RSS 到的种子标记为已下载,这样之后就不会下到老种了

    疑难杂症

    下载后文件名乱码问题

    查看终端编码是否配置了支持 UTF-8.

    reference

  • Linux 下使用 mktorrent 制作 BT/PT 种子

    安装mktorrent

    git clone https://github.com/Rudde/mktorrent.git
     #下载源码
    
    cd mktorrent
    make && make install
    #编译安装

     

    可选参数

    root@debian:~# mktorrent -h
    mktorrent 1.1 (c) 2007, 2009 Emil Renner Berthing
     
    Usage: mktorrent [OPTIONS] <target directory or filename>
     
    Options:
    -a <url>[,<url>]* : specify the full announce URLs                        #添加Tracker服务器地址
                        at least one is required
                        additional -a adds backup trackers
    -c <comment>      : add a comment to the metainfo                         #添加描述信息
    -d                : don't write the creation date                         #禁止写入创建时间
    -h                : show this help screen                                 #显示帮助信息
    -l <n>            : set the piece length to 2^n bytes,                    #区块大小 -l 22 = 4096KiB
                        default is 18, that is 2^18 = 256kb
    -n <name>         : set the name of the torrent,                          #种子的文件名 默认为目标文件/文件夹名称
                        default is the basename of the target
    -o <filename>     : set the path and filename of the created file         #种子的保存路径 默认为目标文件/文件夹名称.torrent
                        default is <name>.torrent
    -p                : set the private flag                                  #标记为私人种子
    -s                : add source string embedded in infohash                #添加字符串到Hash值
    -v                : be verbose                                            #输出详细信息
    -w <url>[,<url>]* : add web seed URLs                                     #添加网络种子地址
                        additional -w adds more URLs
     
    Please send bug reports, patches, feature requests, praise and
    general gossip about the program to: [email protected]
    示例命令
    mktorrent -a https://tracker.dmhy.org/announce -l 22 -p -v -o Filename.torrent Filename.mkv
    来源:https://moeking.me/2019/10/23/519/

     

  • 解决宝塔面板7.5.1证书签发错误

    |-正在发送CSR..
    |-正在下载证书..
    Traceback (most recent call last):
    File “class/acme_v2.py”, line 753, in save_cert
    self.sub_all_cert(key_file, pem_file)
    File “class/acme_v2.py”, line 775, in sub_all_cert
    if to_cert_init[‘issuer’] != cert_init[‘issuer’] and to_cert_init[‘issuer’].find(“Let’s Encrypt”) == -1:
    AttributeError: ‘NoneType’ object has no attribute ‘find’

    |-申请成功,正在部署到站点..

    对域名签发证书的提示如上,google了一圈,找到了类似解决办法

    看似成功实际上根本就没有成功。 于是定位到 /www/server/panel/class/acme_v2.py 714 行,

    if to_cert_init['issuer'] != cert_init['issuer'] and to_cert_init['issuer'].find("Let's Encrypt") == -1:
    

    这条语句出现了问题,应该改成

    if to_cert_init['issuer'] != cert_init['issuer'] and str(to_cert_init['issuer']).find("Let's Encrypt") == -1:
    

    但是还是无法正常签发,错误依旧。

    https://www.quchao.net/BT-SSL.html/comment-page-1

    但是还是无法解决,包括重装BT,reboot服务器,最后按照文章后面的方式进行测试

    先执行cd /www/server/panel/class
    再执行python acme_v2.py 会发现

    root# python acme_v2.py
    Traceback (most recent call last):
    File "acme_v2.py", line 36, in <module>
    import OpenSSL
    File "/usr/lib64/python2.7/site-packages/OpenSSL/__init__.py", line 8, in <module>
    from OpenSSL import crypto, SSL
    File "/usr/lib64/python2.7/site-packages/OpenSSL/crypto.py", line 7, in <module>
    from six import (
    ImportError: No module named six

     

    然后就简单了,输入下面的命令先卸载,再重新安装相关模块,问题解决

    pip uninstall six
    pip install six
    
  • 常见PT客户端忘记密码的解决方法

    qBittorrent

    • QB 的配置文件一般在如下位置:

    /root/.config/qBittorrent/qBittorrent.conf

    • 找到WebUI\Password_ha1=@ByteArray(5ebe2294ecd0e0f08eab7690d2a6ee69),括号内是webui密码的MD5加密格式。
    • 可以去 http://www.md5online.org/ 解密密码,或者将括号内改为5ebe2294ecd0e0f08eab7690d2a6ee69,对应的密码为 secret
    • 修改完毕后重启QB即可。

    Deluge

    • 结束DelugeDeluge-web两个进程。
    • 如果是按照BT下载工具之 Deluge中的方式安装,运行以下命令:
    systemctl stop deluged
    systemctl stop deluge-web
    • 运行以下命令删除Deluge-Web默认配置文件
    rm -rf /root/.config/deluge/web.conf*
    • 重启Deluge,webui的密码重置为deluge

    Transmission

    • 结束Transmission进程
    • 编辑’settings.json`文件,一般在如下位置:

    /var/lib/transmission-daemon/.config/transmission-daemon/settings.json

    /var/lib/transmission/settings.json

    • 修改rpc-password": "123456",将双引号内修改为想设置的密码。
      原文件中为加密密码,此处不需要考虑,直接输入密码原文即可,TR重启后会自动加密。
    • 重启TR。
  • Transmission 2.94 配置文件参数中文解释

    [start-plane type=”1″]原文地址:Transmission 2.94 配置文件参数中文解释 | Ming’s Blog (inkuang.com)[/start-plane]

    配置文件参数

    下面的参数项是直接从 Transmission 2.94 版本的默认配置文件里复制过来的,各个参数作用的解释基本是我根据官方说明翻译归纳的,应该没有啥大问题。

    先附上官方说明地址:https://github.com/transmission/transmission/wiki/Editing-Configuration-Files

    {
        "alt-speed-down": 50,   //开启时段限速时下载速度的最大值,单位KB/s
        "alt-speed-enabled": false,   //是否开启时段限速,默认关闭
        "alt-speed-time-begin": 540,   //时段限速开启时间,默认值540(这个值与具体时间的转换自己去官方说明里查看,此处不过多介绍,下同)
        "alt-speed-time-day": 127,   //时段限速在哪些日子启用,默认值127(每天)
        "alt-speed-time-enabled": false,   //是否启用时段限速日期,默认不开启,如果开启,那么alt-speed-enabled一定要是false,两者之间只能启用一项,如果同时设置为true,则alt-speed-enabled有效
        "alt-speed-time-end": 1020,   //时段限速结束时间,默认值1020
        "alt-speed-up": 50,   //开启时段限速时上传速度的最大值,单位KB/s
        "bind-address-ipv4": "0.0.0.0",   //程序监听的ipv4地址绑定
        "bind-address-ipv6": "::",   //程序监听的ipv6地址绑定
        "blocklist-enabled": false,   //是否启用黑名单,默认不启用
        "blocklist-url": "http://www.example.com/blocklist",   //黑名单列表的url
        "cache-size-mb": 4,   //缓存大小,单位MB
        "dht-enabled": true,   //是否启用DHT网络(通过tracker寻找节点),默认启用
        "download-dir": "/var/lib/transmission-daemon/downloads",   //下载完成的文件保存路径
        "download-limit": 100,   //下载限速,单位KB/s
        "download-limit-enabled": 0,   //是否开启下载限速,0表示不开启
        "download-queue-enabled": true,   //是否开启下载队列,默认开启
        "download-queue-size": 5,   //下载队列数设置,默认5,表示最多只能同时下载5个任务,多余的需要等待
        "encryption": 1,   //加密设置,等于0时不加密,1是优先加密,2是必须加密
        "idle-seeding-limit": 30,   //空闲多长时间停止做种,默认30,单位分钟
        "idle-seeding-limit-enabled": false,   //是否开启空闲时间停止做种,默认关闭
        "incomplete-dir": "/var/lib/transmission-daemon/Downloads",   //未完成任务的文件保存路径
        "incomplete-dir-enabled": false,   //是否启用未下载完成文件保存路径
        "lpd-enabled": false,   //LDP网络(在本地网络寻找节点),默认关闭
        "max-peers-global": 200,
        "message-level": 1,   //日志消息等级,0=None,1=Error,2=Info,3=Debug
        "peer-congestion-algorithm": "",
        "peer-id-ttl-hours": 6,
        "peer-limit-global": 200,   //全局种子最大连接数
        "peer-limit-per-torrent": 50,   //每个种子的最大连接数
        "peer-port": 51413,   //上传下载使用的连接端口号
        "peer-port-random-high": 65535,   //随机端口号上限
        "peer-port-random-low": 49152,   //随机端口号下限
        "peer-port-random-on-start": false,   //是否启用随机端口号,默认关闭,启用后每次重启该软件都会从上面设定的范围里随机选取一个端口使用
        "peer-socket-tos": "default",   //设置传输TCP数据包的服务类型,详情参考:https://en.wikipedia.org/wiki/Type_of_service
        "pex-enabled": true,   //是否开启节点交换,详情参考:https://en.wikipedia.org/wiki/Peer_exchange
        "port-forwarding-enabled": false,   //是否启用端口转发(uPnP),如果路由支持并且也开启了uPnP,则路由会自动做端口映射
        "preallocation": 1,   //预分配磁盘空间,0=关闭,1=快速,2=完全,默认取1,防止文件下载了一半后才发现磁盘空间不够
        "prefetch-enabled": true,
        "queue-stalled-enabled": true,
        "queue-stalled-minutes": 30,
        "ratio-limit": 2,   //分享率(上传下载比率)达到多少后停止做种
        "ratio-limit-enabled": false,   //是否启用分享率达标停止做种,默认关闭
        "rename-partial-files": true,   //在未完成的文件名后添加后缀,默认开启,开启后未完成的文件会带有.part后缀
        "rpc-authentication-required": true,   //是否开启远程控制验证
        "rpc-bind-address": "0.0.0.0",   //rpc服务监听地址
        "rpc-enabled": true,   //是否开启rpc服务(远程连接)
        "rpc-host-whitelist": "",   //rpc域名白名单,值为以逗号分隔的域名列表,用于绑定域名访问的场景
        "rpc-host-whitelist-enabled": true,   //是否开启rpc域名白名单
        "rpc-password": "{cc29d57debb27f83469bbcd7fae81f64c789d3dfgw.f80LY",   //rpc连接密码,这是加密过的,将其修改为自己的密码(明文)后启动软件会自动加密
        "rpc-port": 9091,   //rpc服务监听端口
        "rpc-url": "/transmission/",   //rpc服务路径
        "rpc-username": "transmission",   //rpc连接用户名,跟上面的密码配合使用
        "rpc-whitelist": "127.0.0.1",   //rpc连接白名单,默认只允许本地连接
        "rpc-whitelist-enabled": true,   //是否开启rpc连接白名单,默认开启
        "scrape-paused-torrents-enabled": true,   //是否运行暂停种子
        "script-torrent-done-enabled": false,   //是否在torrent完成时运行脚本,默认关闭
        "script-torrent-done-filename": "",   //在torrent完成时运行的脚本路径
        "seed-queue-enabled": false,   //是否开启做种队列
        "seed-queue-size": 10,   //做种队列大小
        "speed-limit-down": 100,   //下载速度限制,单位KB/s
        "speed-limit-down-enabled": false,   //是否开启下载速度限制,默认关闭
        "speed-limit-up": 100,   //上传速度限制,单位KB/s
        "speed-limit-up-enabled": false,   //是否开其上传速度限制,默认关闭
        "start-added-torrents": true,   //在添加种子文件后立即开始任务
        "trash-original-torrent-files": false,
        "umask": 18,   //文件权限掩码,默认18即755权限,如果改成0是最高权限,下载回来的文件权限就是777
        "upload-limit": 100, 
        "upload-limit-enabled": 0,
        "upload-slots-per-torrent": 14,
        "utp-enabled": true   //UTP传输是否启用
    }
    

     

    注意事项

    修改配置文件时还需要注意以下几点:

    • 在 Linux 系统下,修改 download-dir 和 incomplete-dir 选项时需要注意目录权限问题,使用 apt 安装 Transmission 时会自动创建一个名为 debian-transmission 的用户,你设置的目录需要让该用户有可写权限。
    • DHT 网络可能会造成 tracker 服务器记录数据出错而被认为作弊,一般的 pt 站都会建议关闭这一选项。
    • 在启用 rpc 后大部分配置项可以远程在线修改,建议配置文件中不了解作用的选项不要随意改动,想尝试其作用的话可以通过 rpc 远程连接来临时修改。

    另外,在上面贴出的配置文件中有一些参数是历史遗留选项,已有新的参数替代了它们的功能,只是旧参数在配置文件中还未删去而已。这也就意味着有部分参数的功能是相同的,在启用时需要注意甄别,详情可以在官方说明页面查看。