当前位置: 首页 > 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.gsyq.cn/news/1619800.html

相关文章:

  • 【IDEA日志断点黑科技】:5分钟绕过断点阻塞,实现日志实时输出的3种权威方案
  • 终极指南:5步掌握网页资源智能捕获技术
  • 【限时技术白皮书】:基于237台生产虚拟机压测数据,提炼出VMware+GPU透传在ResNet50/BERT训练场景下的最优vCPU:GPU配比模型
  • 如何快速配置League Akari:英雄联盟智能助手的终极指南
  • 为什么你的IDEA永远抓不到Race Condition?揭秘JDK 17+与IDEA 2023.3线程事件监听底层差异
  • HunterPie终极指南:如何用实时数据监控提升《怪物猎人:世界》狩猎效率
  • 告别HttpCanary:基于Frida RPC与Burp Suite的安卓加密流量实时篡改实战
  • 手机号码定位系统:免费开源工具助你3秒掌握来电位置
  • 2026年7月份最新《墨香情》手游正版下载全指南 无职业武侠怀旧服新手入门与渠道避坑攻略
  • 【学习记录】Week5(二):无输出环境突破——Canary 盲爆破与 off-by-null 部分绕过
  • 为什么你的IDEA永远抓不到NullPointerException?——深入JVM JVMTI事件钩子与IntelliJ调试协议的兼容性断层(含官方未公开API调用日志)
  • 哔咔漫画下载器终极指南:5分钟打造个人离线漫画图书馆
  • 自动化越强,人为什么反而要更强:AI 质控中的自动化反讽
  • 英雄联盟回放管理的终极解决方案:ROFLPlayer完整指南
  • Windows 11终极清理指南:免费开源工具让你的系统性能飙升51%
  • 英雄联盟回放管理终极指南:ROFL播放器完整教程
  • 【限时技术透支】:VMware模板化Jenkins Master镜像制作全流程(含Ansible自动化打包+SHA256校验)
  • 【Vibe Coding从入门到精通】第14篇:Agentic Engineering——Vibe Coding的下一站
  • 企业级AI智能体落地实战:自主性、工具调用与治理架构
  • 如何利用Awesome-CGM数据集构建精准糖尿病预测模型:开发者完整实战指南
  • 连续血糖监测研究必备:Awesome-CGM数据集完全指南
  • 从 0 到 1 MCP 工具集实战:写一个能被 Claude Code 调用的工具
  • Windows 11优化指南:用免费工具提升51%性能的完整方案
  • Codeforces Round 1107 (Div. 3)DE
  • 告别单调墙面,铝单板如何让建筑焕发新生?
  • [智能体-619]:大模型做决策的最大特点是:场景性适应性、灵活性、应对不确定性、应对模糊性。在某种场合下是极致的优点,在某种场合下却是致命的缺点。就像人一样,不同场合,需要不同个性的人
  • Evaluate Expression + Java 21 Virtual Threads 联合调试秘技(内部培训PPT首次流出)
  • 用C++重写的Millenium RAT已感染全球160多个国家超6.2万台设备
  • IDEA内联变量失效案例分析与解决方案(JetBrains 2024.1.2重构引擎行为变更实测报告)
  • 拒绝模板化套话,智枫AI数字员工核心卖点理性拆解