# Wormhole SOCKS5 Client 🌐 功能完整的 SOCKS5 代理客户端,支持多种代理模式 ## 快速开始 ### 构建和运行 ```bash # HTTP 代理模式 make run-http # 全局代理模式 (需要管理员权限) make run-global # 透明代理模式 (需要root权限) make run-transparent ``` ### 配置 编辑 `configs/client.yaml` 来自定义客户端设置: ```yaml server: address: your_server_ip port: 1080 username: your_username password: your_password proxy: mode: http localPort: 8080 ``` ## 功能特性 ### 🔄 多种代理模式 - ✅ **HTTP 代理** - 简单易用的HTTP代理 - 🔄 **全局代理** - 系统级全局代理设置 - 🔄 **透明代理** - 透明流量拦截和转发 ### 🎯 智能路由 - 🔄 域名/IP分流规则 - 🔄 本地网络绕过 - 🔄 PAC文件支持 - 🔄 自定义路由规则 ### 🛡 系统集成 - 🔄 自动DNS配置 - 🔄 系统代理设置 - 🔄 iptables规则管理 - 🔄 网络路由配置 ### 🖥 跨平台支持 - ✅ Linux - 完整支持 - 🔄 macOS - 系统代理支持 - 🔄 Windows - WinDivert透明代理 ## 使用模式 ### HTTP 代理模式 最简单的使用方式,在本地启动HTTP代理: ```bash make run-http ``` 然后配置应用程序使用 `http://127.0.0.1:8080` 作为代理。 ### 全局代理模式 配置系统级代理,所有网络流量通过代理: ```bash sudo make run-global ``` ### 透明代理模式 透明拦截网络流量,无需配置应用程序: ```bash sudo make run-transparent ``` ## 迁移状态 此项目是从 [原始 Wormhole 项目](https://github.com/azoic/wormhole) 拆分出的独立客户端。 ### ✅ 已完成 - [x] 基础项目结构 - [x] HTTP代理模式框架 - [x] 配置管理系统 - [x] 构建系统 ### 🔄 进行中 - [ ] 完整的客户端代码迁移 - [ ] 全局代理功能 - [ ] 透明代理实现 - [ ] 智能路由系统 ### 🎯 计划中 - [ ] GUI客户端 - [ ] 移动端支持 - [ ] 浏览器扩展 - [ ] 高级分流规则 ## 开发 ### 系统要求 - Go 1.21+ - Linux: iptables, ip命令 - macOS: 管理员权限 - Windows: WinDivert驱动 ### 添加依赖 ```bash go get package_name go mod tidy ``` ### 运行测试 ```bash make test ``` ## 许可证 MIT License - 详见 [LICENSE](LICENSE) 文件