使用Cloudflare Workers代理加速Github

使用Cloudflare Workers代理加速Github

Property
Jun 27, 2022 12:16 PM
Status
Date
URL
https://github.com/nICEnnnnnnnLee/GithubSoEasy
notion image

GithubSoEasy 使用Cloudflare Workers代理加速Github访问 源自 ButterAndButterfly Butter, 寓意宅男; Butterfly, 寓意美好的事物。 美好的世界由我们创造!

完成度

  • Github页面访问
  • Github显示图片、头像
  • Github项目压缩包下载
  • Github Release附件下载
  • Git over HTTPS,可以通过类似链接https://github.com/nICEnnnnnnnLee/GithubSoEasy.git进行push、pull等操作
  • Github登录?/login路径提供了一个简单的设置cookie的界面, 设置以后:
    • 可访问私人repo、首页动态、Code类型搜索等大多数读操作
    • 不可以Star、Fork、更改设置等增删改操作

演示站点

https://git.n1cee.workers.dev 资源有限,仅供演示用。

项目搭建实现的心路历程

  • 先实现单一域名github.com最粗糙的代理(只修改url)
  • 实现请求header保持一致,大致处理一下hostrefererorigin的域名
  • 实现回复header保持一致,大致处理一下30x locationx-pjax-url
  • 处理html回复中可能存在的超链接文本,对其进行替换
  • 通过F12查看网络请求,进行各种日常操作,将可能存在的域名均进行替换,并对后台进行报错处理

实现步骤

如果你会一点点python, 并且注册了账号,可以跳至辅助Python脚本
    1. 注册,登入,Start building,取一个子域名Create a Worker。
    1. 复制 index.js 到左侧代码框,修改代码并保存。
      const your_domain = '<你的自定义域名>.workers.dev'
      ps: 你也可以修改环境变量HOME_DOMAIN为你的域名
    1. 再参考步骤2~3,另外重复建立6个worker
    1. 将7个worker重命名为gitrawassetsavatarscamocodeloadreleases
    1. 收藏地址框中的 https://git.子域名.workers.dev,以后可直接访问。
看不懂?点击这里傻瓜式超细致图文指导

辅助Python脚本

  • 你需要获取Global API Key: -> 传送门
  • 你需要以下两个文件
    • create_workers.py
    • index.js
  • 如果你想利用现成的xxx.workers.dev域名,请修改create_workers.py
YOUR_EMAIL = "你的邮箱"
YOUR_API_KEY = "你的全局API_KEY"
  • 如果你想自定义成自己的域名,请修改create_workers.py
YOUR_EMAIL = "你的邮箱"
YOUR_API_KEY = "你的全局API_KEY"
HOME_DOMAIN = None # 当自定义域名时填入类似'xxx.com',否则为空
  • 修改后直接运行
pip install requests
python create_workers.py