基于 极简翻墙客户端(壳) MDPC-my-dream-proxy-client 配合 sing-box 内核 支持 anytls 协议

前言

前面我们基于MDPC-my-dream-proxy-client 很容易实现了一个 hy2 翻墙客户端(壳)
再来试试 sing-box 和 anytls 协议

面向GPT开发

开发人员: Hermes 对接 mimo-v2.5

学习知识

把 https://github.com/SagerNet/sing-box 按最新的 release tag clone一份本地代码.
不要放tmp, 未来要进一步分析. 是长期任务.
分析 sing-box 的使用方法,
配置文件用什么格式
用怎样的命令形式启动 sing-box 内核
有没有测试 配置文件 是否合法的 sing-box 命令?
这是 sing-box 的文档
https://sing-box.sagernet.org/ 
对照 你的分析, 进行对比验证
把你的分析结论保存为 .md 文件
我要使用 sing-box 的 anytls 协议
你分析源码找到应该如何使用, 包括服务端 和 客户端

另存为一份 .md 文件

开发 - 基本功能

基于 /home/ubuntu/my-dream-proxy-client/ 这个项目进行开发
你先学习一下这个项目

现在要继续 开发支持 sing-box 内核 支持 anytls 协议  参考以下分析报告
- ~/repos/sing-box/ANALYSIS.md — 项目分析(配置格式、启动命令等)
- ~/repos/sing-box/ANYTLS.md — AnyTLS 使用指南
先不要实施编码, 先和我讨论设计思路
sing-box 也是独立实例
API 端口 18280

sing-box 配置文件 多文件同目录
启动命令 sing-box run -C confdir/

确定每个配置文件中只有一个json块, 
比如, inbound.json 里面只有 inbound ,  outbound.json 里面只有 outbound
类似 xray 的处理方式, 对每个 json 配置文件, 都有一个HTML页面.

先只实现JSON文本编辑框, 表单以后再设计.

测试和调试

功能类的测试, 先让Agent自己搭环境测试, 遍历各种组合环境. 最后再由人上手.

UI设计, 操作逻辑, 这些由人设计, 由人测试, 体验, 提改进要求.


开发 - outbound表单

之前 xray 的 outbound 只有 1个 proxy 和 1 个 direct 

这次我加点功能, 最终的 outbound 页面是这样的


开发 - route 预设模板

route页面增加2个预设模板
一个是
"geosite-geolocation-!cn" 走 proxy, 默认 direct
一个是
"geosite-cn" "geoip-cn" "ip_is_private" 走 direct, 默认走 proxy

开发 - dns 预设模板

dns 页面增加2个预设模板
一个是
"rule_set": "geosite-geolocation-!cn" 让 "google" 解析, 默认 "system" 解析
一个是
"rule_set": "geosite-cn" 让 "system"解析, 默认 "google" 解析

Github


========

后记

连操作手册都是让Agent写的.

先让Agent以新用户的身份, 做一个完整的测试, 从 release 页面下载 zip 包开始.
然后让TA把刚才的测试过程总结成一份操作手册.


评论

The Hot3 in Last 7 Days

酒馆SillyTavern 玩英文角色卡 也能以中文输出 设置世界书Lorebooks

Hysteria2 服务端自签证书 客户端指定证书指纹 pinSHA256 证书锁定 Certificate Pinning

hysteria2-pinSHA256-tool从客户端计算hysteria2节点自签证书的pinSHA256填写到v2rayN-v7的hysteria2节点中