go实现客户端与服务端加密通讯代理访问代码
代码语言:golang
所属分类:其他
代码描述:go实现客户端与服务端加密通讯代理访问代码,客户端与服务端都要运行这个代码建立加密通讯隧道,然后进行代理访问, 加密传输 - 使用AES-256加密所有流量 支持HTTP/HTTPS - 支持普通HTTP和HTTPS(CONNECT)代理 双向转发 - 高效的数据双向转发 多线程 - 支持多个并发连接 简单部署 - 单文件,易于部署
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
// ## 使用说明 // ### 1. 保存代码 // 将代码保存为 `proxy.go` // ### 2. 修改密钥 // 在代码开头修改 `SECRET_KEY` 常量,服务端和客户端必须使用相同的密钥: // ```go // const SECRET_KEY = "your-secret-key-change-this!!" // ``` // ### 3. 编译(可选) // ```bash // # 编译服务端(Linux) // GOOS=linux GOARCH=amd64 go build -o proxy-server proxy.go // # 编译客户端(Windows) // GOOS=windows GOARCH=amd64 go build -o proxy-client.exe proxy.go // # 编译客户端(macOS) // GOOS=darwin GOARCH=amd64 go build -o proxy-client proxy.go // # 本地编译 // go build -o proxy proxy.go // ``` // ### 4. 运行服务端(在有公网IP的服务器上) // ```bash // # 直接运行 // go run proxy.go -mode=server -port=8888 // # 或使用编译后的二进制 // ./proxy -mode=server -port=8888 // ``` // ### 5. 运行客户端(在本地电脑上) // ```bash // # 直接运行 // go run proxy.go -mode=client -server-host=<服务器IP> -server-port=8888 -local-port=1080 // # 或使用编译后的二进制 // ./proxy -mode=client -server-host=1.2.3.4 -server-port=8888 -local-port=1080 // ``` // ### 6. 配置浏览器代理 // 将浏览器的HTTP代理设置为:`127.0.0.1:1080` // ## 命令行参数 // **服务端参数:** // - `-mode=server` - 运行模式(必需) // - `-host=0.0.0.0` - 监听地址(默认:0.0.0.0) // - `-port=8888` - 监听端口(默认:8888) // **客户端参数:** // - `-mode=client` - 运行模式(必需) // - `-server-host=<IP>` - 服务器地址(必需) // - `-server-port=8888` - 服务器端口(默认:8888) // - `-local-host=127.0.0.1` - 本地监听地址(默认:127.0.0.1) // - `-local-port=1080` - 本地监听端口(默认:1080) // ## 功能特点 // ✅ **AES-256加密** - 使用CBC模式加密所有流量 // ✅ **支持HTTP/HTTPS** - 完整支持HTTP和HTTPS(CONNECT)代理 // ✅ **高性能** - Go协程实现,支持高并发 // ✅ **跨平台** - 可编译为Linux/Windows/macOS等多平台 // ✅ **单文件部署** - 编译后单个可执行文件 // ✅ **双向转发** - 高效的并发数据转发 // ## 性能优化建议 // 1. **调整缓冲区大小**:可以修改 `buffer := make([]byte, 32*1024)` 来调整性能 // 2. **连接池**:可以添加连接池来复用服务器连接 // 3. **限流控制**:可以添加流量限制和并发连接数限制 // ## 安全提示 // ⚠️ **请务必修改默认密钥** // ⚠️ **建议添加身份验证机制*.........完整代码请登录后点击上方下载按钮下载查看















网友评论0