gRPC是什么意思?

一句话结论

gRPC 是基于 HTTP/2 的远程调用框架,代理工具把它当成传输方式,让数据以多路复用的流在一条连接里来回。

在节点配置里它与 ws、tcp 并列,是传输方式一栏的选项,需要填写服务名称。它依赖 HTTP/2,因此常搭配 TLS 使用,两端的服务名称必须完全一致才能连通。

“grpc”这个词在节点配置里往往只占一格,但它背后是一整套以 HTTP/2 为底座的约定。

它是什么

gRPC 本来是应用程序之间互相调用函数的框架,消息放在 HTTP/2 的流里发送,具体约定见 官方仓库的 HTTP/2 说明。代理软件借用了它的“帧”:把代理数据装进 gRPC 的消息里,通过一条 HTTP/2 连接来回传。

HTTP/2 的特点之一,是同一条连接里可以并行跑多条流,所以它天然和 多路复用 的思路相近,但这两个概念不是一回事,别混用。

在哪里会看到它

  • 节点链接或配置里的传输写作 grpc。
  • 需要填一个服务名称(serviceName 或类似字段);不同内核的字段名略有差异,查官方文档:Xray 的 gRPC 说明。
  • 在 VLESS 节点里较常被提到,协议介绍见 VLESS 协议。

常见误解

  1. “grpc 比 ws 快。” 没有稳定的结论可以直接这样说。两者的差别需要在你自己的网络里验证,梯子岛不给跑分。
  2. “服务名称可以随便填。” 不行,它必须与服务端一致,错一个字符都连不上。
  3. “grpc 不用 TLS 也行。” 是否支持、是否推荐,以节点方的说明和内核文档为准。常见部署会搭配 TLS。

怎么判断自己是否会遇到问题

手动添加节点时,把“传输”选成 grpc,再核对服务名称与是否启用 TLS,这是最容易出错的两处。导入订阅则基本不会自己填。对比不同传输的取舍,读 传输方式有哪些;和 WebSocket 的区别,在于底层是 HTTP/2 的流,还是升级后的长连接。

哪些文章讲到了gRPC

想对照具体机场的记录?

机场榜单和机场目录里,价格、线路、协议、节点地区都是逐家列着的;不确定该装哪个客户端,试试客户端筛选器。