如何使用 V2Ray 中新增的 MTProto 代理

in #cn3 years ago

V2Ray 从 3.29 开始增加了一组新的传入传出协议:MTProto Proxy。这个协议是 Telegram 开发的,仅用于 Telegram 流量的代理。

上述的链接中已经附了一个简单的配置方式,这里介绍一个较复杂的用法。

由于 MTProto 是一组对应的传入传出,它实际上没有用到 V2Ray 的优势,比如 TLS + WebSocket。当这个代理有朝一日被检测并屏蔽的时候,简单的搭配可能就用不了了。

如果真到了那么一天,你可能需要在墙内搭一个中传服务器,在这个服务器上接收 MTProto 传入,然后用 VMess 或其它协议把流量中转到墙外,这样被屏蔽的可能性更低。

好了,具体要怎么配置呢?

首先一组传入传出加路由是没有疑问的:

{
  "tag": "tg-in",
  "port": 443,
  "protocol": "mtproto",
  "settings": {
    "users": [{"secret": "b0cbcef5a486d9636472ac27f8e11a9d"}]
  }
}

{
  "tag": "tg-out",
  "protocol": "mtproto",
  "settings": {}
}

{
  "type": "field",
  "inboundTag": ["tg-in"],
  "outboundTag": "tg-out"
}

然后,如果你有一个另外的 VMess 传出,比如你买了一个商用的 VMess 代理,假设配置如下:

{
  "tag": "vmess-out",
  "protocol": "vmess",
  "settings": {
    "vnext": [{
      "address": "v2ray.com",
      "port": 443,
      "users": [{"id": "27848739-7e62-4138-9fd3-098a63964b6b"}]
    }]
  }
}

然后我们把tg-outvmess-out桥接起来就可以了,做法很简单,在tg-out上加一个proxySettings

{
  "tag": "tg-out",
  "protocol": "mtproto",
  "settings": {},
  "proxySettings": {
    "tag": "vmess-out"  // 把 tg-out 的流量由 vmess-out 转发
  }
}

这样就可以让流量走一个类似 tg-in <-> vmess-out <-> vmess-in <-> tg-out 的转发方式。

当然 V2Ray 有其它的自由组合,比如你也可以使用 dokodemo 做透明代理完成上述的中转。但上述做法的好处是,你可以使用第三方的代理(比如买来的),这种情况下没办法修改代理服务器的配置。使用proxySettings可以在不修改下一个代理节点,仅修改当前节点配置的情况下,实现任意协议的中转。

Sort:  

@v2ray, enjoy the vote!

Have you claimed your FREE Byteballs yet? Check out this post on how you can get $10-80 just for having a Steem account: https://steemit.com/steem/@berniesanders/get-free-byteballs-today-just-for-having-a-steem-account-usd10-80-in-free-coins

@v2ray, 其实我一直有点犹豫要不要点赞,说出来你可能不信,我练过一阳指,我这个赞要是点下去,你搞不好会死!

@v2ray, 写得好好哇~~~ img