种子下载工具

在【馒头】或【NexusPHP 架构】PT站种子详情页添加下载按钮,点击后可以选择【标题|种子名|副标题】并将种子添加到 qBittorrent|Transmission,支持文件重命名并指定下载位置。

作者
ShaoxiongXu
日安装量
0
总安装量
1,130
评分
5 0 0
版本
5.6
创建于
2023-07-13
更新于
2025-08-02
大小
71.3 KB
许可证
GPL-2.0
适用于

【油猴脚本】PT to qBittorrent|Transmission 下载工具 【一键下载、重命名、指定下载位置】

GitHub项目地址: https://github.com/ShaoxiongXu/M-Team-to-qBittorrent

【PT助手|PT下载|team|mteam|馒头|NexusPHP】在种子详情页添加下载按钮,点击后可以选择【标题|种子名|副标题】并将种子添加到 qBittorrent 或 Transmission,支持文件重命名并指定下载位置,兼容 NexusPHP 站点。

image

  • 支持下载到 qBittorrent 和 Transmission

  • 支持选择命名 (选择时也可以在输入框手动修改)

  • 种子名和磁盘文件名同步修改 (不影响上传)

  • 支持选择下载位置

  • 支持下载完后智能关闭下载页面 (可设置)

  • 自动取代 Windows/Linux 不支持字符为空格

  • 文件名长度检测

  • 顺序下载:按顺序下载 torrent 片段

  • 首尾下载:默认禁用优先下载文件的首尾区块,优先下载首尾区块用于在文件未下载完成前可以预览,若启用本功能,将至少优先下载首区块和尾区块各1MB

  • 理论支持所有 NexusPHP 架构站点

  • 目前仅测试北洋园、M-Team(馒头)、ptlsp、HDTime 站点

  • qBittorrent 版本要求 ≥ v4.1

  • Transmission 版本要求 ≥ 3.0

  • IOS Safari 浏览器使用 Stay 安装插件时, 需要在设置 => Safari浏览器 => 取消勾选防止跨站跟踪, 并在 Web UI 取消启用跨站请求伪造 (CSRF) 保护

  • 如有问题可联系TG:@zhendi6

使用教程

安装

由于最新 Chrome 浏览器禁止 Manifest V2 扩展规范,使用脚本需要在浏览器扩展页面打开开发者模式!

脚本安装:https://greasyfork.org/zh-CN/scripts/470727

Windows 客户端需要打开 WebUI

20220714130923

脚本配置

image

Linux NAS 示例 image

Windows 示例

image

种子详情页点击下载

image

image

image

新增站点支持 - 完整示例

想让脚本支持更多站点?只需要改两个地方。

假设我们要给网站 www.newpt.com 加支持,站点代号取名 newpt

1. 在 siteStrategies 里加策略

let siteStrategies = {
    // 已有的策略...

    newpt: { // 这是站点代号,和后面映射的要一致
        getTorrentUrl() {
            // 找到种子下载按钮的链接
            // 这里的选择器和属性值要根据站点实际 HTML 调整
            return document.querySelector('.download-link').href;
        },
        getTorrentTitle() {
            // 获取种子标题
            return document.querySelector('h1.torrent-title').innerText.trim();
        },
        getTorrentName() {
            // 获取种子文件名
            return document.querySelector('.filename').innerText.trim();
        },
        getTorrentSubTitle() {
            // (可选)获取副标题,没有可以 return 空
            let el = document.querySelector('.subtitle');
            return el ? el.innerText.trim() : '';
        }
    }
};

2. 在 sites 里加映射关系

let sites = {
    "m-team": "mteam",
    "ptlsp": "ptlsp",
    "www.tjupt.org": "tjupt",
    "www.newpt.com": "newpt" // 新加的站点映射
};

3. 提交 PR 前自测

  1. 打开 www.newpt.com 的种子详情页

  2. 在浏览器控制台手动调用:

   siteStrategies.newpt.getTorrentUrl()
   siteStrategies.newpt.getTorrentTitle()
   siteStrategies.newpt.getTorrentName()
   siteStrategies.newpt.getTorrentSubTitle()

确认能返回正确的值

  1. 确保 newpt 这个代号在两处都一致

  2. 代码缩进和现有项目保持统一

贡献者

ShaoxiongXu
ShaoxiongXu
dadinet
dadinet
ywwzwb
ywwzwb