PT盒子教程 & 工具 & 脚本 & 《论如何跑满》

2020-02-03T00:12:00
当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »

[goal title="进度"]
[item progress="99%"] 文章进度 [/item]

[item progress="70%"] 乱七八蕉的东西进度 [/item]
[item progress="1%"] 优化详解(主要是我不会) [/item]
[/goal]

写在前面

本文大部分东西都是从大佬抄来+自己从各种奇奇怪怪的 wiki 整理的。
如果你不希望这些东西展现在这篇文章上,请联系我。
AND
我又菜又不会配置&优化,如果你是个小佬 / 中佬 / 大佬 / 奆佬,本文可能对你毫无帮助。轻喷。
但是如果你是个刚入坑的萌新,那么你来对地方了。
Welcome.


特别特别特别特别感谢:女装叶子。你们可以点击底下去看看叶子女装。

[post url="https://yukino.nl/" title="女装叶子" intro="vegatable"]


盒子部分


盒子的选择、购买。

(这段都是抄来的)

首先,得先明确,刷什么站,需要杜甫还是共享,注重性价比还是注重速度。


共享服务器

这是什么?

顾名思义,共享就是多人使用一台服务器,公用一个 IP,使用同一个硬盘。

有什么不好处?

  • 大多数共享盒子都非常看脸,如果你有一个捣蛋调皮的邻居,那就完犊子了。(指循环跑 iotest 的崽种
  • 流量大多数有限制
  • 不能自己折腾服务器
  • 国内大多数站点都不允许共享盒子
最新限制表
具体可以参考@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,信用卡
又称 HZ,个人印象最好的一家盒子商。管子默认都是 1G 对等,无限流量,理论你一个月跑 270T 上传都是可能的。升级 10G 需要额外的安装费,且流量变为 10T。超出后 1euro/T。
其普通机器在非活动期间有安装费且费用较高(34欧元)起步,属于中高档机器,而大部分人购买的是其拍拍卖机,拍卖机价格浮动,有的时候可以遇到比较好的传家宝机器,其后台支持机器转让,因此在hostloc上有不少人转手机器赚取差价。 在购买机器时不会立即扣款,在 14 天后出账单,且机器使用不满14天可以无条件退款,请勿滥用,可能导致封号。
支持信用卡,paypal。
PS.新账号需要过验证,你可以直接支付 20o 或者提交身份证明,例如身份证+信用卡背面(记得遮挡CVV码),或者护照、驾照,具体的抄了叶子

[collapse status="false" title="如何过 HZ 验证"]①拍卖页面购买的机器不会立即生成账单,14天以内取消机器算免费试用,但不要多次尝试,账号会被封!

②账号注册后需要验证身份,会收到一封要求验证身份的邮件,将身份证或者护照和信用卡放在一起拍照片发过去,为了安全可以适当打码并且用证件水印助手APP处理下

③也可以直接付款20欧让账号生效,但也不是百分百靠谱,可能仍然需要验证,付的20欧作为余额可以在购买机器时消费,如果收到如下邮件等个10分钟左右可能就成功了,否则会继续收到需要验证身份信息
https://pic.ymgblog.com/images/2019/06/23/e3a42dd6acefaf3f3e70200ee1e88440.png

④购买机器时如果费用带税可以按下图设置

[/collapse]

著名的耍猴专家奸商,又称offline,著名的 3o st8 就是这家的机器。不建议上车,建议 HZ。

我是土豪,我想上 10G,可以给力一点吗?
...... ::aru:crying:: 带带我

没钱,没买过,不会点评。

如何购买?

  1. 申请信用卡 / 注册 paypal 并绑定银行卡
  2. 在服务器商网站上注册一个账号
  3. 根据提示购买。

我买到了服务器,然后我应该干啥?

安装系统

安装系统的步骤都大同小异,要么是进入到 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 性能高不了多少,甚至在有些机器上还会降低性能。
巨长警告
[collapse status="false" title="硬 RAID 卡安装指南"]
列出 RAID 卡上的信息
你可以使用 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 卡安装系统教程。

[/collapse]


安装软件

此时就需要大喊!星!大!牛!逼!星大脚本
也可以大喊 E!F!S!牛!逼!quickbox
也可以直接输入下面的命令,记得替换用户名和密码!

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连接服务器
[scode type="yellow"]需要提醒的是,有些盒子商默认给你的账号密码不是 root 的账号密码,你需要手动切换为 root 用户。输入 su rootsudo -i即可切换
如果在切换过程中需要输入密码,那么输入当前用户的密码即可,需要注意的是,密码不会显示在屏幕上,所以不要认为是你卡了或者没输上,直接蒙头输,回车即可。[/scode]
PS. 在装软件的时候可能会需要较长时间,如果断开 SSH 就得重新开始了。不妨我们把它放在 screen 里执行。这样即使断开SSH也没有关系,以下并不是必备操作,是一个可选项,看不懂可以选择跳过。
[collapse status="false" title="把东西丢到 screen 里"]
如何把东西丢到 screen 里呢?

  • 输入screen -s NAME即可(记得替换 NAME 为你想要的名字)
  • 然后在新建的窗口里执行星大脚本即可。
  • 想要退出的时候按键盘上的ctrl+a+d 即可
  • 想要重连输入screen -r NAME替换 NAME 为你自己的名字,如果忘了输入screen -ls即可查看。
  • 需要完全退出的时候只需要在 screen 里输入exit即可。

你也可以看看我是怎么操作的。因为录制软件的原因,没法很好的录上中文和我的特殊字符,但是应该还能看的懂吧(

进阶操作可以看看下面这篇文章。
[post cid="59" /]
[/collapse]

BT软件大概分为那些?有什么区别吗?

  • deluge 、 qbittorrent
适合刷刷刷,不适合保种,保太多了可能会导致软件运行缓慢甚至崩溃。
  • transmission
适合保种,就我个人而言,我用 TR 保了 2W 种子都不带卡的
最好不要将 TR 的种子塞到 3W + 因为 transmission 会有一个硬限制,就是文件打开数的限制,这个限制如果没有在编译的时候修改的话默认是 1024,塞太多可能会导致莫名其妙的红/黄种。而且客户端也会巨卡。
如何解除限制可以参考我的这篇文章。
[post cid="286" /]
  • rutorrent
用来刷是真的垃圾,听说保种还不错?
不过它作为 irssi 的前置组件,如果你想使用 irssi 来自动下载种子的话必须得装 rut

配置ipv6

部分机器可能需要配置 ipv6,比如 online 或者 op。但是我也不会(

但是👴会抄!
[collapse status="false" title="抄叶子的教程"]
抄自https://yukino.nl/2019/08/10/pt-tools/
部分用户可能有这个需求。

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:

https://ymgblog.com/2018/03/12/345/
[/collapse]


配置 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 即可生效。
在运行过星大脚本的服务器上,你只需要执行两条命令:

#关闭 nginx
nginx -s stop
#重启 nginx
nginx

完成上述步骤后,你就可以通过 https 来访问你的 web 页面了,星大脚本也和贴心的做了重定向,意思就是,你可以通过 https://your.domain.com/de 来访问 de,同理你也可以在域名后加上 /tr /qb /fg /rt 等奇奇怪怪的东西来访问其他软件的 webui。


服务器监控

这里估计会咕咕咕很久很久,因为我到现在(2021.2.2)都没用服务器监控(
//TODO

  • [X] 咕咕咕咕咕咕咕咕咕
  • [ ] 写完

RSS

我只会 irssi、flexget 和 rut 的 rss,rut 的 rss 我也不经常用。。。所以这里就挑我常用的东西来说了。

flexget

星大脚本默认自带。并且会自带 config。这里有我从各个大佬那里搬运整理的一个更详细的 config,但是估计除了我以外没人能看懂,找个时间抽空重写了吧。估计又是无限期搁置。
如何配置config?

  1. 登录进flexget,默认地址是你的IP:6566,如127.0.0.1:6556,也有可能是你的IP/flexget,如127.0.0.1/flexget
  2. 输入账号密码,默认账号为flexget
  3. 点击左侧 Config,根据我下面给出的配置文件照猫画虎你自己的
  4. 点击左侧的 Execute 并点击中间的三个点,选择 learn,点击中间的 Execute 即可。
  5. 现在的 flexget 的 webui 已经改了,参考下面这张图即可

[collapse status="false" title="flexget_config"]

#配置文件采用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点每隔两个小时执行一次任务

[/collapse]


irssi

这是什么?
这是大多数外站所用的 rss 方式,通过在 irc 上的 announce 频道获取种子的地址并下载。

如何使用?
在你想要配置的站点的论坛搜索 irssi或者 autodl即可。每个站点的配置都大致一样却又略有不同,大多数都是加入频道的命令不同,这里不做赘述。

一点注意事项
在刷某些外站的时候,可能会遇到 Unregistered torrent的问题(手动指名TL)。这里有个脚本可以帮助你解决这个问题。(只适用于 deluge )
[collapse status="false" title="自动刷新 tracker"]

  • 首先你得启用 deluge 的插件Execute
  • 在 deluge 中找到Preferences
  • 点击Plugins
  • Execute 之前打上勾
  • 点击Apply
  • 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

[/collapse]


优化

如果是用的 Deluge 启用 HPS 即可。
HPS 是 ltconfig 自带的参数,全称High Performance Seed,如何启用?看下图。

qb 我也不会,别问我。
听说需要改动 /home/YOUR_USER_NAME/.config/qBittorrent/qBittorrent.conf文件里的东西。
BTW,QB 版本如果是 4.2.x 的话可以直接在 webui 里改动一些参数。


《论如何跑满》

[hide]
感觉没啥可说的,就分为几大块,而且我也讲不出来个 7788,讲太多也会暴露水平的,我就是个菜逼。

  1. ltconfig 的配置,你可以去这里来查看具体的
  2. 硬盘的优化
  3. 网络的优化

因为 ltconfig 的配置太长太长了,而且官方文档里也写的很清楚了,所以我意思我别在这里继续说了,可能越讲越暴露水平....

硬盘的话,得分情况来说,SSD 一般是完全没必要去优化的,除非你是 10G 口子,不然在一般情况下 SSD 是完全不会卡 IO 的。需要优化的就是 HDD 盒子。
那么问题来了 HDD 怎么优化?

  1. 调度算法
  2. 脏数据的刷新策略
  3. 缓存

这里我觉得我给个思路就可以了,深度说也会暴露水平的.........

网络方面的的话,调整下 /etc/sysctl.conf 就可以了,如果是 INIC 的网卡的话,可以用 ethtool 调整更多的东西。

这里给一份 ltconfig 的示例配置,适用于 32G+ 内存的机器

active_limit = 2000;

active_seeds = 2000;

allow_multiple_connections_per_ip: true

auto_upload_slots = false;

cache_buffer_chunk_size = 128;

cache_expiry: 120;

cache_size: 512000;

choking_algorithm: 1;

close_redundant_connections = true;

enable_incoming_utp: false;

enable_outgoing_utp: false;

file_pool_size = 500;

inactivity_timeout = 20;

low_prio_disk: false;

max_failcount = 1;

max_queued_disk_bytes: 262144000;

max_queued_disk_bytes_low_watermark: 131072000;

max_rejects = 10;

optimize_hashing_for_speed = true;

peer_timeout = 20;

read_cache_line_size = 512;

request_timeout = 10;

seed_choking_algorithm: 1;

send_buffer_low_watermark: 13107200;

send_buffer_watermark: 26214400;

send_buffer_watermark_factor: 250;

strict_end_game_mode: false;

use_parole_mode: false;

use_read_cache = true;

write_cache_line_size = 512;

[/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
  host: 127.0.0.1:58846
  username: 用户名
  password: 密码
  strategies:
    strategy1:
      trackers:
        - landof.tv
      stats:
        - Uploading
      remove: ( seeding_time > 7200 and upload_speed < 100 )
  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 的配置就完事了。

[collapse status="false" title="De 插件的设置"]
这里是抄叶子作业的(

我解释一下上图的配置文件,

  • 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 时每小时检查一次并且删除做种时间超过一小时的种及其数据。

[/collapse]


可能会需要的工具

制作种子以及快速截图

如果在安装星大脚本的时候加上了 --tools这条命令行参数的话就会安装一些常用功能

  • mediainfo
  • mkvtoolnix
  • eac3to
  • ffmpeg

有了上面这些工具,做种发种就方便很多了。说一下我最常用的两个命令。

  1. 截图
  2. zuozhong FILE_PATH
    制作种子的命令。 完成后会将种子保存到/etc/inexistence/09.Torrents中。
  3. 挂载 iso 文件
  4. 解挂 iso 文件

[scode type="yellow"]在皮发种时,有的时候使用 zuozhong来做种会提示种子分块太大或太小。这时候需要手动使用 mktorrent 做种。[/scode]

mktorrent -v -p -l BLOCK_SIZE -a ANNOUNE地址 -o 制作完成以后的种子名 要做种的文件或文件夹名

替换 BLOCK_SIZEANNOUNE地址制作完成以后的种子名要做种的文件或文件夹名 即可。记得 制作完成以后的种子名要做种的文件或文件夹名 之间有空格。此外,如果你不知道 BLOCK_SIZE 应该填什么,那就用 zuozhong 命令来制作种子吧。

此外,星大脚本也会附带 FileBrowser,FB 也会自带种子制作功能,如果你用不惯命令行的话,就用 FB 吧。


如何将文件从盒子取回本地 & 如何上传文件到盒子

SFTP & FTP
上传下载都可,但是因为单线程的原因可能会比较慢。

FileBrowser
目前来讲,这个东西可能是最好用了的,如果你是用的我贴出来的选项安装的星大脚本的话,也会默认安装的,只需要输入 IP/filebrowser 即可看到 web 页面。
具体的,FileBrowser 提供了网页文件管理器的功能, 可以用于上传、删除、预览、重命名以及编辑盒子上的文件,还可以在网页上右键获取文件的 mediainfo、制作种子、截图、解压等等。强烈推荐!!!
[scode type="green"]
小提示
星大脚本安装的 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

[/scode]

H5ai
只能下载,不能上传,且只能下载单个文件,文件夹需要打包

网盘中转
参考我下面这篇文章即可
[post cid="142" cover="http://"/]


小工具

Q:如何查看我今天刷了多少流,每月呢?

  1. 通过访问 webui 来查看,具体地址为IP/vnstat,如127.0.0.1/vnstat。将你的 IP 替换即可。
  2. 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 就不指望有人留言了。


碎碎念

入坑一年多了吧。。。该收的也都收了,该玩的也都完了。写个教程退坑了,不然毕业以后真的只能回老家卖鸡蛋灌饼了。
当初入坑因为盒子也没少走弯路,反正乱七八糟的东西没少去问各位大佬,有的时候能问的到结果,有的时候不能还会受一顿臭骂,还有一些大佬和蔼可亲的回答 rm -rf /* 我也跟个沙雕似的直接复制粘贴,GG。也是因为 PT 才学了 linux,买了 mac,砸了大半年时间,最气的是还没啥成果。吐了。
不过这一路上确实学到了不少,这半年有个专业课 linux 直接艹了个满分出来,还是挺开心的。。。
天天盯着 de 看着 110M/s 看着上传一 T 一 T 的涨,确实,开心。

[hide]我 TM 才不会告诉你我是因为淘宝入的坑。
当初粉漫威,2 块钱买了个漫威全集,发现挖槽,这个字幕好爽啊,挖槽,这个字幕还有特效,花里呼哨的,这个清晰度,挖槽这太爽了,然后整了个买家的 VX,问问问问问问问问问问,问到了 PT。百度得 MT,捐。然后不知道 VIP 免下载白白浪费一个月的 VIP。吐了。
第二个月知道了盒子,过段淘宝启动,60 块钱买了个vps,被卖家告知刷 MT 需要捐 VIP,然后又捐了一个,最后一个月刷了 8T,吐的更厉害了。 第三个月整了个 hz,不会优化不会脚本不会 linux,啥都不会,找了个盒子商装了软件,刷了 140T 自我感觉还行吧。。。。然后贴吧求岛啊,元旦求瓷器啊,入外站啊,折腾优化,折腾 blog.........

就写这么多吧。。
半夜 2 点了 睡觉了。[/hide]

希望每个人都能被这个世界温柔相待吧。也希望各位萌新能少走点弯路。

最后。感谢你能看完这篇 blog,语文功底差,写的比较乱,大部分还是抄的,轻喷,别骂了别骂了,再骂人傻了。
再次感谢@yezi也感谢那些帮助过我的前辈、大佬,无论是发邀还是其他的或多或少的帮助,没有他们的帮助,我在 PT 的路上也不会这么风顺。

免责声明

本教程可能会造成您的数据丢失,甚至服务器宕机,我不承担任何责任。我已经在我的服务器上对其进行了不下于 30 次测试,我的 Blog 上所写的东西都完美运转,没有造成任何损失。