{"id":34822437,"url":"https://github.com/sunerpy/pt-tools","last_synced_at":"2026-05-23T06:15:23.498Z","repository":{"id":266313334,"uuid":"893814078","full_name":"sunerpy/pt-tools","owner":"sunerpy","description":"pt-tools 是一个专为PT站点设计的工具，支持通过rss订阅来下载免费种子和通过策略刷流、追剧等，帮助用户提高上传量，快速通过考核。支持docker、linux和windows等方式运行。","archived":false,"fork":false,"pushed_at":"2026-04-28T01:31:09.000Z","size":3492,"stargazers_count":94,"open_issues_count":10,"forks_count":15,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-04-28T03:27:47.307Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sunerpy.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-11-25T09:01:22.000Z","updated_at":"2026-04-28T01:30:16.000Z","dependencies_parsed_at":"2024-12-03T17:21:44.049Z","dependency_job_id":"c299ed82-9fda-4384-b711-8d6033d68e94","html_url":"https://github.com/sunerpy/pt-tools","commit_stats":null,"previous_names":["sunerpy/pt-tools"],"tags_count":69,"template":false,"template_full_name":null,"purl":"pkg:github/sunerpy/pt-tools","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunerpy%2Fpt-tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunerpy%2Fpt-tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunerpy%2Fpt-tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunerpy%2Fpt-tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sunerpy","download_url":"https://codeload.github.com/sunerpy/pt-tools/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunerpy%2Fpt-tools/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32522252,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-02T01:12:54.858Z","status":"online","status_checked_at":"2026-05-02T02:00:05.923Z","response_time":132,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-12-25T14:49:48.715Z","updated_at":"2026-05-16T10:06:52.092Z","avatar_url":"https://github.com/sunerpy.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pt-tools\n\n[![Go Version](https://img.shields.io/badge/Go-1.25+-blue.svg)](https://go.dev/)\n[![License](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)\n[![Docker Pulls](https://img.shields.io/docker/pulls/sunerpy/pt-tools.svg)](https://hub.docker.com/r/sunerpy/pt-tools)\n\n`pt-tools` 是一个功能强大的 PT（Private Tracker）站点自动化管理工具，提供 RSS 订阅自动下载、多站点种子搜索、用户信息统计、下载器管理等功能，帮助用户高效管理多个 PT 站点。\n\n![Example](docs/images/user-info.png)\n\n\u003cdetails\u003e\n\u003csummary\u003e点击查看任务列表示例 (Click to view Task List Screenshot)\u003c/summary\u003e\n\n![Task List](docs/images/task-list.png)\n\n\u003c/details\u003e\n\n## 🤖 ChatOps \u0026 机器人（v0.31+）\n\npt-tools 现支持通过 **QQ** 或 **Telegram** 机器人远程管理：\n\n- 🇨🇳 **QQ OneBot** via [NapCat](https://github.com/NapNeko/NapCatQQ)（reverse-WebSocket，私聊命令，已端到端验证）\n- 🌍 **Telegram Bot** via [BotFather](https://t.me/BotFather)（long-poll，私聊命令，支持代理，已端到端验证）\n- 🛠️ 内置 11 个命令：`/help` `/status` `/version` `/tasks` `/sites` `/torrents` `/pause` `/resume` `/delete` `/bind` `/unbind`\n- 📡 **RSS 上新通知**：QQ/Telegram 推送站点新种，支持全量/规则匹配双模式 + 静默时段 + digest 合并\n- 🔐 安全：管理员白名单、绑定码 TTL（5min/1h/1d/30d/永久）、AES-GCM 加密落库、HMAC 签名 webhook、操作审计日志\n\n\u003e **实验性出站通道（暂未端到端验证）**：企业微信群机器人 / 自定义 Webhook（HMAC-SHA256）— 代码已实现，欢迎贡献测试反馈。\n\n详见：\n\n- [快速开始 → ChatOps](docs/guide/chatops-quickstart.md)\n- [QQ OneBot (NapCat) 配置](docs/guide/chatops-qq-napcat.md)\n- [Telegram Bot 配置](docs/guide/chatops-telegram.md)\n- [RSS 上新通知](docs/guide/chatops-rss-notify.md)\n\n---\n\n## 功能特性\n\n| 功能                 | 描述                                                              |\n| -------------------- | ----------------------------------------------------------------- |\n| **RSS 自动订阅**     | 自动解析 RSS 订阅，智能识别免费种子并自动下载推送                 |\n| **多站点种子搜索**   | 跨站点搜索，支持批量下载和批量推送到下载器,或者下载种子文件到本地 |\n| **用户信息统计**     | 聚合展示所有站点的上传量、下载量、分享率、魔力值、等级进度等      |\n| **数据截图分享**     | 一键生成用户数据卡片截图，支持导出分享到社交平台                  |\n| **下载器管理**       | 支持多个下载器实例，可配置不同的下载目录和启动策略                |\n| **过滤规则**         | 对 RSS 订阅进行精细化筛选，支持关键词/通配符/正则表达式           |\n| **免费结束自动暂停** | 监控种子免费状态，免费期结束时自动暂停未完成的下载任务            |\n| **免费结束自动删除** | 可选开启，免费期结束时自动删除未完成的种子及数据，无需手动操作    |\n| **自动删种**         | 按做种时间/分享率/不活跃时间自动清理种子，支持 H\u0026R 保护和磁盘保底 |\n| **代理支持**         | 支持 HTTP_PROXY/HTTPS_PROXY/ALL_PROXY/NO_PROXY 环境变量代理       |\n| **版本更新检查**     | 自动检测新版本，支持代理设置，在 Web 界面展示更新日志             |\n| **一键自动升级**     | 二进制部署支持 Web 界面一键升级，自动下载替换，无需手动操作       |\n| **Web 管理界面**     | Web UI 管理后台，方便配置和监控                                   |\n\n\u003e [!WARNING]\n\u003e **关于 RSS 订阅与过滤规则**：在未启用任何过滤规则的情况下，RSS 订阅**默认只会下载免费种子**。如果您只是刷流，无需设置过滤规则，直接添加 RSS 订阅即可。只有在需要追剧或下载特定资源（即便种子非免费也要下载）时，才需要创建过滤规则并关闭规则中的「仅免费」开关。\n\n### 数据截图分享\n\n在用户信息页面，支持将站点数据生成精美的卡片截图，方便分享到社交平台或群组。\n\n**功能特点**：\n\n- **一键截图**：点击按钮即可生成当前数据的截图\n- **卡片样式**：精心设计的卡片布局，展示上传量、下载量、分享率等关键数据\n- **隐私保护**：自动隐藏敏感信息（如用户名、站点地址等）\n- **导出保存**：支持导出为 PNG 图片保存到本地\n\n### 免费结束自动暂停\n\n针对 PT 站点免费种子的智能管理功能，帮助用户在免费期结束前避免产生不必要的下载量消耗。\n\n**工作原理**：\n\n1. RSS 订阅下载免费种子时，系统自动记录种子的免费结束时间\n2. 为每个种子创建独立定时器，在免费结束时刻精确触发检查\n3. 免费期结束时，自动检测下载进度，暂停未完成的任务\n4. 已完成的种子不受影响，继续正常做种\n\n**功能特点**：\n\n- **精确定时**：独立定时器 + 周期检查双重机制，支持应用重启后自动恢复监控\n- **智能判断**：仅暂停未完成任务，已完成任务继续做种\n- **手动恢复**：支持在 Web 界面手动恢复暂停的任务（不再受免费限制）\n- **批量管理**：支持批量删除暂停任务，可选是否同时删除数据文件\n- **历史归档**：查看历史暂停记录和处理结果\n- **自动删除**：可在系统设置中开启「免费结束自动删除」，免费期结束时自动删除未完成的种子及数据文件，无需手动操作\n\n**启用方式**：在添加或编辑 RSS 订阅时，开启「免费结束时暂停」开关即可。\n\n\u003e [!TIP]\n\u003e 默认行为为暂停，如需自动删除，请在「系统设置 → 免费结束管理」中开启「免费结束自动删除」开关。此功能默认关闭，需用户手动开启并保存。\n\n### 一键自动升级\n\n针对二进制部署用户的便捷升级功能，无需手动下载替换文件，在 Web 界面即可完成版本升级。\n\n**支持环境**：\n\n| 部署方式    | 支持情况        | 说明                                               |\n| ----------- | --------------- | -------------------------------------------------- |\n| 二进制部署  | ✅ 完全支持     | 自动下载、解压、替换二进制文件                     |\n| Docker 部署 | ⚠️ 需第三方工具 | 推荐使用 Watchtower 自动更新，或手动 `docker pull` |\n\n**升级流程**：\n\n1. 在 Web 界面右上角点击版本号，查看可用更新\n2. 选择目标版本，点击「升级」按钮\n3. 系统自动下载对应平台的安装包并替换当前程序\n4. 升级完成后，手动重启服务即可使用新版本\n\n**Docker 用户升级方式**：\n\n```bash\n# 拉取最新镜像\ndocker pull sunerpy/pt-tools:latest\n\n# 重启容器\ndocker restart pt-tools\n```\n\n或使用 Docker Compose：\n\n```bash\ndocker compose pull\ndocker compose up -d\n```\n\n**自动更新方案**：推荐使用 [Watchtower](https://github.com/containrrr/watchtower) 实现 Docker 容器自动更新：\n\n```bash\ndocker run -d \\\n  --name watchtower \\\n  -v /var/run/docker.sock:/var/run/docker.sock \\\n  containrrr/watchtower \\\n  --cleanup \\\n  pt-tools\n```\n\nWatchtower 会自动检测并更新 pt-tools 容器到最新版本。\n\n## 支持站点\n\n[已适配站点列表](docs/sites.md)\n\n\u003e **扩展站点支持**：如需支持其他站点，欢迎提交 [Issue](https://github.com/sunerpy/pt-tools/issues) 或 [Pull Request](https://github.com/sunerpy/pt-tools/pulls)。\n\n## 快速开始\n\n### Docker 部署（推荐）\n\n镜像地址：[Docker Hub](https://hub.docker.com/r/sunerpy/pt-tools)\n\n```bash\ndocker run -d \\\n  --name pt-tools \\\n  -p 8080:8080 \\\n  -v ~/pt-data:/app/.pt-tools \\\n  -e PT_HOST=0.0.0.0 \\\n  -e PT_PORT=8080 \\\n  -e TZ=Asia/Shanghai \\\n  sunerpy/pt-tools:latest\n```\n\n### Docker Compose（推荐）\n\n```yaml\nservices:\n  pt-tools:\n    image: sunerpy/pt-tools:latest\n    container_name: pt-tools\n    environment:\n      PT_HOST: \"0.0.0.0\"\n      PT_PORT: \"8080\"\n      TZ: \"Asia/Shanghai\"\n    ports:\n      - \"8080:8080\"\n    volumes:\n      - ./data:/app/.pt-tools\n    restart: unless-stopped\n```\n\n\u003e 如需通过代理访问站点，可设置环境变量：`HTTP_PROXY`、`HTTPS_PROXY`、`ALL_PROXY`、`NO_PROXY`。\n\u003e 详细说明见 [docs/configuration.md](docs/configuration.md#代理配置)。\n\n启动后访问 `http://localhost:8080` 进入 Web 管理界面。\n\n**默认登录账号**：`admin` / `adminadmin`\n\n\u003e 更多部署示例请参考：\n\u003e\n\u003e - [examples/docker-run.md](examples/docker-run.md) - Docker 单容器运行详解\n\u003e - [examples/docker-compose.yml](examples/docker-compose.yml) - Docker Compose 编排\n\u003e - [examples/binary-run.md](examples/binary-run.md) - 二进制运行和 systemd 配置\n\n### 二进制运行\n\n前往 [Releases 页面](https://github.com/sunerpy/pt-tools/releases) 下载预编译二进制文件。\n\n**Linux**：\n\n```bash\nwget https://github.com/sunerpy/pt-tools/releases/latest/download/pt-tools-linux-amd64.tar.gz\ntar -xzf pt-tools-linux-amd64.tar.gz\nchmod +x pt-tools\n./pt-tools web --host 0.0.0.0 --port 8080\n```\n\n**Windows (PowerShell)**：\n\n```powershell\n# 一键下载、解压并运行（复制整段命令到 PowerShell 执行）\nInvoke-WebRequest -Uri \"https://github.com/sunerpy/pt-tools/releases/latest/download/pt-tools-windows-amd64.exe.zip\" -OutFile \"pt-tools.zip\"; Expand-Archive -Path \"pt-tools.zip\" -DestinationPath \".\" -Force; .\\pt-tools.exe web --host 0.0.0.0 --port 8080\n```\n\n或分步执行：\n\n```powershell\n# 下载并解压\nInvoke-WebRequest -Uri \"https://github.com/sunerpy/pt-tools/releases/latest/download/pt-tools-windows-amd64.exe.zip\" -OutFile \"pt-tools.zip\"\nExpand-Archive -Path \"pt-tools.zip\" -DestinationPath \".\"\n\n# 运行\n.\\pt-tools.exe web --host 0.0.0.0 --port 8080\n```\n\n\u003e **注意**：这是一个命令行工具，双击 exe 文件会提示需要在命令行中运行。请使用上述 PowerShell 命令启动服务。\n\n| 系统    | 架构  | 文件名                           |\n| ------- | ----- | -------------------------------- |\n| Linux   | amd64 | `pt-tools-linux-amd64.tar.gz`    |\n| Linux   | arm64 | `pt-tools-linux-arm64.tar.gz`    |\n| Windows | amd64 | `pt-tools-windows-amd64.exe.zip` |\n| Windows | arm64 | `pt-tools-windows-arm64.exe.zip` |\n\n## 使用指南\n\n### 初次配置流程\n\n1. **启动服务**：使用 Docker 或二进制启动 pt-tools\n2. **登录管理界面**：访问 `http://localhost:8080`，使用默认账号 `admin` / `adminadmin` 登录\n3. **修改密码**：首次登录后建议修改默认密码\n4. **配置下载器**：添加 qBittorrent 或 Transmission\n5. **配置站点认证**（二选一）：\n   - **推荐**：安装 [PT Tools Helper 浏览器扩展](#浏览器扩展)，在 PT 站点登录后一键同步 Cookie\n   - 手动方式：参考 [获取 Cookie / API Key](docs/guide/get-cookie-apikey.md) 手动复制粘贴\n6. **配置 RSS 订阅**：添加 RSS 订阅实现自动下载\n7. **配置过滤规则**（可选）：创建过滤规则实现精准下载\n\n## 浏览器扩展\n\n**PT Tools Helper** 是 pt-tools 的配套浏览器扩展，支持 Chrome 和 Edge。\n\n| 功能                 | 说明                                                          |\n| -------------------- | ------------------------------------------------------------- |\n| **Cookie 自动同步**  | 在 PT 站点登录后，一键将 Cookie 同步到 pt-tools，无需手动复制 |\n| **批量同步**         | 在扩展设置中勾选多个站点，一键批量同步所有 Cookie             |\n| **一键采集站点数据** | 自动抓取种子列表页、详情页、用户信息页，用于请求适配新站点    |\n| **自动脱敏**         | 采集的页面数据自动移除 Passkey、邮箱、IP 等敏感信息           |\n| **导出 \u0026 提交**      | 将采集数据导出为 ZIP，或一键创建 GitHub Issue 请求新站点支持  |\n| **中英文支持**       | 自动跟随浏览器语言切换中文/英文界面                           |\n\n### 安装方式\n\n**Edge Add-ons 扩展商店**（推荐）：\n\n- 前往 [Edge 扩展商店](https://microsoftedge.microsoft.com/addons/detail/pt-tools-helper/pgicnjkmgenmjfhlclodbpbedjmojbea) 搜索 \"PT Tools Helper\" 直接安装，支持自动更新\n\n**从 GitHub Release 手动安装**：\n\n1. 前往 [Releases](https://github.com/sunerpy/pt-tools/releases) 下载最新的 `pt-tools-helper.zip`\n2. 解压到任意目录\n3. Chrome → `chrome://extensions` / Edge → `edge://extensions`\n4. 开启「开发者模式」→「加载已解压的扩展程序」→ 选择解压目录\n\n**直接安装签名版 `.crx`**：从 [Releases](https://github.com/sunerpy/pt-tools/releases) 下载 `pt-tools-helper.crx`，拖入 `chrome://extensions/`（需开启「开发者模式」）。注意 Chrome 现在默认禁止 `.crx` 直接安装，浏览器可能会提示已停用；如不可用，请改用上面的 zip + 加载已解压扩展程序方式。\n\n详细使用说明见 [扩展 README](tools/browser-extension/README.md)。\n\n## 文档\n\n| 文档                                                           | 说明                                         |\n| -------------------------------------------------------------- | -------------------------------------------- |\n| **[ChatOps 快速开始](docs/guide/chatops-quickstart.md)**       | 机器人功能概览、通道选择与命令清单           |\n| **[QQ OneBot (NapCat) 配置](docs/guide/chatops-qq-napcat.md)** | NapCat Docker 部署、反向 WS 配置、绑定测试   |\n| **[Telegram Bot 配置](docs/guide/chatops-telegram.md)**        | BotFather 创建 bot、代理配置、绑定测试       |\n| **[RSS 上新通知](docs/guide/chatops-rss-notify.md)**           | RSS 新种实时推送：双模式、静默、digest、按钮 |\n| **[获取 Cookie / API Key](docs/guide/get-cookie-apikey.md)**   | 详细介绍如何从各站点获取认证信息             |\n| **[浏览器扩展使用指南](tools/browser-extension/README.md)**    | 自动同步 Cookie、采集站点数据                |\n| **[RSS 订阅配置指南](docs/guide/rss-subscription.md)**         | 如何配置 RSS 订阅实现自动下载                |\n| **[过滤规则与追剧指南](docs/guide/filter-rules-tv-series.md)** | 使用过滤规则自动追剧、筛选资源               |\n| **[自动删种指南](docs/guide/auto-cleanup.md)**                 | 自动清理种子策略配置和 H\u0026R 保护              |\n| **[请求新增站点支持](docs/guide/request-new-site.md)**         | 无需编程经验，提供页面数据即可请求适配       |\n| **[配置说明](docs/configuration.md)**                          | 环境变量、全局设置、下载器配置详解           |\n| **[常见问题 (FAQ)](docs/faq.md)**                              | 常见问题和解决方案                           |\n| **[开发指南](docs/development.md)**                            | 从源码构建、技术架构、贡献指南               |\n\n## 贡献\n\n欢迎贡献代码或提交问题！\n\n- **提交 Issue**：[GitHub Issues](https://github.com/sunerpy/pt-tools/issues)\n- **提交 PR**：[GitHub Pull Requests](https://github.com/sunerpy/pt-tools/pulls)\n- **交流群**：[Telegram](https://t.me/+7YK2kmWIX0s1Nzdl)\n\n详细的贡献流程请参考 [开发指南](docs/development.md)。\n\n## 更新日志\n\n查看 [Releases](https://github.com/sunerpy/pt-tools/releases) 获取完整更新日志。\n\n## 许可证\n\n[MIT License](LICENSE)\n\n## Star History\n\n如果这个项目对你有帮助，请给一个 Star 支持一下！\n\n[![Star History Chart](https://api.star-history.com/svg?repos=sunerpy/pt-tools\u0026type=Date)](https://star-history.com/#sunerpy/pt-tools\u0026Date)\n\n## 交流分享\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003ca href=\"https://t.me/+7YK2kmWIX0s1Nzdl\"\u003eTelegram\u003c/a\u003e\u003cbr\u003e\n      \u003cimg height=\"250\" alt=\"telegram\" src=\"https://github.com/user-attachments/assets/547991c9-dd8e-4fa7-b5e3-9756f456a9fc\" /\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\n      QQ群: 274984594\u003cbr\u003e\n      \u003cimg height=\"250\" alt=\"qq\" src=\"https://github.com/user-attachments/assets/e3d65e3e-ff2d-4c03-a4f7-871b99064517\" /\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n---\n\n**免责声明**：本工具仅供学习和研究使用，请遵守各 PT 站点的规则，合理使用。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsunerpy%2Fpt-tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsunerpy%2Fpt-tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsunerpy%2Fpt-tools/lists"}