之前搞了个叫 Ghost Proxifier 的 Windows 进程级代理工具,主要在底层做 Winsock 劫持和 WebRTC/DNS 防泄漏。网络底座跑稳之后,这几天我把插件系统和 SDK 给搞完整了。
我没有搞恶心的 C++ 动态链接或私有协议,而是做成了很干净的子进程沙箱:
宿主通过 stdin 给插件喂握手信息,后续全走本地 HTTP API 和 SSE 事件流。所以语言完全不限,用 Python 、Node 、Go 甚至写个原生 exe 都能搞;想做界面的话,插件自己起个本地 HTTP 服务就能直接把 Web 页面嵌入到客户端面板里。底层网络能力和进程控制打通之后,脑洞其实可以开得很大:
AI Agent 的本机网络探针:比如我写的 Snagbox (茄盒) https://github.com/liliBestCoder/snagbox,用 Ghost 把特定 exe 的流量路由给 mitmproxy 解析入库,再通过 MCP 让 Claude / Cursor 这类 AI Agent 用 SQL 直接分析目标软件的 HTTP/HTTPS 行为,做私有 API 嗅探、逆向分析和数据包关联;
做本地与局域网端口转发器:比如社区写的 ghost-plugin-port-forwarder https://github.com/xieyos/ghost-plugin-port-forwarder,直接在本地开端口映射(带嵌入式 Web 管理页),局域网里的 Switch/PS5 、虚拟机,或者压根不支持配代理的古董命令行工具,把流量打到本地端口就能共用节点的代理隧道出去;
单进程级的弱网与混沌工程模拟:不用整机开 clumsy 影响全局,用插件只对特定目标 exe 注入随机延迟、丢包或突发断流,专门测跨国桌面客户端、爬虫或自动化脚本的容灾与重试;
闭源桌面软件的出网审计哨兵:很多本地工具暗戳戳在后台搜集机器信息传遥测,通过 SSE 实时流盯死目标进程的每一次 DNS 查询和出网 IP ,发现异常流量直接弹窗告警甚至切断;
多节点自动化调度大脑:写个几十行的小脚本,测到当前节点丢包高或断线了,全自动给目标进程平滑换出口,或者按不同时段、不同目标域名分流到不同专线。
SDK 里的打包工具( gpkg.py http://gpkg.py )、完整的 Python 实战范例和规范全写在文档里了。客户端打开“开发者模式”就能本地加载测试。有手痒或者手头正好有自动化、网络分析、Agent 工具开发需求的朋友,欢迎来写个插件玩玩,开发时发现接口缺什么随时找我提!
插件开发文档: https://ghostproxifier.com/docs-plugin-sdk.html
项目主页: https://github.com/liliBestCoder/ghost-proxifier-pro
主楼- AmberCedar1小时前⭐️ 新访客3285
这个插件系统的架构设计很清晰,请问插件和宿主进程之间的通信协议有文档说明吗?
我线上就用类似机制搞过进程级流量分片,能按不同进程走不同出口,你的方案更灵活些。
这个子进程沙箱的架构设计很巧妙,用HTTP API和SSE事件流打通插件系统确实能让开发更灵活。
- AsSourLead39分钟前⭐️ 新访客2509
这个插件SDK的设计真巧妙,stdin握手+HTTP API的方案让开发门槛大大降低了。
- QuietHawk88037分钟前⭐️ 新访客5118
子进程沙箱模型看起来挺优雅,不过要注意插件崩溃可能影响主程序稳定性啊。