节点添加
🔕

节点添加

💡
无论你使用的是何种节点,请先添加 资源解析器后,再进行操作
 
 
目前来说,Quantumult X 共支持 5⃣️种 类型的服务器:SS, SSR, VMess, HTTP(s),Trojan
notion image
 
💡
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 部分
 
细分来说吧,共有以下三种 导入节点的方式
  1. 订阅导入: ss/ssr,可直接通过订阅方式导入,而 Vmess / https / trojan, 暂时只支持Quantumult X 格式(见1.2部分文本示范)的订阅格式链接导入,(其它格式请参照下方1.3 的资源解析器);
      • 所以如果你有订阅链接,请选择此方式;
      • 如果你使用了资源解析器,同样可以通过本地资源片段来进行订阅管理[详细步骤]
      • 订阅后,会出现在配置文件的 [server_remote] 部分
  1. UI扫码/URI 加入,支持ss/ssr,或者Quantumult X 格式编码的vmess/http 二维码,
      • 如果是 版本 1.0.13+,则可添加解析器后直接通过扫码、uri 导入任何格式节点
      • 添加后,节点会出现在配置文件的 [server_local] 部分
  1. 通过 配置文本编辑 手动添加,支持所有节点类型,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. 操作步骤
notion image
 
b. 显示界面
notion image
 

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. 节点订阅转换/过滤
notion image
B. rewrite 复写引用过滤
notion image
C. 解析本地资源引用示范
notion image
 

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网站 操作
  1. 你的订阅链接为 : https://example.com,urlencode 之后为:https%3A%2F%2Fexample.com
  1. 则sub参数为:sub=https%3A%2F%2Fexample.com
  1. 你想保留节点中名字包含“香港”的节点,则 in=%E9%A6%99%E6%B8%AF
  1. 你想去掉节点中 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的 节点/引用 即可
这里只说几个注意事项:
  1. 订阅链接请先urlencode之后再接入 sub 参数后;
  1. API中的filter的正则参数同样需要先行UrlEncode;
  1. 正则过滤请先用 .*开始,比如你想要名字中含 游戏 的节点,拿 .*游戏 放到 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 节点/订阅 后续操作

  • 长按节点模块,可进入订阅列表
  • 订阅列表里可 左/右 ↔️ 滑动,进行图中对应操作,以及长按 对订阅进行排序;
  • 列表的每个链接的 右上角,会显示最近一次的 更新时间
notion image