# py_proxcy **Repository Path**: peterLogin/py_proxcy ## Basic Information - **Project Name**: py_proxcy - **Description**: No description available - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-23 - **Last Updated**: 2026-05-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 正向代理服务器使用说明 ## 场景说明 - **A服务器** (192.168.8.45:8132) - 提供HTTP服务 - **B电脑** (192.168.1.253) - 可以访问A服务器,运行代理程序 - **C电脑** - 不能直接访问A服务器,需要通过B的代理访问 ## 架构 ``` C电脑 --(代理)--> B电脑(192.168.1.253:8082) --(直接连接)--> A服务器(192.168.8.45:8132) ``` ## 使用步骤 ### 1. 在B电脑上启动代理服务 双击运行 `start_proxy.bat` 或在命令行执行: ```bash C:\Python314\python.exe D:\code\python\proxcy_peter\proxy_server.py ``` 你会看到类似输出: ``` ============================================================ 正向代理服务器已启动 ============================================================ 监听地址: 0.0.0.0:8082 工作模式: 正向代理(直接连接目标服务器) 代理架构: C -> B(8082) -> 目标服务器 ============================================================ 请在C电脑上配置代理: 代理服务器: B电脑的IP地址 代理端口: 8082 使用示例: 在C电脑浏览器中配置代理后访问: http://192.168.8.45:8132 ============================================================ ``` ### 2. 在C电脑上配置代理 #### 方法1:浏览器代理设置(以Chrome为例) 1. 打开浏览器设置 2. 搜索"代理"或"Proxy" 3. 找到"系统代理设置"或"网络代理设置" 4. 配置手动代理: - 代理服务器:`192.168.1.253` - 代理端口:`8082` 5. 保存设置 #### 方法2:Windows系统代理设置 1. 打开"设置" -> "网络和Internet" -> "代理" 2. 在"手动设置代理"下开启"使用代理服务器" 3. 填写: - 地址:`192.168.1.253` - 端口:`8082` 4. 点击"保存" #### 方法3:使用代理切换插件(推荐) 安装 SwitchyOmega 等代理管理插件,可以方便地切换代理状态。 ### 3. 在C电脑上访问A服务器的服务 配置好代理后,在C电脑的浏览器中访问: ``` http://192.168.8.45:8132 ``` 或者访问其他任何B电脑可以到达的服务。 ## 验证代理是否工作 ### 在C电脑上测试: 1. **Telnet测试**(测试连通性): ```bash telnet 192.168.1.253 8082 ``` 如果能连接上,说明C可以访问B的代理服务。 2. **浏览器测试**: - 配置代理后访问 `http://192.168.8.45:8132` - 查看B电脑控制台,应该能看到请求日志 3. **命令行测试**(使用curl): ```bash curl -x http://192.168.1.253:8082 http://192.168.8.45:8132 ``` ### 在B电脑上观察: 成功时,B电脑的控制台会显示: ``` [+] 新连接: 192.168.1.xxx:xxxxx [*] 收到请求: GET http://192.168.8.45:8132/ [*] 目标服务器: 192.168.8.45:8132 [+] 已转发请求到: 192.168.8.45:8132 ``` ## 常见问题 ### Q1: C电脑无法连接到B的代理? **检查清单:** 1. 确认B电脑的防火墙允许8082端口入站 2. 确认B和C在同一网络或路由可达 3. 在C上执行 `telnet 192.168.1.253 8082` 测试连通性 **Windows防火墙设置:** ```powershell # 在B电脑上以管理员身份运行 netsh advfirewall firewall add rule name="Proxy Server" dir=in action=allow protocol=TCP localport=8082 ``` ### Q2: 代理连接成功但无法访问A的服务? **检查清单:** 1. 确认B电脑可以直接访问 `http://192.168.8.45:8132` 2. 查看B电脑控制台的错误信息 3. 确认A服务正常运行 ### Q3: HTTPS网站无法访问? 本代理支持HTTPS CONNECT方法,应该可以正常工作。如果遇到问题: 1. 检查浏览器是否正确配置了HTTPS代理 2. 某些浏览器可能需要单独配置HTTPS代理 ### Q4: 如何停止代理服务? 在B电脑的控制台窗口按 `Ctrl+C` 即可停止。 ## 技术特性 - ✅ 支持HTTP和HTTPS协议 - ✅ 多线程并发处理 - ✅ 自动解析目标地址 - ✅ 双向数据转发 - ✅ 错误处理和日志输出 - ✅ 守护线程,自动清理资源 ## 配置文件 如需修改监听端口,编辑 `proxy_server.py` 第18-19行: ```python LISTEN_HOST = '0.0.0.0' # 监听地址 LISTEN_PORT = 8082 # 监听端口 ``` 修改后重启代理服务即可生效。