懂的都懂,看不懂就是缘分没到,有缘再见

本文全部操作基于debian10

项目地址
https://github.com/iw00t/REDBetter

零、准备工作

1.确定你有一点点Linux基础,那种连seedbox是什么都不知道的,可以关掉这个网页了
2.知道REDBetter的功能和前置使用条件
3.确定你的机器有sudo权限
4.把网站的二验关掉
5.运行一遍杰大脚本,把qBittorrent和Deluge装上,后面要用,这样依赖也装上了,具体过程不表
(为了避免麻烦,建议把qb和de的用户名设置为admin
6.友情提示:在真正使用REDBetter之前,最好去网站的setting中,将你的机器IP添加到whitelist内

一、安装Python

1.安装构建Python所需依赖

sudo apt update
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget

2.下载Python
使用curl命令从Python官网下载最新版本的源代码

curl -O https://www.python.org/ftp/python/3.10.11/Python-3.10.11.tgz

下载完成后解压tar压缩包

tar -xf Python-3.10.11.tgz

3.进入Python目录并运行configure脚本
该脚本将执行大量检查以确保系统上存在所有依赖项,--enable-optimizations选项将通过运行多个测试来优化Python二进制文件,这将使构建过程变慢

cd Python-3.10.11
./configure --enable-optimizations

4.运行make以启动构建过程
为了缩短构建时间,请根据处理器修改-j标志,如果你不知道处理器的核心数,可以通过键入nproc来找到它,我的机器有4个内核,所以我使用-j 4标志

make -j 4

5.安装Python
构建完成后,通过以具有sudo访问权限的用户身份运行以下命令来安装Python二进制文件
不要使用标准的make install,因为它会覆盖默认的系统python3二进制文件

sudo make altinstall

此时,Python 3.7已安装在你的Debian系统上并可以使用,可以输入以下命令进行验证

python3 --version

6.完成后回到root文件夹

cd ..

二、安装mktorrent

1.先装依赖

apt-get install  -y git

2.mktorrent必须从源代码构建,而不是使用包管理器安装
对于Linux 系统,在根目录中依次运行以下命令:

git clone [email protected]:Rudde/mktorrent.git
cd mktorrent
make && sudo make install

如果报错Permission denied (publickey),一般是因为客户端与服务端未生成ssh key,或客户端与服务端的ssh key不匹配
解决方案

# 密码可以为空,一路回车即可
ssh-keygen -t rsa -C "[email protected]"
ssh -v [email protected]
ssh-agent -s
ssh-agent bash
ssh-add ~/.ssh/id_rsa
cd /root/.ssh
vi id_rsa.pub

进入编辑器后,将文件中的秘钥复制,粘贴至Github即可

3.安装成功后,回到root文件夹

cd ..

三、安装mechanize、mutagen、requests、UnidecodePython模块

1.先装依赖

apt-get update && apt-get upgrade -y && apt-get install python-pip -y

2.新建一个requirements.txt文件,并编辑

vi requirements.txt

进入文件后,按i编辑,在文件中写入以下内容,按esc键退出编辑,输入:wq保存并退出vi编辑器

mechanize==0.2.5
mutagen>=1.20
requests>=1.0

3.运行

sudo -H pip install -r requirements.txt

四、安装lame、sox、flac

# Debian
sudo apt-get install lame sox flac

# Ubuntu
sudo apt install lame sox flac

# macOS
brew install lame sox flac

五、拉REDBetter库并运行

1.拉库

git clone [email protected]:iw00t/REDBetter.git

如遇报错/usr/bin/env: ‘python’: No such file or directory
在REDBetter目录下,依次运行以下命令即可

# 查看python3的版本
python3 --version

# 查找python3的安装位置
whereis python3

# 为其创建符号连接
sudo ln -s /usr/bin/python3 /usr/bin/python

2.试运行

cd REDBetter
./redactedbetter

如果一切顺利,你会看到以下内容

root@666:~/REDBetter# ./redactedbetter
Please edit the configuration file: /root/.redactedbetter/config

此时你应该编辑REDBetter的配置文件config

六、配置config

1.编辑配置文件
前往.redactedbetter目录,编辑配置文件

cd /root/.redactedbetter
vi config

进入vi编辑器后,能看到以下内容

[redacted]
username = 
password = 
session_cookie = 
data_dir = /data
output_dir = /output
torrent_dir = /torrents
24bit_behaviour = 0
formats = flac, v0, 320
piece_length = 18
# media =

解释一下:

  • username = 你的网站用户名(注意空格,=前后各有一个空格)
  • password = 你的网站密码
  • session_cookie = 你的网站cookie(F12可以获得,只复制session=之后的内容,不要带session=
  • data_dir 存放下载内容
  • output_dir 存放转码后的转码文件
  • torrent_dir 存放转码后生成的种子文件
  • formats = 输入你要转码的文件格式,多个格式以英文逗号+空格为分隔(, );默认情况下,这将是flac, v0, 320,flac包含在内是因为REDBetter支持将24位FLAC转换为16位FLAC
  • media:为要考虑进行转码的媒体类型列表,多个格式以英文逗号+空格为分隔(, );默认值是所有经过编辑的无损格式;如果你只想转码cd和vinyl,你可以将其设置为cd, vinyl
  • 24bit_behaviour: 定义当程序遇到它认为是24位的FLAC时会发生什么;如果设置为2,每个位深度为24的FLAC将被静默重新分类;如果设置为1,将出现提示;默认值是0,即忽略这些事件

2.配置文件举例
我想用qb下载、de发布(qb的自动加种不太好用),只转码24位FLAC为16位FLAC,我的配置文件则如下所示
照抄的记得去Delug web ui改一下Autoadd .torrent files from: /home/admin/deluge/torrent/,默认的是watch

[redacted]
username = 
password =
session_cookie = <mycookie>
data_dir = /home/admin/qbittorrent/Downloads/
output_dir = /home/admin/deluge/download
torrent_dir = /home/admin/deluge/torrent/
24bit_behaviour = 0
formats = flac
piece_length = 18
# media =

3.结束编辑并保存后,回到REDBetter文件夹

cd /root/REDBetter

七、使用REDBetter

1.官方文档

usage: redactedbetter [-h] [-s] [-j THREADS] [--config CONFIG] [--cache CACHE]
                      [-U] [-E] [--version]
                      [release_urls [release_urls ...]]

positional arguments:
  release_urls          the URL where the release is located (default: None)

optional arguments:
  -h, --help            show this help message and exit
  -s, --single          only add one format per release (useful for getting
                        unique groups) (default: False)
  -j THREADS, --threads THREADS
                        number of threads to use when transcoding (default: 3)
  --config CONFIG       the location of the configuration file (default:
                        /home/taylor/.redactedbetter/config)
  --cache CACHE         the location of the cache (default:
                        /home/taylor/.redactedbetter/cache)
  -U, --no-upload       don't upload new torrents (in case you want to do it
                        manually) (default: False)
  -E, --no-24bit-edit   don't try to edit 24-bit torrents mistakenly labeled
                        as 16-bit (default: False)
  --version             show program's version number and exit

2.转码并上传你在下载目录中的所有内容
这可能需要一段时间

./redactedbetter

3. -U 参数测试
第一次运行,建议使用-U参数测试,只在本地转码,不上传到red,测试转码成功后,取消-U参数即可自动上传

./redactedbetter -U

4.转码并上传特定版本
前提是你已经下载了FLAC,并且它位于data_dir中

./redactedbetter http://helloworld.lol/torrents.php?id=1000\&torrentid=1000000

id与torrentid获取方法:点击网站上flac种子的PL按钮即可在浏览器地址栏看到
如果你指定特定版本,redactedbetter将忽略你配置的媒体类型,并尝试对你指定的版本进行转码,而不管它们的媒体类型如何(只要它们是无损类型)

5.删除缓存

cd /root/.redactedbetter
rm cache

REDBetter会缓存你的转码结果,并会跳过它认为已经完成的任何转码,这使得后续运行比第一次运行快得多,尤其是对于大型下载目录
但是,如果你在运行脚本时确实遇到错误,有时你会发现缓存认为它之前崩溃的torrent已上传,所以它会跳过它,一种解决方案是如上所述手动指定版本
如果你有多个这样的问题,你可以删除缓存,这将导致脚本像第一次运行时一样重新检查每次下载

至此,一切安装全部完成,可以开始使用了

6.结果示例
当你在REDBetter文件夹中运行./redactedbetter后,如果一切无误,将会显示以下内容

root@666:~/REDBetter# ./redactedbetter
Logging in to RED...
Searching for transcode candidates...
Find all your snatched flac torrents



+-----------------------------------+
Release artist(s): LOL
Release name     : Hello World
Release year     : 2023
Release URL      : https://helloworld.lol/torrents.php?id=1000&torrentid=100000#torren100000
+-----------------------------------+
Formats needed: FLAC
Adding format FLAC... done!

但是,不出意外的话,意外一定是会出的,我只想说

阿妈我得佐啦!

最后修改:2024 年 10 月 08 日
如果觉得我的文章对你有用,请随意赞赏