down2local下载中转程序

联合创作 · 2023-09-30 01:13

down2local是一个简单的下载中转程序,使用node.js开发,帮助你通过一个中间服务下载远程资源。


应用场景比如你在国内下载国外的软件包,可能网速慢或者根本连不上,此时可以通过此down2local中转下载,


而程序受益于node.js的stream功能,其本身不会在本地下载保存,而是通过管道直接返回数据,减少内存磁盘使用。


流程图如下:


down2local



以下为使用说明:


程序用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;
}
}



使用方法



  1. 使用查询参数下载





    wget --content-disposition YOUR-DOMAIN-NAME/get?url=YOUR-DOWNLOAD-URL






    curl -O YOUR-DOMAIN-NAME/get?url=YOUR-DOWNLOAD-URL



  2. 使用路径下载(推荐





    wget YOUR-DOMAIN-NAME/get/YOUR-DOWNLOAD-URL






    curl -O YOUR-DOMAIN-NAME/get/YOUR-DOWNLOAD-URL



浏览 31
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报