chika0801 / sing-box-examples

sing-box 配置示例
https://github.com/SagerNet/sing-box
1.76k stars 292 forks source link

Update vless mux #18

Closed cbjn closed 1 year ago

chika0801 commented 1 year ago

我测试了 VLESS 不写流控时,不支持MUX。

sing-box会提示报错。

chika0801 commented 1 year ago

如果你使用vision流控,也有padding使用,也没必要再用 mux 的 padding了。

padding看了下sing-box的代码增加给 ss trojan vmess 协议使用的。

chika0801 commented 1 year ago

更正一下,刚刚看到 https://github.com/SagerNet/sing-box/commit/0815cc443e69669e6f6160713fe43a2d971768ce 添加了对VLESS协议的支持。

我还没有测试,我还是认为用VLESS协议的时候,如果要用MUX,那么VLESS的流控选项应该不使用。

另外sing-box作者在这里 https://github.com/XTLS/Xray-core/pull/1986#issue-1679995848

{
  "outbounds": [
    {
      "mux": {
        "enabled": false
      },
      "smux": {
        "enabled": true,
        "protocol": "h2mux",
        "max_connections": 4,
        "padding": true
      }
    }
  ]
}

比如你是用VLESS协议 ,流控不使用。udp是over tcp。 此时VLESS是用TCP传输,没有http2/复用特性。你添加MUX就是用到了http2的复用和padding。

chika0801 commented 1 year ago

刚测试了 客户端配置

        {
            "type": "vless",
            "tag": "proxy",
            "server": "", // 服务端的 IP
            "server_port": 443,
            "uuid": "ee48f7be-6ae9-5654-9b61-8466aa8e16bc", // 与服务端一致
            "flow": "xtls-rprx-vision",
            "tls": {
                "enabled": true,
                "server_name": "www.lovelive-anime.jp", // 与服务端一致
                "utls": {
                    "enabled": true,
                    "fingerprint": "chrome" // 使用 uTLS 库模拟客户端 TLS 指纹
                },
                "reality": {
                    "enabled": true,
                    "public_key": "Z84J2IelR9ch3k8VtlVhhs5ycBUlXA7wHBWcBrjqnAw", // 服务端执行 ./sing-box generate reality-keypair 生成,私钥对应的公钥,填 "PublicKey" 的值
                    "short_id": "6ba85179e30d4fc2" // 与服务端一致
                }
            },
            "packet_encoding": "xudp",
            "multiplex": {
                "enabled": true,
                "protocol": "h2mux",
                "max_connections": 4,
                "min_streams": 4,
                "padding": true
            }
        },
        "flow": "xtls-rprx-vision", 这是必填,留空,服务端要报错

+0800 2023-04-24 11:45:43 ERROR [2177147257 110ms] inbound/vless[vless-in]: process connection from IP:2808: flow mismatch: expected xtls-rprx-vision, but got none

那么这相当于vision在做padding,外层用TCP传输时又有http2复用加提供的Mux。这么强的吗?

chika0801 commented 1 year ago

测试了一下,访问github时,有出现几回的刷网页,内容空白,没加载出来的现象。

chika0801 commented 1 year ago

参数简单,你自己添加到你配置就是了。模板怎么整理,我还没决定好。

cbjn commented 1 year ago

参数简单,你自己添加到你配置就是了。模板怎么整理,我还没决定好。

Failed decode config: outbound options: json: unknown field "multiplex"

客户端应该还没合进来

chika0801 commented 1 year ago

现象1,两端日志级别是debug,但是我发现不了什么异常的,不帖日志了。

出现后,你按F5刷新,网页就刷开了。或此时不按F5,访问其它网站也能开。

123

现象2,碰巧发现使用在github上传图片一直提示这个。

2

chika0801 commented 1 year ago

客户端应该还没合进来

我是自己编译的windows的文件,他的代码今天提交的,发布页没更新嘛

chika0801 commented 1 year ago

这2种现象,我昨天用trojan H2Mux时没遇到

cbjn commented 1 year ago

https://github.com/XTLS/Xray-core/commit/837d7d885fb8b888db3aed9a2067c236ced76e36

nekohasekai commented 1 year ago

smux 自带 padding 且不使用 TLS,启用 vision 什么都得不到。