开源分享:gh-proxy——基于cloudflare workers的GitHub文件加速

in 默认分类 with 11 comments

banner

简介

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

演示

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

GitHub地址

https://github.com/hunshcn/gh-proxy

Changelog

python版本和cf worker版本差异

使用

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

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

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

以下都是合法输入:

cf worker版本部署

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

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

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

index.js默认配置下clone走github.com.cnpmjs.org,项目文件会走jsDeliver,如需走worker,修改Config变量即可

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的前几项配置

注意

python版本的机器如果无法正常访问github.io会启动报错,请自行修改静态文件url
默认配置下clone走github.com.cnpmjs.org,项目文件会走jsDeliver,如需走服务器,修改配置即可

计费

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

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

参考

jsproxy

Responses
  1. ql

    有没有单个文件的下载,release文件的下载不支持么?

    Reply
  2. tks

    如果想下载最新版本的工程的话,可以将工程fork到自己名下,然后发布release版本.这样就得到了最新版本文件的发布zip文件.然后直接使用本工具下载.

    Reply
  3. code police

    我说代码挺眼熟嘛,这不就是抄 js-proxy 的吗,老 cv 工程师了

    Reply
    1. @code police

      readme本来也就说了是jsproxy改的,并且遵守jsproxy的协议,坦坦荡荡有何问题?
      我还会告诉你写这个的原因是那几天在v2ex首页出现了好多类似项目,然后我觉得都不太行就写了这个吗?
      别停留在嘴上bb,特别是还在别人可以控制评论的地方bb,虽然我也懒得管。你能给出更好的东西那大家都服你
      这个代码cfworker版本重复率大概在50%吧,也高不到哪去,不违反开源协议复制又有何不可,是不是你复制文档也要叫抄袭
      还code police,笑死了

      Reply
  4. 帝少

    这个源码要怎么下载?https://github.com/heartaotime/index

    Reply
    1. @帝少

      请看使用说明,示例应该已经很清晰了

      Reply
  5. 好东西啊

    Reply
  6. ok

    能否以 git config --global url."github.com".InsteadOf gh.api.99988866.xyz/https://github.com 取代 git clone https://workers/github.com 的模式?

    Reply
    1. @ok

      config设置insteadOf理论上是可以的,不过我这边不知道为什么怎么设置都无效所以没法测试,可以自己试一下

      Reply
  7. lucien

    谢谢分享,很有用;

    Reply
  8. 2

    Reply