文件加速代下载服务,github 项目加速服务

文件加速代下载服务,github 项目加速服务

还在使用龟速一般的 git clone? 某些文件国内无法访问?部分网站下载速度极慢?

试试最新的代下载文件服务吧,服务地址:https://pd.zwc365.com

特点

理论上支持所有基于 http 协议的链接加速,包括 websocket (本站节点支持,cloudflare 节点暂不支持 websocket)

支持下载文件、支持 git bash 终端直接 git clone 项目

使用方式就是在现有的链接前,额外增加本站的代下线路:

# 本站代下 加速线路:
https://pd.zwc365.com/seturl/

# cloudflare 加速线路:
https://pd.zwc365.com/cfworker/

负载均衡

本站服务器有多个线路,对于每个加速请求,会根据后端服务器设定的权重,随机的负载均衡到一个线路上。

负载均衡节点可以很快速方便的添加。部署方式也极其简单。具体可以看后面的部署章节

命令行下载使用方式

在实际使用加速服务的过程中,可能需要在终端下载或者克隆一个项目
代下服务进行了命令行兼容,通过命令行代下,仅需要在下载链接的前面添加本站代下 url 前缀即可

如果要在 ubuntu 的终端命令下载文件,或者是在 git bash 窗口直接 clone 项目,可以使用命令行加速

示例:

# 当原来需要下载一个文件时:
wget https://github.com/zwc456baby/file-proxy/archive/master.zip


# 使用网站的 CloudFlare 代下功能
wget https://pd.zwc365.com/cfworker/https://github.com/zwc456baby/file-proxy/archive/master.zip

# 使用本站服务器代下功能
wget https://pd.zwc365.com/seturl/https://github.com/zwc456baby/file-proxy/archive/master.zip

使用网站加速下载

命令行 Clone 项目

本服务不仅支持 Clone,对 git 仓库,完美支持 Pull 、Push 等操作使用 git clone 项目 也是一样的操作步骤。只是 git bash 终端如果报错,提示不支持网站重定向,可能需要多一步设置(如果clone报错,务必设置):

2020/12/19 更新:经过测试,对 git pull 的支持没有任何问题。但遇到 git push ,也就是提交代码指令:如果代码量非常大,会导致无法 push ,此问题的原因暂未找到。

git config --global http.followRedirects true

关于 Github 项目的链接,请使用此处的 https 链接:

项目url

示例(目前仅支持 https 开头的项目地址):

# 原来的 clone 方式
git clone https://github.com/zwc456baby/file-proxy.git

# 加速链接使用方式:
git clone https://pd.zwc365.com/seturl/<填写原有的https项目链接>

# 例如:
git clone https://pd.zwc365.com/seturl/https://github.com/zwc456baby/file-proxy.git

如果使用 CloudFlare 代下,添加的链接前缀是: https://pd.zwc365.com/cfworker/

代理 clone 截图

如果项目之前已经 clone 过,又想使用加速功能,则可以通过此配置加速:

git remote set-url origin https://pd.zwc365.com/seturl/<这里填写原有的项目链接>

另一种用法是设定一个全局参数(一般建议在链接前加上本站加速前缀即可,如果项目非常多,则推荐设定全局参数),如果设定这个全局参数,则所有的 git clone 请求都会被本站代理:

设定全局参数后,克隆时就不需要再添加本站加速前缀了。直接 git clone <项目地址>

# 设定这个 global 参数(将下面这行复制并粘贴执行,不要随意修改)
git config --global url."https://pd.zwc365.com/seturl/https://github.com/".insteadOf https://github.com/

# 设定参数后,直接这样 clone 即可
git clone https://github.com/zwc456baby/file-proxy.git

如果要 pull 非常多的项目时,推荐使用 config 设置,这样不需要每一个项目单独设定加速链接

其它使用方式

前面说过,理论上支持所有 http 协议的链接,所以本服务可用的地方很多

这里给出的示例是,加速 Android 依赖仓库(在项目根目录的 build.gradle 中配置):

allprojects {
    repositories {
        maven { url 'https://pd.zwc365.com/cfworker/https://dl.google.com/dl/android/maven2/' }
        maven { url 'https://pd.zwc365.com/cfworker/https://jcenter.bintray.com' }

//        google()
//        jcenter()
    }
}

上面的加速依赖仓库的示例,经过测试是可行的。本站代下线路则是使用 /seturl/

既然能加速 Android 依赖仓库,那么 pip 依赖库、nodejs 的依赖库,理论上也都是支持的

加速获取 Android 源码:

# 原有的获取源码的方式
repo init -u https://android.googlesource.com/platform/manifest

# 加速链接获取源码的方式
repo init -u https://pd.zwc365.com/cfworker/https://android.googlesource.com/platform/manifest

上面的 /cfworker/ 改成 /seturl/ 也是可以的

也可以用于 Linux 的 apt 镜像:linux apt 镜像加速,加快获取 Linux 软件包

如何选择下载方式?

CloudFlare 代下无速度及大小限制,推荐使用。但是国内晚上9点左右上网高峰期,可能网络不佳。本站代下 有大小限制,这是基于服务器带宽消耗考虑的

如果遇到访问情况不佳,再尝试切换两种下载方式。由于国内有三大运营商。请根据实际情况选择加速方式

无法下载?

如果点击下载后,出现:网站无法连接。或者页面上显示一个报错信息

一般是因为该资源无法直接下载,例如:gitee.com 上的所有资源文件都需要登录账号才能下载。而且本站服务带有一个黑名单列表,位于列表中的域名无法访问

特别强调:后面拼接的链接必须是 http 或者 https 开头的 ,例如:https://pd.zwc365.com/cfworker/http://www.baidu.com

下载出现503错误码? :代下载服务设定了请求策略,如果正常访问,是不可能看到503错误码的,除非和你同一个 ip 地址的用户正在攻击本站或使用工具快速请求本站

出现502错误码? :如果被下载的资源无法访问,本站会出现 502 错误码

403 状态码提示:任务请求次数过多? :默认情况下。本站一个任务支持 15 个请求。也就是说多线程同时下载最多支持 15 个线程。Chrome 开启多线程下载的话,也只有 3 个。迅雷、Aria2 等软件多线程下载默认是 5 个线程。所以设置为 15 个线程已经足够多,如果超过,则服务器会认为遭受攻击,禁止此任务请求

404 状态码提示:任务未找到或已过期 :一个任务在提交到服务器后,只会保存 10 分钟,超过十分钟后临时生成的下载链接会失效。

如何部署下载节点

由于本服务支持负载均衡,所以部署的下载节点越多,那么下载速度和效果就会越好。所以推荐有闲置服务器的可以部署下载节点

添加子节点非常简单,只要你的服务器有一个 web 应用即可,下面是使用 Nginx 作为子节点部署的配置文件,如果你连 Nginx 都没有安装,那么需要先安装 Nginx:

debian、Ubuntu 安装 Nginx

sudo apt update
sudo apt install nginx

CentOs 安装 Nginx

sudo yum update
sudo yum install Nginx

在安装完成后,路径 /etc/nginx/conf.d 目录下是所有的server配置文件,在里面新建一个 proxydownload.conf ,然后文件内容如下:


配置文件很长,而且已经托管在 github 项目中: 请点击这里查看和复制配置


整个配置文件中,需要修改的位置只有几项: server_namessl证书

如果你连域名都没有,那么直接填写 ip 也可以。注意,如果你部署的网站没有 https ,可以删掉关于 https 那五行配置

然后使用 nginx -s reload 重载配置即可

如果你会修改 Nginx 配置,部分地方也是可以修改的,可以设置请求限制策略,也可以设置服务器权重。主节点会根据权重自动分发任务

当子节点部署完成后,可以留言,然后需要我手动加入到主节点的配置文件中。

快来贡献你的闲置服务器吧

作为下载服务器,带宽最好大于 10M 。且位于海外,例如香港或新加坡

Other

CloudFlare 代下 基于 原版项目地址 修改。在其基础上,实现功能。

CloudFlare 代下没有文件大小限制 ,本站代下 大小限制 2G,请求频率也有限制。这个限制可能会有所调整

本服务github地址

2021/01/15 更新: 增加使用统计,从今天开始

2020/12/22 更新:服务器新增 url 限制(简单的防止恶意请求),对于同一个链接,限制时间内只可以使用指定次数,超出次数不可以使用服务器节点。会重定向到 cfworker 节点,不会造成服务中断。(对于正常用户没有任何影响,可以放心使用)

2020/11/26 更新:服务器新增节点和流量监测。节点不可用或者 VPS 流量即将耗尽,将会由脚本自动切换到 CF Workers 节点。如果使用的 /seturl/ 服务器节点却被定向到 /cfworker/ 节点。那么便是前述原因。(脚本原则是尽量保证可用性,避免宕机。切换全自动完成,用户使用时不需要任何更改)

2020/11/19 更新:服务器线路一般是阿里云香港线路。晚高峰(8:30 到 10:30)时间段,会由脚本自动切换线路到美国 VPS。虽然物理距离更远,但线路质量理论上是更好的。由于美国这台服务器可用流量没有阿里云香港流量实惠,所以只在晚高峰开启

捐赠

如果你有一台闲置服务器,那么可以部署 Nginx 配置,当部署完成后,在下方留言。即可加入服务下载节点

如果没有服务器,那么只需要注册一个 CloudFlare 账号,然后将 github 上的 index.js 部署到 Cloudflare Workers 中。完成后,留言即可加入 Cloudflare 线路下载节点。

如果本项目有帮到你,可以请作者喝杯咖啡。收到的捐赠会开设更多服务节点,使功能更强大。

Copyright: 采用 知识共享署名4.0 国际许可协议进行许可

Links: https://zwc365.com/2020/09/24/file-proxy-download

Buy me a cup of coffee ☕.