# 系统代理设置工具使用说明 ## 📖 简介 `system_proxy.py` 是一个跨平台的系统代理配置工具,支持 Windows、macOS 和 Linux 三大操作系统。该工具可以帮助你快速设置、查看和取消系统级别的代理设置。 ## 🌟 主要特性 - ✅ **跨平台支持**: Windows、macOS、Linux - ✅ **默认配置**: 默认使用本地 10808 端口 - ✅ **智能检测**: 自动检测当前系统代理状态 - ✅ **友好界面**: 提供交互式命令行界面 - ✅ **安全可靠**: 支持代理的启用和禁用 ## 🚀 快速开始 ### 运行脚本 ```bash python system_proxy.py ``` ### 基本操作流程 1. **启动脚本**: 运行后会自动检测当前操作系统和代理状态 2. **查看状态**: 显示当前系统代理设置情况 3. **选择操作**: 根据提示选择要执行的操作 4. **完成设置**: 按照向导完成代理配置 ## 🔧 详细功能说明 ### 1. 代理状态检测 脚本启动时会自动检测: - 当前操作系统类型 - 系统代理是否已启用 - 当前代理服务器地址和端口 ### 2. 设置系统代理 当系统未设置代理时,可以选择"设置代理": ``` 📝 代理地址格式说明: • 格式: IP:端口 (例如: 127.0.0.1:10808) • 默认使用本地10808端口 请输入代理地址 (默认: 127.0.0.1:10808): ``` - 直接按回车使用默认地址 `127.0.0.1:10808` - 或输入自定义代理地址,如 `192.168.1.100:8080` ### 3. 取消系统代理 当系统已设置代理时,可以选择"取消当前代理设置"来禁用代理。 ### 4. 重新设置代理 当系统已有代理设置时,可以选择"重新设置代理"来更改代理服务器。 ## 🖥️ 各平台实现方式 ### Windows 系统 - **实现方式**: 通过修改注册表设置系统代理 - **权限要求**: 建议以管理员身份运行 - **生效范围**: 影响系统级别的 HTTP/HTTPS 代理设置 ```bash # Windows 建议以管理员身份运行 # 右键点击命令提示符 -> "以管理员身份运行" python system_proxy.py ``` ### macOS 系统 - **实现方式**: 使用 `networksetup` 命令设置网络代理 - **权限要求**: 可能需要输入管理员密码 - **生效范围**: 应用到所有网络服务的 HTTP/HTTPS 代理 ### Linux 系统 - **实现方式**: 通过环境变量设置代理 - **配置文件**: 自动写入 `.bashrc`、`.zshrc`、`.profile` - **生效方式**: 需要重新启动终端或执行 `source ~/.bashrc` ```bash # Linux 设置代理后需要重新加载配置 source ~/.bashrc # 或重新启动终端 ``` ## 📋 使用示例 ### 示例 1: 首次设置代理 ``` 🔧 系统代理设置工具 ============================================================ 当前操作系统: Darwin 📋 当前系统代理设置 (Darwin): -------------------------------------------------- ❌ 未设置代理 -------------------------------------------------- 🎯 请选择操作: 1. 设置代理 2. 退出 请输入选择 (1-2): 1 📝 代理地址格式说明: • 格式: IP:端口 (例如: 127.0.0.1:10808) • 默认使用本地10808端口 请输入代理地址 (默认: 127.0.0.1:10808): 正在设置系统代理为: 127.0.0.1:10808 ✅ 系统代理设置成功! ``` ### 示例 2: 取消现有代理 ``` 📋 当前系统代理设置 (Windows): -------------------------------------------------- ✅ 代理已启用: 127.0.0.1:10808 -------------------------------------------------- 🎯 请选择操作: 1. 取消当前代理设置 2. 重新设置代理 3. 退出 请输入选择 (1-3): 1 正在取消系统代理设置... ✅ 系统代理已取消! ``` ## ⚠️ 注意事项 ### Windows 用户 1. **管理员权限**: 建议以管理员身份运行脚本 2. **防火墙设置**: 确保代理软件已添加到防火墙例外 3. **重启浏览器**: 设置后可能需要重启浏览器使代理生效 ### macOS 用户 1. **系统权限**: 可能需要输入管理员密码 2. **网络服务**: 代理设置会应用到所有网络服务 3. **应用重启**: 某些应用可能需要重启才能使用新的代理设置 ### Linux 用户 1. **环境变量**: 代理通过环境变量实现,仅影响支持代理的应用 2. **配置持久化**: 设置会写入 shell 配置文件 3. **终端重启**: 设置后需要重新启动终端或重新加载配置文件 ## 🔍 故障排除 ### 常见问题 **Q: Windows 下设置失败怎么办?** A: 确保以管理员身份运行脚本,并检查是否有安全软件阻止注册表修改。 **Q: macOS 下提示权限不足?** A: 输入管理员密码,或使用 `sudo python system_proxy.py` 运行。 **Q: Linux 下设置后代理不生效?** A: 执行 `source ~/.bashrc` 重新加载配置,或重新启动终端。 **Q: 如何验证代理是否生效?** A: 可以使用以下命令测试: ```bash # 测试 HTTP 代理 curl -I http://www.google.com # 查看当前 IP(通过代理) curl ipinfo.io ``` ### 手动验证 #### Windows 打开"设置" -> "网络和 Internet" -> "代理",查看代理设置是否正确。 #### macOS 打开"系统偏好设置" -> "网络" -> 选择网络服务 -> "高级" -> "代理"。 #### Linux 检查环境变量: ```bash echo $http_proxy echo $https_proxy ``` ## 🔗 相关工具 - [Git 代理设置工具](git-proxy-usage.md) - 专门用于设置 Git 代理的工具 ## 📝 更新日志 - **v1.0.0**: 初始版本,支持 Windows、macOS、Linux 三平台 - 支持系统代理的设置、查看、取消功能 - 提供友好的交互式界面 - 默认使用本地 10808 端口