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

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

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

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

特点

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

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

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

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

# 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/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/<填写原有的https项目链接>

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

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

代理 clone 截图

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

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

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

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

# 设定这个 global 参数(将下面这行复制并粘贴执行,不要随意修改)
git config --global url."https://pd.zwc365.com/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()
    }
}

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

既然能加速 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/ 改成 / 也是可以的

也可以用于 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 分钟,超过十分钟后临时生成的下载链接会失效。

如何部署下载节点

部署 CloudFlare 节点

如果你没有一台自己的服务器,那么可以使用 CloudFlare 部署一个免费的服务

  1. 注册 Cloudflare 账号

访问 Cloudflare 官网 ,然后点击右上角的 Sign Up 注册账号。

如果你已经有一个账号了。查看第二步

home

  1. 登录 Cloudflare 账号

点击官网的 Log In 按钮,输入账号密码登录

  1. 点击创建 Workers

登录完成后,点击 Workers ,然后点击 创建 workers

cloudflare_workers

workers_create

  1. 将脚本内容复制粘贴到脚本框中,并修改 workers 路径

在 workers 页面,你需要将以下链接的文本内容完整的复制,并粘贴到网页的输入框中:

请点击此链接打开网页并完整的复制内容到输入框中

workers_save

  1. 提供部署的链接

至此已经部署完成了。

将第四步中输入框右侧 https 开头的链接,复制粘贴到本页的留言板,然后点击留言即可

使用自己的服务器部署节点

如果对服务器操作不够熟练,那么建议使用 Cloudflare 部署的方式

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

添加子节点非常简单,只要你的服务器有一个 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 那五行配置

你需要自行申请 https 证书后才能将下载节点升级为 https。否则请使用 Cloudflare 部署方式

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

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

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

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

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

Other

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

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

本服务github地址

2021-08-22 更新: 支持跨域,现在可以嵌入到第三方网站的内部网页中,依旧能够正常代理资源

2021-06-19 更新: 同一个用户重复访问只会返回同一个代理链接,通过 ip 进行区分(优化加载速度以及某些网站的 ip 限制)

2021-05-29 更新: 现在支持不使用 /seturl/ 前缀即可

2021-02-02 更新:现在使用两个子站点方式代替加速链接:
https://seturl.zwc365.com/https://cfworker.zwc365.com/

本次更新使用方式没有任何变化。仅仅是在命令行模式下,少敲几个字母

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 ☕.