全球主机交流论坛

标题: (持续更新)[开源]网络协议转换工具 [打印本页]

作者: dunce    时间: 2021-7-16 02:00
标题: (持续更新)[开源]网络协议转换工具
本帖最后由 dunce 于 2021-7-21 21:22 编辑

之前写的废话都删掉了。这只是个中转程序,没有实现任何代理协议。不要无端联想- -。

仓库地址: https://github.com/zephyrchien/midori

Updates:

==========7.21==========
跑路.jpg

==========7.17==========
添加了tls支持,可配置项目如下:

(c) tls version
(c) alpn
(c) sni
(c) skip verify
(c) 0-rtt (early data)
(s) tls version
(s) allowed alpn
(s) ocsp stapling

证书:
client  可选 系统证书/firefox内置证书/自定义证书
server 可以用证书文件,或者生成自签证书(通过配置文件指定CN)

存在的问题:
rustls不支持老的ec证书,像这种
  1. -----BEGIN EC PRIVATE KEY-----
  2. -----END EC PRIVATE KEY-----
复制代码

得把它转成pkcs8格式:
  1. openssl openssl pkcs8 -topk8 -nocrypt -in <old> -out <new>
复制代码


配置文件格式没动,单独添加了"tls"项目
  1. endpoint.(listen|remote).tls
  2. // server
  3. "tls": {
  4.         "version": ["tlsv1.3", "tlsv1.2"], // 默认值
  5.         "alpns": ["http/1.1"], // 默认不启用此ext
  6.         "cert": "fullchain.cer",
  7.         "key": "key.pem" // 如果cert key名字一样,则将其作为自签证书的CN
  8.         "ocsp": "domain.ocsp" // 默认不开启
  9. }
  10. // client
  11. "tls": {
  12.         "version": ["tlsv1.3"],
  13.         "sni": "example.com", // 默认开启,缺省时自动补全为addr
  14.         "alpns": ["h2", "http/1.1"],
  15.         "roots": "firefox", // firefox(default), native, or file
  16.         "skip_verify": false, // 默认不跳过
  17.         "enable_sni": true, // 默认开启,可以显式关闭
  18.         "enable_early_data": true, // 默认不开启
  19. }
复制代码

这次顺便给配置文件设置了默认值,现在只有addr为必填项目。net默认为tcp, trans默认为plain, tls默认为none。如果只填写地址的话,就成了一个兹词零拷贝的TCP转发工具

========== 7.16 ==========
已经支持的协议有:
  1. tcp
  2. unix socket
  3. websocket over tcp
  4. websocket over uds
复制代码

在linux机器上tcp或者uds可以零拷贝
后面会加上tls/h2/quic,支持自定义headers。

配置文件暂时长这样 https://paste.ubuntu.com/p/ZbtgMgvSm4 [tcp->ws over uds -> tcp]

在我机器上能跑16Gbs (单独ws也差不多;tcp和uds因为零拷贝的缘故,可以跑到40Gbs)

以后配置文件会支持toml,可能我还会单独实现个配置文件编辑器。

仓库地址: https://github.com/zephyrchien/midori  文档以后再补吧。。看个番睡觉去了
作者: Kimiato    时间: 2021-7-16 02:03
前排帮顶
作者: 洗澡之后挖耳朵    时间: 2021-7-16 02:03
我看不懂,但我大受震撼。
作者: h20    时间: 2021-7-16 02:06
提示: 作者被禁止或删除 内容自动屏蔽
作者: 二零五零现场    时间: 2021-7-16 05:00
支持一下rust程序猿
作者: arazyu    时间: 2021-7-16 09:33
感谢分享
作者: uzerhode    时间: 2021-7-16 10:15
这么年轻就想去喝下高级茶?

SS的作者喝茶都喝吐了。
作者: ChenYFan    时间: 2021-7-16 10:23
希望多喝点茶,以后进橘子品尝一下新品茶叶,你看Clowwindy喝的多香
作者: lanlandezei    时间: 2021-7-16 10:33
支持一波
作者: fuzzylogic    时间: 2021-7-16 12:19
本帖最后由 fuzzylogic 于 2021-7-16 12:24 编辑

uds,好冷门的协议
作者: micms    时间: 2021-7-16 12:23
mark大佬
作者: POMAH    时间: 2021-7-16 13:23
提示: 作者被禁止或删除 内容自动屏蔽
作者: 习尼玛    时间: 2021-7-16 21:23
帮顶
作者: dunce    时间: 2021-7-17 04:41
更新了更新了
作者: POMAH    时间: 2021-7-17 08:03
提示: 作者被禁止或删除 内容自动屏蔽
作者: 奈雅丽    时间: 2021-7-17 09:47
年轻人这个你把握不住啊




欢迎光临 全球主机交流论坛 (https://hostloc.gdisk.cf/) Powered by Discuz! X3.4