Vertex 自动化脚本实战：下载前过滤 + 限速删种规则双脚本分享在使用 Vertex 进行 PT 自动化管理时，合理设置下载前过滤规则和删种规则可以有效控制资源利用、优化上传策略，并避免机器过载。本文分享两个实用脚本：✅ 下载前过滤脚本：控制下载任务数量、种子大小和分类；✅ 删种规则脚本：按分类进行上传/下载限速，并在进度达到指定百分比后标记完成。脚本均支持日志输出，适用于 RSS 下载器或挂机盒部署，适配如 PT站点：PTHOME、BTSCHOOL 等。🧩 一、下载前过滤脚本：任务数量 + 种子大小 + 分类控制✅ 功能说明限制目标分类（如 PTHOME）；限制该分类下最多允许存在的任务数量；限制种子大小范围（如 500MB\~30GB）；可选日志记录，追踪过滤原因。📜 脚本内容将以下内容粘贴至 Vertex 面板 →【规则设置】→【RSS规则】中：(torrent) => { const config = { categoryList: "PTHOME", downloaderId: '039fa75c', enableLogging: false, enableTaskCountLimit: true, taskCountLimit: 15, enableSizeLimit: true, sizeLimitRange: [500 * 1024 * 1024, 30 * 1024 * 1024 * 1024] }; const fs = require('fs'); const path = require('path'); function getLocalTimeString() { return new Date().toLocaleString('zh-CN', { hour12: false }); } function logFailure(message) { if (!config.enableLogging) return; const logFilePath = '/vertex/log22/log.txt'; const logDir = path.dirname(logFilePath); if (!fs.existsSync(logDir)) { fs.mkdirSync(logDir, { recursive: true }); } fs.appendFileSync(logFilePath, `[${getLocalTimeString()}] ${message}\n`); } const client = global.runningClient[config.downloaderId]; if (!client) { logFailure(`未找到下载器 ${config.downloaderId}`); return false; } if (config.enableTaskCountLimit) { const categoryCount = client.maindata.torrents.reduce( (count, t) => t.category === config.categoryList ? count + 1 : count, 0 ); if (categoryCount > config.taskCountLimit) { logFailure(`任务数量限制：当前${categoryCount}，超过上限${config.taskCountLimit}`); return false; } } if (config.enableSizeLimit) { const size = Number(torrent.size); if (size < config.sizeLimitRange[0] || size > config.sizeLimitRange[1]) { logFailure(`种子大小${size}不在允许范围 ${config.sizeLimitRange.join(' - ')}`); return false; } } return true; };⚙️ 使用说明与建议修改配置项：categoryList → 指定分类（如 PT站分类名）taskCountLimit → 最大任务数sizeLimitRange → 接受的种子大小范围日志路径：如需开启日志，将 enableLogging 设置为 true，日志文件将输出至 /vertex/log22/log.txt配合 RSS 任务自动触发下载过滤🚀 二、删种规则脚本：限速上传下载 + 自动标记完成✅ 功能说明对特定分类（如 btschool）应用限速规则；下载器连接验证；上传立即限速，下载进度达到阈值后才限速；进度达到 90% 后返回 true（可作为删种条件）；支持日志记录执行状态。📜 脚本内容粘贴至 Vertex 面板 →【删种规则】中使用：const CONFIG = { TARGET_CATEGORY: "btschool", ENABLE_LOGGING: false, DOWNLOADER_ID: 'b65630e1', DOWNLOAD_LIMIT: 100 * 1024, // 100KB/s UPLOAD_LIMIT: 22 * 1024 * 1024 // 22MB/s }; const logger = (() => { if (!CONFIG.ENABLE_LOGGING) return { log: () => {} }; const fs = require('fs'); const path = require('path'); const LOG_PATH = '/vertex/log22/log.txt'; !fs.existsSync(path.dirname(LOG_PATH)) && fs.mkdirSync(path.dirname(LOG_PATH), { recursive: true }); return { log: (message) => { fs.appendFileSync( LOG_PATH, `${new Date().toISOString()} - ${message}\n` ); } }; })(); module.exports = (maindata, torrent) => { if (torrent.category !== CONFIG.TARGET_CATEGORY) return false; const client = global.runningClient[CONFIG.DOWNLOADER_ID]; if (!client) { logger.log(`下载器未连接: ${CONFIG.DOWNLOADER_ID}`); return false; } client.setSpeedLimit(torrent.hash, 'upload', CONFIG.UPLOAD_LIMIT) .then(() => logger.log(`上传限速成功: ${torrent.name}`)) .catch(err => logger.log(`上传限速失败: ${torrent.name} | ${err}`)); if (torrent.progress >= 0.6) { client.setSpeedLimit(torrent.hash, 'download', CONFIG.DOWNLOAD_LIMIT) .then(() => logger.log(`下载限速成功: ${torrent.name}`)) .catch(err => logger.log(`下载限速失败: ${torrent.name} | ${err}`)); } return torrent.progress >= 0.9; };📌 注意事项模块控制逻辑默认开启分类过滤仅目标分类才生效✅下载器验证下载器未连接则中止处理✅上传限速立即生效✅下载限速下载进度 ≥60% 时生效✅返回条件进度 ≥90% 后返回 true✅🛠 配置建议修改 DOWNLOADER_ID 与 category 为你实际环境中的参数；若启用日志，请确保 /vertex/log22/ 有权限写入；配合触发器（如“完成即删种”、“进度达标转存”）使用效果最佳。🧠 总结：自动化 + 精细控制 = 高效挂机通过这两个脚本，Vertex 用户可以实现更加智能的下载和删种策略，特别适合以下场景：多站点多分类管理精细控制下载任务数量与资源体量刷流控制：限制上传、限制下载、暂停条件精细设定高效利用资源，防止过载你可以根据需要修改参数逻辑，甚至将两个规则合并应用，实现“能否下载 → 下载后限速 → 自动删种”这一完整闭环。
🚀 多下载器刷流拆包方案：ptchange + Docker 环境搭建与容器定时重启（适配 Debian 12）本文介绍一种基于 Docker 容器的 PT 拆包自动化方案，适用于 PT 场景、挂机盒子、小鸡 VPS 等。核心优势：✅ 一键安装 Docker（适配 Debian 12）✅ 使用 ptchange 自动暂停种子 + 拆包✅ 配置容器定时重启，保障长期稳定运行🧱 一、Docker 环境一键安装（适配 Debian 12）在 Debian 12 系统中，执行以下命令快速安装 Docker 及其插件：apt update -y && \ apt install -y ca-certificates curl gnupg lsb-release && \ install -m 0755 -d /etc/apt/keyrings && \ curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg && \ chmod a+r /etc/apt/keyrings/docker.gpg && \ echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \ https://download.docker.com/linux/debian \ $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null && \ apt update -y && \ apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin && \ systemctl enable docker && \ systemctl start docker✅ 安装完成后请执行以下命令验证：docker version docker run hello-world🧩 二、ptchange 容器刷流拆包工具（支持多容器）📦 项目地址：Docker Hub - ppw111/ptchange🔧 功能亮点：支持多个 qBittorrent 实例或多个站点（推荐使用多个容器）自动识别暂停状态种子并进行拆包拆包失败不会触发下载，极为安全推荐 5s 拆包延迟效果最佳可设置容器定时重启，防止程序卡死或内存泄漏🚀 单容器运行示例：docker run -d \ --name=ptcb \ --net=host \ -e username=admin \ -e password=admin123 \ -e rate=0.1 \ -e time=30 \ -e url=http://1.1.1.1:8080 \ naxbr/ptcb:1.0♻️ 多容器部署示例（刷多个站点）如果你需要同时管理多个 PT 站点或多个 qB 实例，可以通过如下方式部署多个容器：# 容器 1：站点 A docker run -d \ --name=ptcb_1 \ -p 8081:8081 \ -e username=admin \ -e password=admin123 \ -e rate=0.1 \ -e time=30 \ -e url=http://1.1.1.1:8080 \ naxbr/ptcb:1.0 # 容器 2：站点 B docker run -d \ --name=ptcb_2 \ -p 8082:8081 \ -e username=admin \ -e password=admin123 \ -e rate=0.1 \ -e time=30 \ -e url=http://2.2.2.2:8080 \ naxbr/ptcb:1.0 # 容器 3：站点 C docker run -d \ --name=ptcb_3 \ -p 8083:8081 \ -e username=admin \ -e password=admin123 \ -e rate=0.2 \ -e time=40 \ -e url=http://3.3.3.3:8080 \ naxbr/ptcb:1.0✅ 每个容器使用唯一 --name，并绑定不同站点 URL；✅ 内部端口保持 8081，通过 -p 映射宿主机不同端口防止冲突；✅ 容器间完全独立，互不干扰。🔁 三、配置 Docker 容器定时重启建议为容器配置定时重启任务，以提升稳定性，防止程序异常或内存泄漏造成停摆。🔧 方案一：单容器定时重启适用于部署单个容器：echo "*/30 * * * * root /usr/bin/docker restart ptcb" | sudo tee /etc/cron.d/ptcb-restart > /dev/null sudo chmod 644 /etc/cron.d/ptcb-restart sudo systemctl restart cron📌 每 30 分钟自动重启一次 ptcb 容器。🔧 方案二：多容器统一重启脚本（推荐）1️⃣ 创建脚本文件sudo nano /usr/local/bin/restart-ptcb.sh内容如下：#!/bin/bash docker restart ptcb_1 docker restart ptcb_2 docker restart ptcb_3保存后添加执行权限：chmod +x /usr/local/bin/restart-ptcb.sh2️⃣ 添加 cron 定时任务（每 20 分钟执行一次）echo "*/20 * * * * root /usr/local/bin/restart-ptcb.sh" | sudo tee /etc/cron.d/ptcb-restart > /dev/null sudo chmod 644 /etc/cron.d/ptcb-restart sudo systemctl restart cron✅ 检查定时任务是否生效查看 cron 配置：cat /etc/cron.d/ptcb-restart观察容器运行状态变化：watch -n 10 "docker ps | grep ptcb"若 STATUS 字段周期性刷新，即说明定时重启生效。❌ 如需删除定时任务：sudo rm -f /etc/cron.d/ptcb-restart sudo systemctl restart cron✅ 总结：你的部署将获得以下能力🎯 拆包自动化，暂停即触发🚀 多站点并行运行，批量部署无压力♻️ 稳定运行不崩，定时重启保驾护航💻 可迁移、可复用、适配任意 Debian VPS如你希望进一步实现：日志持久化、拆包记录、邮件提醒、systemd 方式管理、服务异常重启等高级功能，欢迎在评论区留言交流 👇
PT刷流篇——Qb刷流脚本、Vertex安装脚本，安装教程与简易配置
安装杰大 Qb 刷流脚本与 Vertex 教程本文主要分享如何在 VPS 上一键安装 qBittorrent 刷流脚本（杰大版本）以及 Vertex 面板，并附带注意事项和配置建议，适合新手快速上手。一、安装杰大 Qb 刷流脚本1.1 一键安装 qBittorrent请根据以下命令替换对应参数：-u：设置 Web UI 用户名-p：设置 Web UI 密码-c：设置缓存大小（单位：MB，一般为内存的 1/4）-q：qBittorrent 版本-l：libtorrent 版本示例：VPS 内存为 4096MB，用户名 admin，密码 admin123，缓存设置为 1024MB：bash <(wget -qO- https://raw.githubusercontent.com/jerry048/Dedicated-Seedbox/main/Install.sh) -u admin -p admin123 -c 1024 -q 4.3.9 -l v1.2.20 -x安装完成后执行重启：reboot重启后等待 5–15 分钟，BBR Plus X (bbrx) 自动安装完成。可通过以下命令验证：lsmod | grep bbr看到 bbrx 后再次执行：reboot重启后再次执行 lsmod | grep bbr，若只显示 bbrx，说明安装成功。1.2 qBittorrent 设置注意事项浏览器访问 http://[IP]:8080，登录并设置界面语言为简体中文。进入 设置 - 连接 - 用于传入连接的端口，点击“随机”生成端口，不要使用默认的 6881。设置 Web UI - IP 地址 为 0.0.0.0。取消勾选以下两个选项：启用“点击劫持”保护启用跨站请求伪造 (CSRF) 保护这一步是为了允许第三方软件连接和控制 qb。高级 - libtorrent 相关设置建议：异步 I/O 线程数：默认 4，SSD 可设置为 8～16磁盘缓存：建议为内存的 1/4，qB 4.3.x 可设置为 1/8 以避免溢出取消勾选 验证 HTTPS tracker 证书最下方点击“保存”以保存设置二、安装 Vertex 面板2.1 一键安装 Vertex（官方原版）在 SSH 中依次执行以下命令：apt update -y && \ apt upgrade -y && \ apt install apparmor apparmor-utils curl -y && \ curl -fsSL https://get.docker.com -o get-docker.sh && \ sh get-docker.sh && \ timedatectl set-timezone Asia/Shanghai && \ mkdir -p /root/vertex && chmod 777 /root/vertex && \ docker run -d --name vertex --restart unless-stopped --network host \ -v /root/vertex:/vertex -e TZ=Asia/Shanghai lswl/vertex:stable2.2 Vertex 设置说明使用 SFTP 工具连接 VPS，进入目录 /root/vertex/data/，双击打开 password 文件查看初始密码；或通过 SSH 直接查看：more /root/vertex/data/password浏览器访问 http://[IP]:3000 打开 Vertex 面板；用户名：admin密码：上方 password 文件中内容进入面板后，点击左侧【系统设置】-【安全设置】立即修改密码。后续重要设置包括：配置下载器配置 RSS 任务与规则配置删种规则配置定时脚本（定时备份 Vertex 所有设置）具体配置请参考 Vertex 官方文档。如有问题可在评论区留言，欢迎交流配置经验！