0x00 获得VMESS URL

我使用的是V2rayN客户端,直接全选所有节点,然后批量导出分享URL到剪切板即可

0x01 发布订阅信息

订阅信息实际上就是将VMESS URL(每个URL以回车符分隔)进行Base64加密,得到密文做成纯text网页,随便丢到一个安装了apache或nginx服务的服务器即可

测试方法:在浏览器输入该订阅的网址,能访问到完整的Base64密文即可

0x02 发布quantumult订阅信息

quantumult的订阅信息格式跟V2rayN的不太一样,在这里我还踩了一个小坑,且听我详细道来

这里要用到一个小工具,将V2rayN的vmess url转成符合Quantumult格式的vmess url

这是示例的vmess url vmess://ew0KICAidiI6ICIyIiwNCiAgInBzIjogIuekuuS+iyIsDQogICJhZGQiOiAiMTkyLjE2OC4xLjEiLA0KICAicG9ydCI6ICI0MzIxIiwNCiAgImlkIjogImQ3NzFkODlhLTliZWQtNDc2Ny1hNjlkLTE5NjJkY2MyZTY3YyIsDQogICJhaWQiOiAiNjQiLA0KICAibmV0IjogIndzIiwNCiAgInR5cGUiOiAibm9uZSIsDQogICJob3N0IjogIiIsDQogICJwYXRoIjogIi9leGFtcGxlIiwNCiAgInRscyI6ICIiDQp9

使用小工具转换之后的Quantumult vmess url为

vmess://56S65L6LID0gdm1lc3MsMTkyLjE2OC4xLjEsNDMyMSxub25lLCJkNzcxZDg5YS05YmVkLTQ3NjctYTY5ZC0xOTYyZGNjMmU2N2MiLG92ZXItdGxzPWZhbHNlLHRscy1ob3N0PSxjZXJ0aWZpY2F0ZT0xLG9iZnM9d3Msb2Jmcy1wYXRoPSIvZXhhbXBsZSJvYmZzLWhlYWRlcj0iSG9zdDoi

首先,比较一下V2rayN和Quantumult的vmess url,两者看似非常相似,除了vmess://相同之外完全不一样。可是你说它不一样吧,它也没个规律比较啥也无从下手

既然订阅密文是将vmess url 通过base64加密之后得到的,那么vmess://后面这一串东西是不是也是通过base64加密得到的密文呢,那就解密试试吧

这是V2rayN的Vmess://后一串密文解密的结果

{
  "v": "2",
  "ps": "示例",
  "add": "192.168.1.1",
  "port": "4321",
  "id": "d771d89a-9bed-4767-a69d-1962dcc2e67c",
  "aid": "64",
  "net": "ws",
  "type": "none",
  "host": "",
  "path": "/example",
  "tls": ""
}

这是Quantumult的Vmess://后一串密文解密的结果

示例 = vmess,192.168.1.1,4321,none,"d771d89a-9bed-4767-a69d-1962dcc2e67c",over-tls=false,tls-host=,certificate=1,obfs=ws,obfs-path="/example"obfs-header="Host:"

通过比较,vmess://后面是base64加密的密文实锤了

可是将这个vmess url追加到原有的url列表时,Quantumult却只能识别先前的url,而这个追加的无论是单独设为订阅,或是与原来的url一起设为订阅,都无法识别

更神奇的是,小工具生成Quantumult订阅url时,会同时生成二维码,使用Quantumult应用扫描这个二维码,或者复制这个url通过剪贴板导入的方式,都可以成功识别并添加该服务器

既然如此,那我们就看看这个Quantumult与原有的url列表中的服务器有什么不一样

新的Quantumult vmess url

示例 = vmess,192.168.1.1,4321,none,"d771d89a-9bed-4767-a69d-1962dcc2e67c",over-tls=false,tls-host=,certificate=1,obfs=ws,obfs-path="/example"obfs-header="Host:"

旧列表中的Quantumult vmess url

示例 = vmess,192.168.1.1,4321,none,"d771d89a-9bed-4767-a69d-1962dcc2e67c",group=Fndroid,over-tls=false,tls-host=,certificate=1,obfs=ws,obfs-path="/example"obfs-header="Host:"

可以看到,只是多了一个group字段,于是将原来的url添加上group字段,然后base64加密这段字符串追加到vmess://后面

将这个vmess url追加到原有的vmess url列表中,并将url列表进行base64加密,就可以发布订阅了

当然这次是能够识别并添加成功了