2023年7月13日星期四

搭建最新的Vision和Reality防止VPS端口封禁

 

一、介绍

为了应对 TLS in TLS 和指纹识别等阻断或封禁的风险,Xray-core 团队推出了 Vision 和 Reality 两种新颖的技术方案。它们能够有效地隐藏保护流量的特征,提高安全性稳定性。如果您想了解更多关于 Vision 和 Reality 的详细信息,请点击上方查看。

协议组合

解决 TLS in TLS

解决指纹问题

自带多路复用

VLESS-Vision-TLS

VLESS-Vision-uTLS-REALITY

VLESS-gRPC-uTLS-REALITY

二、环境

三、搭建步骤

1.ssh登录服务

2.下载脚本

wget -P /root -N --no-check-certificate "https://raw.githubusercontent.com/mack-a/v2ray-agent/master/install.sh" && chmod 700 /root/install.sh && /root/install.sh
Bash

3.安装

  • 这里有两种安装方式,第一种需要自己购买域名第二种无需购买域名

1.第一种安装方式(需要域名)

  • 建议选择 2.任意组合安装->7 ,这样的安装会同时安装 Vision_TLSReality+TCP+uTLS+VisionReality+gRPC+uTLS

  • 个性化安装->1->7

第一步,输入域名

custom_reality_domain.png

第二步,端口默认443即可,也可选择自定义端口安装

custom_reality_install02.png

第三步,剩下的一路回车。

当到达配置 配置VLESS+Reality 需要注意一下,这里的端口可以自定义,如果上方使用了自定义端口这里则可以输入 443 。

剩下的回车后会自动展示账号,到这里有域名的情况就搭建完成了

custom_reality_install03.png

2.第二种安装方式(无需域名)【推荐】

第一步,执行 vasma->执行脚本后->选择 5.REALITY管理 ,端口输入 443 或者 直接随机即可

reality_01_1.png

第二步,生成配置回落的域名

这里输入的域名最低标准为:国外网站支持 TLSv1.3 、H2 ,注意红框的端口,这里必须添加。

域名参考在下面,可以直接使用随机,剩下的回车后会自动展示账号

到这里没有域名的情况就搭建完成

reality_02_01.png

可参考的域名

# 域名推荐
gateway.icloud.com
itunes.apple.com
download-installer.cdn.mozilla.net
airbnb【这个不同的区有不同的域名建议自己搜索】
addons.mozilla.org
www.microsoft.com
www.lovelive-anime.jp
www.speedtest.net
www.speedtest.org

# CDN
Apple:
swdist.apple.com
swcdn.apple.com
updates.cdn-apple.com
mensura.cdn-apple.com
osxapps.itunes.apple.com
aod.itunes.apple.com

Microsoft:
cdn-dynmedia-1.microsoft.com
update.microsoft
software.download.prss.microsoft.com

Amazon:
s0.awsstatic.com
d1.awsstatic.com
images-na.ssl-images-amazon.com
m.media-amazon.com
player.live-video.net
Makefile

四、客户端配置

  • 需保持客户端与服务端核心版本相同,比如客户端是1.8.0 服务端则也是1.8.0

1.Android

1.v2rayNG[需要最新版本]

  • vasma->6.账号管理->2.查看订阅 拉取即可

2.windows&macOS

1.Clash Verge

  • 1.下载上方连接的GUI,windows 一般为 Clash.Verge_1.3.3_x64_zh-CN.msi,Mac则是Clash.Verge_1.3.3_x64.dmg,Mac M1/M2 则是Clash.Verge_1.3.3_aarch64.dmg

  • 2.vasma->6.账号管理->2.查看订阅 拉取即可

clashVerge_订阅.png

  • 3.修改设置,第一步进入设置,打开局域网连接Tun模式系统代理,第二步修改Clash内核为Clash Meta,第三步重启应用

2.Clash for Windows(Clash.Meta)

  • 1.下载上方链接中的Clash For Windows GUI。

  • 2.下载最新的Alpha的Clash.Meta,名称一般为 clash.meta-windows-amd64-alpha-xxx.zip。如果是ARM则是 clash.meta-windows-arm64-alpha-xxx.zip下载完成后,解压并修改文件名字为【clash-win64.exe

  • 3.将上面下载成功的内核替换到下面的路径。

    # windows 替换文件 clash-win64.exe
    # AMD
    cfw程序目录->resources/static/files/win/x64/
    # ARM
    cfw程序目录->resources/static/files/win/arm64/
    # macos intel
    /Applications/Clash\ for\ Windows.app/Contents/Resources/static/files/darwin/x64/
    # macosARM(M1、M2)
    /Applications/Clash\ for\ Windows.app/Contents/Resources/static/files/darwin/arm64/
    Bash
  • 4.vasma->6.账号管理->2.查看订阅 拉取即可

手动配置示例

  • VLESS Reality gRPC uTLS

 - name: reality-grpc
   server: vpsIP
   type: vless
   port: 端口
   uuid: id
   network: grpc
   servername: 允许客户端访问的域名,对应的是服务端 serverNames
   flow: ""
   udp: true
   tls: true
   reality-opts:
     public-key: 服务端的publicKey
   client-fingerprint: chrome
   grpc-opts:
     grpc-service-name: grpc
YAML
  • VLESS Reality TCP Vision uTLS

- name: reality-tcp
  server: vpsIP
  type: vless
  port: 端口
  uuid: ip
  network: tcp
  servername: 允许客户端访问的域名,对应的是服务端 serverNames
  flow: xtls-rprx-vision
  udp: true
  tls: true
  reality-opts:
    public-key: publicKey
  client-fingerprint: chrome
YAML
  • VLESS TCP TLS Vision uTLS

- name: Vision-tcp
  server: IP
  type: vless
  port: port
  uuid: uuid
  network: tcp
  serviceName: 域名
  flow: xtls-rprx-vision
  udp: true
  tls: true
YAML

3.iOS

1.V2BOX

  • 支持RealityVision

  • vasma->6.账号管理->2.查看订阅 拉取即可

  • 客户端配置->Configs->右上角+号->Add Subscription

2.FoXray

  • 支持RealityVision

  • vasma->6.账号管理->2.查看订阅 拉取即可

  • 客户端配置->订阅列表->右上角+号

2.Shadowrocket

4.Windows

1.v2rayN[需下载最新]

1.reality-tcp

reality_tcp.png

2.reality-grpc

reality_grpc.png

五、注意事项

1.Vision被封答疑【以下内容来源

首先,如果你特别不想被封,请先选择一个干净的 IP,并按照 配置正确 去搭建、使用 XTLS Vision。

但是,即使你这样做了,也无法保证 100% 不被封。自去年底始,很多人的未知流量秒封 IP,TLS in TLS 流量隔天封端口。XTLS Vision 不是未知流量,且完整处理了 TLS in TLS 特征,目前看来效果显著。但这并不意味着,用 XTLS Vision 可以 100% 不被封,认识到这一点是非常、非常重要的,不要自己偶然被封就大惊小怪

因为除了协议本身,还有很多角度能封你。以 IP 为例,你无法保证 IP 真的干净,无法避免被邻居波及,无法避免整个 IP 段被重点拉清单。也有可能某些地区的 GFW 有独特的标准,比如某个 IP 只有寥寥数人访问连却能跑那么多流量,封。如果你的 XTLS Vision 被封了,但没有出现去年底 TLS 那样的大规模被封报告,我真心建议你换端口、换 IP、换服务商依次试一遍

排查

  • 打开[ping.pe]

  • 输入 IP 检测ping可用

  • 输入 IP:Port 检查端口是否可用

  • 主要是看最后几个是否为绿色

2.Reality不支持CDN

3.Reality工作原理

一些GitHub issues的零碎信息,完整版本可以等xray-core更新文档

#1734
#1701
#1697
#1697
#1588

4.Xray-core内存问题解答【以下内容来源

Xray 占几百兆内存,并不代表这是最低要求,而是正是因为你有空闲的内存,Xray 才会拿来当缓存、备用,因为不用白不用。

仅此而已,内存完全够用的情况下,却非要追求这个数据的好看,想捂着不让 Xray 用,有什么意义呢?VPS 商家给你退钱?

对于 Xray 这样的代理类软件,内存占用大头在于对被代理数据的缓存,能用的内存多就能多缓存一些数据,麻烦搞清楚状况。

换句话说,内存占用大头取决于你要的缓存数据能力,每个代理软件的默认策略不一样,你调低缓存自然就可以实现数据的好看

5.影响Reality使用体验的几个因素【以下内容来源

目标网站/域名的选择会极大程度地影响 REALITY 代理的延迟、速度、稳定性等:

  1. 至少目前,REALITY 每次都要去拿握手包,需要注意目标网站近不近、稳不稳定(请求多了就把你半拉黑也是一种不稳定)。

  2. 运营商层面可能会给某些域名更高的流量优先级,拥堵时优先保证它们的流量通过。

  3. GFW 层面至少有黑名单(google)和白名单(microsoft),可能还有其它名单,比如偶尔干扰/限速名单(github?)

如果出现今天不可用但是昨天可用的情况,可能出现的原因:

也可能是你们天天逮着 microsoft、apple 之类的偷,GFW 开始测试了,有人说伊朗那边就有运营商在“内测” yahoo 的 IP 白名单。

REALITY 以后会出个缓存模式,提前采集目标网站的特征,就不用每次都去拿了,这也是相对于 ShadowTLS 之类的优势之一。

还有就是 REALITY 隐藏玩法的任意 SNI、无 SNI,对 REALITY 来说,只要服务端 serverNames 写了,客户端 serverName 就能填。
我需要说明一下不是只有 1.1.1.1 和 8.8.8.8,而是绝大多数网站都有“默认证书”。不过不希望这个玩法泛滥,因为特征明显。

6.v1.8.1 增强版 XUDP 的 Global ID & UoT Migration 有什么效果【以下内容来源

v1.8.1 以前,你用任何 UoT,假设服务端用 A 端口与多目标通信,若 TCP 断了,比如切换网络,重连后服务端会改用 B 端口。 v1.8.1 开始,你用 VLESS(包括 Mux.Cool),即使 TCP 断了,重连后服务端还是会用 A 端口。

尤其是,对 P2P 有奇效。从某种程度上来说,这才是真正的 FullCone。双端 Xray-core v1.8.1+ 自动启用,无需额外配置。

可以用 NatTypeTester,先连接家里 WiFi 测一下,再连接手机热点(流量)测一下,你会发现服务端出口端口没变,挺神奇的。

7.Trojan是否可以平替VLESS答疑【以下内容来源

都是 TLS,但怎么用 TLS,是有讲究的,有句话我早就想对鼓吹 Trojan 平替 VLESS 的人说:真以为 Trojan 能用一辈子? 早在三年前的 VLESS BETA 我就给你们说过,光套一层加密并不能掩盖里面的时序特征,所以 VLESS 有 flow 机制。 但是呢,以前的 GFW 没上手段,简单套个 TLS 在实践上的确还可以用,就像 WSS ALPN 一直很明显,但以前它能用。 它们还能用,我就没必要提前出牌,等 GFW 上了手段,我再继续出牌,并且不推荐大家再用旧的 WS、无 flow 等。

有一点需要再次强调,我支持的始终是 TLS 上的百花齐放,而不是 TCP 上的,原因以前说过很多,可以去 v2ray 翻翻。 前段时间不是有个论文嘛,算了不想说了,有空时再评论。 #14

没有评论:

发表评论