# hex-http-proxy **Repository Path**: binaryFox/hex-http-proxy ## Basic Information - **Project Name**: hex-http-proxy - **Description**: 一款基于Netty构建的高性能HTTP/HTTPS代理服务器,支持数据加密传输,能够绕过网络行为管理限制。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-03 - **Last Updated**: 2026-03-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Hex HTTP/HTTPS Proxy 一款基于Netty构建的高性能HTTP/HTTPS代理服务器,支持数据加密传输,能够绕过网络行为管理限制。 ## 核心特性 - **高性能**: 基于Netty NIO框架,支持高并发连接 - **数据加密**: 支持XOR加密,有效隐藏原始流量特征 - **双向代理**: 支持服务端和客户端隧道两种模式 - **动态解析**: 自动解析HTTP请求中的Host头部 ## 技术架构 本项目采用Netty作为网络通信框架,利用其异步非阻塞的特性,实现高效的代理服务。核心组件包括: - **HttpProxyServerWithEncrypt**: HTTP代理服务器主类,负责接收客户端请求并转发 - **TransferProxyEnHandler**: 核心处理器,处理数据转发和加密 - **NettyTool**: Netty工具类,封装了加密和服务器启动功能 ## 工作原理 ### 1. 服务端模式 代理服务器接收客户端请求,解析Host头部获取目标服务器地址,建立连接并转发数据。 ### 2. 客户端隧道模式 在客户端创建本地代理服务器,将请求通过远程代理服务器转发到目标服务器。 ### 3. 数据加密机制 使用XOR加密算法对传输数据进行加密,密钥由用户指定,有效隐藏原始数据特征。 ## 使用方法 ### 服务端模式 ```bash java -jar hex-http-proxy-0.0.1-SNAPSHOT.jar server [encrypt] ``` 例如: ```bash java -jar hex-http-proxy-0.0.1-SNAPSHOT.jar server 8888 65 ``` ### 客户端模式 ```bash java -jar hex-http-proxy-0.0.1-SNAPSHOT.jar client [encrypt] ``` 例如: ```bash java -jar hex-http-proxy-0.0.1-SNAPSHOT.jar client 8080 127.0.0.1 8888 65 ``` 参数说明: - ``: 代理服务器监听端口 - `[encrypt]`: 加密密钥(0-255之间的整数),0表示不加密 - ``: 本地监听端口 - ``: 远程代理服务器地址 - ``: 远程代理服务器端口 ## 数据流向 ```mermaid graph TB A[Client Request] --> B[Local Proxy] B --> C[Encrypt Data] C --> D[Remote Proxy Server] D --> E[Decrypt Data] E --> F[Forward to Target Server] F --> G[Response from Target] G --> E E --> C C --> B B --> A[Client Response] ``` ## 技术亮点 ### 1. XOR加密实现 ```java public static Object encrypt(Object msg, int encrypt) { if (encrypt != 0 && msg instanceof ByteBuf buf) { for (int i = 0; i < buf.readableBytes(); i++) { buf.setByte(i, buf.getByte(i) ^ encrypt); } return buf; } return msg; } ``` ### 2. 动态Host解析 自动从HTTP请求中提取Host头部,并确定目标服务器地址。 ### 3. CONNECT协议支持 对于HTTPS连接,正确处理CONNECT请求并返回连接成功消息。 ### 4. 连接绑定管理 使用AttributeKey管理客户端与远程服务器的连接映射关系。 ## 应用场景 - **绕过网络限制**: 在网络行为管理系统环境下访问受限资源 - **隐私保护**: 加密传输数据,防止中间人窃听 - **负载均衡**: 作为代理层分发请求到多个后端服务器 - **缓存代理**: 结合缓存机制提升访问速度 ## 开发环境 - Java 21+ - Maven 3.6+ - Spring Boot 4.0.3 - Netty 4.1.115.Final - FastJSON2 2.0.53 ## 破解公司网络行为管理的原理 传统的网络行为管理系统通常监控和过滤明文HTTP流量,通过识别流量特征、URL模式等方式进行管控。本项目通过以下方式绕过检测: 1. **数据加密**: 使用XOR加密算法对原始HTTP请求进行加密,使监控系统无法识别流量内容 2. **协议伪装**: 通过代理隧道将所有流量封装在合法的HTTP请求中 3. **隧道技术**: 通过客户端-代理服务器-目标服务器的三层架构,隐藏真实访问意图 仅需几行代码即可实现加密代理功能,大大简化了网络穿透的复杂性。 ## 注意事项 - 使用本软件时请确保遵守相关法律法规 - 加密功能虽然可以隐藏原始流量特征,但不等同于安全的加密传输 - 生产环境中建议结合SSL/TLS等更强的安全措施