花瓣网、堆糖网下载油猴脚本的远程下载服务(Tdi for Node.js).
此程序相当于CrawlHuaban
(中心端)的成员,用户选择远端下载后会由中心端选择一个成员提供给用户,减少中心端压力。
Python版本的仓库地址是:https://github.com/staugur/tdi
PHP版本的仓库地址是:https://github.com/staugur/tdi-php
Golang版本的仓库地址是:https://github.com/staugur/tdi-go
要求:Node10+,Redis2.x(3.x,4.x)
-
安装程序依赖的npm包:
-
开发环境:
yarn
ornpm install
-
正式环境:
yarn --production
ornpm install --production
-
-
启动Web服务
yarn start
ornpm start
-
启动队列处理进程
yarn start:worker
ornpm start:worker
使用pm2管理Web进程和队列进程,另外还包含一个定时任务,会每60s清理过期下载文件。
-
查看进程状态
yarn prod
ornpm run prod
-
启动
yarn prod:start
ornpm run prod:start
-
停止
yarn prod:stop
ornpm run prod:stop
-
重载
yarn prod:reload
ornpm run prod:reload
-
重启
yarn prod:restart
ornpm run prod:restart
-
删除
yarn prod:delete
ornpm run prod:delete
点击查看文档,关于普通部署、使用手册、注意事项等问题。
若上述地址异常,备用地址是:https://saintic-docs.readthedocs.io/tdi-node/
server {
listen 80;
server_name 域名;
charset utf-8;
client_max_body_size 10M;
client_body_buffer_size 128k;
#此路径是为了下载实际图片压缩包,直接走nginx
location /downloads {
#程序下载目录(源码下的src/downloads或者容器的主机挂载点)
alias /path/to/tdi-node/src/downloads/;
default_type application/octet-stream;
if ($request_filename ~* ^.*?\.(zip|tgz)$){
add_header Content-Disposition 'attachment;';
}
}
location / {
#3000是默认端口
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}