更新ReadMe文档

This commit is contained in:
ngfchl
2022-09-20 21:21:52 +08:00
parent 6a9f166f16
commit f5f66f7d79
21 changed files with 841 additions and 127 deletions

15
ReadMe.md Normal file
View File

@@ -0,0 +1,15 @@
# PTools
[![simpleui](https://img.shields.io/badge/developing%20with-Simpleui-2077ff.svg)](https://github.com/newpanjing/simpleui)
> 新搞起来的pt工具欢迎大家尝试
> 1\. 很多问题文档里都有答案,安装使用请先详细阅读文档,找不到答案的再问我哈
> 2\. 还有部分站点明文规定不允许使用自动化工具的请各位慎用谨防ban号
![](https://cdn.nlark.com/yuque/0/2022/png/29662219/1663125680952-2a4f8565-60c1-45b4-a1d8-35cc408e792c.png)
## 支持目录
[Support](Support/Support.md "Support")

View File

@@ -0,0 +1,29 @@
# PTPP导入
### 如果最新更新直接使用备份压缩包导入
PS如果备份文件中没有cookie.json请检查如下两处
1. 备份时备份cookie
![](https://cdn.nlark.com/yuque/0/2022/png/29662219/1662900564432-b7c4a295-bc37-40d1-b9da-065c66d3a904.png)
2. 给予cookie权限
![](https://cdn.nlark.com/yuque/0/2022/png/29662219/1662900536465-fff635d3-758e-41d6-beed-e44ed4ebb8ef.png)
3. 打开PTPP助手的参数备份与恢复
![](https://cdn.nlark.com/yuque/0/2022/png/29662219/1662794377766-f0b5c0f1-b485-4e65-bf9b-21288e838543.png)
4. 点击备份会自动下载一个压缩包
![](https://cdn.nlark.com/yuque/0/2022/png/29662219/1662794412502-a8d1ae4c-9064-47fc-a3d5-8d09f5a33c05.png)
5. 在左侧菜单中选择:更新与导入=>站点导入,打开界面
![](https://cdn.nlark.com/yuque/0/2022/png/29662219/1662900285153-22dd5870-efce-4250-9bc8-dca318e28114.png)
6. 选择压缩包,点击导入,等待结果返回即可。
![](https://cdn.nlark.com/yuque/0/2022/png/29662219/1662900352599-e724193e-4700-4198-b0f2-f8b619194eb6.png)

27
Support/Support.md Normal file
View File

@@ -0,0 +1,27 @@
# Support
[主要功能](主要功能/主要功能.md "主要功能")
[站点支持](站点支持/站点支持.md "站点支持")
[镜像的运行机制](镜像的运行机制/镜像的运行机制.md "镜像的运行机制")
[安装PTools](安装PTools/安装PTools.md "安装PTools")
[登录使用](登录使用/登录使用.md "登录使用")
[错误处理](错误处理/错误处理.md "错误处理")
[联系我](联系我/联系我.md "联系我")
[PTPP导入](PTPP导入/PTPP导入.md "PTPP导入")
[百度OCR识别](百度OCR识别/百度OCR识别.md "百度OCR识别")
[自行适配](自行适配/自行适配.md "自行适配")
[通知](通知/通知.md "通知")
[功能开发](功能开发/功能开发.md "功能开发")
[更新日志](更新日志/更新日志.md "更新日志")

View File

@@ -0,0 +1,15 @@
# 主要功能
1. 自动签到
2. 自动刷新个人数据
3. 自动拉取站点首页促销种子
4. 可以自定义自动任务内置定时任务7小时一次签到6小时一次抓取个人数据2小时拉取一次最新种子可以更改执行频率但是不支持直接更改具体执行时间支持corn表达式
5. 允许推送种子到下载器支持QB和TR但QB仅支持推送目前不支持与种子关联 2022/9/18, 5:01 下午
6. 支持使用ptpp的备份文件导入站点
提醒,其他自动任务目前为空壳,请勿使用

View File

@@ -0,0 +1,67 @@
# 功能开发
* [x] Ptpp导入支持使用ptpp备份文件导入已存在的站点更新cookies未添加的支持的站点导入后自动获取UID与passkey不支持的站点跳过目前进度已完成暂时只支持np架构站点。
* [x] web界面操作更新
* [x] 自动获取更新记录
* [x] web界面操作容器重启
* [x] 重启容器自动更新通过git实现 2022.08.22
* [x] 天空签到验证码支持
* [x] 加入时魔
* [x] 优化微信通知内容
* [x] 增加数据导入导出功能
* [x] 增加pushdeerbarkwxPusher等通知方式
* [x] 调整为数据库缓存去除redis减小容器体积
* [x] 库安装调整为容器启动时安装,目的,减小容器体积
* [x] 支持多种通知方式企业微信wxPusher,pushdeer,bark
* [ ] 支持本地ocr不稳定暂时取消再测试一天
* [x] 统一信息返回格式为codemsgdata 8.21
* [x] Ocr识别需自行配置百度api授权:个人api授权每个月只有1000次撑不住 8.21
* [ ] 增加代理服务器设置
* [x] 我的站点要展示最新数据
* [x] 我的站点增加做种体积字段8.19
* [x] 点开我的站点要能看到本站历次抓取的信息
* [ ] 历次数据用于展示图表📊
* [x] 我的数据一栏如果可以直接隐藏
* [x] 文件大小获取到字节,以数字存储,便于计算
* [ ] Socket或rpc展示所有下载任务通过hash与种子关联点击任务可展示种子详情
* [x] 内置定时任务7小时一次签到6小时一次抓取个人数据
* [x] 2小时拉取一次最新种子
* [ ] 拉取一次种子hash
* [ ] 辅种想法: 文件名文件数量文件大小文件结构HASH
* [ ] 仅支持Qbittorrent下载器保证系统流畅性支持同一服务器上的下载器信息合并统计种子、下载、上传、剩余空间等等
* [ ] 下载器自动分配: 支持多个下载器支持下载器分类刷流与保种每次推送获取下载器参数根据当前网络占用包括上下行剩余空间足够的情况下优先选择网络占用低的服务器上的下载器采用nginx负载均衡随机算法权重随机轮询权重轮询...
* [ ] 把一些规则抽象为一种算法后封装为公用的类后面扩展起来容易
* [x] 拉取个人信息返回值判断存在问题:好大HDArea 信息更新失败原因False
* [x] 通知太多,能否合并?合并成功,一个任务一次只通知一条,失败信息置顶显示

Binary file not shown.

After

Width:  |  Height:  |  Size: 334 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 215 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 KiB

View File

@@ -0,0 +1,131 @@
# 安装PTools
### 命令行安装
```bash
# -v 本地路径:容器路径,下面的是数据库路径/var/www/html/ptools/db后面不能改
# -v docker、docker.sock 映射,用于实现点击页面按钮重启容器更新代码,:前的路径需要根据使劲情况更改,获取路径命令:`which docker`
# -p 端口映射,本地端口:容器端口,后面不能改
# -e 设置环境变量,这里用于配置工具登录账号和密码,可以删掉不写,会有默认值,在登录一项有写,登录之后都可以修改
# DJANGO_SUPERUSER_USERNAME用户名
# DJANGO_SUPERUSER_EMAIL 邮箱
# DJANGO_SUPERUSER_PASSWORD密码
# DJANGO_WEB_PORT自定义容器内部端口用户HOST网络模式一般不需要使用
# 最简单的部署
docker run -d \
-v /your-path/db:/var/www/html/ptools/db \
-p 8001:8000 \
ngfchl/ptools
# 直接自定义用户名密码
docker run -d \
-v /your-path/db:/var/www/html/ptools/db \
-p 8001:8000 \
-e DJANGO_SUPERUSER_USERNAME=admin \
-e DJANGO_SUPERUSER_EMAIL=example@example.com \
-e DJANGO_SUPERUSER_PASSWORD=adminadmin \
ngfchl/ptools
# 映射docker路径实现容器内直接重启本容器需要使用 which docker 自行查找docker路径
docker run -d \
-v /your-path/db:/var/www/html/ptools/db \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/bin/docker:/usr/bin/docker \
-p 8001:8000 \
--name=ptools \
ngfchl/ptools
# 宝塔
docker run -itd -v /www/wwwroot/ptools/db:/var/www/html/ptools/db -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker -p 8001:8000 --name=ptools ngfchl/ptools
# 群晖群晖一定不要在root模式下搞要使用sudo命令执行
sudo docker run -itd -v /volume1/docker/ptools/db:/var/www/html/ptools/db -v /var/run/docker.sock:/var/run/docker.sock -v /usr/local/bin/docker:/usr/bin/docker -p 8001:8000 --name=ptools ngfchl/ptools
```
### 群晖安装
1. 下载镜像ngfchl/ptools
![](https://cdn.nlark.com/yuque/0/2022/png/29662219/1663562331102-a5c45158-a0aa-4fa9-9d26-5df55d76e2ed.png)
2. 下载成功,点击启动
![](https://cdn.nlark.com/yuque/0/2022/png/29662219/1663562419574-1a0e11bd-53a4-4ef2-a2d4-10d4dfe82736.png)
3. 配置容器提前准备好文件夹我的路径volume1/docker/ptools
![](https://cdn.nlark.com/yuque/0/2022/png/29662219/1663562499411-310d679f-48e0-4407-a743-83075a4039ac.png)
4. 选择网络默认就好不需要用host模式但是如果你的网络环境比较差或者需要使用IP V6那你最好使用HOST模式连接性更好并且与主机共享V6地址
![](https://cdn.nlark.com/yuque/0/2022/png/29662219/1663562524233-3de72171-b3a3-4f4b-82d1-1c9de4182ec1.png)
5. 取好名字,开启自动重启
![](https://cdn.nlark.com/yuque/0/2022/png/29662219/1663562606554-81abfc8f-9f10-4eb8-8056-316283d00eab.png)
6. 打开高级设置环境变量里面设置这三项就可以了如果你使用host模式而且端口8000与其他应用有冲突可以修改最下方的WEB\_PORT为你喜欢的端口保存下一步
![](https://cdn.nlark.com/yuque/0/2022/png/29662219/1663562656979-d73a15df-be35-4965-a8b2-b1319efcbbfa.png)
7. 配置访问端口这里填上你喜欢的端口host模式无需配置未修改环境变量就是8000修改了就是你修改的值
![](https://cdn.nlark.com/yuque/0/2022/png/29662219/1663562834417-8f46f984-ec3e-4e55-94ff-08ffa03a26a4.png)
8. 映射数据库文件夹,选择你想保存的文件夹,然后填上容器内部的路径:/var/www/html/ptools/db这个路径是固定的当然如果你懂docker你看着搞就行
![](https://cdn.nlark.com/yuque/0/2022/png/29662219/1663562890673-da630bb5-2be6-4dfa-b27b-5eaabf278d5e.png)
![](https://cdn.nlark.com/yuque/0/2022/png/29662219/1663563005248-6da67466-1123-4280-a86c-f91e3451ce69.png)
9. 下一步,完成启动容器,在容器状态中就可以查看日志了,也可以在终端机查看实时日志
![](https://cdn.nlark.com/yuque/0/2022/png/29662219/1663563112805-d939c4bd-a788-4093-954d-63d3b3c8a169.png)
![](https://cdn.nlark.com/yuque/0/2022/png/29662219/1663563168062-9a9a84f7-348d-4b7d-a89a-dc231ebed6ea.png)
10. 等待系统提示如下信息,就启动完成了!玩得开心
![](https://cdn.nlark.com/yuque/0/2022/png/29662219/1663574154808-1241bb6c-a65c-461a-bca3-ebbd08253f2c.png)
### 极空间安装
1. 搜索并下载镜像
![](image/image_5F1hXc3BXy.png)
2. 设置并启动容器
1. 基本设置
![](image/image_yOFj7rvJfJ.png)
2\. 映射文件夹,装载路径必须为:`/var/www/html/db` ,不可更改
![](image/image_phW8uGhhQg.png)
3\. 端口映射本地端口看你喜欢容器端口必须为8000如果你使用HOST模式这一步无需映射
![](image/image_RWkIUVQe72.png)
4\. 环境变量设置默认可以不用设置但是如果你使用HOST模式需要更改端口可以在这里修改环境变量` DJANGO_WEB_PORT `为你喜欢的端口
![](image/image_P7N-1Vu-xU.png)
3. 其他选项无需更改,保存启动,访问你配置的端口即可。
### UNRAID模板使用
1. 文件地址:[https://gitee.com/ngfchl/ptools/tree/master/docker\_templates](https://gitee.com/ngfchl/ptools/tree/master/docker_templates "https://gitee.com/ngfchl/ptools/tree/master/docker_templates")
2. 下载文件后导入到unraid的/root/.docker/templates-user目录下工具为finalshell
![](https://cdn.nlark.com/yuque/0/2022/png/29662219/1662179198515-34493606-3e37-4a57-ad49-0ac45f23b7ea.png)
3. 然后在创建容器是就可以使用模板创建了
![](https://cdn.nlark.com/yuque/0/2022/png/29662219/1662179494817-54f6b911-8516-42bf-80b5-cf07292951a6.png)
4. 根据需要修改自己的参数
![](https://cdn.nlark.com/yuque/0/2022/png/29662219/1662179548360-9a07e5ad-8be6-4958-bbe7-8e5bb760cb5b.png)
5. 应用,安装完毕。

View File

@@ -0,0 +1,133 @@
# 更新日志
### 2022.09.18
> 更换表格组件未U-Table解决单页数据超过500条时浏览器卡顿的问题 2022/9/18, 11:27 下午
> 调整页面每5秒刷新一次数据下一步搞可暂停刷新来操作数据 昨天 12:03 上午
> 添加页面刷新数据间隔功能可根据需要调整也可以停止刷新默认刷新10S一次
> 调整数据库事务,增加写入效率
> 更新邀请资格默认规则
> 优化docker体积与启动流程
> 更新促销种子获取规则
> 增加站点支持:憨憨-签到-数据-种子
### 2022.09.18
> 去除非免费种子的抓取 2022/9/18, 2:06 下午
> 测试发送网站原消息内容 2022/9/18, 5:00 下午
> 允许推送种子到下载器支持QB和TR但QB仅支持推送目前不支持与种子关联 2022/9/18, 5:01 下午
> 任务管理继续进行中优化加载速度到3-5秒双击表格可弹出详情页详情页还未优化 2022/9/18, 5:32 下午
### 2022.09.17
> 优化无Passkey导入时的返回提示详情可以查看docker日志或F12查看浏览器终端日志
> 前后端交互添加gzip压缩加速
> 开始测试下载器管理0.0.1已可获取下载任务但是加载速度稍慢550条任务加载时间在15-20秒
### 2022.09.16
> 调整Passkey为非必填项
> 导入时若无Passkey则会自动获取一次获取成功继续保存获取失败会在消息中有提醒
> 更新观众和U2获取PASSKEY规则更新南洋规则
### 2022.09.15
> 更新杜比、蚂蚁、明教、芒果部分规则
> 更新月月、吐鲁番、猪猪、Kame等站部分规则
### 2022.09.14
> 优化导入,减少因为导入而覆盖的数据
> 优化我的站点信息展示,修改列表方式,只显示最近半个月的数据
### 2022.09.13
> 优化导入功能直接使用ptpp备份压缩包导入可解析数据包括cookieUID以及过往数据
> 优化重启功能
### 2022.09.10
> 增加重磅功能支持使用ptpp的备份文件导入站点
> 优化自动和手动拉取个人数据时上传量下载量的显示默认字节转化为GB、TB
### 2022.09.05
> 更新CarPT、MT、红豆饭部分规则
> 增加短消息提醒功能,检测到消息直接发送通知到手机
### 2022.09.02
> 增加月月个人数据与拉取种子支持修复红豆饭、carpt等站点规则
> 修复调用百度OCR出校不停调用API耗完免费次数的bug
> 增加分享率警告获取个人数据是发现分享率低于1的发送分享率警告通知
> 增加签到返回信息字段,保存每天的签到信息
### 2022.09.01
> 更新白兔、城市、艾薇、老师部分规则,解决因为获取注册时间、最近活动时间导致的错误
> 优化个人数据获取逻辑时魔获取失败是置为0防止因此导致其他信息保存失败
### 2022.08.31
> 根据反馈在我的站点页面隐藏用户id并调整部分字段
> 添加unraid下的docker模板可自行到gitee下载 [https://gitee.com/ngfchl/ptools/raw/master/docker\_templates/my-ptools.xml](https://gitee.com/ngfchl/ptools/raw/master/docker_templates/my-ptools.xml "https://gitee.com/ngfchl/ptools/raw/master/docker_templates/my-ptools.xml")
> 增加TTG签到
### 2022.08.30
> 优化更新逻辑,独立规则更新,增加更新操作提示
> 因为微信接收企业微信消息不支持markdown格式故改为text模式发送只能显示markdown源码
### 2022.08.28
> 优化重启功能自动获取容器ID不在需要设置环境变量降低部署难度
> 优化白兔、1PT、老师站点部分规则
## 2022.08.24 发布PTools1.0版本
1. 支持站点列表附后
2. 支持多站签到,支持天空验证码签到
3. 支持拉取多站个人数据信息
4. 支持多站拉取首页种子信息
5. 支持企业微信、WxPusher、PushDeer、Bark通知
6. 支持定时任务
7. 支持自动签到,默认一天签到三次,每七小时签到一次,保留签到状态,已签到的不会重复签到
8. 支持自动拉取个人数据,默认五个小时拉取一次
9. 支持自动拉取首页促销种子,默认五个小时拉取一次
10. 提供一份NP架构站点通用配置未适配站点可以通过XPATH自行适配

View File

@@ -0,0 +1,9 @@
# 登录使用
> 📌默认密码如下,可以在环境变量中自行设置登录账号密码,也可以不设置用户名密码,登录之后自行更改
默认端口8000
默认用户名admin
默认 密码adminadmin

View File

@@ -0,0 +1,13 @@
# 百度OCR识别
1.`计划任务`中打开`OCR识别`
![](https://cdn.nlark.com/yuque/0/2022/png/29662219/1662131598815-3e33c5f0-ceaf-40f6-9573-a95563ea30de.png)
2. 点击增加按钮
![](https://cdn.nlark.com/yuque/0/2022/jpeg/29662219/1662131699537-4aef4b3f-8c60-4937-b44a-9a83d8b4b51b.jpeg)
3. 按要求填入百度OCR识别指定信息并启用即可使用签到OCR识别
![](https://cdn.nlark.com/yuque/0/2022/jpeg/29662219/1662131713921-8c13fece-0494-4608-8b52-fae8580b6fc2.jpeg)

View File

@@ -0,0 +1,63 @@
# 站点支持
#### 部分数据为网友自行测试,可能存在误差,不过最终都会一一支持的
| **序号** | **站点** | **获取种子** | **签到** | **个人数据** | **HASH** | **手动推送** | **自动刷流** | **PTPP导入** | **备注** |
| ------ | ------- | -------- | ------ | -------- | -------- | -------- | -------- | ---------- | -------------- |
| 1 | 阿童木 | 支持 | 支持 | 支持 | | 支持 | | 支持 | |
| 2 | 猪猪网 | 支持 | 支持 | 支持 | | 支持 | | 支持 | |
| 3 | 学校 | 支持 | 支持 | 支持 | | 支持 | | 支持 | 由于更新了防御盾,时灵时不灵 |
| 4 | 1PT | 支持 | 支持 | 支持 | | 支持 | | 支持 | |
| 5 | ASL | 支持 | 支持 | 支持 | | 支持 | | | 站点好像已死? |
| 6 | CarPT | 支持 | 支持 | 支持 | | 支持 | | 支持 | |
| 7 | 高清视界 | 支持 | 支持 | 支持 | | 支持 | | 支持 | |
| 8 | 红豆饭 | 支持 | 支持 | 支持 | | 支持 | | 支持 | |
| 9 | 时光 | 支持 | 支持 | 支持 | | 支持 | | 支持 | |
| 10 | MTeam | 支持 | 支持 | 支持 | | 支持 | | 支持 | |
| 11 | HDZONE | 支持 | 支持 | 支持 | | 支持 | | 支持 | |
| 12 | 冬樱 | 支持 | 支持 | 支持 | | 支持 | | 支持 | |
| 13 | 蚂蚁 | 支持 | 支持 | 支持 | | 支持 | | 支持 | |
| 14 | 自由农场 | 支持 | 支持 | 支持 | | 支持 | | 支持 | |
| 15 | 铂金学院 | 支持 | 支持 | 不支持 | | 支持 | | 支持 | |
| 16 | 烧包 | 支持 | 无需 | 支持 | | 支持 | | 支持 | |
| 17 | 海棠 | 支持 | 支持 | 支持 | | 支持 | | 支持 | |
| 18 | | | | | | | | | |
| 19 | 时间PTT | 支持 | 支持 | 支持 | | 支持 | | 支持 | |
| 20 | 海带 | 支持 | 无需 | 支持 | | 支持 | | 支持 | |
| 21 | 白兔 | 支持 | 支持 | 支持 | | 支持 | | 支持 | |
| 22 | 芒果 | 支持 | 支持 | 支持 | | 支持 | | 支持 | |
| 23 | 艾薇 | 支持 | 无需 | 支持 | | 支持 | | | 已死 |
| 24 | 老师 | 支持 | 支持 | 支持 | | 支持 | | 支持 | |
| 25 | 马杀鸡 | 支持 | 无需 | 支持 | | 支持 | | 支持 | |
| 26 | 欧绅 | 支持 | 无需 | 支持 | | 支持 | | 支持 | |
| 27 | 备胎 | 支持 | 无需 | 支持 | | 支持 | | 支持 | |
| 28 | 观众 | 支持 | 支持 | 支持 | | 支持 | | 支持 | |
| 29 | 丐帮 | 支持 | 支持 | 支持 | | 支持 | | 支持 | |
| 30 | 明教 | 支持 | 支持 | 支持 | | 支持 | | 支持 | |
| 21 | 天空HDSKY | 支持 | 支持 | 支持 | | 不支持 | | 支持 | |
| 32 | 杜比 | 支持 | 支持 | 支持 | | 不支持 | | 支持 | |
| 33 | 海胆 | 暂不支持 | 支持 | 支持 | | 不支持 | | 支持 | |
| 34 | 海豹 | 不支持 | 无需 | 不支持 | | 不支持 | | | |
| 35 | 明教 | 支持 | 支持 | 支持 | | 支持 | | 支持 | |
| 36 | 梓喵 | 支持 | 支持 | 支持 | | 支持 | | 支持 | |
| 37 | 城市 | 支持 | 支持 | 支持 | | 支持 | | 支持 | |
| 38 | 铂金家 | 支持 | 支持 | 支持 | | 支持 | | 等待反馈 | |
| 39 | HDVIDEO | 支持 | 支持 | 支持 | | 支持 | | 支持 | |
| 40 | 吐鲁番 | | 无需 | 支持 | | | | 支持 | |
| 41 | 月月frds | 支持 | 无需 | 支持 | | | | 支持 | |
| 42 | TTG | | 支持 | | | | | 支持 | |
| 43 | TLF | | 无需 | 支持 | | | | 支持 | |
| 44 | discfan | | 支持 | 支持 | | | | 支持 | |
| 45 | 南洋 | | 支持 | | | | | | |
| 46 | 柠檬 | | 支持 | | | | | | |
| 47 | 猫 | | 支持 | | | | | | |
| 48 | opencd | | 暂不支持 | | | | | | |
| 49 | 家园 | | 支持 | | | | | | |
| 50 | 我堡 | | 支持 | 支持 | | | | | |
| 51 | 好多油 | | 支持 | 支持 | | | | | |
| 52 | 彩虹岛 | | 支持 | 支持 | | | | | |
| 53 | 不可说 | | 支持 | | | | | | |
| 54 | joyhd | | 无需 | | | | | | |
| 55 | U2 | | 暂不支持 | | | | | | |
| 56 | 兽 | | 支持 | | | | | | |
| 57 | 憨憨 | 支持 | 支持 | 支持 | | | | | |

View File

@@ -0,0 +1,9 @@
# 联系我
交流群(微信)
![](https://cdn.nlark.com/yuque/0/2022/jpeg/29662219/1662799197849-7aa3c95c-b5c2-4f20-a2fc-ea6df34db10a.jpeg)
邮箱
[328176843@qq.com](mailto:328176843@qq.com "328176843@qq.com")

View File

@@ -0,0 +1,234 @@
# 自行适配
### 通用规则
* 这里我做了NP架构站点的信息获取的通用XPATH
* 只要界面只是轻微改动的站点大部分能用,大家可以自行尝试一下,如果可以用,可以群里告诉我,我把站点加到支持列表
* 懂XPATH的大佬们可以参与一下很简单的。
```python
# 用户等级
//table[@id="info_block"]//span/a[contains(@class,"_Name") and contains(@href,"userdetails.php?id=")]/@class
U2: //img[contains(@src,"user")]/@src
TTG: //td[contains(text(),"等级")]/following-sibling::td/text()
# 用户ID
//table[@id="info_block"]//span/a[contains(@class,"_Name") and contains(@href,"userdetails.php?id=")]/@href
ttg://h1/a[contains(@href,"userdetails.php?id=")]/@href
# 用户passkey
//td[contains(text(),"Passkey")]/following-sibling::td[1]/text()
//td[contains(text(),"密钥")]/following-sibling::td[1]/text()
//td[contains(text(),"密匙")]/following-sibling::td[1]/text()
观众//td[contains(text(),"密钥")]/following-sibling::td[1]/span/text()
U2://td[contains(text(),"密钥")]/following-sibling::td[1]/span/@data-content
# 分享率
//font[@class="color_ratio"][1]/following-sibling::text()[1]
TTG: //font[contains(text(),"分享率 ")][1]/following-sibling::font[1]/text()[1]
U2//span[contains(text(),"分享率")][1]/following-sibling::text()[1]
南洋芒果//img[@alt="Ratio"][1]/following-sibling::text()[1]
# 魔力值
//a[@href="mybonus.php"]/following-sibling::text()[1]
U2: //a[@href="ucoin.php"]/following-sibling::span[1]//text()
南洋TTG: //a[contains(@href,"mybonus.php")]/text()[1]
joyhd//a[@href="usebonus.php"]/following-sibling::text()[1]
# 时魔
//div[contains(text(),"每小时")]/text()[1]
mt//td[contains(text(),"每小")]/text()[1]
U2: //td[@id="outer"]//td[@class="text"]/text()
TTG: //td[contains(text(),"总计")]/following-sibling::td/text()
# 做种积分
//font[@class="color_bonus" and contains(text(),"积分")]/following-sibling::text()[1]
TTG => HP:
观众//a[contains(@href,"blackjack.php")]/following-sibling::text()[1]
# 邀请
//span/a[contains(@href,"invite.php?id=")]/following-sibling::text()[1]
TTG: //a[contains(@href,"invite.php")]/span/text()[1]
南洋芒果//span/a[contains(@href,"invite.php")]/text()[1]
# 上传量
//font[@class="color_uploaded"]/following-sibling::text()[1]
TTG//font[contains(text(),"上传量")]/following-sibling::font[1]/a/text()[1]
U2: //span[@class="color_uploaded"]/following-sibling::text()[1]
# 下载量
//font[@class="color_downloaded"]/following-sibling::text()[1]
U2: //span[@class="color_downloaded"]/following-sibling::text()[1]
TTG//font[contains(text(),"下载量")]/following-sibling::font[1]/a/text()[1]
# 当前做种数
### <img class="arrowup" alt="Torrents seeding" title="当前做种" src="pic/trans.gif">
//img[@class="arrowup"][1]/following-sibling::text()[1]
南洋//img[@alt="Torrents seeding"][1]/following-sibling::text()[1]
TTG//img[contains(@title,"做种中")]/following-sibling::font[1]/span/text()[1]
U2: .//a[contains(@href,"#seedlist")]//text()
# 当前下载数
//img[@class="arrowdown"][1]/following-sibling::text()[1]
南洋//img[@alt="Torrents leeching"][1]/following-sibling::text()[1]
TTG//img[contains(@title,"下载中")]/following-sibling::font[1]/span/text()[1]
# HR
//a[@href="myhr.php"]//text()
# 邮件
20220911更新
//a[@href="messages.php"]/font[contains(text(),"")]/text()[1]
//a[@href="messages.php"]/font/text()[1]
TTG : //img[@alt="inbox"]/parent::a[contains(@href,"messages.php")]/following-sibling::text()[1]
# 注册日期
//td[contains(text(),"加入")]/following-sibling::td[1]//span/@title
U2://td[contains(text(),"加入")]/following-sibling::td[1]//time/@title
TTG //td[contains(text(),"注册日期")]/following-sibling::td[1]/text()
# 最近活动日期
//td[contains(text(),"最近")]/following-sibling::td[1]//span/@title
U2: //td[contains(text(),"最近")]/following-sibling::td[1]//time/@title
TTG//td[contains(text(),"上次访问")]/following-sibling::td[1]/text()
# 当前做种记录数、做种体积 pop(0)去除标题行len获取记录数获取的体积相加为做种体积
//tr/td[4]
U2/mt/joyhd//tr/td[3]
# 种子表格
//table[@class="torrents"]/tr
# 种子名称 name_rule
.//td[@class="embedded"]/a/b//text()
ttg: .//div[@class="name_left"]/a/b/span/text()
# 种子标题
.//td[@class="embedded"]/a[contains(@href,"detail")]/following::text()[1]
ttg: .//div[@class="name_left"]/a/b/text()[1]
南洋.//td[@class="embedded"]/a[contains(@href,"detail")]/parent::td/text()
joyhd:.//td[@class="embedded"]/a[contains(@href,"detail")]/following::text()[2]
# 详情页
.//td[@class="embedded"]/a[contains(@href,"detail")]/@href
ttg: .//div/a[contains(@href,"/t/")]/@href
# 分类
.//td[@class="rowfollow nowrap"][1]/a[1]/img/@title
.//td[@class="rowfollow nowrap"][1]/a[1]/img/@alt
.//td[@class="rowfollow nowrap"][1]/a[1]/img/@class
ttg: .//img[contains(@src,"cate")]/@alt
joyhd:.//td[@class="rowfollow nowrap"][1]/span/a[1]/img/@class
# 海报
# 首页行内下载链接 magnet 链接 magnet_url
.//a[contains(@href,"download.php?id=")]/@href
ttg: .//img[contains(@class,"dl_img")]/parent::a/@href
# 详情页下载链接
.//a[contains(@href,"download.php?") and contains(text(),"右键")]/@href
南洋//a[contains(@href,"download.php?") and contains(text(),"右键")]/@href
月月 .//input[@id="download_link"]/@value
TTG//a[contains(text(),"点击复制")]/@href
吐鲁番.//a[contains(@href,"download.php?id=") and contains(@href,"passkey")]/@href
老师.//a[contains(@href,"download.php?downhash=")]/@href
# 文件大小
.//td[5]/text()
# HR
# 促销
# .//div/img[contains(@class,"pro_")]/@alt
.//img[contains(@class,"pro_")]/@alt
ttg: .//img[contains(@src,"free")]/@alt
吐鲁番 .//img[contains(@class,"pro_")]/@alt
# 或许可以为默认?
joyhd:.//img[contains(@class,"free")]/@alt
# 促销结束时间
# .//div/img[contains(@class,"pro_")]/@onmouseover
.//img[contains(@class,"pro_")]/following::font/span/@title
吐鲁番.//img[contains(@class,"pro_")]/following::span[1]/@title
# 发布时间
.//td[4]/span/@title
南洋.//td[4]/text()
# 做种人数
.//a[contains(@href,"#seeders")]/text()
.//a[contains(@href,"#seeders")]//text()
ttg: .//a[contains(@href,"&toseeders")]//text()
# 下载人数无结果的为0
.//a[contains(@href,"#leechers")]/text()
.//a[contains(@href,"#leechers")]//text()
# 完成人数
.//a[contains(@href,"viewsnatches")]//text()
ttg: .//td[8]/text()[1]
# 平均完成进度
.//tr/td[9]/nobr/text()
吐鲁番.//tr/td[8]/nobr/text()
# 平均下载速度
.//b[contains(text(),"下载者")]/parent::font/following-sibling::table/tr/td[6]/nobr/text()
# hash
//td[@class="no_border_wide"]/b[contains(text(),"Hash 码")]/following::text()[1]
//td/b[contains(text(),"Hash")]/following::text()[1]
```
### 使用教程
1. 登录站点,进入个人主页
2. F12打开开发者工具选择元素选项在内容上点一下
![](https://cdn.nlark.com/yuque/0/2022/png/29662219/1662168732654-3ee9ee55-1ecb-4597-b373-b89a802beb35.png)
3. ctrl+F或者command+F打开查找框
![](https://cdn.nlark.com/yuque/0/2022/png/29662219/1662168785057-dbdca513-6ab9-487b-8671-e72de472e876.png)
4. 把XPATH规则填入进去按回车后面会显示当前找到了几条元素如果是1/1恭喜规则可以用如果是0就是没找到有很多条就是有很多规则相同的元素需要自行分析一下修改规则上面示例中就是在种子详情页获取种子下载链接的Xpath获取页面中的a链接的网址指定a链接的网址中包含download.php和passkey字段
> tips
> xpath查找时浏览器要识别tbody代码中需要将tbody去掉
> /表示从根节点开始,//开始表示全文查找,./代表当前节点开始找,获取个人数据可以用//
## 自行测试
1. 打开PT站点管理 => 站点信息
2. 填入站点名称、站点网址https\://\****.***/一定要保留最后的斜杠以及站点图标网址可以直接填favicon.ico
![](https://cdn.nlark.com/yuque/0/2022/png/29662219/1662133970525-ef9a540e-9f34-4208-b076-98f46704b1b0.png)
1. 选择功能,签到、拉取个人数据、拉取首页种子与搜索(暂未开发),测试站点的话只需要勾选签到与拉取个人数据,因站点页面有差异,拉取种子基本不可用,但是可以尝试
![](https://cdn.nlark.com/yuque/0/2022/png/29662219/1662133982720-496bba5f-f912-4a3c-a34d-903f4757a19b.png)
1. 剩下的信息都有默认值可以直接保存当然如果你懂得XPATH可以先自行在网站页面上使用通用规则测试一下。
## 添加站点
1. 打开 PT站点管理 => 我的站点
![](https://cdn.nlark.com/yuque/0/2022/png/29662219/1662134270604-8906ae05-7549-4e7c-bf97-2e7d294a3f4c.png)
1. 选择要添加的站点按要求填入uidpasskey与cookie其他保持默认保存即可
![](https://cdn.nlark.com/yuque/0/2022/png/29662219/1662134227249-123db103-953e-4f4a-a0f2-901866148ef0.png)
## 功能测试
1. 在我的站点页面,选中要测试的站点,点击签到或者更新数据或拉取种子(一次只能点一个,不然数据库会报错)
![](https://cdn.nlark.com/yuque/0/2022/png/29662219/1662134279472-4ead991a-b30a-41e2-8841-c9ab1884b4e3.png)
2. 成功的会有返回成功信息错误的会在右上角的小弹窗里报错我有时候会忘记关掉测试代码可能会跳出一个黄色页面类似于下面这个图片里面直接指定了那一行有错这个图片就是说程序在运行该文件第38行时出现了错误
![](https://cdn.nlark.com/yuque/0/2022/png/29662219/1662133785487-16603732-6178-4744-a9af-1c4a296b8902.png)
3. 无论成功或者失败,都可以在群里反馈给我,我会及时更新文档,以及对相应的站点进行支持。

32
Support/通知/通知.md Normal file
View File

@@ -0,0 +1,32 @@
# 通知
### 支持的通知方式
* [x] 企业微信通知可信IP可以百度IP将获取到的IP填进去
* [x] wxpusher
* [x] pushdeer
* [x] bark
### 添加教程
1. 打开计划任务=>通知推送
2. 点击增加,选择你需要的通知方式
![](https://cdn.nlark.com/yuque/0/2022/png/29662219/1662134446573-e80e4b37-198e-4872-b8f1-f562abbe1bfe.png)
3. 根据需要填写相关API信息对应关系如下留空的无需填写
| | | | | |
| ------- | ------ | --------- | ------ | -------- |
| | 企业微信 | WxPusher | Bark | PushDeer |
| id | 企业ID | 应用名称(可不填) | | |
| secret | Secret | token | Token | token |
| app\_id | 应用ID | app\_id | | |
| user | 接收者 | 用户uid | | |
| server | | | 自定义服务器 | 自定义服务器 |
4. 如需使用对应通知,记得勾选开启哦。

View File

@@ -0,0 +1,57 @@
# 错误处理
#### 无法登陆、更新出错之提示密码错误处理
1. 第一次登录修改账号密码之后,一定要记牢了,不小心删除数据库文件也会报密码错误,流程都是相似的,自行琢磨一下
2. 更新出错再第3步跳转到第5步进行即可
#### 这是命令行方式处理
1. 进入宿主机命令行,进入方向向下找
2. 找到容器id即container id
![](https://cdn.nlark.com/yuque/0/2022/png/29662219/1662340366940-55171efe-c74d-4c60-9eba-8a382a7781c8.png)
1. 进入容器命令行
`docker exec -it 9a1c6bdafe9a /bin/bash`
2. 进入项目文件夹
`cd /var/www/html/ptools`
3. 创建用户或修改密码
提醒:输入密码无回显,即无\*\* \*,输入完确认即可
修改密码命令:`python manage.py changepassword 你的用户名`
创建用户命令:`python manage.py createsuperuser`
4. 如果是更新页面出错,执行命令:
`git pull && python manage.py migrate`
5. 然后手动访问(记得改成你自己的地址)[http://127.0.0.1:8000/tasks/do\_update](http://127.0.0.1:8000/tasks/do_update "http://127.0.0.1:8000/tasks/do_update")
#### 群晖进入终端
1. 在容器详情中进入终端机,点击新增,即可在右侧输入命令,之后从上方第三步开始
![](https://cdn.nlark.com/yuque/0/2022/png/29662219/1662341085885-d5cd6d8b-ff87-49e4-99f0-cafcb0324a5c.png)
![](https://cdn.nlark.com/yuque/0/2022/png/29662219/1662341101664-2086e16c-d138-4aab-829e-950a4ccd2821.png)
#### 威联通进入终端
1. 威联通进入容器界面后,点击终端机即可进入终端界面,之后也从上方第三步开始
![](https://cdn.nlark.com/yuque/0/2022/png/29662219/1662341221440-605d343f-8aeb-4549-9912-1a2ebc536fcd.png)
#### unraid进入终端
![](https://cdn.nlark.com/yuque/0/2022/png/29662219/1662344512726-7cd00f43-b1d4-408c-a83e-abfc5ddbbb33.png)
![](https://cdn.nlark.com/yuque/0/2022/png/29662219/1662344545559-965035d8-710d-4872-8b63-f3cb146951e3.png)

View File

@@ -0,0 +1,7 @@
# 镜像的运行机制
1. 为了压缩镜像体积,整个镜像内,[我只添加了一个文件start.sh](http://xn--start-fg1hyjjzs5a51yytdfy2diojqy3a.sh "我只添加了一个文件start.sh")这个文件的作用就是从gitee下载ptools的代码并安装依赖所以第一次启动时间会比较长请耐心等待
2. 第一次启动以后,依赖就安装完了,但是以后每次启动都会运行一遍依赖检测,一是更新依赖,二是新代码可能会增加新的依赖,但耗时就很短了,不用担心每次启动都要很久
3. 更新代码时会备份数据库,所以不必担心数据会出问题

127
readme.md
View File

@@ -1,127 +0,0 @@
# pt助手开发
[![simpleui](https://img.shields.io/badge/developing%20with-Simpleui-2077ff.svg)](https://github.com/newpanjing/simpleui)
### 基本信息
1. 技术栈Docker、Python、Sqlite3,celery
2. 开发工具pycharm
3. 部署方式docker-compose部署
4. 用到的Python包
```bash
# DJango后台美化
pip install django-simpleui
# 汉字简繁转化
pip install opencc
# 破cf盾
pip install cloudscraper
# django定时任务
pip install django-apscheduler
# django redis支持
pip install django-redis
# 下载器接口
pip install transmission-rpc qbittorrent-api deluge-client
```
### 功能实现
| 日期 | 功能 | 实现 |
| ------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------- |
| 0717 | 站点管理(内附爬虫规则、站点授权信息) | 已实现,支持站点见下表 |
| 0718 | 种子信息抓取并保存 | 已实现 |
| 0719 | 下载器管理 | 已实现目前仅支持TransmissionqBittorrent下载器添加任务不返回任务信息需迂回容后处理 |
| 0720 | 推送种子到下载器 | 已实现 |
| 0721 | 推送种子后下载任务与种子信息关联 | 已关联但目前仅支持Tr |
| 0725 | 实现可签到站点的签到功能,支持一键多站签到 | 已实现 |
| 0729 | 实现站点个人数据抓取,天空个人主页盾比较强力,目前迂回获取数据,不是很全 | |
| 0731 | 获取信息时直接签到(如果没有当天数据或者当天数据中签到为否,则执行签到) | |
| 0801 | 多线程开发 | 已实现 |
| 0802 | 重构部分代码,将用户数据与站点配置文件分离,防止误操作 | 已完成 |
| 0805 | docker部署 | 已实现 |
| 0806 | 定时任务 | 已实现 |
| 0808 | 通知服务 | 已实现企业微信需要可信IP可能需要自行添加 |
| - | 实时监控种子上传下载信息开发下载器主页通过hash与种子关联并获取种子促销信息 | 未开发 |
| - | 后台推送种子信息 | 计划内,未开发 |
### 更新日志
- > 2022.08.13
- > -> 正式命名为PTools感谢群友
- > -> 支持铂金家
- > -> 提供了通用配置,可自行添加站点(网站细节不同,不保证能用)
- > -> 支持数据导入导出
- > -> 提供docker支持映射数据库文件
- > 2022.08.12
- > -> 优化签到信息显示无签到功能的无需已签到v未签到x
- > -> 优化获取个人数据提示,返回信息加上数据
- > -> 修复部分不能访问个人主页页面导致签到失败的bug
- > -> 增加时魔显示
- > 2022.08.10
- > -> 增加HD天空验证码签到功能开关
- > -> 调整数据库,历次个人数据展示到我的站点详情页
- > 2022.08.08
- > -> 对目前已完成功能进行优化,并清理冗余代码
- > -> 打包新版Docker镜像并推送
- > 2022.08.07
- > -> 实现企业微信通知需要自行抓取个人公网IP
- > 2022.08.05
- > -> 自动化代码部署完毕,实现签到、拉取个人数据以及拉取首页促销种子的自动化
- > 2022.08.03
- > -> 获取个人数据的代码已经改造完毕
- > -> 调整抓取种子的代码,降低对数据库的消耗
- > -> 调整代码后sqlite3数据库已经满足需求已切回sqlite3
- > 2022.08.02
- > -> 重构部分代码,将用户数据与站点配置文件分离,避免用户误操作
- > -> 增加排序ID用户数据根据站点排序进行排序
- > 2022.08.01
- > -> 切换使用Mysql数据库性能瓶颈问题已解决
- > 2022.07.31
- > -> 信息抓取使用多线程大幅度降低等待时间但是在数据库写入时Sqlite3本地数据库遇到性能瓶颈出现无法写入的bug
### 站点支持列表
> 2022.08.03支持列表,根本本人现有站点数据整理
| 序号 | 站点 | 获取种子 | 签到 | 个人数据 | 推送种子 | 备注 |
| ------ | ------------------ | ---------- | ------ | ---------- | ---------- | -------------------------------------- |
| 1 | 阿童木 | 支持 | 支持 | 支持 | 支持 | |
| 2 | 猪猪网 | 支持 | 支持 | 支持 | 支持 | |
| 3 | 学校 | 支持 | 支持 | 支持 | 支持 | 由于更新了防御盾,时灵时不灵 |
| 4 | 1PT | 支持 | 支持 | 支持 | 支持 | |
| 5 | ASL | 支持 | 支持 | 支持 | 支持 | |
| 6 | CarPT | 支持 | 支持 | 支持 | 支持 | |
| 7 | 高清视界HDArea | 支持 | 支持 | 支持 | 支持 | |
| 8 | 红豆饭HDFans | 支持 | 支持 | 支持 | 支持 | |
| 9 | 时光HDTIME | 支持 | 支持 | 支持 | 支持 | |
| 10 | MTeam | 支持 | 支持 | 支持 | 支持 | |
| 11 | HDZONE | 支持 | 支持 | 支持 | 支持 | |
| 12 | 冬樱WinterSakura | 支持 | 支持 | 支持 | 支持 | |
| 13 | 蚂蚁HDMayi | 支持 | 支持 | 支持 | 支持 | |
| 14 | 自由农场 | 支持 | 支持 | 支持 | 支持 | |
| 15 | 铂金学院 | 支持 | 支持 | 不支持 | 支持 | |
| 16 | 烧包 | 支持 | 无需 | 支持 | 支持 | |
| 17 | 海棠 | 支持 | 支持 | 支持 | 支持 | |
| 18 | 欧神 | 支持 | 支持 | 支持 | 支持 | |
| 19 | 时间PTT | 支持 | 支持 | 支持 | 支持 | |
| 20 | 海带 | 支持 | 无需 | 支持 | 支持 | |
| 21 | 白兔 | 支持 | 支持 | 支持 | 支持 | |
| 22 | 芒果 | 支持 | 支持 | 支持 | 支持 | |
| 23 | 艾薇 | 支持 | 无需 | 支持 | 支持 | |
| 24 | 老师 | 支持 | 支持 | 支持 | 支持 | |
| 25 | 马杀鸡 | 支持 | 无需 | 支持 | 支持 | |
| 26 | 欧绅 | 支持 | 无需 | 支持 | 支持 | |
| 27 | 备胎 | 支持 | 无需 | 支持 | 支持 | |
| 28 | 观众 | 支持 | 支持 | 支持 | 支持 | |
| 29 | 丐帮 | 支持 | 支持 | 支持 | 支持 | |
| 30 | 明教 | 支持 | 支持 | 支持 | 支持 | |
| 21 | 天空HDSKY | 支持 | 支持 | 支持 | 不支持 | 个人主页加盾,暂时无法突破,迂回处理 |
| 32 | 杜比 | 支持 | 支持 | 支持 | 不支持 | |
| 33 | 海胆 | 暂不支持 | 支持 | 支持 | 不支持 | |
| 34 | 海豹 | 不支持 | 无需 | 不支持 | 不支持 | |
| 35 | 明教 | 支持 | 支持 | 支持 | 支持 | |
### 捐助记录
- ## 感谢大佬捐助支持本项目!!!
- > viichien 大佬第一个捐助本项目,使我更有动力继续写下去!
>