文章进度 :
乱七八蕉的东西进度 :
优化详解(抄了下作业) :
写在前面
本文大部分东西都是从大佬抄来+自己从各种奇奇怪怪的 wiki 整理的。
如果你不希望这些东西展现在这篇文章上,请联系我,或者你有任何疑问,请在评论区指出。
AND
我又菜又不会优化还没钱不会写脚本,如果你是个小佬 / 中佬 / 大佬 / 奆佬,本文可能对你毫无帮助。
但是如果你是个刚入坑的萌新,那么你来对地方了。
Welcome.
如果遇到了任何问题,欢迎随时在评论区讨论,每一条评论我都会看。
盒子的选择、购买。
(这段都是抄来的)
首先,得先明确,刷什么站,需要杜甫还是共享,注重性价比还是注重速度。
共享服务器
这是什么?
顾名思义,共享就是多人使用一台服务器,公用一个 IP,使用同一个硬盘。
有什么不好处?
- 大多数共享盒子都非常看脸,如果你有一个捣蛋调皮的邻居,那就完犊子了。(指循环跑 iotest 的崽种
- 流量大多数有限制
- 不能自己折腾服务器
- 国内大多数站点都不允许共享盒子
最新限制表
具体可以参考[@Aniverse][https://github.com/Aniverse]收集的盒子限制表如下
图片可能有点旧,我直接抄作业来的,各位dalao 将就下
既然大多数国内站点都不支持,而且还有那么多不好处,那么我买它干啥?
- 便宜
- 便宜
- 便宜
- 你可以只花几十 RMB 就可以享受到 10G 乃至 20G 的带宽
- 大多数的网络素质都极佳,比如 sh 就是用的 leaseweb 的网络,同样的配置下,leaseweb 可以保证更高的优先级,换人话说就是,你单个种子的 ratio 更高。
- 内网互刷效率极高
那么在哪里才能买到呢?
这里只推我听说的多以及我买过的。
俗称 sh ,流量少,盘一般大,刷力尚可,超过流量上限后限速至100mbps,提供安装rt de,起步6欧元,这家其实也有提供杜甫出租,但是常年无货。其SSD机器据说刷力不错,外站经常见到。支持信用卡,paypal。
有限流与不限流的机器可供选择,买过一个5欧元的小鸡,体验尚可,小鸡流量太少了。其SSD机型盘较小但是流量给的几乎是SH相似价位的两倍。刷外站可以选购。支持信用卡,paypal。
俗称饭盒,不限流,机子看脸,运气好
搞死所有邻居之后可以跑得很快,起步10英镑。只支持信用卡、BTC。
独立服务器
这又是什么鸡掰?
独立服务器俗称杜甫,也就是完全是你一个人使用一个服务器,不会有崽种和你抢带宽抢 IO。而且可以疯狂折腾。
在哪里可以买到呢?
俗称 OP,op13o,op**o 等就是指这家的机器。
著名黄牛,online狗腿子,低价位可以考虑购买,高价位建议HZ。
支持 vx,支付宝,paypal,信用卡
- Hetzner
如果可以的话,希望大佬们可以走我的 aff 注册下 hz cloud,白送 20欧,而且据说更容易过 hz 的验证。
https://hetzner.cloud/?ref=anEtJvMgnPuB
又称 HZ,个人印象最好的一家盒子商。管子默认都是 1G 对等,无限流量,理论你一个月跑 270T 上传都是可能的。升级 10G 需要额外的安装费,且流量变为 10T。超出后 1euro/T。
其普通机器在非活动期间有安装费且费用较高(34欧元)起步,属于中高档机器,而大部分人购买的是其拍拍卖机,拍卖机价格浮动,有的时候可以遇到比较好的传家宝机器,其后台支持机器转让,因此在hostloc上有不少人转手机器赚取差价。 在购买机器时不会立即扣款,在 14 天后出账单,且机器使用不满14天可以无条件退款,请勿滥用,可能导致封号。
支持信用卡,paypal。
PS.新账号需要过验证,你可以直接支付 20o 或者提交身份证明,例如身份证+信用卡背面(记得遮挡CVV码),或者护照、驾照,具体的抄了叶子
②账号注册后需要验证身份,会收到一封要求验证身份的邮件,将身份证或者护照和信用卡放在一起拍照片发过去,为了安全可以适当打码并且用证件水印助手APP处理下
③也可以直接付款20欧让账号生效,但也不是百分百靠谱,可能仍然需要验证,付的20欧作为余额可以在购买机器时消费,如果收到如下邮件等个10分钟左右可能就成功了,否则会继续收到需要验证身份信息
https://pic.ymgblog.com/images/2019/06/23/e3a42dd6acefaf3f3e70200ee1e88440.png
④购买机器时如果费用带税可以按下图设置
著名的
耍猴专家、奸商,又称offline,著名的 3o st8 就是这家的机器。不建议上车,建议 HZ。
我是土豪,我想上 10G,可以给力一点吗?
...... 带带我
- Andy10Gbit
- WalkerServer 这里带上了我的一位朋友的 aff(
没钱,没买过,不会点评。
如何购买?
- 申请信用卡 / 注册 paypal 并绑定银行卡
- 在服务器商网站上注册一个账号
- 根据提示购买。
我买到了服务器,然后我应该干啥?
安装系统
安装系统的步骤都大同小异,要么是进入到 Rescue 模式下使用脚本安装系统,或者是网站后台管理面板点点点就完事。当然,你也可以手起操作系统,不过这不在我要说的范畴之内,你可以去参考参考如何手起 Arch Linux。
因为我是 HZ 的忠实拥护者,所以呢我这里就只讲如何在 HZ 的机器上安装系统。
进入 Rescue 模式
如果你购买的是 HZ 的拍卖机,那么你的机器一般都是在 Rescue 模式下交付的,Rescue 简单来说就像 Windows PE 一样的东西,你可以在里面使用官方给你准备好的工具来安装系统。
如何进入 Rescue 模式?
在 这个页面上 找到你的服务器,点击它,然后看我图示操作就好。
在点击Activate rescue system之后,千万不要急着刷新页面!网页上出现的一串随机数字将会是你 SSH 到服务器的密码!一定要记下来它!
也就是这个东西
我直接刷新了页面该怎么办?
........重新激活 Rescue 模式就行了。
重启服务器
看图操作就好了
在 Rescue 当中安装盒子的操作系统
在完成了上述两步操作后,稍微等待几分钟,就可以通过 SSH 进入盒子了。
SSH 是什么?
.........putty连接服务器
通过 ssh 连接到服务器以后,你可能会懵逼,不过不用担心,跟着走就好。
无硬 RAID 卡的服务器安装
在成功的通过 SSH 连接到服务器以后,屏幕上会列出说明信息以及你当前的 CPU、硬盘、RAID 卡、网络等信息,如下所示
-------------------------------------------------------------------
Welcome to the Hetzner Rescue System.
This Rescue System is based on Debian 10 (buster) with a custom
kernel. You can install software as in a normal system.
To install a new operating system from one of our prebuilt
images, run 'installimage' and follow the instructions.
More information at http://wiki.hetzner.de
-------------------------------------------------------------------
Rescue System up since 2020-10-02 09:52 +02:00
Last login: Fri Oct 2 09:52:56 2020 from 45.131.68.62
Hardware data:
CPU1: Intel(R) Xeon(R) CPU E31275 @ 3.40GHz (Cores 8)
Memory: 32053 MB
Disk /dev/sda: 4000 GB (=> 3725 GiB)
Disk /dev/sdb: 4000 GB (=> 3725 GiB)
Disk /dev/sdc: 4000 GB (=> 3725 GiB)
Disk /dev/sdd: 4000 GB (=> 3725 GiB)
Disk /dev/sde: 4000 GB (=> 3725 GiB)
Disk /dev/sdf: 4000 GB (=> 3725 GiB)
Disk /dev/sdg: 4000 GB (=> 3725 GiB)
Disk /dev/sdh: 4000 GB (=> 3725 GiB)
Disk /dev/sdi: 4000 GB (=> 3725 GiB)
Disk /dev/sdj: 4000 GB (=> 3725 GiB)
Disk /dev/sdk: 4000 GB (=> 3725 GiB)
Disk /dev/sdl: 4000 GB (=> 3725 GiB)
Disk /dev/sdm: 4000 GB (=> 3725 GiB)
Disk /dev/sdn: 4000 GB (=> 3725 GiB)
Disk /dev/sdo: 4000 GB (=> 3725 GiB)
Total capacity 54 TiB with 15 Disks
RAID Broadcom / LSI MegaRAID SAS 2108 [Liberator]
Network data:
eth0 LINK: yes
MAC: 54:04:a6:67:5c:aa
IP: 136.243.28.71
IPv6: 2a01:4f8:211:2ec6::2/64
Intel(R) PRO/1000 Network Driver
root@rescue ~ #
到这里又得分情况讨论了,如果你的服务器是含有硬件 RAID 卡的,请直接往下翻,找到硬 RAID 教程。
假设你的服务器不含有硬 RAID 卡,那么直接在键盘上敲 installimage
并回车即可。
当然,如果你是个懒狗的话,直接敲 installimage -p /boot:ext3:1G,/:ext4:all -l 0 -r yes -t yes
然后回车选择系统,配置文件不需要更改,一路回车就可以了。
然后你就进入到了 HZ 官方的脚本当中,使用键盘上下选择你要安装的操作系统,这里推荐 Debian 10 、Debian 9、ubuntu 18.04,在这里,我将使用 Debian 10,你可以直接抄作业,按照下面两张图来选择即可。
在选择完操作系统后,你将会看到一个警告框,无视它,直接回车即可。然后就是配置部分了。
这里只挑选一些必要的东西来说了。
首先呢,是 RAID 级别的选择,东西都在图上了,你可以对比着我的图来修改你的服务器的配置文件。
然后就是分区的选择了,同样的,直接抄作业吧。
在完成上述两步操作以后,你就可以愉快的双击 ESC 键,然后选择 YES,并跳过接下来的一系列警告,无脑敲回车即可。(警告的意思是告诉你要格式化硬盘了,你确定吗?)
然后你就可以看到一个进度页面,如下图所示,等待它完成并在键盘上输入 reboot
然后回车即可。
包含硬 RAID 卡的服务器安装
硬 RAID 卡......怎么说呢,给我个人的感觉是比软 RAID 性能高不了多少,甚至在有些机器上还会降低性能。
巨长警告
有的时候,megacli
可能会不起作用,可以去试试 arcconf
,这里给一个 HZ 官方的文档。 https://docs.hetzner.com/robot/dedicated-server/raid/adaptec-raid-controller/
你可以使用 megacli -PDList -a0
来列出当前服务器上的硬件、连接、RAID 信息。
root@rescue ~ # megacli -LDInfo -Lall -a0
Adapter 0 -- Virtual Drive Information:
Virtual Drive: 0 (Target Id: 0)
Name :
RAID Level : Primary-0, Secondary-0, RAID Level Qualifier-0
Size : 3.637 TB
Sector Size : 512
Is VD emulated : Yes
Parity Size : 0
State : Optimal
Strip Size : 256 KB
Number Of Drives : 1
Span Depth : 1
Default Cache Policy: WriteBack, ReadAhead, Direct, No Write Cache if Bad BBU
Current Cache Policy: WriteThrough, ReadAhead, Direct, No Write Cache if Bad BBU
Default Access Policy: Read/Write
Current Access Policy: Read/Write
Disk Cache Policy : Disk's Default
Encryption Type : None
Bad Blocks Exist: No
Is VD Cached: No
Virtual Drive: 1 (Target Id: 1)
Name :
RAID Level : Primary-0, Secondary-0, RAID Level Qualifier-0
Size : 3.637 TB
Sector Size : 512
Is VD emulated : Yes
Parity Size : 0
State : Optimal
Strip Size : 256 KB
Number Of Drives : 1
Span Depth : 1
Default Cache Policy: WriteBack, ReadAhead, Direct, No Write Cache if Bad BBU
Current Cache Policy: WriteThrough, ReadAhead, Direct, No Write Cache if Bad BBU
Default Access Policy: Read/Write
Current Access Policy: Read/Write
Disk Cache Policy : Disk's Default
Encryption Type : None
Bad Blocks Exist: No
Is VD Cached: No
如果有 RAID 配置信息,请使用 megacli -CfgClr -a0
来清理 RAID 信息
root@rescue ~ # megacli -CfgClr -a0
Adapter 0: Configuration is Cleared.
Exit Code: 0x00
确认所有磁盘均无故障
使用 megacli -PDList -a0 | grep "Firmware state"
来确定所有硬盘都无故障,你输入后应该能看到这样的结果:
root@rescue ~ # megacli -PDList -a0 | grep "Firmware state"
Firmware state: Unconfigured(good), Spun Up
Firmware state: Unconfigured(good), Spun Up
Firmware state: Unconfigured(good), Spun Up
Firmware state: Unconfigured(good), Spun Up
Firmware state: Unconfigured(good), Spun Up
Firmware state: Unconfigured(good), Spun Up
Firmware state: Unconfigured(good), Spun Up
Firmware state: Unconfigured(good), Spun Up
Firmware state: Unconfigured(good), Spun Up
Firmware state: Unconfigured(good), Spun Up
Firmware state: Unconfigured(good), Spun Up
Firmware state: Unconfigured(good), Spun Up
Firmware state: Unconfigured(good), Spun Up
Firmware state: Unconfigured(good), Spun Up
Firmware state: Unconfigured(good), Spun Up
如果输出的结果和上面的看起来不太一样,则可能需要更改它的状态。
下面这条命令不要无脑抄,需要修改中括号里的东西,冒号前的是 Enclosure Device ID
,冒号后的是 Slot Number
,如果你不知道这里是什么,你需要执行 megacli -PDList -a0
来查看具体哪块硬盘对应了哪个号。
megacli -PDMakeGood -PhysDrv[19:0] -a0
创建新的 RAID 选项
在一切都准备就绪后,我们就可以来配置新的 RAID 选项了,请注意!这里非常重要!
首先,创建一个 RAID 分区
megacli -CfgLdAdd -r0 [19:0,19:1,19:2,19:3,19:4] WB RA CachedBadBBU -a0
首先 -CfgLdAdd
后面跟的是 RAID 级别,你可以选 r0
r1
r5
r10
,但是因为我们只是用来刷刷刷,不怕数据丢失,这里推荐选 r0
接下来得告诉 megacli
你要把那些硬盘组成一个 RAID 池,你得使用 megacli -PDList -a0
来检查你的物理磁盘的信息,并按照 [Enclosure id:Slot number]
的格式填写上去。
之后呢,添加一些其他的选项,比如说 WB
代表回写,以便RAID卡将数据一旦写入高速缓存后就可以发送传输完成信号,以增加写入速度。
RA
代表预读,这意味着RAID卡可以预先读取数据,以防以后需要该数据以加快读取速度。
Direct
表示读取不缓存在高速缓存中。大多数文件系统和应用程序都有自己的缓存,不需要在RAID卡种缓存数据。
CachedBadBBU
表示即使 RAID 卡上没有BBU(电池备份单元),也可以使用 RAID 卡缓存。在一般情况下,这里是不建议开的,但是因为在数据中心,突然停电的概率很小很小,在加上服务器内不会存储很重要的数据,所以开吧。
在执行完上述命令后,你会看到这样的结果
root@rescue ~ # megacli -CfgLdAdd -r0 [19:0,19:1,19:2,19:3,19:4,19:5,19:6,19:7,19:8,19:9,19:10,19:11,19:12,19:13,19:14] WB RA Direct CachedBadBBU -a0
Adapter 0: Created VD 0
Adapter 0: Configured the Adapter!!
Exit Code: 0x00
同时,你还可以使用 megacli -PDRbld -ShowProg -PhysDrv [这里替换为你的数值] -a0
来查看 RAID 重建的进度
root@rescue ~ # megacli -PDRbld -ShowProg -PhysDrv [19:0,19:1,19:2,19:3,19:4,19:5,19:6,19:7,19:8,19:9,19:10,19:11,19:12,19:13,19:14] -a0
Device(Encl-19 Slot-0) is not in rebuild process
Device(Encl-19 Slot-1) is not in rebuild process
Device(Encl-19 Slot-2) is not in rebuild process
Device(Encl-19 Slot-3) is not in rebuild process
Device(Encl-19 Slot-4) is not in rebuild process
Device(Encl-19 Slot-5) is not in rebuild process
Device(Encl-19 Slot-6) is not in rebuild process
Device(Encl-19 Slot-7) is not in rebuild process
Device(Encl-19 Slot-8) is not in rebuild process
Device(Encl-19 Slot-9) is not in rebuild process
Device(Encl-19 Slot-10) is not in rebuild process
Device(Encl-19 Slot-11) is not in rebuild process
Device(Encl-19 Slot-12) is not in rebuild process
Device(Encl-19 Slot-13) is not in rebuild process
Device(Encl-19 Slot-14) is not in rebuild process
Exit Code: 0x00
如果看到上述输出,那就没问题了。之后呢,你可以在命令行中输入 fdisk -l
然后你就能看到一块组好 RAID 的硬盘了
然后我们还需要将磁盘标记为可引导,输入 megacli -AdpBootDrive -set -L0 -a0
即可。
root@rescue ~ # megacli -AdpBootDrive -set -L0 -a0
Boot Virtual Drive is set to #0 (target id #0) on Adapter 0
Exit Code: 0x00
之后呢,输入 installimage
选择你需要的系统,分区,一路回车即可完成。这里不再做赘述,请参考上面的无硬 RAID 卡安装系统教程。
安装软件
此时就需要大喊!星!大!牛!逼!星大脚本
也可以大喊 E!F!S!牛!逼!quickbox
对比
前者更齐全,制种、发种工具一应俱全,但有些操作都需要在命令行下操作。
后者有一个统一的 WEBUI 界面,而且大部分操作(卸载、安装、重启)可以在webui执行,也就是说,对新手更友好了。
我个人还是习惯使用星大脚本,所以给出一个星大脚本的安装示例。
bash <(wget --no-check-certificate -qO- https://github.com/Aniverse/inexistence/raw/master/inexistence.sh) -u 替换为你想要的用户名 -p 替换为你想要的密码 --rclone --bbr --flexget --filebrowser --tweaks --tools
那我应该在哪里输入上面的奇怪怪的命令呢?
SSH
此时需要大喊!百!度!傻!逼!putty连接服务器
需要提醒的是,有些盒子商默认给你的账号密码不是 root 的账号密码,你需要手动切换为 root 用户。输入 su root
或 sudo -i
即可切换
如果在切换过程中需要输入密码,那么输入当前用户的密码即可,需要注意的是,密码不会显示在屏幕上,所以不要认为是你卡了或者没输上,直接蒙头输,回车即可。
- 输入
screen -s NAME
即可(记得替换 NAME 为你想要的名字) - 然后在新建的窗口里执行星大脚本即可。
- 想要退出的时候按键盘上的
ctrl+a+d
即可 - 想要重连输入
screen -r NAME
替换 NAME 为你自己的名字,如果忘了输入screen -ls
即可查看。 - 需要完全退出的时候只需要在 screen 里输入
exit
即可。
你也可以看看我是怎么操作的。因为录制软件的原因,没法很好的录上中文和我的特殊字符,但是应该还能看的懂吧(
进阶操作可以看看下面这篇文章。
BT软件大概分为那些?有什么区别吗?
- deluge 、 qbittorrent
适合刷刷刷,不适合保种,保太多了可能会导致软件运行缓慢甚至崩溃。
- transmission
适合保种,就我个人而言,我用 TR 保了 2W 种子都不带卡的
最好不要将 TR 的种子塞到 3W + 因为 transmission 会有一个硬限制,就是文件打开数的限制,这个限制如果没有在编译的时候修改的话默认是 1024,塞太多可能会导致莫名其妙的红/黄种。而且客户端也会巨卡。
如何解除限制可以参考我的这篇文章。
编译一个支持跳检以及无限文件限制的 Transmission 2.94 客户端
- rutorrent
反正我用 rut 根本刷不起来,但是听说保种还不错?
不过它作为 irssi 的前置组件,如果你想使用 irssi 来自动下载种子的话必须得装 rut
配置ipv6
部分机器可能需要配置 ipv6,比如 online 或者 op。但是我也不会(
但是👴会抄!
online:
online在账户里有ipv6选项(新账号需要先order一个free ipv6 block) 然后自己分subnet。
oneprovider:
默认不会给ipv6地址块和DUID,需要你新建一个ticket然后和客服交流获取。
和oneprovider客服交流过程举例:
配置ipv6脚本
debian:
https://github.com/jxzy199306/ipv6_dhclient_online_net
ubuntu:
https://blog.gloriousdays.pw/2019/03/14/configure-online-net-ipv6-on-ubuntu-18-04/
all:
配置 SSL 证书
这部分仅适合有域名的小伙伴。且只适合在运行过星大脚本的机器上使用下方的命令。
因为考虑到域名这个东西比较少人有,所以这里就讲的比较宽泛一些,也就不会那么详细。
首先,因为是采用 acme 的脚本来进行申请 SSL 证书的,所以必须先将域名解析到对应的 IP。
首先需要安装 acme 脚本。
#安装 acme 脚本
curl https://get.acme.sh | sh
在安装 acme 脚本完成后,确保你的解析已经生效的情况下就可以运行下面的命令了,记得将 YOUR_DOMAIN
替换为你的域名就好。
#申请证书文件
~/.acme.sh/acme.sh --issue -d YOUR_DOMAIN --webroot /var/www
申请完证书以后还需要将证书放到正确的位置。请注意,不要自己手动放,因为 acme 的证书只有 40 天有效期,你需要 acme 来帮你自动签发续期。
同样的,复制粘贴下方的命令即可,记得将 YOUR_DOMAIN
替换为你的域名就好。
#安装证书~/.acme.sh/acme.sh --installcert -d YOUR_DOMAIN \ --key-file /etc/ssl/private/ruweb.key \ --fullchain-file /etc/ssl/ruweb.crt
最后,重启 nginx
即可生效。
在运行过星大脚本的服务器上,你只需要执行两条命令:
#关闭 nginxnginx -s stop#重启 nginxnginx
完成上述步骤后,你就可以通过 https 来访问你的 web 页面了,星大脚本也和贴心的做了重定向,意思就是,你可以通过 https://your.domain.com/de
来访问 de,同理你也可以在域名后加上 /tr
/qb
/fg
/rt
等奇奇怪怪的东西来访问其他软件的 webui。
服务器监控
这里估计会咕咕咕很久很久,因为我到现在(2021.2.2)都没用服务器监控(
但是看起来 QuickBox 自带了监控?
- 咕咕咕咕咕咕咕咕咕
- 写完
RSS
我只会 irssi、flexget 和 rut 的 rss,rut 的 rss 我也不经常用。。。所以这里就挑我常用的东西来说了。
flexget
星大脚本默认自带。并且会自带 config。这里有我从各个大佬那里搬运整理的一个更详细的 config,但是估计除了我以外没人能看懂,找个时间抽空重写了吧。估计又是无限期搁置。
如何配置config?
- 登录进flexget,默认地址是你的
IP:6566
,如127.0.0.1:6556
,也有可能是你的IP/flexget
,如127.0.0.1/flexget
。 - 输入账号密码,默认账号为flexget
- 点击左侧 Config,根据我下面给出的配置文件照猫画虎你自己的
点击左侧的 Execute 并点击中间的三个点,选择 learn,点击中间的 Execute 即可。- 现在的 flexget 的 webui 已经改了,参考下面这张图即可
给出一个栗子,你可以照猫画虎抄抄作业写成自己的。
#配置文件采用YAML语言编写 子项目需缩进两个空格 这里不能用TAB来缩进 必须空格
# 事先说好!这是我刚入 PT 的时候写的,写的很丢人,估计只有我能看的懂,而且还有一大堆错误,懒得改了。如果你看不懂我写的,不妨参考一下下面几篇教程。
# https://ymgblog.com/2018/04/30/396/
# https://npchk.info/linux-flexget-rss/
# https://linkthis.me/2018/02/15/the-note-of-using-flexget/
# https://github.com/Aniverse/WiKi/blob/master/Flexget.md
# https://github.com/Aniverse/WiKi/blob/master/How.to.use.RSS.md#flexget-rss
#全局设置
templates:
#保持不变
freespace:
#别动
free_space:
#也别动
path: /home/dir/
#检测目录的剩余空间情况 一般指定为你的下载目录的根目录
space: 10240
#检查空间空闲 如果空间不足则停止自动抓取,单位为 MB
#不需要检测空间使用情况直接删除本段
#------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#各BT客户端的设置
qb:
#名称
qbittorrent:
path: /home/your/torrents/download-dir/
#指你的下载目录
host: localhost
#主机 localhost代表为本机
port: 2017
#你的端口
username: yourusername
#BT客户端用户名
password: yourpasswd
#BT客户端密码
#Flexget可以直接Push种子(磁力链接)给qBittorrent
tr:
transmission:
path: /home/your/torrents/download-dir/
host: localhost
port: 9099
username: yourusername
password: yourpasswd
#使用前需安裝「Transmission RPC」让Flexget可以连接到Transmission
de:
deluge:
path: /home/your/torrents/download-dir/
host: localhost
port: 58846
username: yourusername
password: yourpasswd
#使用之前先打开Deluge的'Allow Remote Connections'使设置生效
#使用前需安装 'deluge-client'让flexget可以连接到deluge
size:
content_size:
#全局种子大小设置
min: 6000
#最小
max: 666666
#最大
strict: no
#使用监控目录的方法的话可以删除本段
#------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#栗子1
tasks:
#保持不变
task_a:
#任务名称,改冒号前的。
rss: http://mysite.com/myfeed.rss
# rss 地址
accept_all: no
#是否全部下载,不想过滤就yes然后把downlod之前的全删了
if:
#启用 if 条件过滤
- "'ABC' in title": accept
#标题含有 ABC 就下载
- "'DEF' in title": reject
#标题含有 DEF 就不下载
content_size:
#启用大小过滤
min: 2048
# 文件小于 2048M 就不下载
max: 9999
# 文件大于 9999M 就不下载
strict: no
#不要动
download: /path/of/your/torrents/download-dir/
#flexget 的种子下载目录。如果上面设置了全局保存目录则可以删除这条。
#------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#栗子2
task:
task_b:
rss: http://mysite.com/myfeed.rss
#你的rss链接
seen:
fields:
- url
#只通过比对url的方式判断这个种子又没有下载过,比比对标题的方式更好
verify_ssl_certificates: no
#关闭任务的SSL证书验证,如果你的任务有https rss没有有效的证书。
#当然你需要知道忽略SSL证书验证所带来的风险,并且需要在使用此插件之前将Python版本升级到2.7.9及以上。
accept_all: no
#抓取全部任务
regexp:
accept:
- abc
- cde
#只下载标题中含有'abc' 'cde'的种子
reject:
- german
- sweden
#不下载标题中含有 german,sweden 的种子
#reject 和 accept可以单独使用
template:
#使用何客户端
- de
#只有设置过上面的客户端才有效
deluge:
max_up_speed: 666666
#最大上传速度
max_down_speed: 6666666
#最大下载速度
move_completed_path: /your/want/path
#下载完成后自动移动到你指定的目录
#限速
content_size:
min: 100
max: 1000
#种子大小过滤 单位为MB
#------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
web_server:
bind: 0.0.0.0
#监听的IP地址
port: 50001
#WEB UI和API使用的端口
# ssl_certificate: '/etc/ssl/private/myCert.pem' #SSL证书位置,启用https的话,把前面的#号删除
# ssl_private_key: '/etc/ssl/private/myKey.key' #SSL证书位置,启用https的话,把前面的#号删除
web_ui: yes
#启用web-ui
run_v2: yes
#启用第二版UI
#如果不想启用 Web-UI 则删除本段代码
#------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#定时器-定时抓取一次指定任务的rss,不需要自动化就删除本段
schedules:
- tasks: [myrssfeed, task_b] #指定 myreefeed 和 task_b 两个任务
# - tasks: ['*'] #抓取全部任务 想抓取全部任务则删除上面的 tasks 并取消本行前面的注释
schedule:
minute: "*/30" #每30分抓取一次
#------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#栗子1
schedules:
- tasks: [taskone, tasktwo]
schedule:
minute: "*/30"
day_of_week: mon
# 星期一时每当分钟为30时执行一次任务
#------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#栗子2
- tasks: task3
schedule:
minute: 5,45
hour: 22,23
# 在22:05, 22:45, 23:05, 23:45时执行
#------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#栗子3
- tasks: task4
schedule:
day_of_week: tue,thu
hour: 12-17
minute: "*/15"
# 在星期二和星期四12:00到17:00的时间段内每隔15分钟执行一次任务
#------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#栗子4
- tasks: task5
schedule:
hour: 8-20/2
# 从早8点到晚8点每隔两个小时执行一次任务
irssi
这是什么?
这是大多数外站所用的 rss 方式,通过在 irc 上的 announce 频道获取种子的地址并下载。
如何使用?
在你想要配置的站点的论坛搜索 irssi
或者 autodl
即可。每个站点的配置都大致一样却又略有不同,大多数都是加入频道的命令不同,这里不做赘述。
一点注意事项
在刷某些外站的时候,可能会遇到 Unregistered torrent
的问题(手动指名TL)。这里有个脚本可以帮助你解决这个问题。(只适用于 deluge )
- 首先你得启用 deluge 的插件
Execute
- 在 deluge 中找到
Preferences
- 点击
Plugins
- 在
Execute
之前打上勾 - 点击
Apply
启用 Execute - ssh 连接你的服务器,并复制粘贴以下命令
cd && wget -P ~/ seedhost.eu/dl/delugetracker.sh && chmod 750 ~/delugetracker.sh
- 输入 pwd,并用显示出来的结果替换我下图中的脚本存放路径
如bash /root/delugetracker.sh
- 在 Event 项中选择
Torrent Add
- 点击 Add
- 点击 Apply 即可
以下为脚本备份。
#!/bin/bash
torrentid=$1
torrentname=$2
torrentpath=$3
x=1
ddport=$(grep '"daemon_port": [0-9]*' ~/.config/deluge/core.conf | awk -F ': ' '{print $2}' | awk -F ',' '{print $1}')
while [ $x -le 100 ]
do
sleep 2
echo "Running $x times" >> ~/script.log
echo "TorrentID: $torrentid" >> ~/script.log
line=$(deluge-console "connect 127.0.0.1:$ddport; info" $1 | grep "Tracker status")
echo $line >> ~/script.log
case "$line" in
*unregistered*|*Sent*|*End*of*file*|*Bad*Gateway*)
deluge-console "connect 127.0.0.1:$ddport; pause '$torrentid'"
sleep 2
deluge-console "connect 127.0.0.1:$ddport; resume '$torrentid'"
;;
*)
echo "Found working torrent: $torrentname $torrentpath $torrentid" >> ~/script.log
exit 1;;
esac
x=$(( $x + 1 ))
done
优化
如果是用的 Deluge 启用 HPS 即可。
HPS 是 ltconfig 自带的参数,全称High Performance Seed,如何启用?看下图。
qb 我也不会,别问我。
听说需要改动 /home/YOUR_USER_NAME/.config/qBittorrent/qBittorrent.conf
文件里的东西。
BTW,QB 版本如果是 4.2.x 的话可以直接在 webui 里改动一些参数。
《论如何跑满》
[#hide]
首推杰佬的脚本。
关于杰佬脚本的一些解释,适用于想自己折腾调参的。
ltconfig 的配置
你可以去这里来查看具体的,这里我把杰佬的参数搬过来一份,你可以对照着看看。
cat << EOF >/home/$username/.config/deluge/ltconfig.conf
{
"file": 1,
"format": 1
}{
"apply_on_start": true,
"settings": {
"default_cache_min_age": 10,
"connection_speed": 500,
"connections_limit": 500000,
"guided_read_cache": true,
"max_rejects": 100,
"inactivity_timeout": 120,
"active_seeds": -1,
"max_failcount": 20,
"allowed_fast_set_size": 0,
"max_allowed_in_request_queue": 10000,
"enable_incoming_utp": false,
"unchoke_slots_limit": -1,
"peer_timeout": 120,
"peer_connect_timeout": 30,
"handshake_timeout": 30,
"request_timeout": 5,
"allow_multiple_connections_per_ip": true,
"use_parole_mode": false,
"piece_timeout": 5,
"tick_interval": 100,
"active_limit": -1,
"connect_seed_every_n_download": 50,
"file_pool_size": 5000,
"cache_expiry": 300,
"seed_choking_algorithm": 1,
"max_out_request_queue": 10000,
"send_buffer_watermark": 10485760,
"send_buffer_watermark_factor": 200,
"active_tracker_limit": -1,
"send_buffer_low_watermark": 3145728,
"mixed_mode_algorithm": 0,
"max_queued_disk_bytes": 10485760,
"min_reconnect_time": 2,
"aio_threads": 4,
"write_cache_line_size": 256,
"torrent_connect_boost": 100,
"listen_queue_size": 3000,
"cache_buffer_chunk_size": 256,
"suggest_mode": 1,
"request_queue_time": 5,
"strict_end_game_mode": false,
"use_disk_cache_pool": true,
"predictive_piece_announce": 10,
"prefer_rc4": false,
"whole_pieces_threshold": 5,
"read_cache_line_size": 128,
"initial_picker_threshold": 10,
"enable_outgoing_utp": false,
"cache_size": $Cache1,
"low_prio_disk": false
}
}
EOF
哦对了,有的时候你会发现下面有的选项在你的机器上没有,这是因为 libtorrent 版本不一致造成的,忽略它即可。
硬盘的优化
设计到了调度算法,想要深入研究的可以去看看国内外大佬写的论文、详解。
在 SSD 上,我推荐 None,在 HDD 上我推荐 mq-deadline。
需要注意的是,不是所有 Linux 内核都会带 mq-deadline,如果你发现无法启用 mq-deadline,你需要自己编译一个内核模块出来。
网络的优化
首先就是网卡的优化,各种参数你可以参照杰佬的脚本去google下。
Sysctl.conf
还是杰佬的脚本,里面写的很清楚了,注释什么的都有。
CPU 优化
同样的,参考杰佬的脚本去。但是 cpu 的优化一般作用不是很必要,因为很多情况下 CPU 都不是瓶颈
[#/hide]
自动删种
自动删种这边有两个选择,一个是 De 的插件,一个是 AutoRemoveTorrents
我现在主用的是 AutoRemoveTorrents(下面会简称为 ART),这里就简单的讲讲安装和配置吧。
ART 有两种安装方式,第一种是直接通过 pip 安装。
pip3 install autoremove-torrents
第二种是从 Gayhub 安装
git clone https://github.com/jerrymakesjelly/autoremove-torrents.git
cd autoremove-torrents
python3 setup.py install
autoremove-torrents
会在当前工作目录中寻找 config.yml
文件。有关更多命令行参数,请查看下面的表格。
参数名 | 参数缩写 | 描述 |
---|---|---|
–view | -v | 运行并查看有哪些种子可以删除,但不要真正地删除它们。 |
–conf | -c | 指定配置文件的路径。 |
–task | -t | 运行指定的任务。参数值就是要执行的任务名。 |
–log | -l | 指定日志文件的路径。 |
例如:
autoremove-torrents --view --conf=/home/myserver/autoremove-torrents/config.yml
它等价于:
autoremove-torrents -v -c /home/myserver/autoremove-torrents/config.yml
要想自动删除种子,我们得先创建配置文件以及 log 目录.
# 创建 art 目录
mkdir -p /root/.config/art/artlogs
然后使用 vi /root/.config/art/config.yml
来创建 art 配置文件。
创建好后写入自己的配置文件,然后保存退出即可。配置文件的说明可以去参考ART 的文档
这里给出我自己的配置文件作为一个小小的参考。
delete_task:
client: 你的客户端类型,比如 deluge qbittorrent
host: 127.0.0.1:58846
username: 你客户端的账号
password: 你客户端的密码
strategies:
bhd:
trackers:
- landof.tv
stats:
- Uploading
remove: (ratio > 1.1 and seeding_time > 3600 )
delete_data: true
然后,需要在命令行中输入 crontab -e
*/15 * * * * /usr/local/bin/autoremove-torrents -c /root/.config/art/config.yml -l /root/.config/art/artlogs`
并将上述代码丢到 crontab 当中,ART 就会每 15 分钟运行一次,按照 /root/.config/art/config.yml
设置好的规则,删除种子,并将 log 文件生成到 /root/.config/art/artlogs
目录中。
在完成上述工作之后,ART 的配置就完事了。
解释一下上图的配置文件,
- check every: 每 T 天检查一次 0.0416 为大约一小时
- Max.Torrents: 当 deluge 有 N 个种子时进行 check ,0 为无视当前有多少个种
- Min.HDD Space:当硬盘剩下 M GB 进行 check,-1 为无视当前有多少空间。
- 所以结合起来就是,每 T 天进行一次检查,当且仅当有 N 个种,硬盘剩下 M GB 时进行后面对每个种子进行条件判断
- 条件可以有 2 条进行组合,比如图上就是移除已做种 0.042 天的种子。
- examption rules 指的是部分类型的种子可以豁免删除
- exampted torrents count toward maximun 指的是豁免种是否统计在 max torrents 里
- remove torrents 指的是是否移除种子
- remove torrent data 指的是是否移除种子下载的数据。
- 结合起来我的示例图是 当硬盘空间小于 150G 时每小时检查一次并且删除做种时间超过一小时的种及其数据。
可能会需要的工具
制作种子以及快速截图
如果在安装星大脚本的时候加上了 --tools
这条命令行参数的话就会安装一些常用功能
- mediainfo
- mkvtoolnix
- eac3to
- ffmpeg
有了上面这些工具,做种发种就方便很多了。说一下我最常用的两个命令。
在皮发种时,有的时候使用 zuozhong
来做种会提示种子分块太大或太小。这时候需要手动使用 mktorrent 做种。
mktorrent -v -p -l
BLOCK_SIZE -a
ANNOUNE地址 -o
制作完成以后的种子名
要做种的文件或文件夹名
替换 BLOCK_SIZE
、ANNOUNE地址
、制作完成以后的种子名
、要做种的文件或文件夹名
即可。记得 制作完成以后的种子名
和 要做种的文件或文件夹名
之间有空格。此外,如果你不知道 BLOCK_SIZE
应该填什么,那就用 zuozhong
命令来制作种子吧。
此外,星大脚本也会附带 FileBrowser,FB 也会自带种子制作功能,如果你用不惯命令行的话,就用 FB 吧。
如何将文件从盒子取回本地 & 如何上传文件到盒子
SFTP & FTP
上传下载都可,但是因为单线程的原因可能会比较慢。
FileBrowser
目前来讲,这个东西可能是最好用了的,如果你是用的我贴出来的选项安装的星大脚本的话,也会默认安装的,只需要输入 IP/filebrowser
即可看到 web 页面。
具体的,FileBrowser 提供了网页文件管理器的功能, 可以用于上传、删除、预览、重命名以及编辑盒子上的文件,还可以在网页上右键获取文件的 mediainfo、制作种子、截图、解压等等。强烈推荐!!!
小提示
星大脚本安装的 filebrowser 只能看到用户家目录下的东西,并不能看到根目录,不过你可以修改 docker 挂载的目录来看到根目录。
只需要将 /etc/systemd/system/filebrowser@你的用户名.service
中的 ExecStart=
一行修改为以下即可。
记得替换 你的用户名
为你自己的用户名!
记得替换 你的用户名
为你自己的用户名!
记得替换 你的用户名
为你自己的用户名!
ExecStart=/usr/bin/docker run -e PUID=1000 -e PGID=1000 -e WEB_PORT=7575 -e UMASK_SET=133 -e FB_BASEURL="/filebrowser/" -p 7575:7575 -v /home/你的用户名/.config/filebrowser-ee:/config -v /:/myfiles/root -v /home/你的用户名/:/myfiles/你的用户名 --mount type=tmpfs,destination=/tmp --restart=always --name="filebrowser-你的用户名" 80x86/filebrowser:amd64
H5ai
只能下载,不能上传,且只能下载单个文件,文件夹需要打包
网盘中转
参考我下面这篇文章即可
小工具
Q:如何查看我今天刷了多少流,每月呢?
- 通过访问 webui 来查看,具体地址为
IP/vnstat
,如127.0.0.1/vnstat。将你的 IP 替换即可。 - ssh 命令行输入以下命令,下同。
vnstat -h
24 小时
vnstat -d
30 天
vnstat -m
12 月
vnstat -l
实时流量监测
Q:如何重启我的客户端?
mingling
并选择你想要的
Q: 我没法使用 H5ai 下载文件夹怎么办?
使用
tar
打包使文件变为一个文件即可下载。
tar -cvf 打包后的文件名 要打包的目录
。如tar -cvf 1.tar /etc/tar
tar -xvf 要解包的文件名
。如tar -xvf 1.tar
你可以在其中加上 -z 来打包并 zip 压缩文件,可能会很慢。tar -zcvf 1.tar.gz /etc/
打包并 zip 压缩/etc/目录。tar - zxvf 1.tar.gz
解压缩并解包 1.tar.gz 到当前目录下
Q:使用 flexget 能只筛选免费种子吗?
可以。但是不保证会不会出事,我没用过,也不会用。有些站点已经发公告禁止爬虫了,自行斟酌。
https://github.com/Juszoe/flexget-nexusphp
提一嘴,只 rss 官组一般都是 free。
剩下的等我想到了在补吧,我这垃圾 blog 就不指望有人留言了。
碎碎念
入坑两年多了吧......该收的也都收了,该玩的也都玩了。当初入坑因为盒子也没少走弯路,反正乱七八糟的东西没少去问各位大佬,有的时候能问的到结果,有的时候不能还会受一顿臭骂SBDN,还有一些大佬和蔼可亲的回答 rm -rf /*
我也跟个傻逼似的直接复制粘贴,GG。
也是因为 PT 才学了 linux,买了 mac,砸了大半年时间,最气的是还没啥成果。吐了。
不过这一路上确实学到了不少,有个 Linux 专业课直接考了满分 23333
天天盯着 de 看着 110M/s 看着上传一 T 一 T 的涨,确实,开心。
希望每个人都能被这个世界温柔相待吧。也希望各位萌新能少走点弯路。
最后。感谢你能看完这篇 blog,语文功底差,写的比较乱,大部分还是抄的,轻喷,别骂了别骂了,再骂人傻了。
感谢那些帮助过我的前辈、大佬,无论是发邀还是其他的或多或少的帮助,没有他们的帮助,我在 PT 的路上也不会这么风顺。
特别特别特别特别感谢:女装叶子。你们可以点击底下去看看叶子女装。
241 条评论
又看不见了,过来回复
从今年春季开始短短续续用了几个月的盒子,目前手里有vps,还有以前的3o(现在7o),最开始是搬运发种,问题倒也不大,每月的上传还是有的,现在手里的两个站猫岛,手动明显不及时,速度也上不去,通读了全文相见恨晚,真正达到可自动并速度正常,还是要下一番功夫研究,关于博主折腾的经历深有同感,确实有很多热心的大佬,也有大佬逆向指导,当然也存在很多的炫技大佬,但是各种类型的大佬无论帮助与否,都心存感恩,从热心的大佬那里学习知识,从逆向指导大佬那里学习谨慎和辨别,从炫技大佬那里知道原来还可以实现这样的效果,再次感谢博主
瞅瞅如何跑满
瞅瞅如何跑满
Many thanks to this detailed manual. Been.a great help