当前位置: 首页 > news >正文

proxy.py:一个能替代 ngrok 的轻量级代理服务器

文章目录

  • proxy.py:一个能替代 ngrok 的轻量级代理服务器
    • 1、 这个项目解决什么问题
    • 2、 核心能力
    • 3、 安装和使用
    • 4、 插件系统
    • 5、 其他功能
    • 6、 适合什么场景

proxy.py:一个能替代 ngrok 的轻量级代理服务器

proxy.py 在 GitHub 上拿到了 3,534 Star。

这是一个用 Python 写的代理服务器,功能很全——HTTP/HTTPS 代理、反向代理、WebSocket 支持、TLS 拦截,还自带一个叫 GROUT 的功能,能替代 ngrok 做内网穿透。

1、 这个项目解决什么问题

做过内网穿透的人大概都用过 ngrok。ngrok 好用,但免费版有限制,付费版价格不低。proxy.py 里的 GROUT 模块就是干这个的——把本地服务暴露到公网,不需要额外付费。

除了内网穿透,proxy.py 本身是一个完整的代理服务器。你可以用它做流量抓包、API Mock、请求过滤、缓存加速,甚至搭建一个带 Web 界面的代理服务。

2、 核心能力

性能方面,proxy.py 用 asyncio 做了无阻塞处理,能跑满所有 CPU 核心。官方给的测试数据:在 MacBook Pro M2 上,100 并发连接,每秒能处理 5 万多个请求,成功率 100%。内存占用只有 5 到 20 MB,Docker 镜像压缩后 25 MB 左右。

协议支持比较全:HTTP、HTTPS、HTTP/2、WebSocket 都能处理。还能配置 HAProxy 协议,支持 IPv4 和 IPv6。

可编程是它的卖点之一。proxy.py 的架构是插件式的,你想改代理行为,写个插件就行。比如做请求过滤、缓存响应、修改 Header、模拟 API 返回,都有现成的插件示例。

安全方面,支持端到端加密和 TLS 拦截。你可以解密客户端和上游服务器之间的 HTTPS 流量,用来调试或者审计。还内置了 Cloudflare 的 DNS-over-HTTPS,能绕过基于 DNS 的封锁。

3、 安装和使用

用 pip 装:

pipinstall--upgradeproxy.py

装完直接在命令行输入proxy就能启动,默认监听 8899 端口。

proxy

想用 Docker 也行:

dockerrun-it-p8899:8899--rmabhinavsingh/proxy.py:latest

启动后,把浏览器或系统的代理设置成127.0.0.1:8899,所有流量就会经过 proxy.py。

如果想开 GROUT 做内网穿透,加上对应参数就行。具体用法看文档里的 GROUT 章节。

4、 插件系统

proxy.py 的插件分几种类型:

  • HTTP 代理插件:拦截和修改经过代理的请求。比如CacheResponsesPlugin做缓存,FilterByUpstreamHostPlugin按域名过滤,MockRestApiPlugin模拟 API 返回。
  • Web 服务器插件:让 proxy.py 本身也能当 Web 服务器用。
  • 反向代理插件:把请求转发到后端服务。

加载插件很简单,启动时用--plugins参数指定就行:

proxy--pluginsproxy.plugin.CacheResponsesPlugin

5、 其他功能

proxy.py 还带了一个实时 Dashboard,用--enable-dashboard启用后访问http://localhost:8899/dashboard,能在线查看和修改代理配置。

支持 Chrome DevTools Protocol,可以在 Chrome 开发者工具里直接看代理的请求详情。

有 Prometheus 指标导出,方便接入监控系统。

支持静态文件服务,用--enable-static-server启用后,可以当个简易文件服务器。

6、 适合什么场景

  • 需要内网穿透但不想付 ngrok 费用的开发者
  • 做接口调试、流量抓包、安全测试的人
  • 需要搭建带缓存、过滤功能的代理服务
  • 在做 AI Agent 或爬虫,需要控制 HTTP 请求的场景

proxy.py 是纯 Python 实现,没有外部依赖,跨平台支持 macOS、Ubuntu、Windows,甚至能在 Android 和 iOS 上跑。

proxy.py 是纯 Python 实现,没有外部依赖,跨平台支持 macOS、Ubuntu、Windows,甚至能在 Android 和 iOS 上跑。

http://www.jsqmd.com/news/1107832/

相关文章:

  • ComfyUI IPAdapter Plus深度解析:从单图像LoRA到高级图像条件生成的技术实现
  • ScratchJr桌面版:5-7岁儿童编程启蒙的3大突破性优势
  • 【IDEA重构高阶技法】:内联变量的5大误用场景与3步安全执行法
  • 解密铜仁学院登陆算法
  • 【IDEA日志断点黑科技】:5分钟绕过断点阻塞,实现日志实时输出的3种权威方案
  • 油液检测新技术:从铁谱分析到AI故障诊断的技术跃迁
  • 告别杂乱桌面:5分钟用NoFences打造你的专属数字工作空间
  • ASM232全温区电气参数实测分析与工程选型决策指南
  • 终极指南:5步掌握网页资源智能捕获技术
  • 【JetBrains官方未公开文档】:IDEA中Log Output bypass Breakpoint的底层字节码级实现原理
  • ROFL播放器:免费开源工具轻松管理英雄联盟回放文件
  • Linux防火墙配置实战:从iptables到firewalld的完整指南
  • [Texture3DAsset节点]原理解析与实际应用
  • 【限时技术白皮书】:基于237台生产虚拟机压测数据,提炼出VMware+GPU透传在ResNet50/BERT训练场景下的最优vCPU:GPU配比模型
  • 【IDEA并发调试核武器】:从Suspend Policy到Frame Evaluation,6个被官方文档隐藏的调试开关
  • 如何快速配置League Akari:英雄联盟智能助手的终极指南
  • IntelliJ IDEA重命名避坑手册:5步精准验证,告别编译失败与运行时异常
  • Windows内存管理终极方案:Mem Reduct深度解析与实战指南
  • 八部门联合发文定调“人工智能+消费”:每年万亿级新赛道正式启航
  • 内联变量重构全解析,深度解读JetBrains官方源码级实现逻辑与边界约束
  • 深入 Base64 编码解码:原理剖析与实战应用
  • Boss直聘批量投简历终极指南:如何用自动化工具将求职效率提升500%
  • 2026权威实测:16款降AI率工具横评,论文降重降ai率神器是这个!
  • 3分钟将Windows鼠标指针变身《蔚蓝档案》游戏角色:开源主题完全指南
  • API Key 泄露后别只删代码:从止损、轮换到审计的完整应急手册
  • 一文讲透MES系统整体架构设计:ERP、APS、WMS、PLC如何实现数据闭环?
  • 为什么你的IDEA永远抓不到Race Condition?揭秘JDK 17+与IDEA 2023.3线程事件监听底层差异
  • 天龙八部GM工具终极指南:3步掌握免费游戏数据管理神器
  • 告别HttpCanary:基于Frida RPC与Burp Suite的安卓加密流量实时篡改实战
  • HunterPie终极指南:如何用实时数据监控提升《怪物猎人:世界》狩猎效率