本项目是一个基于加密算法的 HTTP/HTTPS 本地代理与远程中转服务器。客户端将浏览器流量加密后转发至服务器,由服务器解密并转发至目标网站,并记录日志数据到 SQLite 数据库,同时提供一个实时监控 Web 面板。
- 支持多种加密/编码方式:
fernet(推荐)aes_cbcmanual_base64xordescaesar
- 支持完整的 HTTP/HTTPS 流量转发
- 提供 Web 实时监控面板(基于 Flask + SQLite)
- 自动记录访问日志(客户端IP、目标域名、流量、时间)
pip install cryptography flaskpython server.py -p YOUR_PASSWORD --method fernet可选参数:
-lp:监听端口(默认 8888)-lh:监听地址(默认 0.0.0.0)--dashboard-port:Web监控面板端口(默认 9999)--method:加密方式,需与客户端一致
示例:
python server.py -p mypass --method aes_cbc --dashboard-port 9999python client.py -rh SERVER_IP -p YOUR_PASSWORD --method fernet可选参数:
-lp:本地监听端口(默认 1080)-rp:远程服务器端口(默认 8888)
示例:
python client.py -rh 192.168.1.100 -p mypass --method aes_cbc请将浏览器的 HTTP 和 HTTPS 代理设置为以下地址:
地址:127.0.0.1
端口:1080
例如在 Chrome 中安装 SwitchyOmega 扩展进行配置。
浏览器访问:
http://<服务器IP>:9999
可实时查看:
- 请求总数
- 客户端 IP 数量
- 总传输流量
- Top 5 热门访问目标
- 可搜索与分页的访问日志表
SQLite 数据库存储在 proxy_log.db 文件中,包含以下表结构:
CREATE TABLE access_log (
id INTEGER PRIMARY KEY AUTOINCREMENT,
client_ip TEXT,
target_host TEXT,
target_port INTEGER,
bytes_sent INTEGER,
bytes_received INTEGER,
event_time TEXT
);xor、des、caesar等加密方式仅用于教学或测试,不要在生产环境中使用manual_base64并非加密算法,只是编码方法,不具备安全性- 推荐使用
fernet或aes_cbc模式进行加密通信
MIT License - For educational and research use only.