无论你使用的是何种节点,请先添加
资源解析器
后,再进行操作1.1 节点订阅引用(ss/ssr/vmess/https/trojan)1.2 UI/文本 添加示范(ss/ssr/vmess/https/trojan)1.3 👍️👍️资源解析器👍️👍️A. 添加方法B. 功能介绍B. 使用示范C. 效果示范1.4 ⚠️⚠️进阶教程:节点订阅第三方 API 的使用⚠️⚠️A. UDP & TFO 参数B. ㊙️ 节点list 过滤 ㊙️(利用参数过滤节点)C. list订阅&策略组的绑定1.5 节点/订阅 后续操作
目前来说,Quantumult X 共支持 5⃣️种 类型的服务器:
SS, SSR, VMess, HTTP(s),Trojan
UI中的
添加
只支持输入简单 ss 信息引用
支持 ss,ssr 订阅,以及 Quanx 格式的 vmess / https / trojan 订阅
使用解析器后则支持其它任何格式订阅扫码
跟 URI
支持 ss、ssr以及 Quanx 格式的 vmess / https / trojan uri/二维码
1.0.13 + 解析器 后则支持其它格式单节点配置文件 [server_local]
支持手写 ss/ssr/vmess/https/trojan,
格式参照 配置文件/示例
,或下面的 1.2 部分细分来说吧,共有以下
三种
导入节点的方式- 订阅导入:
ss/ssr,可直接通过订阅方式导入
,而 Vmess / https / trojan, 暂时只支持Quantumult X 格式
(见1.2部分文本示范
)的订阅格式链接导入,(其它格式请参照下方1.3 的资源解析器);
- UI扫码/URI 加入,支持ss/ssr,或者Quantumult X 格式编码的vmess/http 二维码,
- 其它格式请参照 1.3 解析器部分 的本地资源片段引用
- 如果是
版本 1.0.13+
,则可添加解析器后
直接通过扫码、uri 导入任何格式节点 - 添加后,节点会出现在配置文件的
[server_local]
部分
- 通过 配置
文本编辑 手动添加
,支持所有节点类型,ss/ssr/vmess/https/trojan,格式参照app内的示范配置,或本教程的 1.2部分; - 如果你只有节点信息,请选用此方式手动添加
具体操作方式如下:
1.1 节点订阅引用(ss/ssr/vmess/https/trojan)
引用(订阅)的节点,对应配置文件的
[server_remote]
部分,标准写法如下:[server_remote] #可直接订阅 SSR,SS 链接,以及 Quantumult X 格式的 vmess/trojan/https 订阅 #虽然模块被叫做remote,但实际上可以使用远程订阅链接,也可以使用本地/iCloud文件路径进行引用 #远程订阅 https://raw.githubusercontent.com/crossutility/Quantumult-X/master/server.txt, tag = 示范订阅 1 (可删除), enabled=true #本地文件,文件内为quanx可识别格式的服务器信息 server.txt, tag = 示范订阅 2 (可删除), enabled=true
当然,最方便的,也最推荐的,是在APP内UI中进行操作,具体如下
展开查看详细内容
- 如果你机场提供 ss/ssr 订阅 以及
标明支持 quantumultX 格式的 V2/http/trojan 订阅
,那你可以直接通过引用导入;
- 如果只是
普通的 v2ray 订阅链接
,请参照1.3 部分
利用api 进行转换导入
- 如果是普通的
http订阅链接/trojan链接?
,那算了,我也不知道什么机场会这样
- 另外,最新TF版本增加了对订阅链接图标(
图b
)的支持 - 进入配置文件, [server_remote], 在你的订阅后加上 ", img-url = xxxx.png "
- 图片格式要求与策略组图标一致(
3.4 部分
)
a. 操作步骤
b. 显示界面
1.2 UI/文本 添加示范(ss/ssr/vmess/https/trojan)
展开查看详细内容
在上图中间部分,通过 添加/SS-URI/扫码 等方式将单条/多条ss/ssr 线路添加到本地,或
文本编辑添加到配置文件的
[server_local]
部分,格式与其它app均有所不同,具体如下:# 以下示范都是 ip(域名):端口, # 比如 vmess-a.203.167.55.4:777 ,实际是 203.167.55.4:777 # 前面的 ss-a,ws-tls, vmess-a 这些,只是为了让你快速找到自己节点的类型 # 实际使用时,请不要真的 傻乎乎的 写 vmess-a.203.167.55.4:777 这种。 shadowsocks=ss-a.example.com:80, method=chacha20, password=pwd, obfs=http, obfs-host=bing.com, obfs-uri=/resource/file, fast-open=false, udp-relay=false, server_check_url=http://www.apple.com/generate_204, tag=Sample-A shadowsocks=ss-b.example.com:80, method=chacha20, password=pwd, obfs=http, obfs-host=bing.com, obfs-uri=/resource/file, fast-open=false, udp-relay=false, tag=Sample-B shadowsocks=ss-c.example.com:443, method=chacha20, password=pwd, obfs=tls, obfs-host=bing.com, fast-open=false, udp-relay=false, tag=Sample-C shadowsocks=ssr-a.example.com:443, method=chacha20, password=pwd, ssr-protocol=auth_chain_b, ssr-protocol-param=def, obfs=tls1.2_ticket_fastauth, obfs-host=bing.com, tag=Sample-D shadowsocks=ws-a.example.com:80, method=aes-128-gcm, password=pwd, obfs=ws, obfs-uri=/ws, fast-open=false, udp-relay=false, tag=Sample-E shadowsocks=ws-b.example.com:80, method=aes-128-gcm, password=pwd, obfs=ws, fast-open=false, udp-relay=false, tag=Sample-F shadowsocks=ws-tls-a.example.com:443, method=aes-128-gcm, password=pwd, obfs=wss, obfs-uri=/ws, fast-open=false, udp-relay=false, tag=Sample-G vmess=ws-c.example.com:80, method=chacha20-ietf-poly1305, password= 23ad6b10-8d1a-40f7-8ad0-e3e35cd32291, obfs-host=ws-c.example.com, obfs=ws, obfs-uri=/ws, fast-open=false, udp-relay=false, tag=Sample-H vmess=ws-tls-b.example.com:443, method=chacha20-ietf-poly1305, password= 23ad6b10-8d1a-40f7-8ad0-e3e35cd32291, obfs-host=ws-tls-b.example.com, obfs=wss, obfs-uri=/ws, tls-verification=true,fast-open=false, udp-relay=false, tag=Sample-I vmess=vmess-a.example.com:80, method=aes-128-gcm, password=23ad6b10-8d1a-40f7-8ad0-e3e35cd32291, fast-open=false, udp-relay=false, tag=Sample-J vmess=vmess-b.example.com:80, method=none, password=23ad6b10-8d1a-40f7-8ad0-e3e35cd32291, fast-open=false, udp-relay=false, tag=Sample-K vmess=vmess-over-tls.example.com:443, method=none, password=23ad6b10-8d1a-40f7-8ad0-e3e35cd32291, obfs-host=vmess-over-tls.example.com, obfs=over-tls, tls-verification=true, fast-open=false, udp-relay=false, tag=Sample-L http=http.example.com:80, username=name, password=pwd, fast-open=false, udp-relay=false, tag=http http=https.example.com:443, username=name, password=pwd, over-tls=true, tls-verification=true, tls-host=example.com, fast-open=false, udp-relay=false, tag=http-tls trojan=example.com:443, password=pwd, over-tls=true, tls-verification=true, fast-open=false, udp-relay=false, tag=trojan-tls-01 trojan=192.168.1.1:443, password=pwd, over-tls=true, tls-host=example.com, tls-verification=true, fast-open=false, udp-relay=false, tag=trojan-tls-02
1.3 👍️👍️资源解析器👍️👍️
版本
Quantumult X (v1.0.8-build253)
后,作者引入了资源解析器,可以用于所有 remote 资源的解析转换 ( 格式请看 作者示范链接)。所谓的资源解析器,其用途是将任何格式的
服务器订阅、规则、复写
等资源,通过解析器转换成 Quanxtumult X 所支持的格式(当然,前提是解析器内有对应的处理模块)。鉴于规则跟复写相关的 QuantumultX 规则已经比较齐全,但服务器订阅方面,仍旧有不少机场没有提供 QuantumultX 特有格式的片段引用。
所以,我写了一个粗略的节点资源解析器,用于将各种格式的订阅转换成QuantumultX 格式,并提供节点筛选、udp/tfo 开启,节点重命名以及旗帜 emoji 等简单功能:
相比于常见的在线 API,资源解析器的最大优势:
- 完全本地解析,无暴露服务器风险;
- 无需
URLencode
步骤,直接填入原始订阅链接即可,更可直接使用中文参数(空格除外)
A. 添加方法
0⃣️ 在Quantumult X 配置文件中
[general]
部分,加入[general] resource_parser_url=https://raw.githubusercontent.com/KOP-XIAO/QuantumultX/master/Scripts/resource-parser.js
⚠️⚠️如提示"
没有自定义解析器
",请长按右下角图标后点击左侧刷新按钮,更新资源,后台退出 app,直到出现解析器说明B. 功能介绍
主要功能: 将节点订阅解析成Quantumult X引用片段, 并提供下列可选参数(已支持 V2RayN/SSR/SS/Trojan/Quanx/Surge(conf&list)订阅);
附加功能:rewrite (复写) /filter (分流) 过滤,可用于解决无法单独禁用远程引用资源中某 (几) 条 rewrite/hostname/filter,以及直接导入 Surge 类型规则 list 的问题
参数说明
0️⃣ 请在订阅链接后加入 "#" 符号后再加参数, 不同参数间请使用 "&" 来连接, 如:
https://mysub.com#in=香港+台湾&emoji=1&tfo=1 #如果是本地资源引用,请将参数 "#in=xxx" 填入资源文件第一行 (参考图 C)
1️⃣ ”节点“订阅--参数说明
- in, out, 分别为 保留/排除, 多参数用 "+" 连接(逻辑"或"), 逻辑"与"请用"."连接,可直接用中文, 空格用"%20"代替 (如 "
in=香港.IPLC.04+台湾&out=香港%20BGP
" )
- regex , 利用正则表达式以筛选节点
- emoji=1,2 或 -1, 为添加或删除节点名中的 emoji 旗帜 (国行设备请用 emoji=2 )
- udp=1/-1, tfo=1/-1 参数开启 udp-relay 及 fast-open
- rename 重命名, rename=旧名@新名, 以及 "前缀@", "@后缀", 用 "+" 连接, 如 "
rename=香港@HK+[SS]@+@[1X]
"
- delreg 参数,利用正则表达式以删除节点名中的字段
- replace 参数,正则替换 server 中的内容,可用于重命名、更改加密方式等需求
- cert=0,跳过证书验证(vmess/trojan),即强制"
tls-verification=false
"
- tls13=1, 开启 "tls13=true"(vmess/trojan), 请自行确认服务端是否支持;
- sort=1 / -1 / x , 排序参数,分别根据节点名 正序 / 逆序 / 随机 排列;
- info=1, 开启通知提示流量信息(前提:原订阅链接有返回该信息),默认关闭;
2⃣️ ”rewrite(复写)/filter(分流)“ 引用--参数说明
- 分流、复写规则 筛选参数 "
in=xxx
" 以及 "out=xxx
", 多个参数用 "+" 连接;
- 主机名筛选参数 "inhn=xxx" 以及 "outhn=xxx", 多个参数用 "+" 连接;
- regex,利用正则表达式以筛选分流规则、重写、主机名等
- 分流规则额外支持 "policy=xx" 参数, 可用于直接指定策略组,或者为 Surge 格式的 rule-set 生成策略组(默认"Shawn"策略组)
3⃣️ 通用参数:ntf=1, 用于打开资源解析器的提示通知 (默认关闭),
- rewrite/filter 类型则会强制在有 out 参数时开启通知提示被删除(禁用)的内容,以防止规则误删除
B. 使用示范
I. 节点订阅 (图A)
1⃣️ 假设你的订阅连接为:
https://raw.githubusercontent.com/crossutility/Quantumult-X/master/server-complete.txt
2⃣️ 假设你想要保留的参数为
in=tls+ss
, 想要过滤的参数为 out=http+2
, 请注意下面订阅链接后一定要加 ”#“ 符号3⃣️ 则填入 Quanx 节点引用的的总链接为
https://raw.githubusercontent.com/crossutility/Quantumult-X/master/server-complete.txt#in=tls+ss&out=http+2
4⃣️ 填入上述链接并打开的资源解析器开关
II. 分流规则、重写规则 的解析(图B)
同上,具体参数可见解析器说明
[filter_remote] https://Advertising.list#policy=Shawn&out=aweme, tag=🚦去广告,update-interval=86400, opt-parser=true, enabled=true
III. 本地片段引用(图C)
适用场景:
- 添加单条 vmess/trojan 的 uri链接:vmess://xxxx...;
- 临时添加节点,但不想放到 local 里无法分组
- 本地规则、复写的操作
C. 效果示范
A. 节点订阅转换/过滤
B. rewrite 复写引用过滤
C. 解析本地资源引用示范
1.4 ⚠️⚠️进阶教程:节点订阅第三方 API 的使用⚠️⚠️
解析器目前已经实现了API的绝大部分功能,所以更加建议使用
资源解析器
。但如果对API情有独钟的,仍旧可以参照以下使用教程
之所有需要第三方 API,主要有三个作用:
1 - ss/ssr/v2ray 订阅不包含 UDP 跟 TFO 参数,第三方 api 可以解决;
2 - 有时不想要订阅内所有的节点,第三方 api 可以过滤筛选;
3 - QuantumultX 暂时不支持V2RayN 订阅链接, 以及surge的托管及list资源,第三方 api 可以提供转换
下面是常用的三个第三方 API,按需选择使用 (对于Quantumult X 来说,第一个就够用了)
我自己写的 API:
Fndroid 大佬的 API
Tindy X的超全能 API 在线版本
以下说明仅针对第一个 API (
KOP-XIAO- QuantumultX-Surge-API
),API可实现的功能较多,下面会挑几个常用的具体示范。其它请自行参考相应参数跟使用说明A. UDP & TFO 参数
由于普通的 ss/ssr/v2ray 订阅中不含 UDP/TFO 参数,所以远程引用导入后,quantumultX 也默认将其设置为:
udp-relay=false,这样可以确保节点不支持 udp 转发时,不会影响使用。
由于F大懒,所以我自己写了一个可以将各种订阅转换成 quanx 格式的的API,分别将
ssr订阅
/ ss订阅
转换成quantumultx
的格式,并可自己打开udp跟tfo参数:udp/tfo=1 表示打开udp跟tfo参数的开关(true); udp/tfo=0 表示关闭udp跟tfo参数的开关(false) 目前quantumult X 中,不支持 v2ray 的 udp 转发,所以上述参数对 V2 无效
当然, 如果你确认你的节点支持 udp 转发,可手动导入本地,并添加:
udp-relay=true
B. ㊙️ 节点list 过滤 ㊙️(利用参数过滤节点)
订阅里可能节点很多,而你只想要其中一部分,那么你可能就需要API来帮你过滤节点了
你可以使用正则参数:filter
如果不会正则,则可以使用简化的参数 in 跟 out来实现同样目的
如果你不想手动
urlencode
之类,请直接去 API网站 操作- 你的订阅链接为 : https://example.com,urlencode 之后为:https%3A%2F%2Fexample.com
- 则sub参数为:
sub=https%3A%2F%2Fexample.com
- 你想保留节点中名字包含“香港”的节点,则
in=%E9%A6%99%E6%B8%AF
- 你想去掉节点中 4倍率 节点(名字为 4X), 则
out=4X
最后链接为
https://dove.589669.xyz/all2quanx?&sub=https%3A%2F%2Fexample.com&in=%E9%A6%99%E6%B8%AF&out=4X
然后填入Quantumult X的
节点/引用
即可这里只说几个注意事项:
- 订阅链接请先urlencode之后再接入 sub 参数后;
- API中的filter的正则参数同样需要先行UrlEncode;
- 正则过滤请先用 .*开始,比如你想要名字中含
游戏
的节点,拿.*游戏
放到 urlencode 网站进行 encode,结果 .%2A%E6%B8%B8%E6%88%8F,那么过滤的正则表达式为:filter=.%2A%E6%B8%B8%E6%88%8F
#示范,只选择某ssr订阅中(https://example.com),名字中含有 “游戏” 的节点,并添加国家地区emoji https://dove.589669.xyz/all2quanx?&tfo=1&udp=1&emoji=2&filter=.%2A%E6%B8%B8%E6%88%8F&sub=https%3A%2F%2Fexample.com
C. list订阅&策略组的绑定
在将节点按地区或功能分类后,有一种需求,是将策略组与节点订阅绑定,从而在节点增减时,策略组也能随之同步(类似 surge 的 policy-path,clash 的 proxy-provider)
然而 Quantumult X开发者觉得这种设计不够灵活,因此只是隐性的支持了这种操作,下面就将给出操作示范: 将Dler的IPLC节点单独订阅,并捆绑策略组
最新版本1.0.10后,提供
两种
将 节点订阅 与 策略组绑定 的方法 (原先的 ui 绑定操作已无效)1. 通过 as-policy 参数绑定
新版本中,可通过在
[server-remote]
中指定 as-policy
参数,从而生成相应策略组并绑定:[server-remote] https://xxxx.server.com, tag=Hong Kong, as-policy=static, img-url=https://raw.githubusercontent.com/Koolson/Qure/master/IconSet/HK.png, enabled=true ;这样就会生成一个叫Hong Kong的策略组, 类型是static, 由 as-policy决定
这样就会生成一个叫Hong Kong (tag参数决定)的策略组, 类型是static (由 as-policy参数决定)
同样可以
as-policy = available
或者
as-policy=round-robin
绑定后,策略组中节点也将随订阅的变动而自动更新变动
2. 👍👍regex 参数👍👍
相比于 as-policy,新 regex 参数更加灵活与强大,具体使用请见3.6 部分
⚠️ ⚠️ Quantumult X 的 regex 筛选只适用于
server_remote
的节点 ⚠️ ⚠️ 1.5 节点/订阅 后续操作
- 长按
节点
模块,可进入订阅列表
- 订阅列表里可
左/右 ↔️ 滑动
,进行图中对应操作,以及长按
对订阅进行排序;
- 列表的每个链接的
右上角
,会显示最近一次的更新时间