找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

2152

积分

0

好友

308

主题
发表于 2025-11-28 01:03:23 | 查看: 47| 回复: 0

图片

Proxy.py 是一款高性能、可扩展的 Python 网络代理工具,能够帮助开发者快速构建定制化代理服务器,适用于多种网络场景。

核心功能

  • 高性能与可扩展性:充分利用多核系统资源,支持 asyncio 无线程执行,轻松处理每秒数万连接。
  • 轻量级设计:内存占用仅 5-20 MB,无内存泄漏问题,启动后无需重启即可稳定运行。
  • 高度可编程:通过插件 API 自定义代理行为,实现代理池、URL 缩短、数据修改等高级功能。
  • 多地址与多端口支持:可监听多个网络接口,灵活配置地址和端口。
  • 实时监控仪表盘:提供代理服务器实时状态监控和配置调整,支持 Chrome DevTools 协议。
  • 安全与隐私保护:支持端到端加密通信,集成 DNS-over-HTTPS 功能,保障用户数据安全。
  • TLS 拦截能力:可解密客户端与上游服务器间的 TLS 流量,适用于安全审计和调试场景。
  • 多协议兼容:全面支持 HTTP(s)、HTTP1/1.1、HTTP2、WebSocket 及 HAProxy 等 网络协议

安装方法

使用 PIP 安装

  • 稳定版本

    • 从 PyPi 安装:pip install --upgrade proxy.py
    • 从 GitHub 主分支安装:pip install git+https://github.com/abhinavsingh/proxy.py.git@master
  • 开发版本pip install git+https://github.com/abhinavsingh/proxy.py.git@develop

使用 Docker 部署

  • 多平台容器
    • Docker Hub(稳定版):docker pull abhinavsingh/proxy.py:latest
    • GitHub 容器注册表(开发版):docker pull ghcr.io/abhinavsingh/proxy.py:latest

运行示例

从 Docker Hub 启动稳定版

docker run -it -p 8899:8899 --rm abhinavsingh/proxy.py:latest

从 GHCR 启动开发版

docker run -it -p 8899:8899 --rm ghcr.io/abhinavsingh/proxy.py:latest

启动代理服务

命令行启动(PIP 安装后)
安装完成后,系统 $PATH 中会添加 proxy 可执行文件。

运行默认配置:

proxy

TLS 拦截配置
默认不解密 HTTPS 流量。启用 TLS 拦截需生成根 CA 证书,并通过相应参数启动 proxy.py。

使用 Docker 运行 Grout

docker run --rm -it \
  --entrypoint grout \
  -v ~/.proxy:/root/.proxy \
  abhinavsingh/proxy.py:latest \
  http://host.docker.internal:29876

嵌入模式应用

阻塞模式
通过 proxy.main 方法嵌入启动,使用默认配置:

import proxy

if __name__ == '__main__':
    proxy.main()

自定义配置示例:

import ipaddress
import proxy

if __name__ == '__main__':
    proxy.main(
        hostname=ipaddress.IPv6Address('::1'),
        port=8899
    )

非阻塞模式
使用上下文管理器启动,适用于异步场景:

import proxy

if __name__ == '__main__':
    with proxy.Proxy() as p:
        # 在此添加应用逻辑
        proxy.sleep_loop()

总结
Proxy.py 作为功能全面的网络代理解决方案,覆盖从基础 HTTP 代理到高级 TLS 拦截和插件开发需求。其高性能、易扩展的特性使其成为开发者、安全研究人员构建 Docker 化代理服务的理想选择。

项目地址:https://github.com/abhinavsingh/proxy.py




上一篇:CPU、GPU、TPU架构区别解析:设计原理与应用场景实战
下一篇:Olric网络协议与RPC机制实战解析:分布式缓存通信最佳实践
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-1-10 18:25 , Processed in 0.326627 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表