/Auto_Upload

Upload torrent to PT sites Automatically.

Primary LanguagePythonMIT LicenseMIT

Auto_Upload

自动将本地资源发布到PT站
Upload local resources to PT trackers automatically.

特色

  • 最适合发布追更资源,可以自动识别资源集数
  • 支持Windows,Linux,Macos系统
  • 自由度高,智能识别能力强

更新说明

  • 20200907 尝试修复check参数设置为1但是不停止的bug
  • 20200902 增加了发布前手动检查的功能,设置方法参考 au_example.yamlbasic模块check参数
  • 20200902 增加了自定义是否在资源文件外部套0day文件夹的功能,设置方法参考 au_example.yamlbasic模块new_folder参数
  • 20200902 修复了文件在0day文件夹里找不到的问题
  • 20200902 修正了柠檬tracker无法选择https的问题
  • 20200902 增加了大量自定义信息,当然这些信息大部分并不需要自己设置,只有当程序无法自动识别时候需要手动设置。设置方法参考 au_example.yaml
  • 20200902 增加了自定义文件夹的功能,外层文件夹随便命名。
  • 20200902 修复了发布电视剧需要bgm的bug
  • 20200902 目前所有资源发种时候会自动在外层套一个0day名字的文件夹
  • 20200825 已支持新图床freeimage,设置方法参考 au_example.yamlimage hosting模块
  • 20200825 添加了有cookie的情况绕过静态模式登录的功能
  • 20200825 在github里面增加了一个install文件夹,里面存放了win下需要下载安装的几个安装包
  • 20200825 配置文件实例只保留一个au_example.yaml
  • 20200825 修复登录失败反复登录的bug
  • 20200823 优化结果的高亮显示
  • 20200821 修复发布合集路径错误的bug,修复mktorrent制作种子概率失败的问题。
  • 20200821 优化结果的高亮显示
  • 20200821 增加日志写入文件,优化日志显示结果,设置方法参考 au_example.yamlbasic模块log参数
  • 20200820 修正qb自动管理带来的bug; 增加给资源分类功能,体现在qb的分类里面,设置方法参考 au_example.yaml
  • 20220820 增加对HDFans的支持
  • 20220819 优化内存使用,增强标签识别性能,柠檬下载链接改用https
  • 20220818 添加从文件名识别类型的功能,添加自动将mediainfo文件路径修改到只剩文件名,pter的info改用hide标签
  • 20220818 修正download的拼写错误
  • 20220818 增加对wintersakura(冬樱)的支持
  • 20220817 增加副标题附加内容
  • 20220817 修正find_elements_by_path等问题,并添加柠檬官组识别,下载路径配置功能
  • 20220817 修正au.yaml内容丢失的bug并增加提醒
  • 20220817 增加用户名密码登录,验证码自动识别功能以及cookie自动备份功能
  • 20220817 增加yaml文件备份功能(生成au.yaml.bak文件),以防文件损坏
  • 20220817 增加对于PTNap的支持
  • 20220815 增加对于SSD,明教以及CarPT的支持,增加禁转识别,参考 au_example.yaml
  • 20220815 增加对于天空,观众以及柠檬剧集板块的支持
  • 20220814 增加直接在命令行获取豆瓣链接/获取视频截图链接的功能
  • 20220809 修复找不到bgm豆瓣链接的bug,增加识别发种dupe
  • 20220808 增加qb添加种子稳定性、增加qb种子自动开始功能、增加后台运行的选项
    添加考虑通过url下载站点种子失败的情况的判断
    增加qb种子自动开始功能、增加后台运行的选项参考 au_example.yaml
  • 20220808 修复Windows系统上对于最终路径有空格等制作种子出错的bug
    但是需要确保在制作种子期间,该文件或者文件夹没有被其他应用占用。仅对Windows系统有这个限制

功能说明

1.命令行实现将本地图片上传到图床

2.命令行实现抓取豆瓣信息

3.命令行实现获取本地视频截图链接

4.自动检测本地未发布的资源并发布到各个站点,并下载到Qbittorrent进行辅种

全平台支持了以下功能:

  • 根据配置文件分析待发布资源的中英文名
  • 根据配置文件分析已经发布的资源并自动找到未发布的资源
  • 可选是否在资源外层套一个0day名字的文件夹
  • 大量参数可以自动抓取也可以自己配置,包括且不限于 视频格式,音频格式,字幕信息,音轨信息等
  • 将未发布的资源有序发布
  • 自动获取待发布资源的豆瓣链接/动漫资源的bgm链接
  • 自动获取待发布资源的豆瓣简介
  • 自动获取待发布资源的截图并上传到图床获取bbcode
  • 自动获取待发布资源的mediainfo信息
  • 自动制作种子
  • 根据上述信息自动发布到各个站点(分集发布/打包发布)
  • 自动获取下载链接并传递给Qbittorrent自动做种
  • 自动记录发布资源信息生成excel表格(csv文件)
  • 自动统计目前已发布的总量(可以用来统计每月发种数量)

目前支持的平台:

  • MacOS
  • Windows
  • Linux

目前支持的资源类型:

  • 动漫
  • 剧集
  • 电影

目前支持的站点(排名仅代表支持的时间先后):

  • pter
  • lemonhd
  • hdsky
  • audience
  • piggo
  • ssd
  • hdpt(明教)
  • carpt
  • ptnap
  • wintersakura
  • hdfans

正在适配的站点(排名不分先后):

  • mt
  • pthome
  • hare

Todolist:

  • 使用request发种,开发ing
  • GUI(有考虑,需要学)
  • 自定义站点(需要考虑做不做和怎么做)

如果有新的站点/资源类型等需求,可以加入QQ群交流(735803201)

安装Auto_Upload自动发种机

Auto_Upload自动发种机可以在任何具有Python环境的系统上使用,下面讲解下在各个系统上的安装步骤

Windows(已测试成功)

1.需要本地安装Chrome且升级到最新正式版本

2.安装python3:
安装Python,一般选择最新版本的Python3及对应的Windows installer即可。安装时注意将为所有用户安装和将Python添加到PATH勾上 安装python1 打开PowerShell,确认Python安装成功 安装python2

以下几个插件的安装包可以去通过下面官方途径下载,也可以前往Install文件夹获取 或者 前往交流群的群文件获取。
3.安装ffmpeg,并确认安装正确:

  • 下载安装ffmpeg & ffprobehttps://github.com/BtbN/FFmpeg-Builds/releases
  • 将解压后的ffmpeg文件夹移动到一个相对稳定的文件夹,比如D:\Program Files\
  • 将上一步ffmpeg\bin文件夹路径添加到系统PATH
    我的电脑【右击】 -> 选择 属性 -> 高级系统设置 -> 高级 -> 环境变量 -> 系统变量里面找到'Path',点击编辑 -> 新建 -> 将上一步ffmpeg\bin文件夹路径路径粘贴进去 -> 确定 --> 确定 … 保存即可。一般也是 不需要重启
  • 在PowerShell确认ffmpeg和ffprobe安装成功

4.安装mktorrent,并确认安装正确:

  • 根据自己电脑下载64位安装包或者32位安装包
  • 使用7-zip or Winrar解压文件.
  • mktorrent文件夹移动到一个相对稳定的文件夹,比如D:\Program Files\
  • 将上一步mktorrent\bin文件夹路径添加到系统PATH
    我的电脑【右击】 -> 选择 属性 -> 高级系统设置 -> 高级 -> 环境变量 -> 系统变量里面找到'Path',点击编辑 -> 新建 -> 将上一步mktorrent\bin文件夹路径路径粘贴进去 -> 确定 --> 确定 … 保存即可。一般也是 不需要重启

5.安装mediainfo,并确认安装正确

  • 下载mediainfo-clihttps://mediaarea.net/en/MediaInfo/Download/Windows
  • 解压zip文件并解压后的Mediainfo_CLIxxx文件夹移动到一个相对稳定的位置
  • 将上一步Mediainfo_CLIxxx文件夹路径添加到系统PATH
    我的电脑【右击】 -> 选择 属性 -> 高级系统设置 -> 高级 -> 环境变量 -> 系统变量里面找到'Path',点击编辑 -> 新建 -> 将上一步Mediainfo_CLIxxx文件夹路径粘贴进去 -> 确定 --> 确定 … 保存即可。一般也是 不需要重启。
  • 在PowerShell确认mediainfo安装成功
mediainfo -h

6.安装Auto_Upload,在以管理员身份打开Windows PowerShell中输入:

python3 -m pip install auto_upload  -i https://pypi.tuna.tsinghua.edu.cn/simple/
auto_upload -h

7.更新Auto_Upload,,在Terminal.app中输入:

python3 -m pip install --upgrade auto_upload  -i https://pypi.tuna.tsinghua.edu.cn/simple/

Linux

0.升级python3.7.0版本以上,建议3.9.0 如果有_ssl或者_ctypes找不到,也可以试试按照下面步骤重新安装python3

# 我也使用的wget ,我下载到了Download中
wget https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tgz
# 在home中解压
tar -zxf Python-3.9.0.tgz
# 进入python3.9
cd Python-3.9.0
 
# 编译文件  时间大概有1-3分钟
./configure --prefix=/usr/local/python3
 
# 编译好后,会有另外一个提示,让run ./configure xxx
./configure --enable-optimizations

# 安装pip依赖
sudo apt-get update
sudo apt-get install openssl
sudo apt-get install libssl-dev
sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus
sudo apt-get install build-essential libncursesw5-dev libgdbm-dev libc6-dev
sudo apt-get install zlib1g-dev libsqlite3-dev tk-dev
sudo apt-get install libssl-dev openssl
sudo apt-get install libffi-dev
sudo apt-get install libxpm-dev libxext-dev 
sudo apt-get install zlib1g-dev libbz2-dev libssl-dev libncurses5-dev libsqlite3-dev 

#配置ssl
./configure --with-ssl

# 给超级权限
sudo su

# 安装
make && make install

#退出超级权限
exit
 
# 结束

1.需要本地安装Chrome且升级到最新正式版本
手动下载安装并更新即可,如果不方便手动,可以尝试使用如果命令(没有测试过)

安装Chrome

wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list'
sudo apt-get update
sudo apt-get install google-chrome-stable

更新Chrome

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome-stable_current_amd64.deb

2.安装mktorrent,ffmpegmediainfo,并确认安装正确

sudo apt update 
sudo python3 -m pip install --upgrade pip
sudo apt-get install python3-pip ffmpeg mediainfo mktorrent

3.安装Auto_Upload

python3 -m pip install auto_upload -i https://pypi.tuna.tsinghua.edu.cn/simple/
auto_upload -h

4.更新Auto_Upload,,在Terminal.app中输入:

python3 -m pip install --upgrade auto_upload -i https://pypi.tuna.tsinghua.edu.cn/simple/

MacOS(已测试成功)

1.需要本地安装Chrome且升级到最新正式版本
以Mac为例,2020.08.06最新正式版为104.0.5112.79

2.安装Homebrew,在Termial.app中输入:

bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

3.安装mktorrent,ffmpegmediainfo,并确认安装正确:

brew install ffmpeg mediainfo mktorrent
ffmpeg -version
mediainfo --version

4.安装Auto_Upload,在Terminal.app中输入:

python3 -m pip install auto_upload -i https://pypi.tuna.tsinghua.edu.cn/simple/
auto_upload -h

5.更新Auto_Upload,,在Terminal.app中输入:

python3 -m pip install --upgrade auto_upload -i https://pypi.tuna.tsinghua.edu.cn/simple/

配置环境&文件

1.本地新建一个工作目录

例如路径为:/Users/Desktop/auto_upload

2.在1中工作路径文件夹下,再新建三个文件夹

"cookies_path","screenshot_path","record_path"

  • cookies_path将用来存放站点cookie文件,文件名需要命名为cookie_站点.json。
    (例如:cookie_lemonhd.json,cookie_pter.json等)
  • screenshot_path将用来存放视频截图,种子等临时文件
  • record_path将用来存放发种记录

3.获取cookie并存入文件 工作目录/cookies_path/cookie_站点.json

js格式的cookie推荐使用插件"EditThisCookie"获取

EditThisCookie插件官网

http://www.editthiscookie.com/

ChromeEditThisCookie安装网址

https://chrome.google.com/webstore/detail/fngmhnnpilhplaeedifhccceomclgfbg

EdgeEditThisCookie安装网址

https://microsoftedge.microsoft.com/addons/detail/editthiscookie/jhampopgcdhehhkbeljdbfdbkfkmolbh?hl=zh-CN

  • 安装好EditThisCookie之后
  • 使用浏览器成功登录PT站点
  • 点击右上角饼干🍪图案的图标
  • 点击向右的按钮就把js格式的cookie复制的剪贴板了
  • 粘贴进本文并保存到工作目录/cookies_path/cookie_站点.js文件即可

4.在文件夹中新建配置文件au.yaml

详细参数说明参考au_example.yaml

注意:如果是在windows系统下,要发布的资源文件/文件夹名称如果有空格会导致制作种子失败,建议将空格替换为.或者下划线_。其他系统没有这个问题。

建立完成后在工作目录下应该有三个文件夹以及一个au.yaml位置文件,如下图
Img_Demo

运行脚本

1.自动发种

auto_upload -yp '工作目录/au.yaml' -u

注意:在Windows系统发种时需要确保在制作种子期间,被发布的文件或者文件夹没有被其他应用占用。

2.本地图片自动上传图床

auto_upload -yp '工作目录/au.yaml' -iu -ih 图床名称  -iform 图片格式 -if  '图片路径1' '图片路径2'

图床名称目前仅支持(排名无先后):

  • ptpimg
  • picgo
  • chd
  • imgbox
  • pter
  • smms

3.获取豆瓣信息

auto_upload -yp '工作目录/au.yaml' -di -du 豆瓣链接

示例:

auto_upload -yp '工作目录/au.yaml' -di -du https://movie.douban.com/subject/26353671/

4.命令行获取本地视频截图链接

auto_upload -yp '工作目录/au.yaml' -mi -mf '视频路径' -ih 图床名称 -iform 图片格式 -in 截图数量

图床名称目前仅支持(排名无先后):

  • ptpimg
  • picgo
  • chd
  • imgbox
  • pter
  • smms

图片格式(可以不填,默认'img'):

  • img 图片原始链接
  • bbcode BBcode格式链接

截图数量(可以不填,默认3张)

示例:

auto_upload 'au.yaml' -mi -mf '1.mp4' -ih picgo -iform bbcode -in 6

配置文件au.yaml详细说明

参考 au_example.yaml

常见错误及修复方法(更新ing)

1.Chrome未更新至最新

2.Windows下 如果资源路径最后的文件夹名称有空格会导致制作种子失败(已修复)

Windows下的mktorrent支持的不太好,后面我再修复吧

3.文件夹名称错误

最后一级文件夹名称必须是:任意内容[想要在副标题添加的内容]-资源中文名-资源英文名-发布组 例如6[有B站水印]-不死者之王-OVERLOAD-sauterne

交流群

群号:735803201

Reference

Differential 差速器 (复制了上传图床部分代码)
Differential差速器使用教程 (Auto_Upload安装教程主要参考本文)
mktorrent-win-builds
MKTORRENT WIN下命令行制作种子
linux 安装 Chrome
windows10 环境变量设置
Linux Ubuntu系统升级Python3版本至Python3.9版本步骤
PYTorrent