1 Star 3 Fork 0

thepoy/github-proxy

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

github-proxy

代理服务。

这只是后端服务,前端页面需要自己完成并通过静态文件导入。

本项目的目的是帮助你搭建自己的 github 代理,在第三方代理站不可用时可作为备用服务。

其他代理服务一起用效果更好。

使用

你可以直接在 release 中下载对应的服务器架构的可执行二进制文件,下载后可重命名为gp

mv gp_* gp

命令行使用帮助:

使用指定的静态文件启动 github proxy 代理服务

Usage:
  gp [STATIC_DIR] [flags]

Flags:
  -h, --help          help for gp
      --host string   本服务使用的主机 (default "localhost")
      --port uint     本服务使用的端口 (default 3000)

编译

如果 release 中没有你正在使用的平台或者你想使用最新的代码可自行编译本项目。

go build -ldflags="-s -w" -o gp main.go && upx -9 main
  • -s: 忽略符号表和调试信息
  • -w: 忽略DWARFv3调试信息,使用该选项后将无法使用gdb进行调试

用 upx 压缩能大幅缩小可执行文件体积,如果对程序的体积没有要求,可以不执行此步,因为使用 upx 压缩后在执行时会有一个用时很短的解压过程。

如果你是用 Windows 作为开发平台,应逐行执行以下命令进行交叉编译:

$Env:CGO_ENABLED=0
$Env:GOOS='linux'
$Env:GOARCH='amd64'
go build -ldflags="-s -w" -o gp main.go && upx -9 main

upx

下载对应系统的最新 release ,放到 PATH 中即可。

配置前端页面

如果你不会自己写前端页面可使用我打包的页面,但里面有一张捐赠图片,你可以选择删除或替换。

已打包的前端页面:

https://pan.baidu.com/s/14iEOGT9xSAR1EUXTpoO01g 提取码: xvme

将前端文件解压后放到任意目录(最好叫static)中。

测试运行

假如你将前端静态文件(是文件,不是目录)保存到了~/static目录中,想使用localhost:8080地址运行服务,在可执行文件所在的根目录中执行:

./gp ~/static --host localhost --port 8080

传入命令行参数会检测静态文件目录的合法性,静态文件目录的根目录中必需有index.html文件。

访问http://localhost:8080即可访问首页,输入某个 github 的文件链接即可测试下载功能。

其中--host--port为可选参数,如果不传入,则使用默认值localhost:3000作为服务使用的地址。

./gp ~/static

访问http://localhost:3000即可访问首页,输入某个 github 的文件链接即可测试下载功能。

部署

上线建议使用 caddy,可以基于 docker 容器,也可以直接安装在物理机中。

通过上面的命令运行本服务后,使用 caddy 的反向代理即可。

caddy 配置文件:

<域名> # 如 example.com

reverse_proxy localhost:8080

相关项目

空文件

简介

暂无描述 展开 收起
Go
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/thepoy/github-proxy.git
git@gitee.com:thepoy/github-proxy.git
thepoy
github-proxy
github-proxy
main

搜索帮助