新手必看:ghproxy配置与使用完全手册
【免费下载链接】ghproxy基于Go的高性能,多功能,可扩展的Github代理加速项目项目地址: https://gitcode.com/gh_mirrors/gh/ghproxy
ghproxy是一款基于Go的高性能、多功能、可扩展的GitHub代理加速项目,能帮助用户快速访问GitHub资源,解决网络连接缓慢或不稳定的问题。通过简单的配置和部署,即使是新手也能轻松搭建属于自己的GitHub加速服务。
🚀 快速安装:三步完成部署
一键安装脚本(推荐)
项目提供了便捷的安装脚本,适用于主流Linux系统。以root用户执行以下命令,按照提示完成安装:
curl -fsSL https://gitcode.com/gh_mirrors/gh/ghproxy/raw/main/deploy/install.sh | bash安装过程中会提示设置监听端口(默认8080)、绑定IP(默认127.0.0.1)和安装目录(默认/usr/local/ghproxy)。脚本会自动处理依赖安装、二进制文件下载和服务配置。
手动编译安装
如果需要自定义编译参数,可通过源码编译安装:
克隆仓库
git clone https://gitcode.com/gh_mirrors/gh/ghproxy cd ghproxy编译项目
确保已安装Go 1.16+环境,执行:go build -o ghproxy main.go部署服务
将编译产物和配置文件复制到目标目录,参考deploy/ghproxy.service配置systemd服务。
⚙️ 核心配置详解
配置文件位于config/config.toml,包含服务器、HTTP客户端、认证等模块的设置。以下是常用配置项说明:
服务器基础设置
[server] host = "0.0.0.0" # 绑定IP,0.0.0.0表示允许外部访问 port = 8080 # 监听端口 sizeLimit = 125 # 最大请求大小(MB) debug = false # 是否启用调试模式GitHub克隆加速配置
[gitclone] mode = "bypass" # 加速模式:bypass(直连)或cache(缓存) smartGitAddr = "http://127.0.0.1:8080" # 智能重定向地址认证与访问控制
如需限制访问,可启用认证功能:
[auth] enabled = true # 启用认证 method = "parameters" # 认证方式:header(请求头)或parameters(URL参数) token = "your_secret" # 访问令牌🔍 实用功能与场景
1. GitHub仓库克隆加速
通过代理地址克隆GitHub仓库,显著提升速度:
git clone https://<你的代理IP>:8080/github.com/owner/repo.git2. 镜像站模式
修改[pages]配置启用网页界面,提供可视化的GitHub资源访问入口:
[pages] mode = "internal" # 启用内置网页 theme = "bootstrap" # 选择主题(bootstrap/nebula) staticDir = "/path/to/pages" # 静态资源目录3. 带宽与速率限制
为防止滥用,可配置速率限制:
[rateLimit] enabled = true ratePerMinute = 180 # 每分钟请求数限制 burst = 5 # 突发请求容忍数 [rateLimit.bandwidthLimit] enabled = true totalLimit = "100mbps" # 总带宽限制 singleLimit = "10mbps" # 单用户带宽限制📝 常见问题解决
Q: 服务启动后无法访问?
A: 检查server.host是否设为0.0.0.0(允许外部访问),并确保防火墙开放对应端口(如ufw allow 8080)。
Q: 如何查看运行日志?
A: 日志默认路径为/usr/local/ghproxy/log/ghproxy.log,可通过tail -f实时查看:
tail -f /usr/local/ghproxy/log/ghproxy.logQ: 配置修改后如何生效?
A: 通过systemd重启服务:
systemctl restart ghproxy📚 进阶配置与扩展
项目支持通过JSON文件配置黑白名单和IP过滤,具体规则可参考:
- 黑名单配置:
config/blacklist.json - 白名单配置:
config/whitelist.json - IP过滤配置:
config/ipfilter.json
如需启用Docker镜像加速,可修改[docker]模块,支持Docker Hub和GHCR镜像代理。
通过以上步骤,你已掌握ghproxy的基本配置与使用方法。如需更多高级功能,可查阅项目源码中的proxy/目录,了解请求处理、路由匹配等核心逻辑。
【免费下载链接】ghproxy基于Go的高性能,多功能,可扩展的Github代理加速项目项目地址: https://gitcode.com/gh_mirrors/gh/ghproxy
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考