很多时候,用迅雷下载某些种子会碰到硕大一排红字,资源无法下载。如果手里有一台VPS就非常方便,装一个离线下载工具,通常来说VPS的下载速度是本地远远不能比的,先在VPS上离线下载好,再拖回本地,再也不用一直开着电脑用龟速下东西。

今天介绍的这个轻量工具在于安装,使用都很方便,支持部分格式视频的在线播放。缺点是只支持种子或者磁力下载。

一、项目安装

一开始看到这个项目是在逗比根据地,有一个比较方便的一键脚本。不过我一向倾向能自己装最好,没辙再用脚本,搜了一下这个项目的Gayhub,结果发现安装异常简单。

安装代码如下:

curl https://i.jpillora.com/cloud-torrent! | bash

运行完后会显示Installed at /usr/local/bin/cloud-torrent,这就安装好了

这时候按显示输入代码运行Cloudtorrent

/usr/local/bin/cloud-torrent

默认监听3000端口,运行后就能在浏览器用http://IP:3000打开Cloudtorrent的网页

不过按我习惯喜欢把所有东西都弄到/home目录方便管理,这属于强迫症,大家可以忽略

mkdir /home/cloudtorrent
mv /usr/local/bin/cloud-torrent /home/cloudtorrent

当然我们也可以用运行指令来自定义运行方式,用下面代码可以看到使用说明

./cloud-torrent --help

这里挑自己觉得有用的说下

-a 指定用户名密码,格式是 -a user:password

-t 指定页面标题

-p 指定端口

-k -r TLS证书文件,如果开启https,建议用nginx反代更好

-c 指定配置文件,默认是同目录下的cloud-torrent.json

比如网页标题为IVYSEEDS,用户名ivy密码seeds,端口8080

那么运行指令就应该是

./cloud-torrent -a ivy:seeds -t IVYSEEDS -p 8080

运行后我们就能在浏览器用地址http://IP:8080打开页面,会跳出窗口要求用户名密码,输入后页面如下

点右上红圈处按钮,会有设置弹出来,只需要设置下载目录即可

在下面的地址栏粘贴磁力链或者种子的下载链接,然后点击Add Torrent即可开始下载。

二、Nginx反代并开启https访问

如果本机安装了博客,或者懒癌不想每次打开都要输入IP:端口,抑或是想开启TLS访问,推荐使用Nginx来反代Cloudtorrent

这里依旧是采用LNMP,LNMP安装和新建虚拟机(lnmp vhost add)是基于LNMP1.5_full的脚本。

建立一个新的虚拟机,域名以 bt.yourdomain.com 为例

打开nginx配置文件

vi /usr/local/nginx/conf/vhost/bt.yourdomain.com.conf

在80端口段添加一句强制使用https访问

rewrite ^(.*)$ https://$host$1 permanent;

在443端口段添加以下代码

location / {
proxy_pass http://127.0.0.1:8080;
}

并且删除其他所有location段落,保存退出后重启nginx

service nginx restart

这时候就能直接通过bt.yourdomain.com域名访问Cloudtorrent了

但是这时候域名bt.yourdomain.com:8080依旧能打开网页,cloudtorrent的启动命令可以修改为

./cloud-torrent -a ivy:seeds -t IVYSEEDS -p 8080 -h 127.0.0.1

-h 127.0.0.1参数让cloudtorrent只监听内网

三、开机自启动

最简单办法是用nohup命令运行,并丢进rc.local里,不过由于CloudTorrent是下载工具,运行中有可能因为资源占用过多被系统杀掉进程,所以还是推荐用进程守护工具supervisor来开机启动。

安装supervisor:

1、安装Supervisor

安装代码如下:

rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm --quiet
yum install supervisor python-pip -y
pip install supervisor==3.1
chkconfig supervisord on

2、配置Supervisor

Supervisor有两个配置文件,分别为

/etc/supervisord.conf
/etc/init.d/supervisord

我把自己使用的配置文件放上来,只需要做一些小修改,然后用WinSCP上传到相应目录覆盖掉就能使用。

先说supervisord.conf文件

文件里大多数不需要修改,主要是配置需要守护的进程,也就是我们的SSR或者V2Ray,下面这一段里需要修改的是command字段和directory字段。command是运行命令,directory是工作目录,需要修改为自己的安装目录,其他不用管。

另外Supervisor还提供了前端管理,可以在前端看到服务器进程的运行日志,见下图

我的配置文件里是默认打开的

访问网址是http://yourIP:9001

如果不需要,用分号;注释掉即可

这里需要修改的地方有几个,两段里的username和password不用我解释了吧,按自己的填,如果需要改端口,两处9001需要同时修改。

[supervisorctl]
;serverurl=unix:///var/tmp/supervisor.sock ; use a unix:// URL for a unix socket
serverurl=http://127.0.0.1:9001 ; use an http:// url to specify an inet socket
username=username ; should be same as http_username if set
password=password ; should be same as http_password if set
prompt=mysupervisor ; cmd line prompt (default "supervisor")
[inet_http_server]
port=9001
username=username
password=password

修改好后,用winSCP上传至服务器/etc/目录下覆盖掉

另外一个supervisord文件不需要修改,用winSCP上传至服务器/etc/init.d/目录下覆盖掉就行。

但是在启动supervisorctl时,未指定配置文件,因此会使用默认的http方式连接supervisord,最终导致报错
正确方式是需要制定配置文件:

[[email protected] autoop_services]# supervisorctl -c /etc/supervisor.conf 
celery                           RUNNING   pid 21339, uptime 0:03:33
supervisor> 

这样我们的配置就完成了。

3、Supervisor使用

按上述配置完成后,使用指令

service supervisord start

就能启动Supervisor,另外中止、状态、重启命令如下,都是后面关键字的字面意思

service supervisord stop
service supervisord status
service supervisord restart

同时还能访问网页http://yourIP:9001来管理,这样更方便,随时都能用手机查看运行情况。

四、自动运行

最后,安装好supervisor后,在配置文件目录,通常是/etc/supervisor/conf.d,建一个新配置文件cloudtorrent.conf,粘贴以下代码。

[program:CloudTorrent]
command=/home/cloudtorrent/cloud-torrent -t IVYSEEDS -a ivy:seeds -p 8080 -h 127.0.0.1
directory=/home/cloudtorrent
autorestart=true
user=root

或者,可以直接在/etc/supervisord.conf  中,头部加入以下代码:(倘若无效,则可以在/etc/supervisord.d/下建立cloudtorrent.conf文件,加入下面代码。)

[program:CloudTorrent]
command=/home/cloudtorrent/cloud-torrent -a [username]:[password] -t Summer -p 8080
directory=/home/cloudtorrent
autorestart=true
user=root

重启supervisor即可

service supervisord restart
service supervisord status

可见Main PID: 2587 (supervisord)的进程树详细信息,可以看到刚刚配置好的命令,至此,大功告成。

注:Cloudflare CDN与文中基于Nginx的反向代理实现域名SSL访问貌似有冲突,页面一直Connecting....无法进一步加载,不知何故,尽力解决中......