Skip to content

xunnv/Git-proxy-manager

Repository files navigation

Git 代理管理器 (Git Proxy Manager)

Python License Platform

轻量级 Windows 桌面工具 — 一键管理 Git 全局代理,支持 Watt Toolkit / Clash / v2rayN。

✨ 功能

  • Git 代理管理 — 可视化增删改查 Git 全局 http.proxy / https.proxy
  • 多协议支持 — HTTP / HTTPS / SOCKS5 代理自动识别
  • Watt Toolkit 智能检测 — 自动识别 Hosts / PAC / DNSIntercept 模式并一键配置
  • 系统代理同步 — 读取 Windows 注册表代理设置同步到 Git
  • GitHub 连接测试 — 一键测试 GitHub 可达性(含延迟显示)
  • 配置持久化 — 代理历史记录 + 自动保存
  • 快捷键Ctrl+T 测试 / Ctrl+S 设置 / Ctrl+D 清除

📸 截图

┌──────────────────────────────────┐
│  ● GitHub 可连通       667ms    │
│  HTTP:  http://127.0.0.1:7890   │
│  HTTPS: http://127.0.0.1:7890   │
├──────────────────────────────────┤
│      [ 测试连接 ]                │
├──────────────────────────────────┤
│  地址: [_______________] 📋 HTTP │
├──────────────────────────────────┤
│  [手动] [系统] [Watt]            │
│  [刷新] [清除]                   │
├──────────────────────────────────┤
│  ✓ 直连 · 667ms                  │
└──────────────────────────────────┘

🚀 快速开始

环境要求

  • Windows 10/11
  • Python 3.10+ (含 tkinter)
  • Git(已配置在 PATH 中)

运行

# 克隆仓库
git clone https://github.com/xunnv/Git-proxy-manager.git
cd Git-proxy-manager

# 直接运行
python main.py

# 或双击
启动Git代理管理器.bat

📦 打包为 EXE

pip install pyinstaller>=6.0

# 单文件打包
pyinstaller --onefile --windowed --name "Git代理管理器" main.py

# 输出在 dist/Git代理管理器.exe

详细打包文档见 docs/PACKAGING.md

🏗️ 项目结构

Git-proxy-manager/
├── main.py                  # 程序入口 + 日志配置
├── gui.py                   # tkinter GUI 界面
├── proxy_core.py            # Git 代理核心操作
├── windows_detector.py      # Windows 系统代理检测
├── config_manager.py        # JSON 配置持久化
├── watt_toolkit_detector.py # Watt Toolkit 多模式检测
├── git_proxy_manager.spec   # PyInstaller 打包配置
├── requirements.txt         # 项目依赖
├── 启动Git代理管理器.bat    # Windows 启动脚本
├── docs/
│   └── PACKAGING.md         # 打包标准文档
├── README.md
└── .gitignore

🎯 支持的代理加速器

工具 检测方式
Watt Toolkit (Steam++) Hosts / PAC / DNSIntercept 自动识别
Clash / Clash Verge 系统代理模式
v2rayN 系统代理模式
其他本地代理 手动输入地址

⌨️ 快捷键

快捷键 操作
Ctrl + T 测试 GitHub 连接
Ctrl + S 设置代理
Ctrl + D 清除代理

🤝 贡献

欢迎提交 Issue 和 Pull Request。

📄 许可证

MIT License © 2024 xunnv

🏗️ 架构

main.py ──► gui.py ──┬──► proxy_core.py ──► git config
                      ├──► windows_detector.py ──► 注册表/环境变量
                      ├──► config_manager.py ──► ~/.git_proxy_manager/config.json
                      └──► watt_toolkit_detector.py ──► hosts/端口/PAC
  • gui.py 是唯一依赖 tkinter 的模块,所有 UI 操作通过 root.after 回主线程
  • proxy_core.py 是纯函数层,无 GUI 依赖,可独立测试
  • 所有耗时 I/O 操作(Git 子进程、网络请求)均在 daemon 线程执行
  • 跨线程 UI 更新通过 _sync_from_git() 统一入口,内部处理 readonly 状态切换

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages