GitProxy是一个专为macOS用户设计的Git代理管理工具,帮助开发者在网络受限环境下快速切换Git的代理设置。无论是在公司内网、还是需要科学上网的场景,GitProxy都能让您一键开启或关闭Git代理配置。
- 🚀 一键切换 - 快速开启/关闭Git代理设置
- 🎯 简洁界面 - 清晰的交互式菜单,操作简单直观
- ⚙️ 灵活配置 - 支持自定义代理服务器地址和端口
- 💾 配置持久化 - 自动保存配置,重启后无需重新设置
- 🖥️ 多种使用方式 - 支持双击运行和命令行操作
- 📊 状态显示 - 实时显示当前代理状态和配置信息
- 🔧 开发者友好 - 专为开发者工作流程优化
- 公司内网环境下的Git操作
- 需要科学上网访问GitHub等代码托管平台
- 频繁切换不同网络环境的开发工作
- 团队协作中的统一代理配置管理
- macOS 10.12 (Sierra) 或更高版本
- 已安装Git命令行工具
- 终端应用程序访问权限
- 下载最新版本的
GitProxy.app
- 将应用拖拽到
应用程序
文件夹 - 双击运行GitProxy.app
# 克隆仓库
git clone https://github.com/leo4stone/GitProxy.git
cd GitProxy
# 直接使用(无需额外构建步骤)
open GitProxy.app
双击GitProxy.app
启动应用,您将看到交互式菜单:
========================================
Git代理管理工具 v1.0
========================================
代理状态:【未激活】
代理配置:【127.0.0.1:10808】
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
操作选项:
[1] 启用代理 [2] 禁用代理 [3] 设置代理 [ESC] 退出
提示: 直接按数字键即可,无需回车确认
# 进入应用包内容
cd GitProxy.app/Contents/Resources/
# 启用代理
./git-proxy.command on
# 禁用代理
./git-proxy.command off
# 查看状态
./git-proxy.command status
# 设置代理配置
./git-proxy.command config
# 显示帮助
./git-proxy.command help
配置文件位置:~/.gitproxy_config
# Git代理配置文件
PROXY_HOST=127.0.0.1
PROXY_PORT=10808
# 最后更新时间: Mon Dec 23 10:30:00 CST 2025
- 代理地址: 127.0.0.1 (本机)
- 代理端口: 10808 (常见代理软件端口)
代理软件 | 默认端口 |
---|---|
ClashX | 7890 |
V2rayU | 1087 |
Shadowsocks | 1080 |
Surge | 6152 |
- 在应用中按
3
进入设置菜单 - 输入新的代理地址和端口
- 配置会自动保存并立即生效
将脚本添加到PATH以便全局使用:
# 创建软链接
sudo ln -s /Applications/GitProxy.app/Contents/Resources/git-proxy.command /usr/local/bin/gitproxy
# 现在可以在任何位置使用
gitproxy on # 启用代理
gitproxy off # 禁用代理
gitproxy status # 查看状态
#!/bin/bash
# 自动检测网络环境并设置代理
if ping -c 1 github.com &> /dev/null; then
echo "直连网络正常,禁用代理"
gitproxy off
else
echo "网络受限,启用代理"
gitproxy on
fi
GitProxy/
├── GitProxy.app/ # macOS应用包
│ └── Contents/
│ ├── Info.plist # 应用信息配置
│ ├── MacOS/
│ │ └── GitProxy # 主执行文件
│ └── Resources/
│ ├── AppIcon.icns # 应用图标
│ └── git-proxy.command # 核心Shell脚本
├── README.md # 项目说明文档
├── LICENSE # 开源许可证
└── CONTRIBUTING.md # 贡献指南
- 代理切换: 通过
git config --global
命令设置/取消HTTP(S)代理 - 配置管理: 使用
~/.gitproxy_config
文件持久化存储配置 - 交互界面: 基于Shell脚本实现的彩色交互式菜单
- 状态检测: 实时读取Git全局配置检查代理状态
我们欢迎所有形式的贡献!请查看 CONTRIBUTING.md 了解详细信息。
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature
) - 提交更改 (
git commit -m 'Add some AmazingFeature'
) - 推送到分支 (
git push origin feature/AmazingFeature
) - 开启 Pull Request
- 🎉 首次发布
- ✨ 支持Git代理的启用/禁用
- ⚙️ 支持自定义代理配置
- 🖥️ 提供图形界面和命令行两种使用方式
- 💾 配置持久化存储
如果您遇到任何问题或有改进建议,请:
- 查看 Issues 是否已有相同问题
- 如果没有,请创建新的Issue并详细描述问题
- 包含您的系统版本、Git版本等环境信息
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
- 感谢所有贡献者的支持
- 感谢开源社区提供的灵感和帮助
如果这个项目对您有帮助,请给它一个 ⭐️
Made with ❤️ by leo4stone