down2local是一个简单的下载中转程序,使用node.js开发,帮助你通过一个中间服务下载远程资源。
应用场景比如你在国内下载国外的软件包,可能网速慢或者根本连不上,此时可以通过此down2local中转下载,
而程序受益于node.js的stream功能,其本身不会在本地下载保存,而是通过管道直接返回数据,减少内存磁盘使用。
流程图如下:
以下为使用说明:
程序用node.js编写,请先安装node环境,建议版本10+,使用yarn包管理器,需要先安装yarn
手动部署
1. 下载源码
git clone https://github.com/staugur/down2local.git cd down2local
2. 安装依赖
-
2.1 dependencies
yarn --prod
-
2.2 pm2/forever(任选一种方式)
-
2.2.1 pm2
sudo yarn global add pm2 # or local install with `yarn add pm2`
-
2.2.2 forever
sudo yarn global add forever # or local install with `yarn add forever`
-
3. 启动服务
-
3.1 pm2
yarn pm2:[start/stop/restart/reload]
-
3.2 forever
yarn fe:[start/stop/restart]
App default listen on 127.0.0.1:5201, you can set it on config.json
Docker部署
-
1. 自行构建镜像
git clone https://github.com/staugur/down2local cd down2local docker build -t staugur/down2local .
-
2. 使用自动构建的镜像(DockerHub)
docker pull staugur/down2local
-
3. 启动容器
docker run -d --name down2local --net host --restart always down2local
使用Nginx反向代理
server { listen 80; server_name YOUR-DOMAIN-NAME; charset utf-8; location / { proxy_pass http://127.0.0.1:5201; 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; } }
使用方法
-
使用查询参数下载
wget --content-disposition YOUR-DOMAIN-NAME/get?url=YOUR-DOWNLOAD-URL
curl -O YOUR-DOMAIN-NAME/get?url=YOUR-DOWNLOAD-URL
-
使用路径下载(推荐)
wget YOUR-DOMAIN-NAME/get/YOUR-DOWNLOAD-URL
curl -O YOUR-DOMAIN-NAME/get/YOUR-DOWNLOAD-URL