grpc真的香啊
延迟低,起速快
美国的vps也能轻松网页油管秒开
但是玄学断流和一跑测速就飞上天的延迟也是很烦人
这个问题现在没根治,大佬们出了个健康检查缓解这个问题
强烈建议美国vps试试grpc,香港的就无所谓了


面板:x-ui
xray版本:1.4.5
APP:v2rayNG

按照大佬的文档内容,自xray1.4.3后为 gRPC 开启了健康检查。此功能默认不启用。
当健康检查失败后,gRPC将会重新打开一个新的底层连接。

gRPC 配置:

  • idle_timeout :单位秒,当这段时间内没有数据传输时,将会进行健康检查。如果此值设置为 10 秒以下,将会使用 10 秒,即最小值。
  • health_check_timeout :单位秒,健康检查的超时时间。如果在这段时间内没有完成健康检查,且仍然没有数据传输时,即认为健康检查失败。默认值为 20s。
  • permit_without_stream :布尔值,设置为 true 时,将允许在没有子连接时进行健康检查。

这个功能在客户端打开就可以了,服务器端不用做任何修改

v2rayNG导出完整配置

在v2raNG中,点分享-导出完整配置到剪贴板
在记事本中粘贴,就能看到完整的grpc节点配置

{
  "dns": {
    "hosts": {
      "domain:googleapis.cn": "googleapis.com"
    },
    "servers": [
      "8.8.8.8"
    ]
  },
  "inbounds": [
    {
      "listen": "127.0.0.1",
      "port": 10808,
      "protocol": "socks",
      "settings": {
        "auth": "noauth",
        "udp": true,
        "userLevel": 8
      },
      "sniffing": {
        "destOverride": [
          "http",
          "tls"
        ],
        "enabled": true
      },
      "tag": "socks"
    },
    {
      "listen": "127.0.0.1",
      "port": 10809,
      "protocol": "http",
      "settings": {
        "userLevel": 8
      },
      "tag": "http"
    },
    {
      "listen": "127.0.0.1",
      "port": 10853,
      "protocol": "dokodemo-door",
      "settings": {
        "address": "8.8.8.8",
        "network": "tcp,udp",
        "port": 53
      },
      "tag": "dns-in"
    }
  ],
  "log": {
    "loglevel": "warning"
  },

  "outbounds": [
    {
      "mux": {
        "concurrency": 8,
        "enabled": false
      },
      "protocol": "vless",
      "settings": {
        "vnext": [
          {
            "address": "laoliu.fit",
            "port": 31686,
            "users": [
              {
                "encryption": "none",
                "flow": "",
                "id": "64954310-c838-4b8c-a64e-7241ce323154",
                "level": 8,
                "security": "auto"
              }
            ]
          }
        ]
      },
      "streamSettings": {
        "grpcSettings": {
          "multiMode": true,
          "serviceName": "laoliu.fit"
        },
        "network": "grpc",
        "security": "tls",
        "tlsSettings": {
          "allowInsecure": false,
          "serverName": "laoliu"
        }
      },
      "tag": "proxy"
    },
    {
      "protocol": "freedom",
      "settings": {},
      "tag": "direct"
    },
    {
      "protocol": "blackhole",
      "settings": {
        "response": {
          "type": "http"
        }
      },
      "tag": "block"
    },
    {
      "protocol": "dns",
      "tag": "dns-out"
    }
  ],
  "policy": {
    "levels": {
      "8": {
        "connIdle": 300,
        "downlinkOnly": 1,
        "handshake": 4,
        "uplinkOnly": 1
      }
    },
    "system": {
      "statsOutboundUplink": true,
      "statsOutboundDownlink": true
    }
  },

  "routing": {
    "domainStrategy": "IPIfNonMatch",
    "rules": [
      {
        "inboundTag": [
          "dns-in"
        ],
        "outboundTag": "dns-out",
        "type": "field"
      },
      {
        "ip": [
          "8.8.8.8"
        ],
        "outboundTag": "proxy",
        "port": "53",
        "type": "field"
      }
    ]
  },
  "stats": {}
}

找到"grpcSettings"
将下面配置信息粘贴进去

此处内容需要评论回复后(审核通过)方可阅读。

其它地方不用改,添加好了之后全选内容复制
在v2rayNG使用导入自定义配置,完成功能开启
至此grpc的健康检查功能就开启了,断线时会自动重连
虽然说问题没根治吧,但是体验也是提升了很多
期待大佬后续能把这个问题解决好,那就很完美了


其实这些都不是什么特别复杂的东西
但是需要花时间去看文档,去学习
又是一个大佬懒得教,小白没地方学系列内容


END

本文作者:
文章标题:gRPC健康检查缓解断流问题
本文地址:https://kev.fit/archives/187/
版权说明:若无注明,本文皆K E V.原创,转载请保留文章出处。
最后修改:2021 年 10 月 03 日 01 : 14 PM
如果觉得我的文章对你有用,请随意赞赏