项目地址
零、准备工作
1.确定你有一点点Linux基础,那种连Seedbox/VPS是什么都不知道的,可以关掉这个网页了
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
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
2.下载Python
使用curl命令从Python官网下载最新版本的源代码
curl -O https://www.python.org/ftp/python/3.10.11/Python-3.10.11.tgz
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
下载完成后解压tar压缩包
tar -xf Python-3.10.11.tgz
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
3.进入Python目录并运行configure脚本
该脚本将执行大量检查以确保系统上存在所有依赖项,--enable-optimizations选项将通过运行多个测试来优化Python二进制文件,这将使构建过程变慢
cd Python-3.10.11
./configure --enable-optimizations
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
4.运行make以启动构建过程
为了缩短构建时间,请根据处理器修改-j
标志,如果你不知道处理器的核心数,可以通过键入nproc
来找到它,我的机器有4个内核,所以我使用-j 4
标志
make -j 4
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
5.安装Python
构建完成后,通过以具有sudo
访问权限的用户身份运行以下命令来安装Python二进制文件
不要使用标准的make install
,因为它会覆盖默认的系统python3二进制文件
sudo make altinstall
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
此时,Python 3.7已安装在你的Debian系统上并可以使用,可以输入以下命令进行验证
python3 --version
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
6.完成后回到root文件夹
cd ..
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
二、安装mktorrent
1.先装依赖
apt-get install -y git
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
2.mktorrent必须从源代码构建,而不是使用包管理器安装
对于Linux 系统,在根目录中依次运行以下命令:
git clone git@gith(๐•ᴗ•๐).com:Rudde/mktorrent.git
cd mktorrent
make && sudo make install
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
如果报错Permission denied (p(๐•ᴗ•๐)lickey),一般是因为客户端与服务端未生成ssh key,或客户端与服务端的ssh key不匹配
解决方案
# 密码可以为空,一(๐•ᴗ•๐)回车即可
ssh-keygen -t rsa -C "youremail@email.com"
ssh -v git@gith(๐•ᴗ•๐).com
ssh-agent -s
ssh-agent bash
ssh-add ~/.ssh/id_rsa
cd /root/.ssh
vi id_rsa.p(๐•ᴗ•๐)
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
进入编辑器后,将文件中的秘钥复制,粘贴至Gith(๐•ᴗ•๐)即可
3.安装成功后,回到root文件夹
cd ..
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
三、安装mechanize、mutagen、requests、UnidecodePython模块
1.先装依赖
apt-get update && apt-get upgrade -y && apt-get install python-pip -y
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
2.新建一个requirements.txt文件,并编辑
vi requirements.txt
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
进入文件后,按i编辑,在文件中写入以下内容,按esc键退出编辑,输入:wq保存并退出vi编辑器
mechanize==0.2.5
mutagen>=1.20
requests>=1.0
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
3.运行
sudo -H pip install -r requirements.txt
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
四、安装lame、sox、flac
# Debian
sudo apt-get install lame sox flac
# (๐•ᴗ•๐)untu
sudo apt install lame sox flac
# macOS
brew install lame sox flac
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
五、拉REDBetter库并运行
1.拉库
git clone git@gith(๐•ᴗ•๐).com:iw00t/REDBetter.git
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
如遇报错/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
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
2.试运行
cd REDBetter
./redactedbetter
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
如果一切顺利,你会看到以下内容
root@666:~/REDBetter# ./redactedbetter
Please edit the configuration file: /root/.redactedbetter/config
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
此时你应该编辑REDBetter的配置文件config
六、配置config
1.编辑配置文件
前往.redactedbetter目录,编辑配置文件
cd /root/.redactedbetter
vi config
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
进入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 =
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
解释一下:
- 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 =
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
3.结束编辑并保存后,回到REDBetter文件夹
cd /root/REDBetter
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
七、使用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
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
2.转码并上传你在下载目录中的所有内容
这可能需要一段时间
./redactedbetter
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
3. -U 参数测试
第一次运行,建议使用-U参数测试,只在本地转码,不上传到red,测试转码成功后,取消-U参数即可自动上传
./redactedbetter -U
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
4.转码并上传特定版本
前提是你已经下载了FLAC,并且它位于data_dir中
./redactedbetter http://helloworld.lol/torrents.php?id=1000\&torrentid=1000000
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
id与torrentid获取方法:点击网站上flac种子的PL
按钮即可在浏览器地址栏看到
如果你指定特定版本,redactedbetter将忽略配置文件中的媒体类型,并尝试对你指定的版本进行转码(只要它们是无损类型)
5.删除缓存
cd /root/.redactedbetter
rm cache
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
REDBetter会缓存转码结果,并会跳过它认为已经完成的任何转码,这使得后续运行比第一次运行快得多,尤其是对于大型下载目录
但是,如果在运行脚本时确实遇到错误,有时你会发现缓存会使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!
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
但是,不出意外的话,意外一定是会出的,我只想说
阿妈我得佐啦!