azucool / gh-proxy

github release、archive以及项目文件的加速项目

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

gh-proxy

简介

github release、archive以及项目文件的加速项目,支持clone,有Cloudflare Workers无服务器版本以及Python版本

演示

https://gh.api.99988866.xyz/

演示站为公共服务,如有大规模使用需求请自行部署,演示站有点不堪重负

imagea272c95887343279.png

当然也欢迎捐赠以支持作者

python版本和cf worker版本差异

  • python版本支持进行文件大小限制,超过设定返回原地址 issue #8

  • python版本支持特定user/repo 封禁/白名单 以及passby issue #41

使用

直接在copy出来的url前加https://gh.api.99988866.xyz/即可

也可以直接访问,在input输入

大量使用请自行部署,以上域名仅为演示使用。

访问私有仓库可以通过

git clone https://user:TOKEN@ghproxy.com/https://github.com/xxxx/xxxx #71

以下都是合法输入(仅示例,文件不存在):

cf worker版本部署

首页:https://workers.cloudflare.com

注册,登陆,Start building,取一个子域名,Create a Worker

复制 index.js 到左侧代码框,Save and deploy。如果正常,右侧应显示首页。

ASSET_URL是静态资源的url(实际上就是现在显示出来的那个输入框单页面)

PREFIX是前缀,默认(根路径情况为"/"),如果自定义路由为example.com/gh/*,请将PREFIX改为 '/gh/',注意,少一个杠都会错!

Python版本部署

Docker部署

docker run -d --name="gh-proxy-py" \
  -p 0.0.0.0:80:80 \
  --restart=always \
  hunsh/gh-proxy-py:latest

第一个80是你要暴露出去的端口

直接部署

安装依赖(请使用python3)

pip install flask requests

按需求修改app/main.py的前几项配置

注意: 可能需要在return Response前加两行

if 'Transfer-Encoding' in headers:
    headers.pop('Transfer-Encoding')

注意

python版本的机器如果无法正常访问github.io会启动报错,请自行修改静态文件url

python版本默认走服务器(2021.3.27更新)

Cloudflare Workers计费

overview 页面可参看使用情况。免费版每天有 10 万次免费请求,并且有每分钟1000次请求的限制。

如果不够用,可升级到 $5 的高级版本,每月可用 1000 万次请求(超出部分 $0.5/百万次请求)。

Changelog

  • 2020.04.10 增加对raw.githubusercontent.com文件的支持
  • 2020.04.09 增加Python版本(使用Flask)
  • 2020.03.23 新增了clone的支持
  • 2020.03.22 初始版本

链接

我的博客

参考

jsproxy

捐赠

wx.png ali.png

About

github release、archive以及项目文件的加速项目

License:MIT License


Languages

Language:Python 51.9%Language:JavaScript 36.2%Language:Shell 6.4%Language:Dockerfile 5.5%