# 前言

### 关于本项目

本项目是由[Lucky](https://t.me/lucky1108t)发起【整点猫咪和INAISI】协助完成的非官方Quantumult X Wiki Book，汇聚了目前网络上的一些现有的Quantumult X（后面简称QX）教程中的相关内容整理而成，对先行者表示感谢！因知识水平有限，其中可能会存在一些错漏之处，欢迎指正。

快速上手使用QX请点击：[快速入门](/shi-yong-fang-fa)

### 关于QX

Quantumult X 是 iOS /macOS/Apple tvOS 17系统下的代理软件客户端，功能强大且支持多种代理协议。

### 购前须知

购买方式：

**非中国区**App Store商店，见👇链接

{% embed url="<https://apps.apple.com/app/id1443988620>" %}
点击购买，请支持正版！
{% endembed %}

QX已经从中国大陆区的iOS App Store下架，中国大陆商店购买此软件的用户将不能获得更新或重新下载。 如果购买QX需要从其它国家地区的App Store购买，当前美国区不含税价格为$7.99。

如果你想购买QX，并且没有其它国家地区的Apple ID，可以[参考此教程注册一个美国区Apple ID ](https://www.evan888.top/1853/) 。并从[**苹果的美国官方网站**](https://www.apple.com/shop/gift-cards)购买 10 美元的 gift card（最小购买数量为10美元），自己进行购买使用。**不要** 去借所谓的朋友的 Apple ID 进行下载使用，或者去淘宝咸鱼之类的地方购买成品 Apple ID/ 兑换码，因为这些并不安全，很多是盗刷 / 黑卡，同时因为 Quantumult X 有**共享验证**，会导致你的钱白花了 app 还没法使用。当然，如果你有值得信任的人可以让他在外区购买兑换码，兑换到 **自己** 的外区 Apple ID 中。

⚠️提醒：选择地址时候请注意选择**免税州**。

五大免税州的具体免税情况如下：

&#x20;   1、阿拉斯加州，购物消费税：1.76%

&#x20;   2、特拉华州，购物消费税：0%

&#x20;   3、蒙大拿州，购物消费税：0%

&#x20;   4、新罕布什尔州，购物消费税：0%；餐馆消费税率：8%

&#x20;   5、俄勒冈州，购物消费税：0%；餐馆消费税率：5%

在外区目前存在 Quantumult 和 Quantumult X 这两个为同一作者的 app，购买时请选择名称为**Quantumult X** 的**蓝色**图标版，不带 X 的灰色版作者已经停更 3 年，非收藏目的不建议购买。

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FJ5kAE3AJJpXra2nqXbj5%2FIMG_3379.png?alt=media&amp;token=c056a53d-7445-4e20-bde1-9066693a01c9" alt="" width="375"><figcaption></figcaption></figure>

目前已经支持 macOS，购买过 QuantumultX 的账户无需另外付费，可以直接下载使用，如显示需要购买，请放心点击不会扣费。

macOS系统上的界面和使用方法与iOS几乎相同。

**兼容性：**

`iPhone 需要iOS 13.0或更高版本。`

`iPad 需要iPadOS 13.0或更高版本。`

`iPod touch 需要iOS 13.0或更高版本。`

`Mac 需要macOS 11.0或更高版本。`

`Apple TV 需要tvOS17.0或更高版本。`\
&#x20;

如果在使用过程中，有任何问题，可以与官方的反馈邮箱：<support@quantumult.app> 联系

本次编写过程中，得到了 @[LUCY\_1024 ](https://t.me/LUCY_1024)@[整点薯条](https://t.me/GetSomeFriesChannel) 还有一些群里小伙伴的大力协助，十分感谢！

特别鸣谢：[@KOP-XIAO](https://github.com/KOP-XIAO)，感谢他的资源解析器以及对其教程搬运授权！


# 首次使用

在首次使用 Quantumult X 的时候会弹出询问本地网络、无线数据及通知的权限申请，请选择如下图红框中的允许并给于相应的权限。

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FxzOJLZVE75Ij8JJtnrtl%2FIMG_3347-1.png?alt=media&amp;token=50f08ea1-63c4-40d8-b7bf-b43dd5026b59" alt="" width="375"><figcaption></figcaption></figure>


# 验证正版

QX允许**合理范围**内的共享使用，但是**禁止滥用**。

当前QX的授权验证方式为：

1、App Store 购买的 Quantumult X 可以与最多6位家庭成员或朋友共享。 如果此收据相关的iCloud用户数远超 6位，对于余下的 iCloud 用户（未在此列表中显示） Quantumult X的某些功能可能会被限制。

2、使用 iCloud 验证并无设备数量限制，即同一个iCloud下QX不限制设备数量。

3、设备数量无法靠登出自己当前的 iCloud 再登入别人已验证的 iCloud 来辅助验证，以当前设备第一次（或还原系统后第一次）启用的 iCloud 为准。

{% hint style="info" %}
注：可以美区 App Store 其他区域的 iCloud，以首次使用 Quantumult X 并开启 iCloud 功能的 iCloud 为准。
{% endhint %}

4、未登录iCloud时，限制8台设备。

5、QX的最新商店版已经支持了全系Mac，在Mac上对QX进行验证方法见下图：

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FtJGyNENc4UNm1n6O0X01%2Fphoto_2024-01-31%2020.12.12.jpeg?alt=media&amp;token=4a0dae53-dd41-44ab-bb02-c5599fbc4492" alt=""><figcaption></figcaption></figure>

### 查看方式

点开 QX app，点击右下角的风车图标进入设置页面，拉到最底下，选择其他设置，拉到最底下观察版本号旁边的云朵☁️状态：蓝色✓为正版，红色✕为盗版 / 共享版，绿色问号❔则表示无法验证，需要登陆购买的 Apple ID 进行再次验证。

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FHMJFcIqc0L9IhgT46UDp%2FIMG_3385-1.jpg?alt=media&amp;token=c5f8f457-be68-43f9-8c39-c8d04efccf52" alt="" width="375"><figcaption></figcaption></figure>

注意⚠️：非正版状态会影响软件的功能，导致功能不可用。

<br>


# 使用方法

## 快速入门

{% hint style="info" %}
建议开始使用时候按照先导入配置后添加订阅的步骤进行
{% endhint %}

### 下载配置

{% hint style="info" %}
QX系统本身已经自带一个简单的配置文件，导入机场的订阅节点后即可使用。

下载配置为建议优先步骤，可以跳过。

下载配置会**覆盖**当前使用的**全部配置内容**（包括节点、订阅、分流重写等），如当前已有配置，下载配置前**建议**通过导出配置操作进行**备份**。
{% endhint %}

下载配置的操作步骤见后面[下载配置](/shi-yong-fang-fa/xia-zai-pei-zhi)页面

### 导入订阅

文字流程

**打开App点击右下角的彩色风车图标进入设置页->点击节点资源->点击右上角链接图标🔗->资源路径栏粘贴上订阅地址(必须)、资源标签写上机场名字（可选)->右上角✔保存->点上开关（首次运行时会询问是否允许VPN，选择是)->选择节点即可使用。**

这里以机场最常见的v2board面板为例，展示如何添加订阅进行使用。见下图

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FM5MziDKrWV2SoagfHC8o%2FIMG_6133_1.png?alt=media&amp;token=f91f3116-cd3a-488a-9f20-6a0c54acfbde" alt=""><figcaption><p>图一</p></figcaption></figure>

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FUuZMcNGMbM8EJTIOJFye%2Fsnagit004.png?alt=media&amp;token=8d45e699-20d9-4cae-9289-c5ecac6c0e2b" alt=""><figcaption><p>图二</p></figcaption></figure>

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FYXBltvH1B28VWgqgmo6V%2Fsnagit005.png?alt=media&amp;token=e894fc2e-539a-4aa8-9c48-fad24e3aef7b" alt=""><figcaption><p>图三</p></figcaption></figure>

如果想使用更多的功能，对不同的App采取不同的分流，见下一章节。

{% hint style="danger" %}
如果想完整的体验QX的相关功能，规则分流模式下设置里面的[重写](/shi-yong-fang-fa/pei-zhi-wen-jian-xiang-jie/zhong-xie-rewrite)和[MITM](/shi-yong-fang-fa/pei-zhi-wen-jian-xiang-jie/mitm)的开关需要打开。
{% endhint %}


# 界面&&操作

QuantumultX是一款很有开发者个人风格的app，很多的操作是通过点击、长按、左滑、右滑来呼出二级菜单进行的。

不同的界面有不同的内容，可以根据图示来认识各种图标的意义和功能。


# 主界面

打开QX App的第一个页面称之为主界面，主界面上有大量的入口和图标信息，下面以一个已经有完善配置的讲解一下主界面的一些图标意义和操作。

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FZNJwXVAetKS5itwkrubl%2FIMG_6191.png?alt=media&amp;token=83e49b4d-5d01-4928-8c47-a8145415622a" alt=""><figcaption><p>图一</p></figcaption></figure>

{% hint style="warning" %}
补充：节点前标识：

* ⚠︎：表示有节点名称重复
  {% endhint %}

iPad界面下的图标含义及操作介绍

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2Fx5VM3XtExKRmWAyfVutA%2FUI1.JPEG?alt=media&amp;token=e1376acf-4aa3-4bdb-b2ac-b36540ed5b5d" alt=""><figcaption></figcaption></figure>

**「风车」按钮**

单击「风车」按钮进入「设置」页面

长按「风车」按钮，进入设置分流模式与资源更新界面

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2Fi6ZphgPZy5HG6Aq3mYGS%2FUI2.PNG?alt=media&amp;token=710d9931-9946-414e-adfb-1ffd4702aa80" alt=""><figcaption></figcaption></figure>

* 设置分流模式
  * 蓝绿色风车：全部代理，即所有请求均使用PROXY选择的节点访问
  * 纯黄色风车：全部直连，即所有请均不使用节点访问
  * 三色风车：规则模式，由分流规则及所有策略（内置以及自定义策略）共同決定是否通过节点以及通过什么节点访问。
* 资源更新
  * 点击🔁圆形按钮更新所有外部资源，包括节点、分流、重写及其引用的脚本
  * 如果只需要更新节点或重写，可以进入设置-分流/重写-资源规则，对指定的资源左滑，点击🔁单独更新；或点击右上角全部更新
  * 如果需要更新重写内的脚本，可以左滑指定重写资源，点击「🔍」→「全部更新
* 当左上角出现红色🔺警告时，表示有资源出现问题，可能是引用了错误的资源或不符合QX的资源格式，点击该🔺警告按钮，即可查看出现问题的资源

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2F8YBGxNfMDO3FlKbQaTIP%2FUI3.PNG?alt=media&amp;token=9dbebd31-b274-4b9f-8924-a809f0eb035f" alt=""><figcaption></figcaption></figure>


# 设置页面

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FsuzVQ0NPsUGnT0DHB8Iq%2FIMG_6422.jpeg?alt=media&amp;token=4d4c3562-f8b3-469d-a61a-f557038aded2" alt=""><figcaption></figcaption></figure>


# 面板&工具栏

此页面内的选项主要是与QX的外观相关。

### 排序

对首页的面板进行排序

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2F9lTXO1zjLPGedxu7jwP4%2Fsnagit034-list.png?alt=media&amp;token=f28a8fa5-6f1f-40b7-ae71-e9fdef3a1b85" alt=""><figcaption></figcaption></figure>

### 样式

#### 面板样式

有大、小、线条三种选项，效果见下图：

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FhktKjeTcnrSzGo1dIOpK%2Fsnagit036-panel.png?alt=media&amp;token=c1f10a92-a67e-4bad-92b9-d3d9826058d6" alt=""><figcaption></figcaption></figure>

#### 页面切换样式

水平和垂直两种选择

使用水平切换样式，普通页面可以在页面边缘或者中间水平滑动至上一页，内容编辑页面可在页面边缘滑动返回至上一页。

#### 工具栏样式

首页底下工具栏的样式，有圆角和默认的选项，具体样式见下图：

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FdVJWW1d2JH4Nh1B6YPBJ%2Fsnagit037-panel.png?alt=media&amp;token=0c5b1c52-86df-408d-a7c5-51fc83503e2e" alt=""><figcaption></figcaption></figure>

### 工具栏

工具栏即打开App最底下那一排，除了最右边三种颜色风车代表不同出站样式，其余的工具栏是可以进行自定义的。具体见下图说明

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2F73pL4bX6NIteWZO5xWh6%2Fsnagit038-panel.png?alt=media&amp;token=62240090-7d29-4cae-9375-3ce72f2c39e5" alt=""><figcaption></figcaption></figure>

工具栏中图标1和4的是固定不可修改的，只能通过长按呼出另外一个选项

2、3、5可以根据需求改成选中的工具，而通过在图标上长按呼出对应的工具。


# 其他设置

QX 的其它设置页面中，可以对它进行一些高级设置。

## 模式

在此选项中，可以更改QX的出站模式，有全部代理（首页右下角为蓝色风车）、全部直连（首页右下角为黄色风车）、规则分流（首页右下角为三色风车）三种模式（见下图）

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2F8auYqTFkknCuYXwhJhz4%2Fsnagit040-settings.png?alt=media&amp;token=28a5ff9a-b70f-48c1-95ee-6406b4479727" alt=""><figcaption><p>出站模式说明</p></figcaption></figure>

同时可以更换出站接口，有默认、强制蜂窝网、Wi-Fi&蜂窝网、Wi-Fi&蜂窝网（负载均衡）四种模式

默认：当处于Wi-Fi时候使用Wi-Fi，处于仅有蜂窝网时使用蜂窝网数据；

强制蜂窝网：当处于Wi-Fi时候仍使用蜂窝网数据；

Wi-Fi&蜂窝网：当处于Wi-Fi网络时候同时使用Wi-Fi网络及蜂窝网络建立TCP连接，使用拥有最佳TCP握手值的连接来传输数据（请注意：这意味着任何时候都会使用你的蜂窝网数据，请注意你的流量套餐）

Wi-Fi&蜂窝网（负载均衡）：当处于Wi-Fi网络时候，均衡使用Wi-Fi网络与蜂窝网络，以提升并发任务的出口带宽（请注意：这意味着任何时候都会使用你的蜂窝网数据，请注意你的流量套餐）

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FgrS0QwETmOOzSwqwk1Jv%2Fsnagit039-settings%20(1).png?alt=media&amp;token=5c8f5667-4ab4-42d3-af6d-21af998aefd7" alt=""><figcaption><p>出站接口说明</p></figcaption></figure>

## 资源

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FtHxaqoQtarY7TYcyMshM%2Fsnagit043-settings.png?alt=media&amp;token=a3a3b668-f272-45cb-a610-9a2368a3a490" alt=""><figcaption></figcaption></figure>

资源是设置QX的配置文件存储地方的，如果勾选上了iCloud云盘，则配置文件是默认存储在“iCloud云盘-Quantumult X”文件夹内的，否则路径是“我的iPhone-Quantumult X”，里面一般有三个文件夹Script、Profiles、Images，分别存放着脚本、配置片段和自定义策略图标文件。

Apple TV是在其中可以选择被同一个iCloud账号下Apple TV版Quantumult X所加载的配置文件。

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FFJELmld4bN17wkSa3d54%2Fsnagit044-settings.png?alt=media&amp;token=e801ae17-78e5-47cb-a30a-bf0fc40d9a14" alt=""><figcaption><p>Apple TV内选项</p></figcaption></figure>

自动更新选项是作用于没有专有更新周期选项的相关资源，例如资源解析器、HTTP重写及计划任务等使用的JavaScript脚本资源。例外的是图片资源，图片资源一旦缓存成功则不会自动更新，只能通过删除图片缓存来重新下载图片资源进行更新。

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FyEvitECrpgh3CKK0SrGK%2Fsnagit041-settings.png?alt=media&amp;token=6df98b49-1929-42dd-93ac-a0ef2aba7f40" alt=""><figcaption><p>自动更新设置</p></figcaption></figure>

## 通知

在允许了QX的系统通知功能时，为不同的事件自定义通知。

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FqLu96Xjgz6lyN2zsrAmJ%2Fsnagit042-settings.png?alt=media&amp;token=4eba383f-1740-4767-804e-0839d160df4f" alt=""><figcaption><p>通知设置</p></figcaption></figure>

## VPN

此栏目下是QX功能的一些专业选项，如果不熟悉该选项的作用，不建议进行更改。

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FRlUHgKQ6NYYQK2aZOdV8%2Fsnagit045-settings.png?alt=media&amp;token=3cc0a5d1-a51c-4eb5-836e-c06b37595016" alt=""><figcaption></figcaption></figure>

1. **网络接口**：QX所使用的网络接口
2. **兼容性增强**：当前设备与家居中枢设备处于同一局域网下且保持QX连接时，可能无法使用“家庭”应用查看流传输的home kit实况视频，可尝试开启此选项解决。只能在QX关闭状态下进行更改此选项。
3. **网络活动**：关闭后QX不再记录TCP和UDP相关网络活动，网络活动面板也不再显示更新的网络活动，强烈建议开启，不然QX不能查看网络活动，出现问题页无从排查。只能在QX关闭状态下更改此选项。
4. **排除路由0.0.0.0/31**：通过iOS系统的一个bug达到在状态栏不显示VPN图标。可能会引起网络异常，一般不建议开启。只能在QX关闭状态下进行更改此选项。
5. **分流优化**：关闭时候host相关类型规则完全按照规则加载顺序从上往下进行匹配，开启后host相关类型的规则更趋向于精度匹配，同样精度的规则按照规则加载顺序进行匹配。（见[分流规则](/shi-yong-fang-fa/pei-zhi-wen-jian-xiang-jie/filter-fen-liu-gui-ze)[相关部分](/shi-yong-fang-fa/pei-zhi-wen-jian-xiang-jie/filter-fen-liu-gui-ze#gui-ze-de-pi-pei-shun-xu)）\
   不开分流匹配优化：按照在配置中的顺序从上到下，域名类规则>IP类规则

   开分流匹配优化：host > host-suffix > host-keyword(wildcard) > geoip = ip-cidr (ip6-cidr)> user-agennt
6. **DNS挟持**：QX运行时候，绝大多数的DNS请求都是由QX的DNS模块进行处理，但是有极少数的APP自身实现了DNS查询功能，会将UDP查询请求发往其它地址，DNS挟持功能针对以上极少数应用，开启后QX会挟持该UDP请求，交由QX的DNS模块处理，否则按照分流规则或者运行模式直接转发此UDP数据。
7. **始终开启**：此选项启用时候，只能通过应用内的开关来断开QX的链接，即使后台划掉QX，一样会在运行。
8. **MPM**：moderated policy mechanism 温和的策略机制，当开启后切换了策略不会打断之前与之相关的TCP连接，仅会对之后的网络请求使用心得策略进行。（例如在奈飞策略组中开始选择新加坡1节点看奈飞，发现卡，于是手动切换到新加坡2节点，实际上连接并没有打断，还是用的新加坡1节点在连接）；不使用的时候，切换策略就打断与策略相关的旧有TCP连接，例如切换策略会打断之前使用该策略进行的下载任务。
9. HTTP代理服务器：启用时候可以为网络下其它设备提供HTTP代理服务，一般用于热点共享代理，方法见下图：其中 ip 跟端口仅作参考示范，请以自己设备的信息为准
10. SOCKS5代理服务器：启用时候为同一网络下其它设备提供S5代理服务。

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FmuBa2Jwht1XXsbEe28LK%2Fphoto_2024-01-24%2023.35.49.jpeg?alt=media&amp;token=a44c8cf1-ecc5-4e72-bbb3-b8ee09935cd6" alt=""><figcaption><p>共享热点代理</p></figcaption></figure>

其中 ip 跟端口仅作参考示范

请以自己设备的信息为准

## Geolite2

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FNr7ZKMSSbT55Yd70M9ua%2Fsnagit046-settings.png?alt=media&amp;token=a17d4957-c1a8-44a8-9afe-95efc9410b6d" alt=""><figcaption></figcaption></figure>

GeoLite2数据提供基于IP的位置信息，可以选择QX自带或者自定义来源，自动更新仅支持用户设置了自定义更新源或者设置了自定义maxmind许可密钥的环境（密钥一般人没有的，还是用自定义源吧）

下方是推荐的geoip源

`https://raw.githubusercontent.com/Loyalsoldier/geoip/release/Country.mmdb`

## 关于

这部分是关于QX及系统的一些信息，可在此更改QX的App图标和外观，以及查看版本号和确认是否正版。

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FECcytSb6ttqTW6mSZvPf%2Fsnagit047-settings.png?alt=media&amp;token=4404fdde-4eba-4545-b6de-45ccda696f13" alt=""><figcaption></figcaption></figure>


# 下载配置

QuantumultX 最大的特色，就是在保持丰富而灵活的策略分流功能的同时，实现了 节点与规则 的独立，而后通过内置的策略组PROXY（或自定义的策略组）实现了完整耦合。

配置文件中包含了这些信息，所以我们根据自己的需求可以使用别人已经做好的配置（下载配置）或者在别人的配置文件基础上根据自己需要进行增删。

[推荐配置](/shi-yong-fang-fa/tui-jian-pei-zhi)中会有一些已经做好的成熟配置，可以自行选用。

各配置文件之间没有优劣之分，不存在一个配置文件能够满足所有人的需求，可以在导入别人的配置后，根据自己的需求进行修改到适合自己使用。

**最好的配置是你自己的配置**

{% hint style="info" %}
QX系统本身已经自带一个简单的配置文件，导入机场的订阅节点后即可使用。

下载配置会**覆盖**当前使用的**全部配置内容**（包括节点、订阅、分流重写等），如当前已有配置，下载配置前**建议**通过导出配置操作进行**备份**。
{% endhint %}

操作步骤

以Lucky配置为例

下面链接为配置的链接地址，先复制链接地址，注意不要留空格

<pre><code><strong>https://raw.githubusercontent.com/As-Lucky/Lucky/main/Lucky-qx.conf
</strong></code></pre>

点击右下角的风车进入设置页面->拉到底下点击下载配置->粘贴上配置文件链接，注意不要留空格->点击右上角✔保存

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FvHq2suOAktxrViZwjrEZ%2Fsnagit002.png?alt=media&amp;token=6e869ea4-9a0f-4e18-bd21-b000a5ff399c" alt=""><figcaption></figcaption></figure>

配置URL正确的话会下载内容到本地，可以看一下内容和说明，然后保存即可使用。

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FtQgzv8MqzO6KUyPzyhPq%2Fsnagit003.png?alt=media&amp;token=7aab7b2f-b74a-41f0-ad60-76c6cdb0581f" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
一些配置文件地址在GitHub上，可能下载时候需要代理。
{% endhint %}

{% hint style="info" %}
下载完配置后，需要导入订阅或者添加节点使用，导入订阅的方法见[使用方法](/shi-yong-fang-fa)中的[导入订阅](/shi-yong-fang-fa#dao-ru-ding-yue)，添加节点见[配置文件详解](/shi-yong-fang-fa/pei-zhi-wen-jian-xiang-jie)中的[节点](/shi-yong-fang-fa/pei-zhi-wen-jian-xiang-jie/jie-dian)部分
{% endhint %}

如果下载的配置文件或者对QX的使用熟悉后，需要自己进行修改，请参见后面的[配置文件详解](/shi-yong-fang-fa/pei-zhi-wen-jian-xiang-jie)相关部分进行。


# 推荐配置

比较常用的懒人配置

{% hint style="info" %}
请参照配置文件中的说明结合教程进行使用，使用方法见[下载配置](/shi-yong-fang-fa/xia-zai-pei-zhi)

不同配置没有高下之分，最好用的配置是“**你**”的配置
{% endhint %}

&#x20;Lucky配置&#x20;

```
https://raw.githubusercontent.com/As-Lucky/Lucky/main/Lucky-qx.conf
```

Shawn 配置&#x20;

```
https://raw.githubusercontent.com/KOP-XIAO/QuantumultX/master/QuantumultX_Profiles.conf
```

matrix配置

```
https://raw.githubusercontent.com/Centralmatrix3/Scripts/master/QuantumultX/matrix.conf
```

墨鱼配置

```
https://raw.githubusercontent.com/ddgksf2013/Profile/master/QuantumultX.conf
```

张军配置

```
https://raw.githubusercontent.com/fmz200/wool_scripts/main/QuantumultX/config/QuanX.conf
```

&#x20;可莉配置

```
https://gitlab.com/lodepuly/vpn_tool/-/raw/master/Tool/QuantumultX/Config/Quantumult_X_Sample_Configuration_By_iKeLee.conf
```

Lucy配置

```
https://raw.githubusercontent.com/Repcz/Tool/X/QuantumultX/QuantumultX.conf
```

大飞配置

```
https://raw.githubusercontent.com/w37fhy/QuantumultX/master/w37fhy_diy.conf
```

小白配置

```
https://raw.githubusercontent.com/Orz-3/QuantumultX/master/Orz-3.conf
```

毒奶配置    &#x20;

```
https://raw.githubusercontent.com/limbopro/Profiles4limbo/main/full.conf
```

奇心配置

```
https://qxnav.com/rules/QuantumultX/qixin.conf
```

莫离配置

```
https://raw.githubusercontent.com/GodMoli/QuanX/main/File/Auto.conf
```

耳东橙配置

```
https://raw.githubusercontent.com/erdongchanyo/Rules/main/Quantumult%20X/LazyConf/QuantumultX_EDC-Lazy.conf
```

烧烤哥配置

```
https://raw.githubusercontent.com/Tartarus2014/QuantumultX-Script/main/QuanX.conf
```

彭于晏配置

```
https://raw.githubusercontent.com/89996462/Quantumult-X/main/py.conf
```

GeQ1an 配置

```
https://raw.githubusercontent.com/GeQ1an/Rules/master/QuantumultX/QuantumultX.conf
```

神机出国配置

```
https://raw.githubusercontent.com/DivineEngine/Profiles/master/Quantumult/Outbound.conf
```

神机回国配置

```
https://raw.githubusercontent.com/DivineEngine/Profiles/master/Quantumult/Inbound.conf
```


# 自定义图标

Quantumult X可以为订阅和策略组自定义自己喜欢的的图标，长按主界面的订阅或者策略组打开二级菜单选择图标即可。

### <mark style="color:red;">下面是</mark><mark style="color:red;">**一些收集的图标库**</mark>

<mark style="color:red;">**综合类型的图标库**</mark>

* [Qure Color (All)@Koolson](https://quantumult.app/x/open-app/ui?module=gallery\&type=icon\&action=add\&content=%5B%0A%20%20%20%20%22https%3A%2F%2Fgithub.com%2FKoolson%2FQure%2Fraw%2Fmaster%2FOther%2FQureColor-All.json%22%0A%5D)
* [Qure Color@Koolson](https://quantumult.app/x/open-app/ui?module=gallery\&type=icon\&action=add\&content=%5B%22https://raw.githubusercontent.com/Koolson/Qure/master/Other/QureColor.json%22%5D)
* [Qure mini@Koolson](https://quantumult.app/x/open-app/ui?module=gallery\&type=icon\&action=add\&content=%5B%0A%20%20%20%20%22https%3A%2F%2Fraw.githubusercontent.com%2FKoolson%2FQure%2Fmaster%2FOther%2FQuremini.json%22%0A%5D)
* [mini Color@Orz-3](https://quantumult.app/x/open-app/ui?module=gallery\&type=icon\&action=add\&content=%5B%0A%20%20%20%20%22https%3A%2F%2Fraw.githubusercontent.com%2FOrz-3%2Fmini%2Fmaster%2FminiColor.json%22%0A%5D)
* [mini+ @Orz-3](https://quantumult.app/x/open-app/ui?module=gallery\&type=icon\&action=add\&content=%5B%22https://raw.githubusercontent.com/Orz-3/mini/master/mini+.json%22%5D)
* [mini icons@Orz-3](https://quantumult.app/x/open-app/ui?module=gallery\&type=icon\&action=add\&content=%5B%22https%3A%2F%2Fgithub.com%2FOrz-3%2Fmini%2Fraw%2Fmaster%2Fmini.json%22%5D)
* [mini face@Orz-3](https://quantumult.app/x/open-app/ui?module=gallery\&type=icon\&action=add\&content=%5B%22https://raw.githubusercontent.com/Orz-3/face/master/face.json%22%5D)
* [Hand Painted Icon@Semporia](https://quantumult.app/x/open-app/ui?module=gallery\&type=icon\&action=add\&content=%5B%0A%20%20%20%20%22https%3A%2F%2Fraw.githubusercontent.com%2FSemporia%2FHand-Painted-icon%2Fmaster%2FSemporia.json%22%0A%5D)
* [fzm200图标订阅@fmz200](https://quantumult.app/x/open-app/ui?module=gallery\&type=icon\&action=add\&content=%5B%22https://raw.githubusercontent.com/fmz200/wool_scripts/main/icons/icons-all.json%22%5D)
* [蜡笔小新@Toperlock](https://quantumult.app/x/open-app/ui?module=gallery\&type=icon\&action=add\&content=%5B%22https%3A%2F%2Fraw.githubusercontent.com%2FToperlock%2FQuantumult%2Fmain%2FShin-icons.json%22%5D)
* [喜羊羊与灰太狼@Toperlock](https://quantumult.app/x/open-app/ui?module=gallery\&type=icon\&action=add\&content=%5B%22https%3A%2F%2Fraw.githubusercontent.com%2FToperlock%2FQuantumult%2Fmain%2FWolffy-icons.json%22%5D)
* [哆啦A梦@Toperlock](https://quantumult.app/x/open-app/ui?module=gallery\&type=icon\&action=add\&content=%5B%22https%3A%2F%2Fraw.githubusercontent.com%2FToperlock%2FQuantumult%2Fmain%2FD-icons.json%22%5D)
* [植物大战僵尸@Toperlock](https://quantumult.app/x/open-app/ui?module=gallery\&type=icon\&action=add\&content=%5B%22https%3A%2F%2Fraw.githubusercontent.com%2Fshoujiqiyuan%2FPVSZforQuanX%2Fmaster%2FPVSZ.json%22%5D)
* [数码宝贝@shoujiqiyuan](https://quantumult.app/x/open-app/ui?module=gallery\&type=icon\&action=add\&content=%5B%22https%3A%2F%2Fraw.githubusercontent.com%2Fshoujiqiyuan%2FDigimonforQuanX%2Fmaster%2FDigimon.json%22%5D)
* [皮卡丘@shoujiqiyuan](https://quantumult.app/x/open-app/ui?module=gallery\&type=icon\&action=add\&content=%5B%22https%3A%2F%2Fraw.githubusercontent.com%2Fshoujiqiyuan%2FPokemonGOforQuanX%2Fmaster%2FPokemonGo.json%22%5D)
* [小可爱猫猫@Yuanxsxs](https://quantumult.app/x/open-app/ui?module=gallery\&type=icon\&action=add\&content=%5B%22https%3A%2F%2Fraw.githubusercontent.com%2FYuanxsxs%2FQtumultX%2Fmaster%2FIcon%2FCatcat.json%22%5D)
* [离歌图标](https://quantumult.app/x/open-app/ui?module=gallery\&type=icon\&action=add\&content=%5B%22https://raw.githubusercontent.com/lige47/QuanX-icon-rule/main/ligeicon.json%22%5D)
* [嘤嘤嘤](https://quantumult.app/x/open-app/ui?module=gallery\&type=icon\&action=add\&content=%5B%22https://raw.githubusercontent.com/LovedGM/Quantumult-X-TuBiao/a6da7ef83e55a098bc7e9b793a670bbdfde5e36e/yyy.json%22%5D)
* [小喵咪](https://quantumult.app/x/open-app/ui?module=gallery\&type=icon\&action=add\&content=%5B%22https://raw.githubusercontent.com/LovedGM/Quantumult-X-TuBiao/d9790e7036861013a4c8fd51990888b1674b9ee1/maomi.json%22%5D)
* [姿势](https://quantumult.app/x/open-app/ui?module=gallery\&type=icon\&action=add\&content=%5B%22https://raw.githubusercontent.com/LovedGM/Quantumult-X-TuBiao/main/zishi-cs.json%22%5D)
* [EDC Country Icon@ErdongChan](https://quantumult.app/x/open-app/ui?module=gallery\&type=icon\&action=add\&content=%5B%22https://raw.githubusercontent.com/erdongchanyo/icon/main/edc-country-icon-gallery.json%22%5D)
* [图标库@chxm1023收集](https://quantumult.app/x/open-app/ui?module=gallery\&type=icon\&action=add\&content=%5B%22https://raw.githubusercontent.com/chxm1023/Script_X/main/icon/icons.json%22%5D)

[🌐](tg://emoji?id=5463355480350925440\&t=8) EMBY 合集：

* [TEXON’S EMBY 图标](https://quantumult.app/x/open-app/ui?module=gallery\&type=icon\&action=add\&content=%5Bhttps%3A%2F%2Fraw.githubusercontent.com%2FOnlookers-Group%2FTexonin-LAB-Public%2Fmain%2FQuantumult%28X%29%2FIcon%2Fcolor%2Fcolor.json%5D)
* [Fileball Icon](https://quantumult.app/x/open-app/ui?module=gallery\&type=icon\&action=add\&content=%5B%22https://raw.githubusercontent.com/Softlyx/Fileball/main/YUAN/tubiao.json%22%5D)
* [Emby 图标@twoz](https://quantumult.app/x/open-app/ui?module=gallery\&type=icon\&action=add\&content=%5B%22https://raw.githubusercontent.com/Twoandz9/Emby-icons/main/TheRaw.json%22%5D)

[📱](tg://emoji?id=5220069871072583573\&t=29) 一些机场图标：

* [The Magic@twoz](https://quantumult.app/x/open-app/ui?module=gallery\&type=icon\&action=add\&content=%5B%22https://raw.githubusercontent.com/Twoandz9/TheMagic-Icons/main/TheRaw.json%22%5D)
* [EDC Airport Icon@ErdongChan](https://quantumult.app/x/open-app/ui?module=gallery\&type=icon\&action=add\&content=%5B%22https://raw.githubusercontent.com/erdongchanyo/icon/main/edc-airport-icon-gallery.json%22%5D)

以上收集的是一些常见的图标库，如果有其它觉得比较好的，可以评论推荐

{% hint style="info" %}

#### 图标仅支持144x144或108x108⁠⁠分辨率，PROXY区域的图标不支持彩色

{% endhint %}


# 配置文件详解

本部分对QX的配置文件分字段进行一些参数讲解和示例，水平有限，其中可能有错漏之处，请指出！

QX的配置文件中包含下面表格中的一些字段，列表中会分别对其做一些示例和讲解。

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FcPcciqB8Pz2I7LQBAKb5%2FIMG_6266.png?alt=media&amp;token=0e9d26b6-01b8-46db-92f6-fb3b1c852f79" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
配置文件中类似 <mark style="color:red;">**\[general]**</mark> 这种称之为字段，一个<mark style="color:red;">**配置文件里面不能有重名的字段**</mark>，例如不能有两个\[general]字段。

如果你粘贴别人的文本进去，只需要将字段里面的内容放进对应字段下面就行。

类似 主机名 hostname= \*.example.com, \*.sample.com 这种添加进自己的配置文件的时候，只需要复制粘贴“*<mark style="color:green;">`*.example.com, *.sample.com`</mark>*”这一部分接在自己配置文件里面的hostname= xxxx后面即可，中间用","链接（英文格式的逗号）。

例如原来的是

hostname=1.1.1.1,2.2.2.2,3.3.3.3

之后：

hostname=1.1.1.1,2.2.2.2,3.3.3.3,*<mark style="color:green;">`*.example.com, *.sample.com`</mark>*
{% endhint %}

```
以 ";" 或 "#" 或 "//" 开头的行为注释行，即该行配置不起作用。
```

|                                                                                                                              |                                                                                                    |                                                                                           |
| ---------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| [general](/shi-yong-fang-fa/pei-zhi-wen-jian-xiang-jie/tong-yong-she-zhi-general)                                            | [DNS](/shi-yong-fang-fa/pei-zhi-wen-jian-xiang-jie/dns)                                            | [policy](/shi-yong-fang-fa/pei-zhi-wen-jian-xiang-jie/policy-zi-ding-yi-ce-le-zu)         |
| [节点](/shi-yong-fang-fa/pei-zhi-wen-jian-xiang-jie/jie-dian)[(server)](/shi-yong-fang-fa/pei-zhi-wen-jian-xiang-jie/jie-dian) | [mitm](/shi-yong-fang-fa/pei-zhi-wen-jian-xiang-jie/mitm)                                          | [分流(filter)](/shi-yong-fang-fa/pei-zhi-wen-jian-xiang-jie/filter-fen-liu-gui-ze)          |
| [重写(rewrite)](/shi-yong-fang-fa/pei-zhi-wen-jian-xiang-jie/zhong-xie-rewrite)                                                | [task\_local](/shi-yong-fang-fa/pei-zhi-wen-jian-xiang-jie/gong-ju-fen-xi/http-qing-qiu-tasklocal) | [http\_backend](/shi-yong-fang-fa/pei-zhi-wen-jian-xiang-jie/gong-ju-fen-xi/http_backend) |
|                                                                                                                              |                                                                                                    |                                                                                           |


# 通用设置 \[general]

general 模块内为一些通用的设置参数项。

server\_check\_url= <http://www.qualcomm.cn/generate\\_204>

> Quantumult 使用 HTTP HEAD 方法对测试网址 server\_check\_url 进行网页响应性测试(测试结果为通过该节点访问此网页获得 HTTP 响应所需要的时间)，来确认节点的可用性。
>
> Quantumult 使用 HEAD 方法将 HTTP 请求发送到服务器检查 url 来测试代理的状态，结果应该是两个延迟，第一个是 TCP 与代理服务器的握手，第二个是 Quantumult 成功地从服务器检查 url 接收 HTTP 响应的总时间。
>
> Quantumult 界面中的延迟测试方式均为网页响应性测试，显示的最终延迟均为通过对应节点访问测试网页获得 HTTP 响应所需要时间。
>
> 由于 Trojan 协议为无响应校验协议，使得 HTTP 检测方式即使获得了 HTTP 响应，也不代表节点一定可用。
>
> 你同样可以在 server\_local/remote 中，为节点、订阅单独指定server\_check\_url参数&#x20;

resource\_parser\_url= <https://raw.githubusercontent.com/KOP-XIAO/QuantumultX/master/Scripts/resource-parser.js>

> 资源解析器，可用于自定义各类远程资源的转换，如节点，规则 filter，复写 rewrite 等，url 地址可远程，可 本地/iCloud(Quantumult X/Scripts目录); 具体内容直接参照链接里的使用说明。
>
> 不要重复添加资源解析器！

geo\_location\_checker=<http://ip-api.com/json/?lang=zh-CN>, <https://raw.githubusercontent.com/KOP-XIAO/QuantumultX/master/Scripts/IP\\_API.js>

> geo\_location\_checker用于节点页面的信息展示，可完整自定义 ;&#x20;
>
> extreme-ip-lookup为Quantumult X 作者提供的示范 api ;
>
> geo\_location\_checker=<http://extreme-ip-lookup.com/json/>, <https://raw.githubusercontent.com/crossutility/Quantumult-X/master/sample-location-with-script.js> ;上面是解析器作者KOP-XIAO（Shawn）所使用的 api 及获取、展示节点信息的 js；功能比原作者提供的更为强大

<details>

<summary>其它一些GEO信息检查器</summary>

```
注意不同时启用两个geo_location_check
```

以下是搜集的`geo_location_checker`

```
geo_location_checker = http://ip-api.com/json/?lang=zh-CN, https://jexxagn.netlify.app/IP-API.js
```

```
geo_location_checker = http://ip-api.com/json/?lang=zh-CN, https://raw.githubusercontent.com/I-am-R-E/Functional-Store-Hub/Master/GeoLocationChecker/QuantumultX/IP-API.js
```

```
geo_location_checker = http://ip-api.com/json, https://raw.githubusercontent.com/kiksong/qsc/master/qx/script/IPInfo.js
```

```
geo_location_checker = http://ip-api.com/json/?fields=8450015&lang=zh-CN,https://raw.githubusercontent.com/deezertidal/QuantumultX-Rewrite/master/rewrite/ip-api.js
```

```
geo_location_checker = http://ip-api.com/json/?lang=zh-CN, https://github.com/KOP-XIAO/QuantumultX/raw/master/Scripts/IP_API.js
```

```
geo_location_checker = http://ip-api.com/json/?lang=zh-CN, https://raw.githubusercontent.com/ConnersHua/RuleGo/master/Quantumult/Script/geo_location_checker.js
```

</details>

dns\_exclusion\_list=\*.qq.com, qq.com

> DNS排除列表，dns exclusion list中的域名将不使用fake-ip方式. 其它域名则全部采用 fake-ip 及远程解析的模式&#x20;

running\_mode\_trigger 设置，即根据网络自动切换 分流/直连/全局代理 等模式。

> filter - 规则分流，all\_proxy - 全部代理，all\_direct - 全部直连
>
> running-mode-trigger 模式下，跟手动切换直连/全局代理 等效，rewrite/task 模块始终会生效，设置简单；
>
> 示例：running\_mode\_trigger=filter, filter, asus-5g:all\_direct, asus: all\_proxy
>
> 上述写法，前两个 filter 表示 在 4G 网络跟一般 Wi-Fi 下，走 filter(分流)模式，asus-5g 则切换为全局直连，asus 切换为全局代理；
>
> 与ssid-suspend以及ssid策略组的区别
>
> \- ssid-suspend 下，Quantumult X 网络相关功能会停止工作，只有\[task] 模块生效；
>
> \- ssid 策略组，属于 filter 即分流模式的一个小部分，灵活，但设置相对麻烦；
>
> \- running\_mode\_trigger 模式下，跟手动切换直连/全局代理 等效，rewrite/task 模块始终会生效，设置简单;

ssid\_suspended\_list设置，

ssid\_suspended\_list=Asus, Shawn-Wifi

> ssid\_suspended\_list 写入你想要 Quantumult X 暂停的 Wi-Fi网络名称，多个wifi用“,”连接 ;

udp\_whitelist=53, 123, 1900, 80-443

> UDP名单，留空则默认所有为端口。不在udp白名单列表中的端口，将被丢弃处理。
>
> 参数 udp\_whitelist 从 IP 层控制 UDP 数据是否需要舍弃；如舍弃，则该 UDP 请求不会进入规则模块以及策略模块，TCP/UDP 请求记录中也不会有相应的条目，但仍可在日志中查询到相关信息（日志等级 debug）。
>
> 该参数控制的是流入 Quantumult X Tunnel 的请求，并非 Quantumult X Tunnel 发出的请求，即不会作用于节点所使用的 UDP 目标端口。&#x20;

excluded\_routes= 192.168.0.0/16, 172.16.0.0/12, 100.64.0.0/10, 10.0.0.0/8

> 跳过代理，列表中的内容将不经过 QuantumultX的处理&#x20;

参数 fallback\_udp\_policy

> 可选值：reject，direct
>
> 参数 fallback\_udp\_policy 的值仅支持末端策略（末端策略为经由规则模块和策略模块后所命中的策略，例如：direct、reject 以及节点；不支持内置策略 proxy 以及其它自定义策略）。
>
> 当 UDP 请求经过规则模块以及策略模块后所命中的节点为 Quantumult X 所不支持 UDP 转发的节点（例如：VMess），或命中的节点虽支持 UDP 转发但节点配置未显示注明 udp-relay=true 的节点（例如：SS 或 SSR 且与服务器是否真实开启了 UDP 转发无关），则 fallback\_udp\_policy 会被使用。该参数默认值为 reject。
>
> 注意：如果您需要调整该参数的值为 direct，请务必清楚了解同一目标主机名 TCP 请求与 UDP 请求的源地址不同所造成的隐私及安全风险。

icmp\_auto\_reply=true/false

> ICMP(Internet Control Message Protocol) 协议是 TCP/IP 协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。
>
> icmp\_auto\_reply 这个内核参数控制系统对 ICMP 请求的自动回复行为。
>
> icmp\_auto\_reply=true 意味着:
>
> \- 系统会自动回复收到的 ICMP 请求数据包。
>
> \- 比如当接收到 ICMP Echo Request (ping) 数据包时,会自动回复 ICMP Echo Reply 数据包。
>
> \- 这是 Linux 系统默认的设置,用于支持 ICMP 数据包的正常响应。
>
> icmp\_auto\_reply=false 意味着:
>
> \- 系统不会自动回复 ICMP 请求。
>
> \- 接收到 ping 请求时不会回复。
>
> \- 可以用于阻止某台主机响应 ping 查询。
>
> \- 需要手动处理及回复 ICMP 数据包。
>
> 总之,icmp\_auto\_reply 参数控制是否自动响应ICMP请求,默认为 true 以支持 ICMP 协议正常工作。
>
> 设置为 false 可以实现“隐藏”主机不被 ping 到的效果。


# DNS

QX的DNS设置没有GUI界面，需要通过文本模式对配置文件\[dns]字段下内容进行编辑修改。如下图所示

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FICMVXoRo5RKuUMdsE9BS%2Fsnagit006-dns.png?alt=media&amp;token=94246869-9818-4041-8e0a-bc6235732ddc" alt=""><figcaption></figcaption></figure>

### DNS 相关设置

以 `;` 或 `#` 或 `//` 开头的行为注释行。

以下主要讲的是 `[dns]` 区块下的内容，所以示例都以 `[dns]` 开头表明在其之下，并不是让你每个参数字段前都加上 `[dns]`。

DNS 查询结果仅用于分流规则或通过直接策略连接，通过服务器连接时不会使用该结果，Quantumult 永远不会知道相关域名的目的 IP。

#### 推荐 DNS 设置

```
[dns]
no-system
no-ipv6
server = 119.29.29.29
server = 223.5.5.5:53
```

此 DNS 设置适合绝大多数国内用户

#### 传统 DNS 设置

```
[dns]
server = 119.29.29.29
server = 223.5.5.5:53
server = [2402:4e00::]
server = [2400:3200::1]
```

可以如上第二条那样指定端口

#### 禁用系统 DNS

```
[dns]
no-system
```

如果你并不想使用系统 (通过 DHCP) 自动获取的 DNS 设置，可以如上设置，但需要注意应该设置至少一条自定义 DNS，如上述的 `server = 119.29.29.29`

#### 禁用 IPv6

```
[dns]
no-ipv6
```

当设置 `no-ipv6` 时，Quantumult X Tunnel 的 DNS 模块将直接让 AAAA 查询失败，但仍然允许从 IPv6的 DNS 服务器查询 A 记录。

#### 启用 IPv6

```
[dns]
no-system
server = 119.29.29.29
server = 223.5.5.5
server = [2402:4e00::]
server = [2400:3200::1]
```

同时需要在右下角风车「设置」→「其他设置」→「VPN」区域-开启/关闭「兼容性增强」

#### 加密 DNS 设置

**DNS over HTTPS**

```
[dns]
;doh-server = https://exmaple1.com/dns-query, https://exmaple2.com/dns-query
doh-server = https://dns.alidns.com/dns-query
```

当设置 `doh-server` (DNS over HTTPS) 或 `doq-server` (DNS over QUIC)时，`system` 和所有其他未加密的常规 (没有特定的域与之绑定) 服务器将被忽略。

多个 (并发查询) `doh-server` 应配置在一行中，URLs 应以逗号分开。

如果 iOS 版本小于 iOS 13.0，最大的 `doh-server` 数量将被限制为 1；如果 iOS 版本小于iOS 15.0，最大的 `doh-server` 数量将被限制为 2。

当使用的 `doh-server` 不是基于 HTTP/2 时，DoH 将被暂时禁用，普通的服务器将被使用，直到下次启动 VPN 连接。

**HTTP/3 的 DoH**

```
[dns]
prefer-doh3
```

当 `prefer-doh3` 被设置时，DoH 将尝试通过 HTTP/3 的查询，如果失败，查询连接将退回到 HTTP/2。

由于 HTTP/2 和 HTTP/3 连接都支持复用，当改变该设置时它可能不会立即生效，但可以通过重新连接Quantumult X 隧道或手动改变当前网络环境，让它立即生效。

**自定义 DoH 的 User Agent**

DoH 的 `User Agent` 需要在 `[general]` 设置：见 [节点延迟](https://github.com/Repcz/Tool/blob/X/QuantumultX/README.MD#%E8%8A%82%E7%82%B9%E5%BB%B6%E8%BF%9F)

**DNS over QUIC**

```
[dns]
;doq-server = quic://dns1.example.com, quic://dns2.example.com
doq-server = quic://dns.adguard.com
```

当设置 `doh-server` (DNS over HTTPS) 或 `doq-server` (DNS over QUIC)时，`system` 和所有其他未加密的常规 (没有特定的域与之绑定) 服务器将被忽略。

多个(并发查询) `doq-server` 应配置在一行中，URLs 应以逗号分隔。

DoQ 的默认端口是 853，如果双方同意使用其他端口，如 456，你可以设置为 `quic://dns.example.com:456。`

#### 国内 DNS 推荐

**腾讯DNS**

* IPv4 UDP：`119.29.29.29`
* IPv6 UDP：`[2402:4e00::]`
* DoH：`https://1.12.12.12/dns-query`, `https://120.53.53.53/dns-query`, `https://doh.pub/dns-query`

**阿里云DNS**

* IPv4 UDP：`223.5.5.5`, `223.6.6.6`
* IPv6 UDP：`[2400:3200::1]`, `[2400:3200:baba::1]`
* DoH：`https://dns.alidns.com/dns-query`
* DoQ：`quic://dns.alidns.com:853`, `quic://223.5.5.5:853`, `quic://223.6.6.6:853`

#### 指定 DNS 查询指定域名

```
[dns]
; 使用系统 DNS 解析 example.com
server = /example.com/system

; 使用 119.29.29.29 查询 qq.com 及其子域名
server = /qq.com/119.29.29.29
server = /*.qq.com/119.29.29.29:53

; 使用 [2001:4860:4860::8888] 的 53 端口解析 example.com
server = /example.com/[2001:4860:4860::8888]:53
```

可以如上指定 DNS 查询特定域名，如需要指定端口号，可以在 DNS 后面加上英文冒号及端口号。

#### 本地 DNS 映射

```
[dns]
; 指定域名到特定 IP 地址
;address = /example5.com/192.168.16.18
;address = /example6.com/[2001:8d3:8d3:8d3:8d3:8d3:8d3:8d3]

; 别名
alias = /example7.com/another-example.com
```

这里不允许直接为某个域设置 `127.0.0.1`。

如果想让某个域 (例如 example.com) 为 `127.0.0.1`，只需在 `[filter_local]` 区块添加 `host, example.com, reject`，REJECT 操作将向查询返回具有 `127.0.0.1` 的 DNS 响应。

#### 在指定 SSID 下生效或失效

在 SSID 为 `SSID1` 时不使用 `8.8.8.8`：

```
[dns]
server = 8.8.8.8, excluded_ssids=SSID1
```

在 SSID 为 `SSID2` 时使用 `8.8.4.4`：

```
[dns]
server = 8.8.4.4:53, included_ssids=SSID2
```

#### 规避指定结果

```
[dns]
circumvent-ipv4-answer = 127.0.0.1, 0.0.0.0
circumvent-ipv6-answer = ::
```

用于指定 DNS 服务器返回的 A 及 AAAA 记录中哪些属于无效结果

可使用通配符 `?` 与 `*`

⚠️ 注意：

> 当并发向多个上游 DNS 进行查询时，如响应最快的上游 DNS 抢答的结果命中了该条目，则 Quantumult X Tunnel DNS 模块会等待其他 DNS 服务器的响应结果（如抢答的结果中至少有一个不属于该条目，则不会等待其他 DNS 的响应，此时有效结果采用不属于该条目的所有记录）；

> 如所有上游 DNS 返回的所有结果均命中该条目，则判定为 DNS 查询失败；

> 如配置的上游 DNS 包含有去广告功能的 DNS 服务器，请勿使用该参数；

###


# Policy（自定义策略组）

### 策略组的自定义添加

A：节点面板下通过自定义策略旁边的按钮通过UI的方式添加（强烈推荐）

B ：**文本编辑**添加, 支持所有类型的策略组（点 `右下角图标/配置文件/编辑/[policy] 部分`）

* 此方式支持所有类型策略组的添加

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FOOAPQoMPX7QMrXjHk7Fr%2Fsnagit007-policy.png?alt=media&amp;token=dfd59a6b-a1b3-4134-bf8c-bfcf1120c4a5" alt=""><figcaption></figcaption></figure>

### 说明：

{% hint style="info" %}
1，**static**：静态，指向手动选择的候选服务器。可以嵌套其它所有类型的策略组，需自己手动选择路线/子策略组.

格式：

`static=policy-name-1, Sample-A, Sample-B, Sample-C, img-url=http://example.com/icon.png`

2，**available**：可用，只可直接套用节点，不可嵌套其它策略组，自动选择第一个可用的节点(需要至少两个节点才有意义)，当策略被触发且策略结果不可用时，将立即启动并发 url 延迟测试。

如果当时没有网络请求接受策略，这意味着策略处于空闲状态，即使服务器关闭，测试也不会启动。那时，您可以通过手动启动测试来更新服务器状态，但是这没有任何意义。

格式：`available=policy-name-2, Sample-A, Sample-B, Sample-C,img-url=http://example.com/icon.png`

`3，`**round-robin** ：轮询策略，只能直接套用节点，不可以嵌套其它策略组，按网络请求轮流使用所有节点。

格式：`round-robin=policy-name-3, Sample-A, Sample-B, Sample-C,img-url=https://example.com/icon.png`

`4，`**`dest-hash`**`：`随机负载均衡，但相同域名走固定节点，只能直接套用节点，不可以嵌套其它策略组。

格式：`dest-hash=policy-name-3, Sample-A, Sample-B, Sample-C,img-url=https://example.com/icon.png`

5，**url-latency-benchmark**：最低延迟，选取延迟最优节点（误区：延迟最低不一定速度最快），该类型的策略有一个名为 check-interval(秒) 的参数，如果此策略已经被任何请求激活，则将考虑该间隔。

格式：`url-latency-benchmark=policy-name-8, resource-tag-regex=^sample, server-tag-regex=^example, check-interval=600, tolerance=50,C,img-url=https://example.com/icon.png`

`6,`**`图标`**`，详细见`[`自定义图标`](/shi-yong-fang-fa/zi-ding-yi-tu-biao)

`7，`**`需匹配的资源标签-正则`**`：对引用资源（俗称机场/订阅）或本地节点进行筛选，支持正则，`比如`A1`，`A2`，`A3`三个机场，需要筛选A1的全部节点，正则写入`1`即可；

`8，`**`需匹配的节点标签-正则`**`：`根据正则对所有节点名称进行筛选，比如筛选香港，新加坡，美国之类的节点，写入对应的正则即可；

两者同时使用，可以筛选出特定机场的指定节点，比如匹配的资源标签写`1`，匹配的节点标签写`香港` ，则可以筛选出A1机场的香港节点。
{% endhint %}

{% hint style="warning" %}
上面的资源标签匹配和节点标签的匹配以及后面的重写等诸多地方都会用到正则，关于正则的使用，见[正则简介](/zheng-ze-jian-jie)部分。
{% endhint %}

### 示例（策略组不可重复名称，以下仅作演示）

```
[policy]
#手动选择
static=微软服务, 香港节点, 美国节点, 日本节点
static= ️香港节点, server-tag-regex= 香港|🇭🇰️|HK|Hong, img-url=https://raw.githubusercontent.com/Koolson/Qure/master/IconSet/HK.png

#故障转移 当节点1故障时自动切换到节点2，以此类推
available=香港故障转移,节点1,节点2,节点3
available=香港故障转移,server-tag-regex= 香港|🇭🇰️|HK|Hong

#节点轮询 将按列表的顺序轮流使用其中的节点。
round-robin=香港节点轮询,节点1,节点2,节点3
round-robin=香港节点轮询,server-tag-regex= 香港|🇭🇰️|HK|Hong

#最低延迟 选取延迟最优节点。
url-latency-benchmark=香港最低延迟,节点1,节点2,节点3
url-latency-benchmark=香港最低延迟,节点1,节点2,节点3,resource-tag-regex=^sample, server-tag-regex=^example, check-interval=600, alive-checking=false, tolerance=0

#负载均衡 随机负载均衡，但相同域名走固定节点。
dest-hash=policy-name-5, Sample-A, Sample-B, Sample-C
#SSID策略组 根据所处的网络情况切换策略组
ssid=policy-name-4, Sample-A, Sample-B, LINK_22E171:Sample-B, LINK_22E172:Sample-C,img-url=https://example.com/icon.png
```

#### 参数说明：

* `resource-tag-regex=` 表示使用正则筛选需要匹配的资源标签（比如机场名称）
* `server-tag-regex=` 表示使用正则筛选需要匹配的节点标签（比如节点中带有香港、美国这种）
* `check-interval=600` 表示每600秒检查一次节点延迟，如果此策略已由任何请求激活，则将重新计算该间隔。
* `alive-checking=false` 如果被设置为`true`，那么即使该策略处于空闲状态，也会重新计算间隔时间，并启动基准测试。
* `tolerance=0` 表示上一次节点的最低延迟数值与本次节点最低延迟数值的差值，当超过这个差值时切换至最低延迟的节点
* img-url 参数用于指定策略组图标，可远程，也可本地/iCloud(Quantumult X/Images路径下) （108\**108 大小）*
* direct/proxy/reject 则只能用本地图标，名字分别为 direct.png, proxy.png,reject.png 放置于 Images 文件夹下即可生效 (108108 大小)&#x20;
* 图标相关见[自定义图标](/shi-yong-fang-fa/zi-ding-yi-tu-biao)

### &#x20;不可通过UI添加的策略组：SSID策略组

该策略组无法通过UI直接添加，只能在配置文件`[policy]`下写入；通常是在使用软路由时，让QX走直连，软路由接管代理。此时可以让去广告规则依旧保持`reject`，避免失效。其具体写法为

```
[policy]
; ssid = <策略名称>, <蜂窝数据下默认策略>, <Wi-Fi 下：策略>, <SSID 名称: 策略>
ssid = SSID, 策略组1, 策略组2, Wi-Fi-1:Proxy, Wi-Fi-2:direct

[filter_local]
final, SSID
```

* 处于蜂窝数据时，会走 策略组1 ；
* 处于非Wi-Fi-1或Wi-Fi-2时，会走 策略组2&#x20;
* 处于⁠Wi-Fi-1或Wi-Fi-2时，走指定的策略，可以是 `direct`、`proxy`、`reject` 或 `策略组`，此处需至少有一个Wi-Fi参数。<br>

#### &#x20;示例：

当 全球加速 选中 香港SSID ，香港SSID 选中 香港节点 时：

* 特定Wi-Fi下：全球加速 → 香港SSID → DIRECT
* 蜂窝数据下：全球加速 → 香港SSID → 香港节点 → 策略组中选择的节点

```
static=全球加速, 香港SSID, 美国SSID, 狮城SSID, 台湾SSID, 日本SSID, proxy, img-url=https://raw.githubusercontent.com/fmz200/wool_scripts/main/icons/apps/Quantumult_X.png

ssid=香港SSID, 香港节点, 香港节点, Wi-Fi_5G:DIRECT, Wi-Fi_2.4G:DIRECT, img-url=https://raw.githubusercontent.com/fmz200/wool_scripts/main/icons/erdongchanyo/SSID.png

url-latency-benchmark=香港节点, server-tag-regex=^(?=.*((?i)🇭🇰|香港|(\b(HK|Hong)\b)))(?!.*((?i)回国|校园|游戏|(\b(GAME)\b))).*$, check-interval=600, tolerance=0, alive-checking=false, img-url=https://raw.githubusercontent.com/Koolson/Qure/master/IconSet/Color/Hong_Kong.png
```

效果如下图：

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FzKIQ3uwAN5yFBGrbNHrM%2FD18B5478-1AE4-4BF4-A612-1DA0A276C96F.png?alt=media&amp;token=524be036-97d9-40e5-851e-a912494e9e2a" alt=""><figcaption></figcaption></figure>

### 编辑/删除策略组

对于策略组的修改和删除，可以通过在相应策略组上长按出现编辑/删除选项，进入UI界面进行操作，也可以在文本模式进行编辑/删除操作，不过需注意以下几点：

* 修改策略组名称，**必须**同时需要到引用该策略组的其它策略组里面修改成对应的名称；
* 如果只是修改策略组参数，只需要长按策略组，出现编辑选项后，点击进入编辑对应的策略组参数；也可以在文本模式进行修改（不建议）；
* 如果分流规则有指向进行了改名操作的策略组，**必须**在改名操作完成后，在分流规则中重新指定到改名后的策略组，不然原分流规则会失效；
* 如果分流规则有指向进行了将进行删除操作的策略组，**建议在改名操作前**，在分流规则中先指定一个其它的策略组；
* 如果是删除已有策略组，可以在UI界面长按策略组，选择删除选项即可，**比须**同时到引用了该策略组的所有其它策略组里面删除掉该策略组，也可以在文本模式进行（不建议）；
* **能够进行UI操作的，尽量在UI界面进行**。

{% hint style="info" %}
**策略组的存在是为规则服务的，策略组建立后，需要配合添加到规则当中，才可以生效**
{% endhint %}

{% hint style="info" %}
一般情况下，如果所用的节点很稳定，那么可以采用 static，选中了就一直用即可，如果不想去选，那么 available 和 url-latency-benchmark 均是一个比较好的选择，区别就是 available 正常情况下会默认选择第一个，不可用时才会选择下一个，而 url-latency-benchmark 会根据设置情况，选择在某个时间段内延迟最低的节点。这里重点提醒一下，延迟最低不等于速度最快，延迟低仅仅代表响应时间短，但是可能会带宽比较低，可能才 10KB/s，而延迟高一些的可能 10MB/s。

round-robin 和 dest-hash 两种都是负载均衡策略，都是随机使用策略组内包含的节点，但是算法上有区别，见上面的说明。
{% endhint %}


# 节点

QX的节点部分有两种，一种是[本地节点(server\_local)](/shi-yong-fang-fa/pei-zhi-wen-jian-xiang-jie/jie-dian/serverlocal-ben-di-jie-dian)，一种是[节点资源(server\_remote)](/shi-yong-fang-fa/pei-zhi-wen-jian-xiang-jie/jie-dian/serverremote-jie-dian-zi-yuan)


# server\_local(本地节点）

### 本地节点可通过如下方式添加

* 文本编辑模式
* 点击首页下方工具栏中的➕进行(UI方式，仅限shadowsocks节点)
* 设置页面->节点->添加(UI方式，仅限shadowsocks节点)
* 设置页面->配置文件->[配置片段](/shi-yong-fang-fa/pei-zhi-pian-duan)->选择类型为节点的配置片段(文本格式)

### QX支持的节点类型如下：

* Shadowsocks
* ShadowsocksR
* HTTP(S)
* Socks5
* VMess
* VLess
* Trojan&#x20;

当前QX的UI界面仅支持添加Shadowsocks协议类型节点的基本选项，高级选项或者其它协议需要通过文本配置的方式添加到<mark style="color:red;">\[server\_local]</mark> 部分。

以下是各节点的文本配置格式示例：

{% hint style="info" %}
QX的节点格式和其它的代理App格式会有一些区别，使用时请注意。
{% endhint %}

### Shadowsocks（ss）及参数使用格式示例：

```
#Optional field tls13 is only for shadowsocks obfs=wss
shadowsocks=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=ss-01
shadowsocks=example.com:80, method=chacha20, password=pwd, obfs=http, obfs-host=bing.com, obfs-uri=/resource/file, fast-open=false, udp-relay=false, tag=ss-02
shadowsocks=example.com:443, method=chacha20, password=pwd, obfs=tls, obfs-host=bing.com, fast-open=false, udp-relay=false, tag=ss-03
shadowsocks=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=ssr
shadowsocks=example.com:80, method=aes-128-gcm, password=pwd, obfs=ws, fast-open=false, udp-relay=false, tag=ss-ws-01
shadowsocks=example.com:80, method=aes-128-gcm, password=pwd, obfs=ws, obfs-uri=/ws, fast-open=false, udp-relay=false, tag=ss-ws-02
shadowsocks=example.com:443, method=aes-128-gcm, password=pwd, obfs=wss, obfs-uri=/ws, fast-open=false, udp-relay=false, tag=ss-ws-tls-01
shadowsocks=example.com:443, method=aes-128-gcm, password=pwd, obfs=wss, obfs-uri=/ws, tls13=true, fast-open=false, udp-relay=false, tag=ss-ws-tls-02
```

### vmess及参数使用格式示例：

```
# Optional field tls13 is only for vmess obfs=over-tls and obfs=wss
vmess=example.com:80, method=none, password=23ad6b10-8d1a-40f7-8ad0-e3e35cd32291, fast-open=false, udp-relay=false, tag=vmess-01
vmess=example.com:80, method=aes-128-gcm, password=23ad6b10-8d1a-40f7-8ad0-e3e35cd32291, fast-open=false, udp-relay=false, tag=vmess-02
vmess=example.com:443, method=none, password=23ad6b10-8d1a-40f7-8ad0-e3e35cd32291, obfs=over-tls, fast-open=false, udp-relay=false, tag=vmess-tls-01
vmess=192.168.1.1:443, method=none, password=23ad6b10-8d1a-40f7-8ad0-e3e35cd32291, obfs=over-tls, obfs-host=example.com, fast-open=false, udp-relay=false, tag=vmess-tls-02
vmess=192.168.1.1:443, method=none, password=23ad6b10-8d1a-40f7-8ad0-e3e35cd32291, obfs=over-tls, obfs-host=example.com, tls13=true, fast-open=false, udp-relay=false, tag=vmess-tls-03
vmess=example.com:80, method=chacha20-poly1305, password=23ad6b10-8d1a-40f7-8ad0-e3e35cd32291, obfs=ws, obfs-uri=/ws, fast-open=false, udp-relay=false, tag=vmess-ws-01
vmess=192.168.1.1:80, method=chacha20-poly1305, password=23ad6b10-8d1a-40f7-8ad0-e3e35cd32291, obfs=ws, obfs-host=example.com, obfs-uri=/ws, fast-open=false, udp-relay=false, tag=vmess-ws-02
vmess=example.com:443, method=chacha20-poly1305, password=23ad6b10-8d1a-40f7-8ad0-e3e35cd32291, obfs=wss, obfs-uri=/ws, fast-open=false, udp-relay=false, tag=vmess-ws-tls-01
vmess=192.168.1.1:443, method=chacha20-poly1305, password=23ad6b10-8d1a-40f7-8ad0-e3e35cd32291, obfs=wss, obfs-host=example.com, obfs-uri=/ws, fast-open=false, udp-relay=false, tag=vmess-ws-tls-02
vmess=192.168.1.1:443, method=chacha20-poly1305, password=23ad6b10-8d1a-40f7-8ad0-e3e35cd32291, obfs=wss, obfs-host=example.com, obfs-uri=/ws, tls13=true, fast-open=false, udp-relay=false, tag=vmess-ws-tls-03
```

### Vless及参数使用格式示例：

```
vless=example.com:80, method=none, password=23ad6b10-8d1a-40f7-8ad0-e3e35cd32291, fast-open=false, udp-relay=false, tag=vless-01

vless=example.com:443, method=none, password=23ad6b10-8d1a-40f7-8ad0-e3e35cd32291, obfs=over-tls, fast-open=false, udp-relay=false, tag=vless-tls-01

vless=example.com:80, method=none, password=23ad6b10-8d1a-40f7-8ad0-e3e35cd32291, 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=vless-http

vless=example.com:80, method=none, password=23ad6b10-8d1a-40f7-8ad0-e3e35cd32291, obfs=ws, obfs-uri=/ws, fast-open=false, udp-relay=false, tag=vless-ws-01

vless=example.com:443, method=none, password=23ad6b10-8d1a-40f7-8ad0-e3e35cd32291, obfs=wss, obfs-uri=/ws, fast-open=false, udp-relay=false, tag=vless-ws-tls-01
```

### HTTP(S)及参数使用格式示例：

```
# Optional field tls13 is only for http over-tls=true
http=example.com:80,fast-open=false, udp-relay=false, tag=http-01
http=example.com:80, username=name, password=pwd, fast-open=false, udp-relay=false, tag=http-02
http=example.com:443, username=name, password=pwd, over-tls=true, tls-host=example.com, tls-verification=true, fast-open=false, udp-relay=false, tag=http-tls-01
http=example.com:443, username=name, password=pwd, over-tls=true, tls-host=example.com, tls-verification=true, tls13=true, fast-open=false, udp-relay=false, tag=http-tls-02
```

### Trojan及参数使用格式示例：

```
# Optional field tls13 is only for trojan over-tls=true
trojan=example.com:443, password=pwd, over-tls=true, tls-verification=true, fast-open=false, udp-relay=false, tag=trojan-tls-01
trojan=example.com:443, password=pwd, over-tls=true, tls-verification=true, tls13=true, fast-open=false, udp-relay=false, tag=trojan-tls-02
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-03
trojan=192.168.1.1:443, password=pwd, over-tls=true, tls-host=example.com, tls-verification=true, tls13=true, fast-open=false, udp-relay=false, tag=trojan-tls-04
```

{% hint style="info" %}
通过[配置片段](/shi-yong-fang-fa/pei-zhi-pian-duan)的方式添加的节点，会显示在<mark style="color:red;">\[server\_remote]</mark>字段下，并可以像订阅一样进行管理，建议使用此方法。

[配置片段](/shi-yong-fang-fa/pei-zhi-pian-duan)添加节点也是通过文本编辑的方式填写进去，注意格式。
{% endhint %}


# server\_remote（节点资源）

引用（订阅）的节点（也就是常说的机场订阅之类的），对应配置文件的 <mark style="color:red;">\[server\_remote]</mark> 部分，标准写法如下：

```
[server_remote]
# 远程服务器订阅模块，可直接订阅SSR，SS链接，以及Quantumult X格式的vmess/trojan/https订阅
https://raw.githubusercontent.com/crossutility/Quantumult-X/master/server.txt, tag=示范订阅1(可删除), update-interval=86400, opt-parser=false, enabled=true
https://raw.githubusercontent.com/crossutility/Quantumult-X/master/server-complete.txt, tag=示范订阅2(可删除), enabled=true

# 支持本地/iCloud的节点文件，位于Quantumult X/Profiles路径下
servers.txt, tag=本地服务器, enabled=false

```

{% hint style="info" %}
"tag" 跟 "enabled" 为可选参数，分别表示 “标签”及“开启状态”.

update-interval 为更新时间参数，单位 秒, 默认更新时间为 24*60*60=86400 秒，也就是24小时.

opt-parser=true/false 用于控制是否对本订阅 开启资源解析器，不写或者 false 表示不启用解析器;
{% endhint %}

添加订阅的步骤见[导入订阅](/shi-yong-fang-fa#dao-ru-ding-yue)

{% hint style="info" %}
通过[配置片段](/shi-yong-fang-fa/pei-zhi-pian-duan)添加的节点，也会显示在<mark style="color:red;">\[server\_local]</mark>字段下。
{% endhint %}


# mitm

{% hint style="info" %}
使用MITM就必须进行MITM根证书安装。
{% endhint %}

在 QX 中，MITM 根证书用于 HTTPS 解析，且只有配置了主机名的才会被 MITM 模块进行解析，主机名按照加载顺序进行匹配。

MITM 搭配用于去广告、内购破解等，请注意的是不是所有的都能进行 MITM，有一些进行 MITM 会导致 app 无法使用，例如 App Store、抖音、支付宝等，如果有时候遇到某个 app 无法使用，可以在 MITM 部份查看是否因此造成的，如果是发现错误的进行了 mitm，可以在主机名前加入“-”注释掉，通配符 \* 和？可以用于主机名，如果使用单独的一个 \* 符号作为主机名参数，则会匹配到所有的主机名（MITM ALL）

> “MITM” 是 “Man-in-the-Middle” 的缩写，翻译为中文是 “ 中间人攻击 ”。
>
> 中间人攻击是一种网络安全攻击技术，攻击者将自己置于通信的两个实体之间，以便能够监视、篡改或劫持它们之间的通信。在中间人攻击中，攻击者可以截获通信数据并进行各种操作，而通信的两个实体则对攻击者的存在一无所知。
>
> 通过中间人攻击，攻击者可以窃取敏感信息（如登录凭据、个人信息等）、篡改通信内容或进行其他恶意行为。为了防止中间人攻击，通信双方可以使用加密技术、数字证书和其他安全机制来确保通信的机密性和完整性。
>
> “MITM” 或 “ 中间人攻击 ” 是一个重要的网络安全概念，了解它可以帮助人们保护个人信息和网络通信的安全。

MITM根证书安装的方法请参照下面图片中的步骤：

点击MITM部分的生成证书->配置证书->允许下载->下载到iPhone

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FoGmXVmnLL6D9Wz92FZnR%2FIMG_3358-1.png?alt=media&amp;token=3734131d-1bb6-4d7b-8782-dd929c7d1179" alt=""><figcaption></figcaption></figure>

到手机的设置->已下载描述文件->安装描述文件->通用关于本机->证书信任设置->启用生成安装的证书

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2F5j5FRrL2S3J0DxpCQnIc%2FIMG_3363-1.png?alt=media&amp;token=7a7887e2-c6ad-4139-a207-d5160c370426" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
正确的安装并且信任了根证书后，QX的MITM开关才能打开生效。
{% endhint %}

#### 备份证书

当完成上面的步骤后，会在配置文件 `[mitm]` 区域，生成对应的`passphrase`和`p12`数据

```
[mitm]
passphrase = 
p12 = 

```

当需要替换其他配置时，只需要将对应的`passphrase`和`p12`数据复制粘贴到新的配置中去，就无需再次安装证书

配置文件的mitm字段样例：

```
[mitm]
# CA密码
passphrase =
# 证书
p12 =
# 跳过验证证书
skip_validating_cert = false
# 强制SNI域名
force_sni_domain_name = false
# 主机名
hostname = *.example.com, *.sample.com
# 当使用 Quantumult X 在 M 芯片的 Mac 设备上作为局域网网关时，使用下面的参数来 跳过某些特定设备的 mitm 需求
;skip_src_ip = 192.168.4.50, 92.168.4.51
# 当多个不同的 TCP 连接（非域名类请求）的目标 IP 不同，但这些连接的 TSL 握手 SNI 字段相同时，如需跳过其中某些连接的 MitM hostname 匹配过程，可使用👇参数。
;skip_dst_ip = 123.44.55.4
```

#### 主机名

```
[mitm]
hostname = abc.com
```

* 可使用通配符 `*` 和 `?` ；
* 可使用前缀 `-` 将特定主机名排除；
* 配置文件中，多个主机名可用 `,` 分割
* 单独的`*`符合作为主机名参数会匹配所有主机名

{% hint style="danger" %}
不要随意在mitm中添加主机名，更注意不要随意添加带有大量“\*”号的主机名
{% endhint %}

### **UI 查看 & 添加**

点击右下角风车进入「设置」 → 「MitM」区域-「主机名」

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FFOLsrjRWYz5v5bRB50S1%2FHOSTNAME.jpg?alt=media&amp;token=d8705c2d-2743-4b1b-9268-1b8b11149a5b" alt=""><figcaption><p>ui添加主机名步骤</p></figcaption></figure>

{% hint style="info" %}
&#x20;主机名 hostname= \*.example.com, \*.sample.com 这种添加进自己的配置文件的时候，只需要复制粘贴“*<mark style="color:green;">`*.example.com, *.sample.com`</mark>*”这一部分接在自己配置文件里面的hostname= xxxx后面即可，中间用","链接（英文格式的逗号）。

例如原来的是

hostname=1.1.1.1,2.2.2.2,3.3.3.3

之后：

hostname=1.1.1.1,2.2.2.2,3.3.3.3,*<mark style="color:green;">`*.example.com, *.sample.com`</mark>*

不要搞成：

hostname=1.1.1.1,2.2.2.2,3.3.3.3

hostname= \*.example.com, \*.sample.com&#x20;

{% endhint %}

后果就是：

下图就是一个有两个hostname字段导致的配置文件错误。

## 错误示范

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FAuon0DTdXKzVpsygh4iq%2Fsnagit014-mitm.png?alt=media&amp;token=714249cf-a694-43f7-8b0a-be7a3a2174fd" alt=""><figcaption><p>有两个hostname字段导致的错误</p></figcaption></figure>


# filter(分流规则)

### 概念

分流规则属于规则系统，是要结合策略一起进行。

规则系统中有两个基本概念：策略和规则

1. 策略：描述了QX进行转发的方式，有两种类别：

* 内置策略：DIRECT、REJECT、PROXY
* 自定义策略：根据一定的规则从子策略中选择一个最终策略。

  * **`static 策略组`**：通过 UI 菜单选择一个策略。
  * **`available 策略组`：**&#x9009;择可用的策略中，最靠前的策略。
  * **`round-robin 策略组`**：轮询策略，按网络请求轮流使用组内所有策略
  * **`dest-hash 策略组`**`：`随机负载均衡
  * **`url-latency-benchmark 策略组：`**&#x9009;择延迟最低的策略
  * **`SSID 策略组：`**&#x6839;据当前的 Wi-Fi SSID 选择一个策略

  关于策略组的详解见[policy（自定义策略组) ](/shi-yong-fang-fa/pei-zhi-wen-jian-xiang-jie/policy-zi-ding-yi-ce-le-zu)

2. 规则：QX的规则由三个部分组成：类型、参数和策略。当参数满足时，该规则匹配，使用该规则指定的策略。

> 分流规则可以分为[本地规则(filter\_local)](/shi-yong-fang-fa/pei-zhi-wen-jian-xiang-jie/filter-fen-liu-gui-ze/filterlocal-ben-di-fen-liu)和[远程规则集⁠(filter\_remote)](/shi-yong-fang-fa/pei-zhi-wen-jian-xiang-jie/filter-fen-liu-gui-ze/filterremote-yuan-cheng-fen-liu-gui-ze)，远程规则集可以理解为数条单一分流规则的合集。

{% hint style="info" %}
通俗的说，规则和策略就是让什么流量走什么线路

规则：决定哪些流量需要被转发(决定哪些车要走)

策略：决定流量应该被转发到哪里(决定车要走哪条路开到哪里)
{% endhint %}

### QX目前支持的规则类型有：

* HOST
* HOST-SUFFIX
* HOST-WILDCARD
* HOST-KEYWORD
* USER-AGENT
* IP-CIDR
* IP6-CIDR
* GEOIP
* IP-ASN

### 规则类型介绍

#### HOST 域名&#x20;

```
[filter_local]
HOST,www.google.com,policy 
```

当请求的域名**完全匹配**时，则执行该规则将 `www.google.com` 通过 `policy`⁠ 指定的策略连接。

#### HOST-SUFFIX 域名后缀&#x20;

```
[filter_local]
HOST-SUFFIX,youtube.com,policy 
```

匹配域名及其子域名，将任何以 `youtube.com` 结尾的域名通过 `policy`⁠ 指定的策略连接在这种情况下, `www.youtube.com` 和 `foo.bar.youtube.com` 都将通过 `policy`⁠ 指定的策略连接，但是不会匹配`youtube.uk`或者`ukyoutube.com`。

#### HOST-KEYWORD 域名关键字&#x20;

```
[filter_local]
HOST-KEYWORD,google,policy 
```

将任何包含 `google` 关键字的域名通过 `policy`⁠ 指定的策略连接在这种情况下, `www.google.com` 或 `googleapis.com` 都将将通过 `policy`⁠ 指定的策略连接。

#### HOST-WILDCARD 域名通配符

```
[filter_local]
host-wildcard,*abc.com,policy
```

将任何匹配 `*abc.com` 的域名通过 `policy`⁠ 指定的策略连接。因该条规则消耗性能较大，不建议使用。

#### GEOIP IP地理位置 (国家代码)&#x20;

GEOIP 规则用于根据数据包的目标 IP 地址的**国家代码**路由数据包. QX使用 [MaxMind GeoLite2](https://dev.maxmind.com/geoip/geoip2/geolite2/)数据库来实现这一功能.

```
[filter_local]
GEOIP,CN,DIRECT
```

将任何目标 IP 地址为中国的数据通过 `DIRECT`⁠ 策略连接(即中国的域名/IP走直连)。

#### IP-CIDR/IP6-CIDR IP地址段&#x20;

IP-CIDR 规则用于根据数据包的**目标 IPv4/IPv6 地址**路由数据包.

```
[filter_local]
IP-CIDR,127.0.0.0/8,policy 
IP6-CIDR,2620:0:2d0:200::7/32,policy
```

将任何目标 IP 地址为 `127.0.0.0/8` 、`2620:0:2d0:200::7/32`的数据将通过 `policy`⁠ 指定的策略连接。如果不清楚这里的 `/32` 与 `/128`，需要自行了解「CIDR」与「子网掩码」，还可以搜索「子网掩码计算器」获取帮助。

#### IP-ASN

通过 IP 自治系统编号，比如 `IP-ASN,714`。<br>

#### **USER-AGENT**

`USER-AGENT,Instagram*,DIRECT`

这个规则匹配相应的 USER-AGENT，可以使用像 \* 或者 ? 这样的通配符

{% hint style="info" %}
在 iOS 15 系统后，系统出于隐私保护考虑，不再于 CONNECT 请求中提供 User-Agent，这意味着对于所有 HTTPS 请求，在未开启 MITM 时，User-Agent 均不可见且规则无法生效。
{% endhint %}

#### FINAL 全匹配&#x20;

```
[filter_local]
FINAL,policy
```

FINAL 规则用于没有匹配到的规则。 该规则是**必需**的, 通常用作最后一条规则。`FINAL,policy` 将没有匹配到的规则通过 `policy` 指定的策略连接。

### 规则参数

默认情况下，即不带上参数时，则当处于 Wi-Fi 网络时使用 Wi-Fi 数据，当处于仅蜂窝网络时使用网络数据，

```
[filter_local]
host-suffix, qq.com, direct, force-cellular
host-suffix, qq.com, direct, multi-interface
host-suffix, qq.com, direct, multi-interface-balance
host-suffix, qq.com, direct, via-interface=pdp_ip0
```

可以使用几个参数来指定规则的出站接口：

* `force-cellular`：当处于 Wi-Fi 网络时仍使用蜂窝网络数据；
* `multi-interface`：当处于 Wi-Fi网络时，同时使用 Wi-Fi 网络与蜂窝网络建立 TCP 连接，使用拥有最佳 TCP 握手值的连接来传输数据。
* `multi-interface-balance`：当处于 Wi-Fi 网络时，均衡使用 Wi-Fi 网络与蜂窝网络，以提升并发任务的出口带宽。
* `via-interface`：指定出站接口

另外，还可以直接在「设置」底部的「其他设置」中，全局设置「出站接口」。<br>

### 规则的匹配顺序：

▎本地>远程>final

▎不开分流匹配优化：按照在配置中的顺序从上到下，域名类规则>IP类规则

▎开分流匹配优化：host > host-suffix > host-keyword(wildcard) > geoip = ip-cidr (ip6-cidr)> user-agennt

▎远程规则开插入资源：优先级会大于本地规则

根据以上的分流规则的原理，得出结论，一份比较完善的配置文件中分流规则的顺序应该是：

1. 修正规则（非必须但建议的，不能屏蔽的/系统服务类型，一般为直连，DIRECT）
2. 去广告规则（非必须，一般为拒绝，REJECT）
3. 特殊/需要单独分流的规则（比如OpenAl，被包含在大分流规则里面的，往上放）
4. 国外必须代理（必须，被墙了的，不代理无法访问，一般为 PROXY，或者自己选择的节点 / 策略）
5. 国外建议代理的（非必须，可直接访问也可以代理的，一般为 PROXY，或者自己选择的节点 / 策略）
6. 局域网规则 （非必须，DIRECT策略，绕过代理,直连本地网络，解决特殊内网环境可能造成的影响）
7. 国内规则（建议有，一般为直连，常采用 GEOIP 规则，也可以用ASN等，策略是 DIRECT）
8. FINAL（兜底）（自带的，建议为 PROXY，或者自己选择的节点 / 策略或者直连均可）

分流规则的排列原则是小范围规则在上面大范围在下面最后兜底。

{% hint style="info" %}
由于QX的规则系统内，每条单独的规则必须有对应的策略(包括规则集内的规则)，因此：

当规则集内的规则<mark style="color:red;">没有策略</mark>时，且<mark style="color:red;">不设置策略偏好</mark>，会出现<mark style="color:red;">报错</mark>

\
当规则集内的<mark style="color:green;">规则有策略</mark>，但是这<mark style="color:green;">个策略并不存在于你的配置时</mark>，会<mark style="color:green;">自动生成</mark>一个或多个以规则集内<mark style="color:green;">`规则的策略`</mark>为名称的<mark style="color:green;">策略组</mark>

当<mark style="color:purple;">开启解析器</mark>，且<mark style="color:purple;">不设置策略偏好</mark>时，解析器会自动修改规则内的策略偏好，导致出现一个<mark style="color:purple;">`Shawn策略组`</mark>，此时只要将规则<mark style="color:purple;">设置好策略偏好</mark>，即可删除<mark style="color:purple;">`Shawn策略组`</mark>
{% endhint %}

避免这些问题最近的的方法，就是<mark style="color:red;">设置策略偏好</mark>，将规则强制指向策略组/策略！⁠

后面的[本地分流](/shi-yong-fang-fa/pei-zhi-wen-jian-xiang-jie/filter-fen-liu-gui-ze/filterlocal-ben-di-fen-liu)和[远程分流（远程规则集、规则资源）](/shi-yong-fang-fa/pei-zhi-wen-jian-xiang-jie/filter-fen-liu-gui-ze/filterremote-yuan-cheng-fen-liu-gui-ze)部分分别讲它们的添加方式


# filter\_local(本地分流)

通过分流规则添加的分流规则，保存在配置文件的<mark style="color:red;">\[filter\_local]</mark>字段下，添加方式有三种

* 通过文本编辑方式添加到\[filter\_local]字段下（不推荐）
* 通过UI方式：点击风车->点击分流规则->右上角的➕号->添加规则并保存（强烈建议）
* 通过设置->[配置片段](/shi-yong-fang-fa/pei-zhi-pian-duan)->添加分流片段的方式(建议，可以当做分流资源进行管理)

见下图指示：

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FIeQqI1D0Sp9KprYfSk9A%2Fsnagit007-filter.png?alt=media&amp;token=45a734f9-fac9-47e4-91f1-4be6daff4594" alt=""><figcaption></figcaption></figure>

分流规则界面图标讲解：

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FoXntCe8Ci532chNRuSpq%2Fsnagit008-filter.png?alt=media&amp;token=86261ab8-5836-49e8-9b7a-5fdaf901b319" alt=""><figcaption></figcaption></figure>

{% hint style="info" %} <mark style="color:red;">一个小技巧</mark>：
{% endhint %}

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FyMOITpiLyPSqGkSMBdrh%2Fphoto_2024-01-18%2019.26.06.jpeg?alt=media&amp;token=08c17f1e-cfaf-4ba2-9ea9-235aa7465849" alt=""><figcaption></figcaption></figure>

点击[添加\[国内分流\]](https://quantumult.app/x/open-app/add-resource?remote-resource=%7B%0A%20%20%22filter_remote%22%20%3A%20%5B%0A%20%20%20%20%22https%3A%2F%2Fraw.githubusercontent.com%2FRepcz%2FOpen-Proflies%2Fmain%2FQuantumultX%2FRules%2FFILTER_REGION.snippet%2C%20tag%3DCN%2C%20force-policy%3Ddirect%2C%20update-interval%3D-1%2C%20opt-parser%3Dfalse%2C%20enabled%3Dtrue%22%0A%20%20%5D%0A%7D)，会调用GeoIPLite2数据库，使国内网站不走代理。

如有需要可以另外点击添加[\[国内域名规则集\]](https://quantumult.app/x/open-app/add-resource?remote-resource=%7B%0A%20%20%22filter_remote%22%20%3A%20%5B%0A%20%20%20%20%22https%3A%2F%2Fraw.githubusercontent.com%2FRepcz%2FTool%2FX%2FQuantumultX%2FRules%2FChinaDomain.list%2C%20tag%3D%E5%9B%BD%E5%86%85%E5%9F%9F%E5%90%8D%E8%A7%84%E5%88%99%2C%20force-policy%3Ddirect%2C%20update-interval%3D172800%2C%20opt-parser%3Dfalse%2C%20enabled%3Dtrue%22%0A%20%20%5D%0A%7D)，建议放在\[GeoIP CN]规则上方。

ⓘ 建议添加后长按规则挪动到最下方。

ⓘ 建议手动替换\[GeoIP数据库]

{% hint style="info" %}
分流规则的类型、参数、策略见[**分流规则**](/shi-yong-fang-fa/pei-zhi-wen-jian-xiang-jie/filter-fen-liu-gui-ze)相关介绍。
{% endhint %}


# filter\_remote(远程分流规则)

通过分流-规则资源中添加的引用资源-分流，保存在配置文件的<mark style="color:red;">\[filter\_remote]</mark>字段下，这种一般是不能直接在本地直接修改其中的内容的，一般是以list的格式，每个list中可以包含大量的多种类型和参数的规则。如需修改list中的某条分流可以使用解析器来帮助完成。

#### 配置文件⁠`filter_remote⁠`(远程分流规则)的写法

以下为配置文件`⁠filter_remote`⁠(即远程分流规则集部分)的写法

```
[filter_remote]
https://example.com/reject.txt, tag=🛡️ Block Ads, force-policy=reject, update-interval=86400, opt-parser=true, inserted-resource=true, enabled=true
```

配置文件中一条完整的远程分流规则配置是这么组成的：

```
<资源路径>, <资源标签>, <策略偏好>, <自动更新时间间隔>, <是否使用资源解析器>, <插入资源>, <是否启用>
```

* **`tag`** 资源标签：相当于名称，标识这条远程分流文件的作用；
* **`force-policy`** 策略偏好：可选，此处明确设置为 REJECT 策略，当策略偏好选中某策略时，远程资源的过滤器中的策略将被忽略，并使用策略偏好中指定策略；
* **`update-interval`** 自动更新的时间间隔，单位为秒；
* **`opt-parser`** 是否使用资源解析器，若关闭则改为 `false`；
* **`inserted-resource`** 插入资源，将分流文件中的规则放置于本地规则之前；
* **`enabled`** 是否启用该分流文件，若不使用可改为 `false`；

{% hint style="warning" %}
远程分流规则集链接的格式一般为：

<https://example.com/reject.txt>  （后缀为<mark style="color:red;">**txt**</mark>格式)

<https://example.com/proxy.list>    (后缀为<mark style="color:red;">**list**</mark>格式)
{% endhint %}

添加方法：

* UI添加（强烈建议）
* 文本编辑（不建议）

灵活应用各种分流规则和分流规则集，可以达到使用服务商在不同国家地区推出的服务，例如，OpenAI是没有在香港地区推出服务的，这时候就需要在使用OpenAI的服务时候使用例如美国、日本或者新加坡等一些地方的节点策略，而奈飞，因为不同地区国家给出的语言和字幕是不同的，而新加坡地区是有中文字幕的所以一般会选择用新加坡的节点去看奈飞视频，等等等等。

以给QX配置加一个规则分流，让奈飞（Netflix）走新加坡线路节点为例，图文写一下UI添加的步骤：

1. 去GitHub获取Netflix的规则集：`https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/QuantumultX/Netflix/Netflix.list`
2. 点击右下角的风车进入设置->分流中的规则资源->右上角的链接🔗图标->资源路径贴上list地址,策略偏好中选择新加坡节点,资源标签写上奈飞视频->点击右上角的✔保存即可。

见下面图片示例步骤：

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FDV8yfpix6BfJKHOrMwpt%2Fsnagit009-filter.png?alt=media&amp;token=28ce803a-391f-494f-ba06-261ae7b14090" alt=""><figcaption><p>从GitHub找到需要的分流list</p></figcaption></figure>

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FIt0lbYOFKY81RbybdXpp%2Fsnagit011-filter.png?alt=media&amp;token=b3791024-b401-4731-bbcf-9b8489bd976a" alt=""><figcaption><p>通过UI添加分流规则选择策略偏好</p></figcaption></figure>

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2Fwm8Upowr01EGeeK1EOLQ%2Fsnagit012-filter.png?alt=media&amp;token=a3c70130-d525-4c73-b63a-dae34393d27a" alt=""><figcaption><p>保存后即可使用</p></figcaption></figure>

{% hint style="info" %}
分流规则集的位置是可以根据需要进行调整位置的，调整方法：长按规则集条目，微振动后最右侧会出现三条横线的图标，按住图标即可上下拖动到合适位置。
{% endhint %}

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FAiaHiW65YhgYiRbTn2q7%2Fsnagit013-filter%20(1).png?alt=media&amp;token=a80e76f8-d358-4a9a-a62e-34c3db605d8f" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
如何获取规则集？见[GitHub相关](/github-xiang-guan)中的[获取RAW链接](/github-xiang-guan#huo-qu-raw-di-zhi)
{% endhint %}


# 重写（rewrite）

## 原理简述

QX这类的代理类App，核心能力是四项：

* 接管：可以将设备发出的网络连接进行接管，QX采用虚拟网卡（TUN模式）接管
* 处理：可以对被接管的网络请求和响应进行修改。包括 URL 重定向、本地文件映射、使用 JavaScript 自定义修改等多种方式。
* 转发：可以将被接管的网络请求转发给其他代理服务器。可以是全局转发，也可以按照非常灵活的规则系统确定出口策略。
* 截获：可以截获并保存网络请求和响应的具体数据，同时可对 HTTPS 加密流量进行 MITM 解密。

重写就是当中的处理这一部分。

{% hint style="danger" %}
使用重写功能，需要在[设置页面](/shi-yong-fang-fa/jie-mian-cao-zuo/she-zhi-ye-mian)中开启。
{% endhint %}

目前 QX 提供的修改能力包括（rewrite）：

&#x20;• 重定向（302，307，request-header， request-body，script-request-header，script-request-body，其中，重定向主机仅可使用302，307，不支持直接修改url重定向主机）

&#x20;• 本地文件映射（echo-resonse，script-echo-response，script-analyze-echo-response）

&#x20;• 请求头和响应头修改（request-header，response-header）

&#x20;• JavaScript 脚本修改

其中脚本修改的功能最为强大，可通过脚本间接实现其他几项能力。但是由于脚本编写繁琐，运行时开销略大，简单需求还是应该通过其他方式实现。

同时因为处理只能对HTTP流量进行处理，所以其中一些HTTPS需要对其mitm解密后才能进行处理，所以重写这部分和mitm的联系是很紧密的。

{% hint style="info" %}
开启mitm见之前的[mitm章节](/shi-yong-fang-fa/pei-zhi-wen-jian-xiang-jie/mitm)
{% endhint %}

当前QX支持的重写有如下类型：

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FWr6sAVt8qPEgdAokIvRU%2FIMG_6261.jpeg?alt=media&amp;token=3d0daa99-5dec-4635-b1b8-d8a64570267d" alt=""><figcaption><p>QX的重写类型</p></figcaption></figure>

简单讲解一下重写类型含义

* **reject**：对正则匹配的URL返回404状态(*returns HTTP status code 404 with no content*)
* **reject-img**：对正则匹配的URL返回HTTP 200响应和1像素的gif（*returns HTTP status code 200 with content of 1px gif*）
* **reject-dict**：对正则匹配的URL返回空JSON对象的和HTTP 200响应（*returns HTTP status code 200 with content of empty json object*）
* **reject-array**：对正则匹配的URL返回空JSON数组的HTTP 200响应 （*returns HTTP status code 200 with content of empty json array*）
* **reject-200**：对正则匹配的URL返回空响应体的HTTP响应（*returns HTTP status code 200 with no content*）
* **302**：对正则匹配的URL，会将POST请求改成GET,不保留请求体
* **307**：对正则匹配的URL，将POST重定向到POST,PUT重定向到PUT，会保留请求体
* **request-header**：请求头，通过正则可以匹配多个连续的请求头,实现基于多个头信息进行规则匹配修改请求头。(*The "request-header" works for all the http headers not just one single header, so you can match two or more headers including CRLF in one regular expression.)*
* **request-body**：通过正则匹配URL修改请求体
* **response-header、response-body**：通过正则匹配URL修改响应头、响应体
* **echo-response**：通过正则匹配URL直接返回响应体内容，可用于直接返回原始响应、构造自定义响应、调试及占位等用途，这是一种返回静态数据的mock方法
* **script-analyze-echo-response、script-echo-response**：对正则匹配的URL返回一个通过脚本script的方式处理过的由用户自定义的响应体，区别是*script-analyze-echo-response*同时**包含全部$request数据，**&#x6BD4;如BoxJs 、SubStore 均使用此方式工作；*script-echo-response***不包含全部$request数据** 一般用来返回由用户自行构造的响应数据 功能近似于Mock。
* **script-request-header、script-request-body、script-response-header、script-response-body**：分别是通过脚本（script）的方式对正则匹配的URL返回的请求头、请求体、响应头、响应体进行处理，并返回经过脚本处理后的相应内容。

{% hint style="warning" %}
script-echo-response 和script-response-body区别是前者是返回一个由用户完全虚构的响应，后者是返回一个修改过的收到的真实响应。<br>
{% endhint %}

### 脚本存放位置

{% hint style="warning" %}
脚本的保存位置：

1.可以放 github 后， 远程使用对应链接（raw 链接）

2.也可以放本地的 My iPhone - Quantumult X - Scripts 文件夹

3.如果QX的其它设置中资源中iCloud云盘开关打卡的话，则是在iCloud Drive - Quantumult X - Scrips文件夹
{% endhint %}

### 补充一点官方文档说明

> `如果”rewrite”与响应体相关,长度和编码相关的 HTTP 头字段会由 Quantumult 自动处理,所以你不需要自行处理。对 response-body 和 script-response-body 支持的最大响应大小是 1024kB(解压后)`
>
> `如果响应体为空,与响应体相关的 rewrite 将不会被执行`
>
> `在重写规则中使用javascript时,你可以使用这些对象:$request、$response、$notify(标题,副标题,消息)、console.log(消息)和Quantumult内置的对象都有”$“前缀。`
>
> `支持:$request.scheme、$request.method、$request.url、$request.path、$request.headers、$response.statusCode、$response.headers、$response.body`
>
> `$notify(标题,副标题,消息)会在启用了Quantumult通知时发出iOS通知。`
>
> `$prefs用于持久化存储:$prefs.valueForKey(键)、$prefs.setValueForKey(值,键)、$prefs.removeValueForKey(键)、$prefs.removeAllValues()。`
>
> `console.log(消息)会在日志级别为“debug”时输出日志到Quantumult日志文件。`
>
> `setTimeout(函数(){ },间隔)会在间隔(毫秒)后运行函数。`

重写按加载顺序进行匹配，与分流规则类似同样存在优先级⁠，本地>远程，上面的>下面的规则。可以点击“重写规则”查看加载顺序。&#x20;

根据以上对重写类型的介绍可以看出，重写一般较多的用来去广告，通过脚本进行 app 的签到以及 app 的内购破解等。 重写和分流一样，分为[本地重写\[rewrite\_local\]](/shi-yong-fang-fa/pei-zhi-wen-jian-xiang-jie/zhong-xie-rewrite/rewrite_local)和[远程重写资源\[rewrite\_remote\]](/shi-yong-fang-fa/pei-zhi-wen-jian-xiang-jie/zhong-xie-rewrite/rewrite_remote)两种。

{% hint style="warning" %}
新人建议使用[远程重写资源](/shi-yong-fang-fa/pei-zhi-wen-jian-xiang-jie/zhong-xie-rewrite/rewrite_remote)的方式，不建议使用本地重写。
{% endhint %}


# rewrite\_local

关于重写的介绍见上一章节[重写\[rewrite\]](/shi-yong-fang-fa/pei-zhi-wen-jian-xiang-jie/zhong-xie-rewrite)。本章节只介绍如何使用本地重写。

{% hint style="warning" %}
此种方法只能自己手动更新，因此不建议新手小白添加。
{% endhint %}

因为重写（rewrite）涉及的类型比较多，很多时候会需要搭配mitm使用，正常的步骤就是根据需要添加的内容，在设置->重写规则中按照正确的类型进行添加，然后在mitm->主机名中添加对应的主机名。（推荐）这里简单的以一个掌上生活去广告为例，图文演示一下添加过程：

去广告来源：<https://t.me/Aa28413761/1319>

内容：

```
#投稿 #掌上生活 去开屏广告更新
^https:\/\/mbasecc\.bas\.cmbchina\.com\/Edge\/api\/mlife\.clientface\.clientservice\.api\.advertiseService\/preCacheAdvertiseSec url reject-dict
hostname = mbasecc.bas.cmbchina.com
```

将`^https:\/\/mbasecc\.bas\.cmbchina\.com\/Edge\/api\/mlife\.clientface\.clientservice\.api\.advertiseService\/preCacheAdvertiseSec` 这部分添加到重写规则的用以匹配的URL内，选择类型为`reject-dict`，在mitm部分的主机名中添加：`mbasecc.bas.cmbchina.com`

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FbcW2GubCoN8l35F5iBjy%2Fsnagit016-rewrite%20(1).png?alt=media&amp;token=95d6389a-3422-4d90-942e-35c0a596a6a6" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
如果有类似的配置都是采用相同的添加方法，url这个之前词的是匹配正则，之后的是类型
{% endhint %}

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FPqni6SRBIt93LHV7DCXR%2FCC2024-01-20at11.30.09%402x.png?alt=media&amp;token=38554b5a-0713-40dd-91c3-a7fe7c869656" alt=""><figcaption><p>简单的例子</p></figcaption></figure>

如果熟悉的话也可以通过文本模式分别粘贴到\[rewrite\_local]和\[mitm]字段内（不推荐）

见下图示例，切记主机名只复制hostname后面的那部分进去，和之前的用英文逗号隔开。

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FC8BbqTgGjxfI82asDVEe%2Fsnagit018-rewrite.png?alt=media&amp;token=42c30169-f1b2-46e8-96d7-73af86cffe82" alt=""><figcaption><p>hostneame字段只复制主机名进来就行了</p></figcaption></figure>

错误的例子见：[错误示范](/shi-yong-fang-fa/pei-zhi-wen-jian-xiang-jie/mitm#cuo-wu-shi-fan)

在配置片段中也可以通过文本的方式添加，方法见下图示例：

配置片段->重写->粘贴内容保存

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FH4DMTkdx9zsuvjlzDPlL%2Fsnagit019-rewrite.png?alt=media&amp;token=77a2ac5b-907b-4775-9d10-3295927d6755" alt=""><figcaption></figcaption></figure>

可以保留默认自动生成的名字，也可自己取个名字，记得**保留`.snippet`**&#x540E;缀

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FiSvriLG79Tv3LoxNykOX%2Fsnagit020-rewrite.png?alt=media&amp;token=1af87594-4648-49c7-a475-65546cd035e1" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
通过配置片段添加的引用资源是保存在配置文件的\[rewrite\_remote]字段下的

UI界面中显示在重写的规则资源-引用资源中。
{% endhint %}


# rewrite\_remote

### 文本格式

通过重写中的规则资源添加的引用资源，保存在配置文件的\[rewrite\_remote]字段下，在配置文件中的格式为：

#### 配置文件`⁠rewrite_remote⁠`(远程重写)的写法

以下为配置文件`⁠rewrite_remote`⁠(即远程重写部分)的写法

```
[rewrite_remote]
https://raw.githubusercontent.com/crossutility/Quantumult-X/master/sample-import-rewrite.txt, tag=Sample, enabled=true, update-interval=86400, opt-parser=true
```

配置文件中一条完整的远程重写配置是这么组成的：

```
<资源路径>, <资源标签>, <自动更新时间间隔>, <是否使用资源解析器>,<是否启用>
```

* **`tag`** 资源标签：相当于名称，标识这条远程重写文件的作用；
* **`update-interval`** 自动更新的时间间隔，单位为秒；
* **`opt-parser`** 是否使用资源解析器，若关闭则改为 `false`；
* **`enabled`** 是否启用该分流文件，若不使用可改为 `false`；

### 添加方式

* 找到重写文件的`RAW格式`链接，复制链接→设置里面的重写下的规则资源里面的资源路径，写好标签，必要时开启资源解析器，保存。<br>
* 受益于[@KOP-XIAO](https://github.com/KOP-XIAO/QuantumultX/blob/master/Scripts/resource-parser.js)的资源解析器，使用非标准QuantumultX的重写时(例如一些脚本`.js`、其他软件的模块`.sgmodule`、插件`.plugin`⁠等，这些里面都包含有重写规则)，可开启解析器使其变为QX支持的格式，但这并不意味着上述格式的文件在开启解析器后一定可用。
* 只要用到QX的重写，[@KOP-XIAO](https://github.com/KOP-XIAO/QuantumultX/blob/master/Scripts/resource-parser.js) 的资源解析器是避不开的一环，后面有对应的章节进行详解用法。见[资源解析器的作用与详解](/shi-yong-fang-fa/jie-xi-qi-de-zuo-yong-yu-xiang-jie)

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2Fv2RItRbmkZbnCUxx0SCa%2F701E595D-4369-4580-A442-DE603BBAB2D6.jpg?alt=media&amp;token=8b5165a5-ccb7-489d-b357-ad87b4d2b222" alt=""><figcaption></figcaption></figure>

### 重写远程资源路径中添加的一般为以下几种格式：

* xxxxx.snippet（本地的配置片段）
* <https://raw.githubusercontent.com/xxxxxx/xxxxx/main/xxxxxx.snippet(远程配置片段)>
* <https://raw.githubusercontent.com/xxxxxx/xxxxx/main/xxxxxx.conf(远程重写配置)>
* <https://raw.githubusercontent.com/xxxx/master/xxxxx.qxrewrite(远程重写配置)>
* <https://raw.githubusercontent.com/xxxx/xxxx/master/xxxxx.js(远程脚本，这种是**必须**搭配**对应本地重写**URL和hostname)----（**⚠️注意，这个其实是本地重写，只是引用的脚本在远程**）>
* <https://raw.githubusercontent.com/xxxx/xxxx/main/xxxx.sgmodule（Surge模块，需搭配解析器>)

{% hint style="warning" %}
千万别 直接把js脚本链接直接丢进rewrite引用，然后还跑来问“怎么报错？”&#x20;

同时，放对位置后，需要去 rewrite\_local里添加引用
{% endhint %}

见下图示例：

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FILPZIwkHZtUhJTWW3yHG%2FIMG_6286.png?alt=media&amp;token=64016a10-b9ea-4630-ac7a-a202b76f6c40" alt=""><figcaption><p>常见的重写格式</p></figcaption></figure>

###

{% hint style="warning" %}
虽然有资源解析器，可以往重写资源中添加很多类型的链接，但并不是什么都能加进去并起作用的！

建议添加前仔细阅读相关说明和添加方法！
{% endhint %}


# 工具&分析

QX将HTTP请求\[task\_local]，http\_backend，以及HTTP抓取归纳入工具和分析类型，这三项与HTTP请求相关的工具，与开发和调试有关，其中的HTTP抓取，已经独立出来做了一个页面的介绍，见[**HTTP抓取(抓包）**](/shi-yong-fang-fa/http-zhua-qu-zhua-bao)**，这里就分开介绍一下**[**HTTP请求**](/shi-yong-fang-fa/pei-zhi-wen-jian-xiang-jie/gong-ju-fen-xi/http-qing-qiu-tasklocal)**和**[**http\_backend**](/shi-yong-fang-fa/pei-zhi-wen-jian-xiang-jie/gong-ju-fen-xi/http_backend)


# HTTP请求\[task\_local]

## 简介

QX 对于此项目的介绍：构造HTTP或HTTPS请求，并在指定的时间发送。兼容5位或6位（不包括指令）cron语法。

计划任务需QX处于运行状态以及计划任务开关为开启状态。

点击任务图标可禁用单个任务，但您仍可向右滑动对应条目手动执行。

这部分添加的内容体现在配置文件&#x7684;**`[task_local]`**&#x5B57;段内格式：

```
[task_local]
0 0 * * * https://raw.githubusercontent.com/crossutility/Quantumult-X/master/sample-task.js#force-timeout=10000&method=POST, tag=Sample, img-url=https://raw.githubusercontent.com/crossutility/Quantumult-X/master/quantumult-x.png, enabled=true
```

配置文件中一条完整的http请求是这么组成的

```
<任务类型>, <资源路径>,<资源标签>,<图标路径>,<是否启用>
```

* **任务类型**：cron（定时任务）、event-network（网络切换脚本，网络切换/变化时触发）、event-interaction（UI交互脚本，首页长按策略或节点唤出）
* **`tag`**：任务名称标识
* **`img-url`**：可本地可网络，只支持144\*144大小图标
* **`enabled`** 是否启用该任务，若不使用可改为 `false`

## 界面

在使用这系列的功能之前，先对界面和各图标的功能简单介绍一下。

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FjAxhvwwjtIHokUhflQfW%2FIMG_6301.png?alt=media&amp;token=faaaa6a8-f4a4-451c-99b0-9a5020e9bb0f" alt=""><figcaption></figcaption></figure>

在任务上向左和向右滑动会出现一些选项，点击任务图标可以禁用该任务。

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FifK8knjOLG9TvpSgyk25%2Fsnagit021-task.png?alt=media&amp;token=a397bcbb-cc5b-4f64-b5b8-f94b23832cc3" alt=""><figcaption></figcaption></figure>

### 任务仓库task gallery 订阅

TF 版本 1.0.17 (build 433)后，Quantumult X 加入了 task-gallery，可以实现签到脚本订阅&管理。

[官方示范格式JSON](https://github.com/crossutility/Quantumult-X/blob/master/gallery.json)

[可用API转换，示范](https://t.me/QuanX_API/63)

添加步骤见下面图文

这里以下面这个为例

[`https://dove.589669.xyz/task2qxgallery?&sub=https%3A%2F%2Fraw.githubusercontent.com%2Fchavyleung%2Fscripts%2Fmaster%2FLoon.task.conf&name=Chavy_Tasks`](https://dove.589669.xyz/task2qxgallery?\&sub=https%3A%2F%2Fraw.githubusercontent.com%2Fchavyleung%2Fscripts%2Fmaster%2FLoon.task.conf\&name=Chavy_Tasks)

点击上面最左边的任务仓库图标，在出来的页面中点击➕图标，在弹出的对话框中清理掉原来的链接地址，注意完全清理掉，粘贴进去要添加的仓库链接，注意不要留空格

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FOZW94SEjQGG4fhGoMNVH%2Fsnagit022-task.png?alt=media&amp;token=e072392b-5d2f-4522-aa7a-c087a986b153" alt=""><figcaption></figcaption></figure>

如果链接没有错误的话，添加进去的任务仓库会显示仓库名称和任务图标，点击想添加使用的任务图片旁边的➕号，添加到请求列表中去。

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2F84TO3LAMhFnm3Ecc23fW%2Fsnagit023-task.png?alt=media&amp;token=f7e0127d-8237-4c2b-8b96-ff5ddc0770e6" alt=""><figcaption></figcaption></figure>

签到类型的脚本，配置正确的话到设定时间会在QX启动的情况下自动运行，这种一般需要配合着账户的cookie，具体使用方法请阅读脚本中或者作者写的使用说明。

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FbYJrKotsTv88Qs4GqmQu%2Fsnagit024-task.png?alt=media&amp;token=292346be-b046-4b40-b934-3f9b6e51f9b3" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
使用任务仓库请注意其中的脚本的使用方法和有效性，有些脚本可能已经失效或者过期了。
{% endhint %}

### 实战添加boxjs和单个任务

涉及到签到类型的task都与账户的cookie和数据持久化有关联，这里以巴哈姆特的签到为例，图文描述一下boxjs的安装和订阅，以及单个任务添加等步骤，如果遇到相同类型的可以作为参考

脚本地址：`https://github.com/NobyDa/Script/blob/master/Bahamut/BahamutDailyBonus.js`

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2F94CoteweMAkf52SySRcX%2FCC2024-01-22at10.39.31%402x.png?alt=media&amp;token=f82d58ea-4837-4b6f-8a7b-e27065cab00d" alt=""><figcaption></figcaption></figure>

通过阅读脚本的注释说明部分，可以看到需要用到boxjs订阅，并且给出了订阅地址，以及脚本的兼容性，如何使用等等

{% hint style="warning" %}
规范的开发者都会写清楚如何使用，养成阅读开发者说明的好习惯。
{% endhint %}

#### 添加boxjs

QX添加boxjs是在重写中进行的（早期是采用http\_backend，但是此方法已经废弃），添加步骤，点一下首页的风车图标，进入设置，点击重写板块下的规则资源，点击右上角的链接🔗图标，在资源路径中粘贴上boxjs的重写资源链接，填上标签，勾上资源解析器，并且保存即可。（远程重写的一些操作步骤见[重写章节](/shi-yong-fang-fa/pei-zhi-wen-jian-xiang-jie/zhong-xie-rewrite/rewrite_remote#tian-jia-fang-shi)）

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FyZgUIvXN7OT9k9FElo28%2Fsnagit025-task.png?alt=media&amp;token=b0b4db18-3eb5-4647-b693-85e822ea1837" alt=""><figcaption></figcaption></figure>

#### boxjs中添加订阅

在boxjs的订阅页面中，选择添加订阅（如果没有其它订阅时）或者右上角的➕号，将脚本介绍中的订阅地址粘贴进去（json格式）

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2F5GWMcD1c3zUG2Ibbffue%2Fsnagit027-boxjs.png?alt=media&amp;token=9b8b2ca5-5cb2-4f05-841e-7a3988969449" alt=""><figcaption><p>boxjs添加订阅步骤</p></figcaption></figure>

保存后刷新出内容，在其中找到巴哈姆特签到相关的，按照脚本说明输入用户名和密码并保存。

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2Fa1pevxCNYuZY98SXpPW4%2Fsnagit028-boxjs.png?alt=media&amp;token=0ed2dd5e-0bc3-4b38-83ea-80e92a8ff2e5" alt=""><figcaption><p>一般里面都含有很多内容，根据需要订阅使用，注意看使用说明</p></figcaption></figure>

#### 添加单个任务

添加方式有按照默认的先写cron再写入脚本，这种方式是将脚本的内容整个复制粘贴到脚本编辑器中，并存储在本地，因为一般人没有脚本的维护更新能力，不建议使用此种方式添加，在此也不做介绍了。介绍的是点击添加后选择文本方式和高级这两种

1.使用文本方式添加

在请求列表点击右上角的➕号，选择文本方式添加，将`[task_local]`底下的内容一次性的全部复制并粘贴进去后保存即可。

例如上面的脚本中说明QX的使用方法部分：

> ***
>
> 【 QX 1.0.10+ 脚本配置 】 :
>
> ***
>
> \[task\_local]&#x20;
>
> 0 8 \* \* \* <https://raw.githubusercontent.com/NobyDa/Script/master/Bahamut/BahamutDailyBonus.js>, tag=巴哈姆特签到, img-url=<https://raw.githubusercontent.com/NobyDa/mini/master/Color/bahamutGame.png>
>
> \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*/

则是将：

`0 8 * * * https://raw.githubusercontent.com/NobyDa/Script/master/Bahamut/BahamutDailyBonus.js, tag=巴哈姆特签到, img-url=https://raw.githubusercontent.com/NobyDa/mini/master/Color/bahamutGame.png`

这一部分全部复制后贴进去保存即可，见下图。

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FvG6i2ATuNqLh7mRlrIMv%2Fsnagit030-task.png?alt=media&amp;token=6c49ee26-27a5-4faa-adcb-3f98c9b836c2" alt=""><figcaption><p>文本方式添加</p></figcaption></figure>

2.点击添加后选择高级方式添加，将字段按照对应位置填写进去保存即可

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FP5WDOZUAzqMDO5vCBGLv%2Fsnagit031-task.png?alt=media&amp;token=880b23a2-9824-46b7-abf9-5f86fd7126d6" alt=""><figcaption><p>填写时候按照类型添加即可</p></figcaption></figure>

添加成功后，手动执行看下效果

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2F35YFEx8c4a6q59huHZ2M%2Fsnagit029-task.png?alt=media&amp;token=a8e93aa0-dee8-4140-876f-c007017b4f36" alt=""><figcaption><p>手动执行看下日志</p></figcaption></figure>

关于boxjs的一些使用等可以参照开发者本人的教程：<https://docs.boxjs.app>

以上是以巴哈姆特的签到配合boxjs做的一个示例的过程，如果有类似的可以作为参照，使用过程中请仔细阅读相关说明。


# http\_backend

## 简介

http\_backend 是通过QX在本地搭建一个HTTP服务器，并且使用JavaScript来进行数据处理，可以通过`http://address:port/path/` 来访问。默认的地址和端口：`127.0.0.1:9999` 。使用时候需QX处于开启状态且http\_backend 开关已经开启。

因为现在的QX相关的脚本都在重写中进行，几乎没有使用http\_backend的方式，此部分也不做过多介绍了。

{% hint style="info" %}
早期的boxjs是使用http\_backend 的方式，但是现在也已经改为重写的方式了。
{% endhint %}


# 解析器的作用与详解

本部分内容来自QX解析器作者Shawn，搬运已经征得其同意，表示衷心的感谢！

## 介绍

[资源解析器](https://github.com/KOP-XIAO/QuantumultX)，是对引用的资源文件内容（远程 or 资源片段），进行 解析/转换/修改，变成 Quantumult X 支持的内容，可用在 Quantumult X 的 三个主要模块：

1. 节点
2. 分流
3. 重写

## 添加方式

要使用资源解析器，需要先添加它，添加的方式：

```
// 在 QuantumultX 配置文件中 [general] 字段下，添加

resource_parser_url = https://raw.githubusercontent.com/KOP-XIAO/QuantumultX/master/Scripts/resource-parser.js

//如提示"没有自定义解析器"，请长按右下角图标后点击左侧刷新按钮，
//更新资源，后台退出 app，直到出现解析器说明
```

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2F3DTzDVVdLqZt3s0kveRP%2Fsnagit048-rp.png?alt=media&amp;token=29e4db8b-528e-4caa-9d2e-114d94d1f2f9" alt=""><figcaption><p>添加的位置</p></figcaption></figure>

{% hint style="warning" %}
配置文件里面**仅能添加一个**资源解析器，请勿重复添加。
{% endhint %}

## 使用方法

1、在 ⟦引用链接⟧ 后加 "#" 并添加参数（如有）, 不同参数用 "&" 连接&#x20;

例如： "你的订阅连接#emoji=1\&tfo=1\&in=香港+台湾"&#x20;

⚠️本地资源片段引用, 请将参数如 "#in=xxx\&out=yyy" 填入资源片段的第 ① 行&#x20;

⚠️支持中文, "操作" 以下特殊字符时请先替换(URL-Encode)&#x20;

&#x20;`"+"⇒"%2B", 空格⇒"%20", "@"⇒"%40", "&"⇒"%26", "."⇒".", ","⇒"%2C"`

2、打开资源解析器开关

## 参数说明

### 主要功能:&#x20;

1. 将其它格式的⟦服务器订阅⟧解析成 𝐐𝐮𝐚𝐧𝐭𝐮𝐦𝐮𝐥𝐭 𝐗 格式
   * 支持 𝐕2𝐫𝐚𝐲𝐍/𝗦𝗦(𝗥/𝗗)/𝗛𝗧𝗧𝗣(𝗦)/𝗧𝗿𝗼𝗷𝗮𝗻/𝗤𝘂𝗮𝗻𝘁𝘂𝗺𝘂𝗹𝘁(𝗫)/𝗦𝘂𝗿𝗴𝗲/𝐂𝐥𝐚𝐬𝐡/𝐒𝐡𝐚𝐝𝐨𝐰𝐫𝐨𝐜𝐤𝐞𝐭/𝐋𝐨𝐨𝐧 格式
   * 提供对转换过程中的可选个性化参数(筛选、重命名 等)
2. r𝗲𝘄𝗿𝗶𝘁𝗲(重写) & 𝗳𝗶𝗹𝘁𝗲𝗿(分流) 的 转换 & 筛选
   * 用于禁用/修改远程引用中某(几)项 𝗿𝗲𝘄𝗿𝗶𝘁𝗲/𝗵𝗼𝘀𝘁𝗻𝗮𝗺𝗲/𝗳𝗶𝗹𝘁𝗲𝗿
   * S𝐮𝐫𝐠𝐞/𝐂𝐥𝐚𝐬𝐡 类型规则 𝗹𝗶𝘀𝘁 与 模块 𝐦𝐨𝐝𝐮𝐥𝐞 的解析使用

***

1. 在 **⟦订阅链接⟧** 后加 "#" 使用, 不同参数用 "&" 连接

   * 例如：你的订阅连接#emoji=1\&tfo=1\&in=香港+台湾"&#x20;
   * 本地资源片段引用, 请将参数如 "#in=xxx\&out=yyy" 填入资源片段的第一行&#x20;
   * 支持中文, "操作" 以下特殊字符时请先替换(URL-Encode)&#x20;

   `"+"⇒"%2B", 空格⇒"%20", "@"⇒"%40", "&"⇒"%26", "."⇒".", ","⇒"%2C"`
2. **⟦𝐬𝐞𝐫𝐯𝐞𝐫 节点⟧** ➠ 参数说明:&#x20;
   1. **`emoji=1`**(国行设备用2)/-1, 添加/删除节点名内地区旗帜;&#x20;
   2. **`udp=1/-1`**, **`tfo=1/-1,`** 分别强制开启(关闭) 𝐮𝐝𝐩-𝐫𝐞𝐥𝐚𝐲/𝐟𝐚𝐬𝐭-𝐨𝐩𝐞𝐧;
   3. **`uot=1`**, 开启 udp-over-tcp=true选项（仅限SS(R)）
   4. **`cert=1/-1`**, 分别开启/关闭 𝐭𝐥𝐬 证书验证(默认关闭);
   5. **`csha`**/**`psha`**, tls-cert-sha256 以及 tls-pubkey-sha256 参数&#x20;
   6. **`in`**, **`out`**, **`regex`**, **`regout`** 分别为 保留、删除、正则保留、正则删除 节点;
      1. ⚠️ `in, out 中多参数(逻辑"或")用 "+", 逻辑"与"用 "." 表示;`
      2. ⚠️ `in/out 仅对节点名匹配生效`
      3. ⚠️ `regex/regout 对节点的完整信息进行匹配(类型、端口、加密等);`
      4. ⚠️ `示例: "in=香港.0\.2倍率+台湾&out=BGP&regex=iplc" 意思是保留香港0.2倍率和台湾节点，删掉带BGP的节点保留带iplc的节点。`
   7. **rename** 重命名, "旧名@新名", "前缀@", "@后缀", 用 "+" 连接多个参数;
      1. 删除字段: "字段1.字段2☠️", 想删除 "." 时用 "\\." 替代
      2. 示范: "rename=香港@𝐇𝐊+\[𝐒𝐒]@+@\[1𝐗]+流量.0\\.2☠️" 将节点中"香港"重命名为"HK"，在节点名字前加上"\[𝐒𝐒]"后面加上"\[1𝐗]"，去掉带有"流量0.2"的字段
      3. 默认 emoji 先生效, 如想调换顺序, 请用 rrname 参数&#x20;
   8. **`replace`** 正则替换节点中字段, 可用于重命名/更改加密方式等
      1. `replace=regex1@𝘀𝘁𝗿1+regex2@𝘀𝘁𝗿2`&#x20;
   9. 占位符，可用于 rename/replace 等操作
      1. **`$type0/1/2/3/4/5/6/7`** 占位符，将节点类型(ss/ssr/vmess 等)作为可操作参数，改变输出节点协议类型字体格式，如：**`rename=@|$type2`**；样式分别为 "𝐬𝐬","𝐒𝐒","🅢🅢","🆂🆂","ⓢⓢ","🅂🅂","𝕊𝕊","ˢˢ"
      2. **`$index0/1/2/3/4/5/6/7/8`** 占位符，将节点的序号作为可操作参数，如：**`rename=@「$index1」`** ，样式分别为 1\①\❶\⓵\𝟙\¹\₁\𝟏\𝟷
      3. **`$emoji1/2`** 占位符, 将emoji(🇭🇰 等)作为可操作参数，**`rename=@「$emoji1」`**
      4. **`tag`** 占位符，将订阅的 tag 作为可操作参数，可接数字以单独给 tag 添加字母/数字，**`rename=@「$tag34」`**, 样式同下边的 ptn/npt&#x20;
   10. **`ptn=1-8`**, 将节点名英文替换成样式 ⇒ 🅰/🄰/𝐀/𝗮/𝔸/𝕒/ᵃ/ᴬ&#x20;
   11. **`npt=1-8`**, 将节点名数字替换成样式 ⇒ ①\❶\⓵\𝟙\¹\₁\𝟏\𝟷&#x20;
   12. **`delreg`**, 利用正则表达式来删除 "节点名" 中的字段(⚠️ 慎用)&#x20;
   13. **`ahead=-1`**, 关闭 Vmess 的 AEAD 参数
   14. **`host=xxx`** , 修改 host 参数（如有）
   15. **`checkurl=xxx`** , 指定`server_check_url` 参数&#x20;
   16. **`sort=1/-1/x/`**&#x53C2;数规则, 按节点名 正/逆/随机/参数规则 排序
       1. 参数规则是正则表达式或简单关键词, 用"<" 或 ">" 连接
       2. sort=🇭🇰>🇸🇬>🇯🇵>🇺🇸 , 靠前排序
       3. sort=IEPL\<IPLC\<BGP , 靠后排序&#x20;
   17. **`info=1`**, 开启通知提示机场流量信息(如有提供);&#x20;
   18. **`del=1`**, 有重名节点时用此参数删除重复节点(默认改名保留)&#x20;
   19. **`flow`**=2022-06-02:1000:54, 订阅到期时间:总流量:已用流量&#x20;
   20. ⟦进阶参数⟧: 𝘀𝗳𝗶𝗹𝘁𝗲𝗿/𝘀𝗿𝗲𝗻𝗮𝗺𝗲, 传入一段 base64 编码的脚本, 可用于更为复杂的\[过滤/重命名] 需求
       1. &#x20; 说明:[ https://github.com/KOP-XIAO/QuantumultX/pull/9](< https://github.com/KOP-XIAO/QuantumultX/pull/9>)
3. **𝐫𝐞𝐰𝐫𝐢𝐭𝐞 重写⟧/⟦𝐟𝐢𝐥𝐭𝐞𝐫 分流⟧** ➠ 参数说明:&#x20;
   1. **`in`**, **`out,`** 根据关键词 保留/禁用 相关分流、重写规则;&#x20;
   2. **`inhn`**, **`outhn`**, “保留/删除”主机名(𝒉𝒐𝒔𝒕𝒏𝒂𝒎𝒆); 示范: 禁用 "淘宝比价" 及 "weibo" 的 js 同主机名 `𝐡𝐭𝐭𝐩𝐬://𝐦𝐲𝐥𝐢𝐬𝐭#out=tb_price.js+wb_ad.js&outhn=weibo`
   3. **`regex`**/**`regout`**, 正则保留/删除, 请自行折腾正则表达式; 可与 **`in(hn)`**/**`out(hn)`** 一起使用，**`in(hn)`**/**`out(hn)`** 会优先执行; 对 𝒉𝒐𝒔𝒕𝒏𝒂𝒎𝒆 & 𝐫𝐞𝐰𝐫𝐢𝐭𝐞/𝐟𝐢𝐥𝐭𝐞𝐫 同时生效(⚠️ 慎用)&#x20;
   4. **`policy`** 参数, 用于直接指定策略组，或为 𝐒𝐮𝐫𝐠𝐞 类型 𝗿𝘂𝗹𝗲-𝘀𝗲𝘁 生成策略组(默认"𝐒𝐡𝐚𝐰𝐧"策略组);&#x20;
   5. **`pset=regex1@policy1+regex2@policy2`**, 为同一分流规则中不同关键词(允许正则表达式)指定不同策略组;&#x20;
   6. **`relace`** 参数, 正则替换 𝐟𝐢𝐥𝐭𝐞𝐫/𝐫𝐞𝐰𝐫𝐢𝐭𝐞 内容, **`regex@newregex`**;&#x20;
      1. 例：将淘宝比价中脚本替换成 lite 版本, tiktok 中 JP 换成 KR
      2. `replace=(price)(.*)@$1_lite$2+jp@kr`&#x20;
   7. **`dst=rewrite/filter`**，分别为将 𝐦𝐨𝐝𝐮𝐥𝐞&𝗿𝘂𝗹𝗲-𝘀𝗲𝘁 转换成 重写/分流;&#x20;
      1. 默认将 𝐦𝐨𝐝𝐮𝐥𝐞 转换到重写, 𝗿𝘂𝗹𝗲-𝘀𝗲𝘁 转成分流
      2. 把 𝗿𝘂𝗹𝗲-𝘀𝗲𝘁 中 url-regex 转成重写时, 必须要加 dst=rewrite;&#x20;
      3. 把 𝐦𝐨𝐝𝐮𝐥𝐞 中的分流规则转换时, 必须要加 dst=filter
   8. **`cdn=1`**, 将 github 脚本的地址转换成免翻墙cdn.jsdelivr.net
   9. **`fcr=1/2/3`**, 为分流规则添加 `force-cellular`/`multi-interface`/`multi-interface-balance` 参数，强制移动数据/混合数据/负载均衡;
   10. **`via`**=接口, 为分流规则添加 via-interface 参数, 0 表示 via-interface=%TUN% ;
   11. **`relay`**=目标策略名, 批量将节点订阅转换为ip/host规则，用于实现代理链;
4. **其它参数**
   1. 通知参数：**`ntf=0/1,`** 用于 关闭/打开 资源解析器的提示通知；
      1. &#x20;𝗿𝗲𝘄𝗿𝗶𝘁𝗲/𝗳𝗶𝗹𝘁𝗲𝗿 默认“开启”通知提示, 以防规则误删除&#x20;
      2. 𝘀𝗲𝗿𝘃𝗲𝗿 资源解析则默认”关闭“通知提示
   2. 类型参数： **`type=domain-set/rule/module/list/nodes`**&#x20;
      * 当解析器未能正确识别类型时, 可尝试使用此参数强制指定&#x20;
   3. 隐藏参数 **`hide=0,`** 禁用筛除的分流/重写，默认方式为删除

下面将分 3 个部分，对解析器的具体操作及使用，做出 说明&示范

{% tabs %}
{% tab title="节点解析" %}

## [节点解析](/shi-yong-fang-fa/jie-xi-qi-de-zuo-yong-yu-xiang-jie/jie-dian-jie-xi)

{% endtab %}

{% tab title="分流&重写解析" %}

## [分流&重写解析](/shi-yong-fang-fa/jie-xi-qi-de-zuo-yong-yu-xiang-jie/fen-liu-zhong-xie-jie-xi)

{% endtab %}

{% tab title="其它参数" %}

## [其它参数](/shi-yong-fang-fa/jie-xi-qi-de-zuo-yong-yu-xiang-jie/qi-ta-can-shu)

{% endtab %}
{% endtabs %}

***


# 节点解析

### 1.作用

1、将其它格式的节点订阅，解析成 Quantumult X所支持的格式，支持原格式：

𝐕2𝐫𝐚𝐲𝐍/𝗦𝗦(𝗥/𝗗)/𝗛𝗧𝗧𝗣(𝗦)/𝗧𝗿𝗼𝗷𝗮𝗻/𝗤𝘂𝗮𝗻𝘁𝘂𝗺𝘂𝗹𝘁(𝗫)/𝗦𝘂𝗿𝗴𝗲/𝐂𝐥𝐚𝐬𝐡/𝐒𝐡𝐚𝐝𝐨𝐰𝐫𝐨𝐜𝐤𝐞𝐭/𝐋𝐨𝐨𝐧

2、并有以下参数，以便 **`修改、个性化调整`** 节点信息

### A. 操作参数

见下表中各参数的用法和示例

<table data-full-width="true"><thead><tr><th width="173">参数</th><th width="132">变量</th><th width="235">用途</th><th width="252">备注</th><th>示例</th></tr></thead><tbody><tr><td><strong><code>emoji</code></strong></td><td>1（国行手机用 2 ）/-1</td><td>添加/删除节点名内的emoji旗帜，如🇭🇰、🇺🇸</td><td>基于节点名，如香港、美国</td><td><mark style="color:red;"><code>emoji=1</code></mark></td></tr><tr><td><strong><code>udp</code></strong></td><td>1/-1</td><td>开启/关闭 节点的 udp-relay 参数</td><td>实际与节点服务端开启状态相关</td><td><mark style="color:red;"><code>udp=-1</code></mark></td></tr><tr><td><strong><code>tfo</code></strong></td><td>1/-1</td><td>开启/关闭 节点的 fast-open 参数</td><td>实际与节点服务端开启状态相关</td><td><mark style="color:red;"><code>tfo=1</code></mark></td></tr><tr><td><strong><code>uot</code></strong></td><td>1</td><td>开启 udp-over-tcp=true选项（仅限SS(R)）</td><td>实际与节点服务端开启状态相关</td><td><mark style="color:red;"><code>uot=1</code></mark></td></tr><tr><td><strong><code>cert</code></strong></td><td>1/-1</td><td>开启/关闭 节点 tls 证书验证</td><td>请自行确认节点tls证书能否通过验证</td><td><mark style="color:red;"><code>cert=1</code></mark></td></tr><tr><td><strong><code>in/out</code></strong></td><td>匹配名字</td><td>保留/删除节点，用 + 连接多个参数(或)，用 . 连接多重条件(与)</td><td>仅匹配节点名的内容</td><td><mark style="color:red;"><code>in=香港+日本&#x26;out=游戏</code></mark></td></tr><tr><td><strong><code>regex/regout</code></strong></td><td>正则匹配</td><td>正则匹配 保留/删除 节点</td><td>对节点完整信息匹配，端口、加密等</td><td><mark style="color:red;"><code>regex=(🇭🇰.*IPLC|🇺🇸)</code></mark></td></tr><tr><td><strong><code>replace</code></strong></td><td>regex@str</td><td>正则替换节点中的信息</td><td>可用于重命名、更改host等</td><td><mark style="color:red;"><code>replace=(host=)(.*?，)@$1abc.com</code></mark></td></tr><tr><td><strong><code>aead</code></strong></td><td>-1</td><td>用于关闭Vmess节点的 AEAD参数</td><td>即 aead=false</td><td><mark style="color:red;"><code>aead=-1</code></mark></td></tr><tr><td><strong><code>host</code></strong></td><td>混淆参数</td><td>用于更换混淆参数</td><td>需要原本信息中有host参数</td><td><mark style="color:red;"><code>host=abc.com</code></mark></td></tr><tr><td><strong><code>checkurl</code></strong></td><td>测试url</td><td>指定 <mark style="color:red;"><code>server_check_url</code></mark> 参数</td><td>如为网易云节点指定网易云测试连接</td><td><mark style="color:red;"><code>server_check_url=http://abc.com</code></mark></td></tr><tr><td><strong><code>sort</code></strong></td><td>1/-1/x/规则</td><td>为节点排序，正序/逆序/随机/参数规则</td><td>仅针对节点名内容</td><td><p><mark style="color:red;"><code>sort=IEPL&#x3C;IPLC&#x3C;BGP</code></mark> ：靠后排序</p><p> <mark style="color:red;"><code>sort=🇭🇰>🇹🇼>🇯🇵>🇺🇸</code></mark><code>：</code>靠前排序</p></td></tr><tr><td><strong><code>flow</code></strong></td><td>订阅到期时间:总流量:已用流量</td><td>增加流量、到期时间 等信息</td><td>如果订阅header中已有该信息，则flow参数会被忽略</td><td><mark style="color:red;"><code>flow=2022-06-02:1000:54</code></mark></td></tr><tr><td><strong><code>info</code></strong></td><td>1</td><td>开启流量信息通知</td><td>需要订阅header中有流量信息，或节点中存在符合要求的流量假节点信息</td><td><mark style="color:red;"><code>info=1</code></mark></td></tr><tr><td><strong><code>ptn/npt</code></strong></td><td>1/2/3/4/5/6/7/8</td><td>将节点名英文/数字替换成样式 ⇒ 🅰/🄰/𝐀/𝗮/𝔸/𝕒/ᵃ/ᴬ, ①\❶\⓵\𝟙\¹\₁\𝟏\𝟷</td><td>用于节点名的花样字体显示</td><td><mark style="color:red;"><code>ptn=3&#x26;npt=4</code></mark></td></tr></tbody></table>

### B. 占位符参数

占位符参数为节点名个性化而用，可用在 rename 以及 replace 参数中

<table data-full-width="true"><thead><tr><th width="260.5">参数名</th><th>参数值</th><th>说明</th><th>示范</th></tr></thead><tbody><tr><td>$type</td><td>0/1/2/3/4/5/6/7</td><td></td><td></td></tr><tr><td>$emoji</td><td>1/2</td><td>将 emoji(🇭🇰 等) 作为可操作参数</td><td><mark style="color:red;"><code>rename=@[$emoji2]</code></mark> , 在节点名后添加后缀，如：[🇭🇰]</td></tr><tr><td>$index</td><td>0/1/2/3/4/5/6/7/8</td><td>将节点的序号作为可操作参数，样式为：<mark style="color:red;"><code>1\①\❶\⓵\𝟙\¹\₁\𝟏\𝟷</code></mark></td><td><mark style="color:red;"><code>rename=@「$index1」</code></mark>,在节点名后添加后缀，如：「❶」</td></tr><tr><td>$tag</td><td>字母样式/数字样式</td><td>将订阅的tag(标签参数) 作为操作符号 样式序号分别对应 ptn与npt的序号</td><td><mark style="color:red;"><code>rename=@[$tag24]</code></mark>，则 Dler01 样式为 [🄳🄻🄴🅁⓪①]</td></tr></tbody></table>

## 2.使用方法

### A、远程引用

1、在你的 <mark style="color:red;">`订阅连接(资源路径)`</mark> 后添加 <mark style="color:red;">`#`</mark>， 然后添加参数，多个参数之间用 <mark style="color:red;">`+`</mark> 连接

2、比如我的订阅连接为：

```
https://raw.githubusercontent.com/crossutility/Quantumult-X/master/server.snippet
```

3、我需要的参数为 ：<mark style="color:red;">`emoji=1&tfo=1&in=香港+台湾`</mark>

4、则最后链接（`资源路径`）为：

{% code fullWidth="true" %}

```
https://raw.githubusercontent.com/crossutility/Quantumult-X/master/server.snippet#emoji=1&tfo=1&in=香港+台湾
```

{% endcode %}

5、开启资源解析器开关

6、查看图片示范

<details>

<summary>示范图片</summary>

<img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2Fv8Wsu1D1cQdBVUFbwdQ2%2FUntitled-3.png?alt=media&amp;token=4de41cff-47f7-4ec7-a9b1-0cd1e062d2ae" alt="" data-size="original">

</details>

### B、本地引用（资源片段）

1、将参数填写在资源片段的 第一行

2、引用资源片段，开启资源解析器即可

<details>

<summary>3、查看图片示范</summary>

<img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2F2BrnrFxdO4N8DUTuZFMy%2FUntitled-4.png?alt=media&amp;token=a4a3661e-ead8-4323-b2a7-39c0677d7a90" alt="" data-size="original">

</details>


# 分流&重写解析

{% hint style="info" %}
因为解析器针对 <mark style="color:red;">分流&重写</mark> 的参数基本重合，所以一并讲解
{% endhint %}

## 作用

1、将其它格式的 <mark style="color:red;">`分流/重写`</mark> 订阅，解析成 <mark style="color:red;">`Quantumult X`</mark> 所支持的格式，支持原格式：

```jsx
Surge(rule-set, domain-set, module)
Clash-Rule-Provider
纯域名 list
带规则部分的完整配置 
```

2、并有以下参数，以便 <mark style="color:red;">**`修改、个性化调整`**</mark> 节点信息

<table data-full-width="true"><thead><tr><th width="173">参数名</th><th>参数值</th><th>说明</th><th>示范</th></tr></thead><tbody><tr><td><strong><code>in/out</code></strong></td><td>保留/删除 相关分流/重写</td><td>匹配关键字</td><td><mark style="color:red;"><code>out=tb_price+wb_ad</code></mark> , 删除 淘宝比价规则(<mark style="color:red;"><code>tb_price.js</code></mark>) 以及 微博去广告 (<mark style="color:red;"><code>wb_ad.js)</code></mark></td></tr><tr><td><strong><code>inhn/outhn</code></strong></td><td>保留/删除 相关 主机名(hostname)</td><td>匹配分流/重写主机名中的关键字</td><td><mark style="color:red;"><code>outhn=weibo</code></mark></td></tr><tr><td><strong><code>regex/regout</code></strong></td><td>正则保留/删除</td><td>可与 in(hn)/out(hn) 一起使用，in(hn)/out(hn) 会优先执行;</td><td><mark style="color:red;"><code>regex=?iweibo|Netflix</code></mark> , 只保留weibo以及Netflix关键字的内容</td></tr><tr><td><strong><code>policy</code></strong></td><td>策略组名</td><td>用于指定分流中策略组。 Surge rule-set中无策略组，请指定policy参数，或使用策略偏好指定</td><td><p><mark style="color:red;"><code>policy=Global</code></mark></p><p>如果原分流中无策略组，默认生成 Shawn 策略组</p></td></tr><tr><td><strong><code>pset</code></strong></td><td>regex1@policy1+regex2@policy2</td><td>为同一分流规则中不同关键词(允许正则表达式)指定不同策略组</td><td><mark style="color:red;"><code>pset=weibo@微博+Netflix@奈飞</code></mark></td></tr><tr><td><strong><code>replace</code></strong></td><td>regex@newregex</td><td>正则替换</td><td><mark style="color:red;"><code>replace=(price)(.*)@$1_lite$2+jp@kr</code></mark> 将比价脚本换成lite版本，将TikTok中JP参数换成KR</td></tr><tr><td><strong><code>cdn</code></strong></td><td>1</td><td>将引用内容中的github地址替换成cdn地址连接</td><td><mark style="color:red;"><code>cdn=1</code></mark></td></tr><tr><td><strong><code>fcr</code></strong></td><td>1/2/3</td><td>为分流规则添加 force-cellular/multi-interface/multi-interface-balance 参数， 强制移动数据/混合数据/负载均衡</td><td><mark style="color:red;"><code>fcr=2</code></mark></td></tr><tr><td><strong><code>via</code></strong></td><td>接口参数</td><td>为分流规则添加 via-interface 参数, 0 表示 via-interface=%TUN%</td><td><mark style="color:red;"><code>via=0</code></mark></td></tr><tr><td><strong><code>relay</code></strong></td><td>目标策略名</td><td>批量将节点订阅转换为ip/host规则，用于实现代理链</td><td><mark style="color:red;"><code>relay=Shawn</code></mark></td></tr></tbody></table>

## 使用方法

同节点解析方法，如下👇

[使用方法](https://qx.atlucky.me/shi-yong-fang-fa/jie-xi-qi-de-zuo-yong-yu-xiang-jie/pages/wcsCybuPc9Eo7oSZhvda#id-2.-shi-yong-fang-fa)


# 其它参数

<table data-full-width="true"><thead><tr><th>类型</th><th>参数名称</th><th>参数值</th><th>作用</th><th>示范</th></tr></thead><tbody><tr><td>通知参数</td><td>ntf</td><td>0/1</td><td>开启/关闭解析器的提示通知</td><td><mark style="color:red;"><code>ntf=0</code></mark></td></tr><tr><td>类型指定</td><td>type</td><td><p>domain-set </p><p>rule</p><p>module </p><p>list </p><p>nodes</p></td><td>当解析器未能正确识别类型时, 可尝试使用此参数强制指定</td><td><mark style="color:red;"><code>type=domain-set</code></mark></td></tr><tr><td>隐藏参数</td><td>hide</td><td>0</td><td>禁用筛除的分流/重写，默认方式为删除</td><td><mark style="color:red;">hide=0</mark></td></tr></tbody></table>


# HTTP抓取（抓包）

你还在羡慕别人通过抓包去掉了广告，薅到了羊毛吗，下面来学习QuantumultX（以下简称QX）如何抓包吧🤗

### 1、什么是抓包

> HTTP抓包指的是通过监视和记录HTTP通信来获取网络数据的过程。通俗的说就是获取你的设备发往远程服务器以及远程服务器发送到你的设备的数据。数据包含以下部分：请求地址(URL)、请求头(request\_header)、请求体(request\_body)、响应码(response\_code)、响应头(response\_header)、响应体(response\_body)。

### 2、抓包有什么用

HTTP抓包有多种用途，在代理圈内主要用途有去除广告、日常签到、自动任务、数据共享、解除限制。

> 总的来说，抓包是一种强大的工具，可以用于多种目的，但在使用时需要确保遵守相关法律和道德规范，以防止滥用。

### 3、怎么抓包

> QX抓包的过程主要有3步，看图跟紧哦\~

#### 3.1、开启QX的HTTP抓取

QX开始抓包是比较快捷方便的，总共有两种方式：

* **方法一**：打开QX的主界面，长按右下角旋转的风车，点击HTTP抓取 即可开启。此时你会看到HTTP抓取下面的状态由已关闭更改为已开启 ，图标由灰色更改为橙色。

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FIYlpQembN2K2QmhNMzeR%2F1.png?alt=media&amp;token=fa3ef5a5-b4a5-443c-a468-ec4548ee8625" alt=""><figcaption></figcaption></figure>

* **方法二**：打开QX的主界面，点击右下角旋转的风车，往下滑动到工具&分析模块，点击HTTP抓取进入数据抓取页面 ，点击右上角\[HTTP]图标即可开启。此时你会看到HTTP图标由反斜杠\[ \ ]遮蔽状态更改为非遮蔽状态。

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2F9NnMrKxJbJClZj1sqGiF%2F2.png?alt=media&amp;token=d17194b0-f9ab-4a94-8d49-5ad08cc0d293" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FnEFkPPV1HMmggqlCR8DL%2F3png.png?alt=media&amp;token=844a9abf-6bfb-4c50-9940-07eed1a87358" alt=""><figcaption></figcaption></figure>

[<mark style="color:red;">**`怎么查看QX有没有开启抓包/有没有在抓包？`**</mark>](#user-content-fn-1)[^1]

[ <mark style="color:red;">`方式1中如果你长按小风车发现HTTP抓取 已经是“已开启”状态，则是已经开启了抓包，即HTTP抓取是开启状态。`</mark> ](#user-content-fn-1)[^1]

[<mark style="color:red;">`方式2中如果你点击HTTP抓取 后看到右上角的[HTTP] 图标没有被`</mark><mark style="color:red;">**`反斜杠[ \ ]`**</mark><mark style="color:red;">` `</mark><mark style="color:red;">`遮蔽，则是已经开启了抓包，即HTTP抓取是开启状态。`</mark>](#user-content-fn-1)[^1]

开启抓包后，回到QX主界面，开关左侧出现警告标识⚠️，点击可查看提示语以及保持开启和立即关闭 选项。

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FrEVevFK3UHHmmCxwNY36%2F4.jpg?alt=media&amp;token=3ba14854-3803-4b0c-b136-b1f1116f9a82" alt=""><figcaption></figcaption></figure>

#### 3.2、打开你要抓包的软件或者网站开始操作

> 这里的“开始操作”是指打开你要抓包的软件或者网站后，开始可能抓到你想要的数据的动作，例如刷新、点击、滑动、登录、退出等。

上面的QX开启HTTP抓取的方法任选一个开启后，下面以著名的社(约)交(炮)软件Soul为例进行演示，目的是抓到广告数据，步骤：

打开Soul的APP，刷新推荐后点击一个帖子进入详情，往下滑发现了广告数据，此时操作就结束了。广告数据的关键字是“居然真的中了，29试抽了一下\~”，这个关键字下面的步骤中会用到。

`如果你抓取的内容是图片、网页或者其他内容，方式都大同小异。`

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FJYI91usSHMlbTJFE1zaS%2F5.png?alt=media&amp;token=9e6cc916-ac75-46b8-a41d-db35876f6247" alt=""><figcaption></figcaption></figure>

#### 3.3、关闭QX的HTTP抓取

> QuantumultX关闭抓包也是比较快捷方便的，总共有三种方式：

<mark style="color:yellow;">`方式1`</mark>`：打开QX的主界面，长按右下角旋转的风车，点击HTTP抓取 即可关闭。此时你会看到HTTP抓取下面的状态由已开启更改为已关闭 ，图标由橙色更改为灰色。`

<mark style="color:yellow;">`方式2`</mark>`：打开QX的主界面，点击右下角旋转的风车，往下滑动到工具&分析模块，点击HTTP抓取 进入数据抓取页面，点击右上角一排选项的第一个[HTTP]图标即可关闭。此时你会看到HTTP选项由非遮蔽状态更改为**反斜杠[ \ ]**遮蔽状态。`

<mark style="color:yellow;">`方式3`</mark>`：点击QX开关左侧的警告⚠️图标，选择立即关闭，关闭后不再有警告⚠️图标。`

> 上面的三种关闭方式与开启抓包方式路径一样，就不再配置图片步骤。至此，QX抓包就已经结束了。下面开始查看已经抓到的数据。

### 4、怎么查看抓包数据

查看抓包数据的地方只有一个，在查看数据前，先了解一下数据抓取页面的布局及功能。

1、右上角左一的`HTTP` 图标：抓包的开关。左二的`星号文件夹`：抓包数据的收藏夹，你收藏的抓包数据都在这个文件夹里面，并且不会因为你删除了外面的文件夹就随之删除。

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FBS144BtHiV2olOe2sTpg%2F6.png?alt=media&amp;token=955c2cfc-0995-481b-ae3b-881fc5298c5d" alt=""><figcaption></figcaption></figure>

2、数据抓取下面以日期格式命名的文件夹：抓包数据的存放位置，你抓到的数据全在对应的文件夹里面，同时标记了文件内的数据数量（图中显示有61条请求数据）。文件夹左滑会有三个选项：详情，分享，删除。

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FtuBCmSiN6zZyYexzzuHk%2F1.jpeg?alt=media&amp;token=d0208d72-515a-42ae-921e-597539d359e2" alt=""><figcaption></figcaption></figure>

`如果有多个文件夹，则是以时间为顺序从新到旧的排列。`&#x20;

<mark style="color:red;">**`文件夹的日期不是抓包的时间点`**</mark>`：`

`有两种情况，1、你没有抓到任何数据，所以没有创建最新的文件夹；2、你之前已经抓过包，但是在没有关闭QX的情况下又开启了抓包，所以文件夹的名称还是之前的。 当关闭QX退出后台重新打开QX再打开抓包后，一般会创建新的文件夹。`&#x20;

<mark style="color:red;">**`文件夹无法删除`**</mark>`：同上方情况2，该文件夹仍然被使用中（虽然你没有在抓包），如果想删除可以关闭QX退出后台重新打开QX。`&#x20;

<mark style="color:red;">**`没有抓到数据`**</mark>`：如果你一顿操作后文件夹里面没有刚才操作的内容什么也没抓到，原本基本是你要抓包的APP或网站禁止抓包(禁止MITM，详见相关章节)，操作过程中你可能会提示你网络错误或其他错误提示。`

打开一个文件夹，顶部是文件夹的名称，下面是抓到的数据列表。

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FLx0FXJd2bQKDgWV5yPGH%2F123.png?alt=media&amp;token=ef04f439-daac-4291-b764-15382d70c05c" alt=""><figcaption></figcaption></figure>

3、MITM额外主机名：正如文字下面所介绍的，你可以点击添加按钮添加主机名，一般无需修改保持默认即可。

介绍完页面后，开始查看抓包数据吧。步骤：

1、打开QX的主界面，`点击`右下角旋转的风车，往下滑动到`工具&分析`模块，点击`HTTP抓取` 进入`数据抓取`页面 ，你会看到数据抓取下面有以日期格式命名的文件夹，抓包的数据就在文件夹里面。

2、点击你要查看的文件夹（如果要查看刚抓的数据则是最上面的文件夹），文件夹内数据由新到旧排序。点击一条你想要查看的数据展开详情页面。

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FcRv0QJpssChctitcd96y%2F3.png?alt=media&amp;token=db92b293-7620-4763-a754-eb9d123e0301" alt=""><figcaption></figcaption></figure>

详情页面分为5部分，分别是原始请求地址、请求头、请求体、响应头、响应体。

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2Fnc9ryuCIxc0r9rLCKL6b%2F1.jpeg?alt=media&amp;token=20389046-4d15-4c89-85a4-49ef564b0c73" alt=""><figcaption></figcaption></figure>

请求体和响应体的查看方式共有4种，如果不支持某种方式则点击会有相关的提示语，一般都支持文本查看。

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FZubvgiZitDI2yqZob4Mf%2F8.jpeg?alt=media&amp;token=ab4d66a2-1d35-4b72-9dbc-eebaf66b2289" alt=""><figcaption></figcaption></figure>

点击请求体的“文本查看”以及响应体的“文本查看”，显示以下数据。

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2F4tSFRshERQBujopH7dNN%2F2.jpeg?alt=media&amp;token=9ab4389a-6542-473b-bde2-e9500fa976c1" alt=""><figcaption></figcaption></figure>

#### **请求地址：**

`以请求链接`<mark style="color:red;">`https://ssp.soulapp.cn/api/q?bi=["18d02f5f591"%2C"--"%2C"Apple"%2C"iOS"%2C"17.3"%2C"17.3"%2C"iPhone 14 Pro"%2C"3"%2C"393*852"%2C"AppStore"%2C"WiFi"%2C"zh"]&bik=32243&pageId=Post_Detail`</mark>`为例，包含协议 (Protocol):`` `<mark style="color:red;">`https://`</mark>` ``、域名 (Domain):`` `<mark style="color:red;">`ssp.soulapp.cn`</mark>` ``、路径 (Path): /api/q 、参数 (Query Parameters)（若有，与路径用英文问号分割）:`` `<mark style="color:red;">`bi=%5B%2218d02f5f591%22%2C%22--%22%2C%22Apple%22%2C%22iOS%22%2C%2217.3%22%2C%2217.3%22%2C%22iPhone%2014%20Pro%22%2C%223%22%2C%22393%2A852%22%2C%22AppStore%22%2C%22WiFi%22%2C%22zh%22%5D&bik=32243&pageId=Post_Detail。`</mark>

#### **请求头：**

`包含了关于浏览器、客户端和请求本身的一些信息。以上方的请求头为例`

**`Host`**`: 指定请求的目标主机，例如`<mark style="color:red;">`ssp.soulapp.cn。`</mark>&#x20;

**`User-Agent`**`: 标识发起请求的用户代理（通常是浏览器）的信息，例如`<mark style="color:red;">`Soul_New/5.9.1 (iPhone; iOS 17.3; Scale/3.00; CFNetwork; iPhone15,2) SoulBegin-iOS-5.9.1-WIFI-SoulEnd。`</mark>&#x20;

**`Accept`**`: 指定客户端能够处理的内容类型，通常是MIME类型，例如`<mark style="color:red;">`*/*`</mark>`。`&#x20;

**`Accept-Language`**`: 指定客户端接受的语言，例如`<mark style="color:red;">`zh-Hans-HK;q=1, zh-Hant-TW;q=0.9, zh-Hant-HK;q=0.8, en-HK;q=0.7, ko-HK;q=0.6`</mark>`。`

**`Accept-Encoding`**`: 指定客户端能够处理的内容编码方式，例如`<mark style="color:red;">`gzip, deflate, br`</mark>`。`&#x20;

**`Connection`**`: 指定连接的状态，例如保持连接，例如`<mark style="color:red;">`keep-alive`</mark>`。`&#x20;

**`Referer`**`: 表示请求的来源，即前一个页面的URL。`&#x20;

**`Cookie`**`: 包含客户端的Cookie，用于跟踪会话状态。`&#x20;

**`Authorization`**`: 包含客户端提供的身份验证信息，用于访问受密码保护的资源。`

**`Content-Type`**`: 对于POST请求，指定请求体的类型，`<mark style="color:red;">`application/json`</mark>`。 其他参数基本是APP自定义的一些内容。`

#### **请求体：**

[`通常包含客户端发送到服务器的数据。对于常见的POST请求，数据会包含在请求体中。上方的请求体为经过加密的数据。`](#user-content-fn-1)[^1]

#### **响应头：**

`包含了关于服务器响应的一些信息。以下是一些常见的响应头字段：`

&#x20;**`Content-Type`**`: 指定了响应体的类型，例如`<mark style="color:red;">`text/html`</mark>`表示HTML文档，`<mark style="color:red;">`application/json`</mark>` ``表示JSON数据，`<mark style="color:red;">`image/png`</mark>`表示png格式的图片。`<mark style="color:red;">`响应体是什么类型，一般就在QX里选择什么类型的查看方式`</mark>`。`

**`Content-Length`**`: 指定了响应体的长度（以字节为单位）。`&#x20;

**`Server`**`: 描述了服务器的信息。`

**`Date`**`: 表示响应的日期和时间。`

**`Set-Cookie`**`: 用于在客户端保存Cookie信息，以维护会话状态。`&#x20;

**`Cache-Control`**`: 控制缓存的行为，例如缓存的过期时间等`。

#### **响应体：**

`包含了服务器返回给客户端的实际数据。具体内容取决于服务器的响应类型。对于HTML页面，响应体包含HTML文档；对于JSON API，响应体可能包含JSON格式的数据。上面的响应体中对用的类型是application/json，数据如下`：

{% code fullWidth="true" %}

```json
{"code":200,"message":"","data":{"reqId":"1705151690125OE9Cang2OWhWR05YRnBhV05La1orUT095","cnt":1,"ip":"140.238.15.5","requestTime":1705151691528,"prs":[{"ideaId":"7627359","pid":"0_49000000_66000000_10000000","reqId":"1705151690125OE9Cang2OWhWR05YRnBhV05La1orUT095","priority":1,"cid":66,"at":0,"maintitle":"居然真的中了，29试抽了一下~","subtitle":"好激动，概率真的很高，你也来试试~","tags":[],"adOwnerPic":"https://soul-ad.soulapp.cn/material/prod/image/2024-01-05/21f392e08a5d4c5aa4a161c2bd06de87.jpeg","adOwnerSignature":"幸运盒子","position":5,"positionType":0,"con":"广告","url":"https://soul-ad.soulapp.cn/material/prod/image/2022-12-01/458e79cbc40046f99c29cda55cdaa7b9.jpeg","imgUrls":["https://soul-ad.soulapp.cn/material/prod/image/2022-12-01/458e79cbc40046f99c29cda55cdaa7b9.jpeg","https://soul-ad.soulapp.cn/material/prod/image/2022-12-01/f45bd05062fd4591bcfd169f36cc5c9c.jpeg","https://soul-ad.soulapp.cn/material/prod/image/2022-11-24/16ff31e5d5b94e7a8ff8a2220cfe4db3.jpeg","https://soul-ad.soulapp.cn/material/prod/image/2022-11-24/7967c4477d2d443ca50bdd1bce235fff.jpeg"],"videoUrl":"","richMediaUrl":"","ctype":0,"renderType":0,"secduration":0,"enableLike":0,"enableForward":0,"forwardInfo":{},"lt":25,"ltyp":9,"opentype":1,"lp":"","mpId":"gh_abcf7e86d553","mpPath":"pagesA/pages/mysteryBag/mysteryBag?id=211&callback=https%3A%2F%2Fad-r.soulapp.cn%2Fapi%2Fv2%2Freport%3Fbody%3DPSuNtHvKjkPrSxMMCy5dDtuS2a8gEvAJPC7L7LNFhKX8MNWeP1kTemWPmz8cHnvWzgvEGA2jppkYZU4vpLY6CpBk5R2Aqq3eU6x6t7pYQijiHHZJoU3MBEkKq6cRRx9C7SGFLRFGSAwsA2FQa52AmZcSV59p65DTy6SbA2kP95gbvJodnx2KmdbxwbRHJ8LpL5dP4HZevsNTvJv4ZAKRzUdRSpjHSVtyd9CBpt5PRTj6MX1ea7yZB6Yvj36KSm1Pqs7wxBhUZP9fcGpCF3SD5YeibtQGBNxqV3xtVWT57rDiVuVYz73DcdvmTsB5HHtNKDgU9HtmknvBZ8QNBgA1LaArXgTEWt9tzsYzueK8VVqkjcfcbcyPtqHFj9fbwr5aGGXMBvUqSK9iKhrcXWTJvcPbAEJ6NRS3t2xX8xsMKgs5aXeGPtDCPoiJ9J4GgyVZEtMRiRd56QryoSMAjRyWmmcAYLivDPtqNmYTER4QXc189LHfWX6j8RozeA5jUZcXPqts9GkttPnhwiaL2A1hAy1c6cCFpevv2STwqyh1ooJB1uAmuyFCnKAa3MSKLEouBKYTTPcAcC6Yecf1UuC4YpB8n93DinfeHH6X1q6k4HKMnchoDnHTeVy5Uv57VcksmeN8uMoCxyPVyB1WTQbfC79qE82EfVpa3y2Q2s3LowajgRgtmW8ZE1fTzk4o6KTnmtPVdhSmmx1NtN6XMkE7ZEg7GYc4vRmErKdEnge3cDMn1jib24EfkAMun7ttGpnmQwHoFU97YBbGF4V6BDAA4txbASafT9PK8PUEGLuggLKhkcaAJqPhZ4JwPw9D1dbaZikRtjUhkdGx6QjgafVf%26encrypt_v%3D2%26iv%3DcMunmrvT3uyM8Mdm%26m_custom_type%3D__EVENTTYPE__%26m_custom_value%3D__VALUE__%26m_ts%3D__EVENTTS__%26sign%3Db676a815dd23a68bc20207b906cd0281%26sign_v%3D1","irs":["https://ad-r.soulapp.cn/api/v2/report?body=cHYSjkUn1FurUSsLX5MWS2cpM1fm5TpF9EVnxmraNrvWkTxcYpsM4QNtjNs7maxZf3EyTvLefbNxJqPdqacCCPkuhqr8rfVq1723zHaZCs19PwGAjQ6uRkQfaF1XGkFgXdDV2Dh6bXLtvGai1ZEYNXCfz7B6UA87WH2SKb8pK7rpwmbL5qr1En1ASN4gddW5v7K1GbKmXjgDnwCL6TSmNo1K51mT4iuQLRjJwcN4kpWVXM6c8UxtNATnuuKKEFbHpkWacQ8UKkgNqxX76m2W93RKiS2AuBw3DFHFqXQtLKd6HbPDK4T4WNwQqfUnmWU7isNyM41L8BiKWqjGPXMsvX6Dvd19Eeigrp77cdZMaWZfpuz38VRw1QWp1amphgW15RRwiNF2ortzykq86BwQqmbgYZdpepk8MWJPckKgbvCPZgHpbdSWkvY7dhsZSjzU5NHpJfnng9wHceF9vu1TgWGhwEL65yzcDaocFfnBaxREB9axE54ZizqTzTjH3bHSrfvyv1sRKNDAqZEooY64RDYWupHyRhdVYZESLGxat3cJyMCsJL8GCUknET3kaEvnyTheyhMEBjsbGDK9HmdkeVmNVqzT4s3Dm1LtLvGRnkES1r7sjJTbdu9oY6xcJrDEoQVGAE7EPhHDgNcyYJRq1jPeiwbTGFEtLGu91NdSkFR2Quiz3P2Uk9ZKpcR1vNhVqeJEszAs3R39L8tjE8Vrysc3XPcMbJaKDfpYrxxrheDbXwuEb1xMEsfgTusU1FAh1wNcUrVUYygB71hCdJJg4jfsQsLmDWvFggZySdg3QnXDJZu3Q9TNUMti6nrvnvKSiTbHJxQt8w8cPWy6TW5YdycqaK86f41g8d8x9nc3wp8PzXF4iZrdJ8CEPYnHL9jsdRQg1NMqVCxA4AUYNQgpLFi2CPZD9K6eT4jgMu3HqVSVqXVuVo74rt99nBZxDyTHSijSuztQwPb4oHVt2iKBAVZq5vHUhzAXnU2SpUtNzrisgmg5knkGetLtLJymQp7jgoBqi8mtaYQhqAxtSmFhcqySVYkp7Fe8SQJ6zFFTDgKxxtRDvg9awMM8HPbLqAyzysFsKSFe1sspLQ26EDtUnarrinduw1eeqKQZcTCSqh8EDLSYHugB6ZNFcnoCtZgX7UogeqXRsRJSystmwkYVvcMnr7DA2TE9ixzstrmfzZM1vPBrse54kao6EoGyoaHBs5jjBWgLtwKgj6VnV7BAdMVVsV6reoAKGDG3kQYRKd1G6hrtAeX72gM1n9qQ3A6dVpKrHayJvQqHw7oyFq46jNFDQCuB3ARNJpdBwpkJ9Fx1NqF8zi4hWgVpJkW3uYrtoHRgMcr3DtipDwb9XPXec8uhebyvhsBS4p5ihv8HzwuYzCSTu9GUnBwSepYdRNuDq6LW8hHX2wmBQGrMNdKVtYDz5nBkCYGnmqcq1EKtc6JkGwEzFLiAxbbK&encrypt_v=2&iv=wnV0CND2Rr2K3QDB&m_deeplink_state=DEEPLINK_STATE&m_down_x=DOWN_X&m_down_y=DOWN_Y&m_download_state=DOWNLOAD_STATE&m_gravity_x=GRAVITY_X&m_gravity_y=GRAVITY_Y&m_gravity_z=GRAVITY_Z&m_img_urls=TIMGS&m_ts=TS&m_up_x=UP_X&m_up_y=UP_Y&m_video_progress=VIDEO_STATE_PROGRESS&m_video_state=VIDEO_STATE&m_video_urls=TVIDEOS&sign=1dd606ee43dd6e0de4cea8b718325db5&sign_v=1"],"crs":["https://ad-r.soulapp.cn/api/v2/report?body=Rd357fuPH6MtUdLYgH6BtC5vy48rRTeceibPqMEgW6GwNvcgQzA1g8NpW652PTaQdRvXnarJW4mKW3j7dTb7cGFfqPwEGxesn8W2oG8Vgub5t1VA8cUtWbEYjnGqSKTZtXuGFGVxzMNWdBDyj2VY8o5NcparG97DNdoSMrp7X5HHdMvSZYF1pxFMLQz7AfCjuJWtdAv44PhibaeWCx3ayJG6LPpY5GY4fE8K4gkYBLyLvKYwu6PJ84ovFCtAJ2brfpm8SirKWnsv1GvdXwscGBudMsGVaMdsTfvfRhUy1r47FHzmUxBCCPAS8oMSo4fFnQaA7u8Y89ePdxanQczahHvHgrsYtCL1UpHc4xUnTWufDdTinPuZ5GxWxijfZL8pXxZHbwVaqDd45C47jP4maYiQsYEky19mb1UoUAwTGFgbehGNVHcGBuanMdJjVt6xqmntSyVn8QXhfstkrduaRcJhNr1h31YcFyrbSchvKLZ4Cngwts1E65oE5fZxLrwavE92upW7Fs5sCy4i9VQXguorsxbBWc4UEfhsEF3zTibYj9dBfYmhy6HLg5emRLaqrxDCgMTkK6TQhbKJBeP25UTgK4ttZssrU7PszkTUX27eyzNefzGQpGJVA4S7mnLgKW4QHjvhg7PVY3oZqksAjdxtwdECV8ahocp3KQYRwQnYwojNVLhcURLst8wfFRwSPHoXEsgnaYFDS8UYYMYpGt7FNy7WHrchUATLwkTGdkAcYmz8NUY1AL9ydifHesLzCuU3CytrhwoFreYjrBfs215m9dWiG7Eihjne2gUgUEATf82KXVz8h2NZQuLqzfb9xqJvknXqpNDHYFyFrkxpnhbWEpjLakr3Fh8gct1dp3d3PpWpXrGPqkAARLcjdSmB6SQ3vvBFRzEFt3pAcEHJLEbKymnw1WnoPgNjoXo7xuphqdA2tPdirRQj48ZhnecRa2thirKFb1uaG7tVqTP5RbaDJwSVxLhkrv8WEmtU5oenajnQftSs8xpiC42dbNgntR5pJBsK9UXWLGD6apcgyfYcPkmZuLLj4VnVPXJoLF7hDXt2jd27esojLG3HzMUdnv1qiy3Evs9819YHA4nrWPDtnFoMMTNv5hY6ryBetoh4UW5utsbaQXNphJEgthHqk5mjxqdvxPZzduc4PPRZ3FQQE5Yu6XzJq6CWMM8iAf1iJx5aFXPp4nVLgn7NCstLx5nVN1uHkTj8eAw84BNboXZpw8jvdG2quixqJ5Z33zK2Edw6gU4mqd8e4YaS5fZoV4iuvVb7dUv2x9LHUTA5xaedzkuLSVAQvYJQ8WCq9quvbpWaDCbfSRMLUBQ4q4G3B2WQUpkm3GSufU7UXazWP1tPntn18hvhogn8BskTP62hFNeAcSXTqtJtfC6UJ56ZCnSDZxbGZbbZa6A95u8FJ4hdSKHTFkLNWEqv927UswmT5w5WZfGrERCA&encrypt_v=2&iv=pZKtQTO5zUNiyEut&m_deeplink_state=DEEPLINK_STATE&m_down_x=DOWN_X&m_down_y=DOWN_Y&m_download_state=DOWNLOAD_STATE&m_gravity_x=GRAVITY_X&m_gravity_y=GRAVITY_Y&m_gravity_z=GRAVITY_Z&m_img_urls=TIMGS&m_ts=TS&m_up_x=UP_X&m_up_y=UP_Y&m_video_progress=VIDEO_STATE_PROGRESS&m_video_state=VIDEO_STATE&m_video_urls=TVIDEOS&sign=8887d83ff97e476dcacbb5fb9968a31d&sign_v=1"],"drs":["https://ad-r.soulapp.cn/api/v2/report?body=SwMope9MDbvM6Jtz1PEEWSYjTLRiUYKQXZn8YZDGsuuPw7cpkVEkR8mJvbCrwQBsSqsH4HtxWAFxBi2Vy7NwzxGtREFcjcW92kGP7T1XwJsQJobcc5Pkp5LmYCeSoJaqpiUPmpatrJwy6avj1F7v6zr1WJ9LkpyAiKw1imtoibSL2ihRoHL5pEc2L8dDp5HhkxHzmcve9YJmU2ZUVyaGR9HvkokoQAAX7oryPJ6DBtFkqxzFPQYBqUKsRrGYnsPrXRPR3pmCmJGan1nDg7qZqehJhzrbFi5wnTmVLeurjW4mZpyvdvWVjELEvsZ2bHpGSE1JyT1wFEFVdUMoCR1WvraBHKuzhsXDThqCftU25bmWgyBfB5Ki5QNXHF9oGv9ymPpevMXUKuTz9a5SAbGGPFPikPVyYEiXmQ9iCnGjpXkADjypTqknigDoJxfNUQMuwAZMNwcrPq9LAUG4bidrUiP2en9DtAJUZnBpuNNWBgwL5h63BqDi5b29r9Mc8EHjGdJ68zPHTvkGzjkTnqrzinRf1Fh3jAVrCupLZkmjLXWNrWiKyk8gx956gxsg7sGqiuKim8Mbc5BRgJ8sZ8fUXHB88BUW8ALz6zVQjvqdV27Kd69zcQTBrphhdXimBZCrdCgyGtsjQsmx1usxAMnnADEUYd68j5AJbvgeAmrrKeJLm2gVW3Z5H1UdAzHEjA8zAxAGU1yXx27id8m9YHSnb4na6sqopEibJusCzmcZHFs3a6WGfRfvfmN67cm19x7pDpoYN9PsrTeoNZSUJwEGRnuG747ATk4RJNZG4cqdGv4rQa1h5EpHxNmeU7vn8MRXJv65fmDuWqj4RRi6r1dv7RYUjJxDBoE7e2jowRtfCkbWKqhow61ajMgGzF2M3PFc9X2SiZFeMfkLDnqSkrbzDawaDrjecsLh8UyEj6ny82hYMqK8VhpKr6Zk5nMKiauYhEFaqhC1NomnqmekijKk9bY1G5JohymXhetFxQskchHiHbymuZ67a3PZ3aLfbVvUdRndJQBLQFWgVc98SLFGhrsYe6bKU71VigTwZ6QB3D3HPcRmEjimVgK9ST2uxKFuxfDCecqjRrkLaqCuA3jK7TKiM63A5aXUdzwCqRAv4JW9PZkdsTCy1p7KjoP7MdE3Zyew9gaZ5MJnJ6qXxGzM9v4RU5WdJ2Nn8WPPCaMTtPXYzLe9L6iwzBVABxc8WN923qoUrkySyQ6pXnskFKm8jVzy18ZL77PC1s2nYseoEj9CweUt6wZ2Wwf3FF1K33aJK63TEq5hrzL8aWSSqecwMPr9RcrDYvXmvhwxDvYq8jXMjg5P6jLesVDv5uQC6ss1oTjyCUSH5ADtVLcfDKhjcMBYztiCeq3EGkEN7pmHGiGEZnNb4KwemELHbqrE72H7g83aiH8JZjHBBGnGH3Nt8JRNx4N71aWgSapg34M8tDrdUTqvsBfKC9Lx&encrypt_v=2&iv=ajfgG0Z5iGAPq3r2&m_deeplink_state=dp_success&m_down_x=DOWN_X&m_down_y=DOWN_Y&m_download_state=DOWNLOAD_STATE&m_gravity_x=GRAVITY_X&m_gravity_y=GRAVITY_Y&m_gravity_z=GRAVITY_Z&m_img_urls=TIMGS&m_ts=TS&m_up_x=UP_X&m_up_y=UP_Y&m_video_progress=VIDEO_STATE_PROGRESS&m_video_state=VIDEO_STATE&m_video_urls=TVIDEOS&sign=370dca27bdb7e444abc028a8123a2def&sign_v=1"],"try_drs":["https://ad-r.soulapp.cn/api/v2/report?body=SwMope9MDbvM6Jtz1PEEWSYjTLRiUYKQXZn8YZDGsuuPw7cpkVEkR8mJvbCrwQBsSqsH4HtxWAFxBi2Vy7NwzxGtREFcjcW92kGP7T1XwJsQJobcc5Pkp5LmYCeSoJaqpiUPmpatrJwy6avj1F7v6zr1WJ9LkpyAiKw1imtoibSL2ihRoHL5pEc2L8dDp5HhkxHzmcve9YJmU2ZUVyaGR9HvkokoQAAX7oryPJ6DBtFkqxzFPQYBqUKsRrGYnsPrXRPR3pmCmJGan1nDg7qZqehJhzrbFi5wnTmVLeurjW4mZpyvdvWVjELEvsZ2bHpGSE1JyT1wFEFVdUMoCR1WvraBHKuzhsXDThqCftU25bmWgyBfB5Ki5QNXHF9oGv9ymPpevMXUKuTz9a5SAbGGPFPikPVyYEiXmQ9iCnGjpXkADjypTqknigDoJxfNUQMuwAZMNwcrPq9LAUG4bidrUiP2en9DtAJUZnBpuNNWBgwL5h63BqDi5b29r9Mc8EHjGdJ68zPHTvkGzjkTnqrzinRf1Fh3jAVrCupLZkmjLXWNrWiKyk8gx956gxsg7sGqiuKim8Mbc5BRgJ8sZ8fUXHB88BUW8ALz6zVQjvqdV27Kd69zcQTBrphhdXimBZCrdCgyGtsjQsmx1usxAMnnADEUYd68j5AJbvgeAmrrKeJLm2gVW3Z5H1UdAzHEjA8zAxAGU1yXx27id8m9YHSnb4na6sqopEibJusCzmcZHFs3a6WGfRfvfmN67cm19x7pDpoYN9PsrTeoNZSUJwEGRnuG747ATk4RJNZG4cqdGv4rQa1h5EpHxNmeU7vn8MRXJv65fmDuWqj4RRi6r1dv7RYUjJxDBoE7e2jowRtfCkbWKqhow61ajMgGzF2M3PFc9X2SiZFeMfkLDnqSkrbzDawaDrjecsLh8UyEj6ny82hYMqK8VhpKr6Zk5nMKiauYhEFaqhC1NomnqmekijKk9bY1G5JohymXhetFxQskchHiHbymuZ67a3PZ3aLfbVvUdRndJQBLQFWgVc98SLFGhrsYe6bKU71VigTwZ6QB3D3HPcRmEjimVgK9ST2uxKFuxfDCecqjRrkLaqCuA3jK7TKiM63A5aXUdzwCqRAv4JW9PZkdsTCy1p7KjoP7MdE3Zyew9gaZ5MJnJ6qXxGzM9v4RU5WdJ2Nn8WPPCaMTtPXYzLe9L6iwzBVABxc8WN923qoUrkySyQ6pXnskFKm8jVzy18ZL77PC1s2nYseoEj9CweUt6wZ2Wwf3FF1K33aJK63TEq5hrzL8aWSSqecwMPr9RcrDYvXmvhwxDvYq8jXMjg5P6jLesVDv5uQC6ss1oTjyCUSH5ADtVLcfDKhjcMBYztiCeq3EGkEN7pmHGiGEZnNb4KwemELHbqrE72H7g83aiH8JZjHBBGnGH3Nt8JRNx4N71aWgSapg34M8tDrdUTqvsBfKC9Lx&encrypt_v=2&iv=ajfgG0Z5iGAPq3r2&m_deeplink_state=dp_start&m_down_x=DOWN_X&m_down_y=DOWN_Y&m_download_state=DOWNLOAD_STATE&m_gravity_x=GRAVITY_X&m_gravity_y=GRAVITY_Y&m_gravity_z=GRAVITY_Z&m_img_urls=TIMGS&m_ts=TS&m_up_x=UP_X&m_up_y=UP_Y&m_video_progress=VIDEO_STATE_PROGRESS&m_video_state=VIDEO_STATE&m_video_urls=TVIDEOS&sign=370dca27bdb7e444abc028a8123a2def&sign_v=1"],"unin_drs":["https://ad-r.soulapp.cn/api/v2/report?body=SwMope9MDbvM6Jtz1PEEWSYjTLRiUYKQXZn8YZDGsuuPw7cpkVEkR8mJvbCrwQBsSqsH4HtxWAFxBi2Vy7NwzxGtREFcjcW92kGP7T1XwJsQJobcc5Pkp5LmYCeSoJaqpiUPmpatrJwy6avj1F7v6zr1WJ9LkpyAiKw1imtoibSL2ihRoHL5pEc2L8dDp5HhkxHzmcve9YJmU2ZUVyaGR9HvkokoQAAX7oryPJ6DBtFkqxzFPQYBqUKsRrGYnsPrXRPR3pmCmJGan1nDg7qZqehJhzrbFi5wnTmVLeurjW4mZpyvdvWVjELEvsZ2bHpGSE1JyT1wFEFVdUMoCR1WvraBHKuzhsXDThqCftU25bmWgyBfB5Ki5QNXHF9oGv9ymPpevMXUKuTz9a5SAbGGPFPikPVyYEiXmQ9iCnGjpXkADjypTqknigDoJxfNUQMuwAZMNwcrPq9LAUG4bidrUiP2en9DtAJUZnBpuNNWBgwL5h63BqDi5b29r9Mc8EHjGdJ68zPHTvkGzjkTnqrzinRf1Fh3jAVrCupLZkmjLXWNrWiKyk8gx956gxsg7sGqiuKim8Mbc5BRgJ8sZ8fUXHB88BUW8ALz6zVQjvqdV27Kd69zcQTBrphhdXimBZCrdCgyGtsjQsmx1usxAMnnADEUYd68j5AJbvgeAmrrKeJLm2gVW3Z5H1UdAzHEjA8zAxAGU1yXx27id8m9YHSnb4na6sqopEibJusCzmcZHFs3a6WGfRfvfmN67cm19x7pDpoYN9PsrTeoNZSUJwEGRnuG747ATk4RJNZG4cqdGv4rQa1h5EpHxNmeU7vn8MRXJv65fmDuWqj4RRi6r1dv7RYUjJxDBoE7e2jowRtfCkbWKqhow61ajMgGzF2M3PFc9X2SiZFeMfkLDnqSkrbzDawaDrjecsLh8UyEj6ny82hYMqK8VhpKr6Zk5nMKiauYhEFaqhC1NomnqmekijKk9bY1G5JohymXhetFxQskchHiHbymuZ67a3PZ3aLfbVvUdRndJQBLQFWgVc98SLFGhrsYe6bKU71VigTwZ6QB3D3HPcRmEjimVgK9ST2uxKFuxfDCecqjRrkLaqCuA3jK7TKiM63A5aXUdzwCqRAv4JW9PZkdsTCy1p7KjoP7MdE3Zyew9gaZ5MJnJ6qXxGzM9v4RU5WdJ2Nn8WPPCaMTtPXYzLe9L6iwzBVABxc8WN923qoUrkySyQ6pXnskFKm8jVzy18ZL77PC1s2nYseoEj9CweUt6wZ2Wwf3FF1K33aJK63TEq5hrzL8aWSSqecwMPr9RcrDYvXmvhwxDvYq8jXMjg5P6jLesVDv5uQC6ss1oTjyCUSH5ADtVLcfDKhjcMBYztiCeq3EGkEN7pmHGiGEZnNb4KwemELHbqrE72H7g83aiH8JZjHBBGnGH3Nt8JRNx4N71aWgSapg34M8tDrdUTqvsBfKC9Lx&encrypt_v=2&iv=ajfgG0Z5iGAPq3r2&m_deeplink_state=dp_uninstall&m_down_x=DOWN_X&m_down_y=DOWN_Y&m_download_state=DOWNLOAD_STATE&m_gravity_x=GRAVITY_X&m_gravity_y=GRAVITY_Y&m_gravity_z=GRAVITY_Z&m_img_urls=TIMGS&m_ts=TS&m_up_x=UP_X&m_up_y=UP_Y&m_video_progress=VIDEO_STATE_PROGRESS&m_video_state=VIDEO_STATE&m_video_urls=TVIDEOS&sign=370dca27bdb7e444abc028a8123a2def&sign_v=1"],"in_drs":["https://ad-r.soulapp.cn/api/v2/report?body=SwMope9MDbvM6Jtz1PEEWSYjTLRiUYKQXZn8YZDGsuuPw7cpkVEkR8mJvbCrwQBsSqsH4HtxWAFxBi2Vy7NwzxGtREFcjcW92kGP7T1XwJsQJobcc5Pkp5LmYCeSoJaqpiUPmpatrJwy6avj1F7v6zr1WJ9LkpyAiKw1imtoibSL2ihRoHL5pEc2L8dDp5HhkxHzmcve9YJmU2ZUVyaGR9HvkokoQAAX7oryPJ6DBtFkqxzFPQYBqUKsRrGYnsPrXRPR3pmCmJGan1nDg7qZqehJhzrbFi5wnTmVLeurjW4mZpyvdvWVjELEvsZ2bHpGSE1JyT1wFEFVdUMoCR1WvraBHKuzhsXDThqCftU25bmWgyBfB5Ki5QNXHF9oGv9ymPpevMXUKuTz9a5SAbGGPFPikPVyYEiXmQ9iCnGjpXkADjypTqknigDoJxfNUQMuwAZMNwcrPq9LAUG4bidrUiP2en9DtAJUZnBpuNNWBgwL5h63BqDi5b29r9Mc8EHjGdJ68zPHTvkGzjkTnqrzinRf1Fh3jAVrCupLZkmjLXWNrWiKyk8gx956gxsg7sGqiuKim8Mbc5BRgJ8sZ8fUXHB88BUW8ALz6zVQjvqdV27Kd69zcQTBrphhdXimBZCrdCgyGtsjQsmx1usxAMnnADEUYd68j5AJbvgeAmrrKeJLm2gVW3Z5H1UdAzHEjA8zAxAGU1yXx27id8m9YHSnb4na6sqopEibJusCzmcZHFs3a6WGfRfvfmN67cm19x7pDpoYN9PsrTeoNZSUJwEGRnuG747ATk4RJNZG4cqdGv4rQa1h5EpHxNmeU7vn8MRXJv65fmDuWqj4RRi6r1dv7RYUjJxDBoE7e2jowRtfCkbWKqhow61ajMgGzF2M3PFc9X2SiZFeMfkLDnqSkrbzDawaDrjecsLh8UyEj6ny82hYMqK8VhpKr6Zk5nMKiauYhEFaqhC1NomnqmekijKk9bY1G5JohymXhetFxQskchHiHbymuZ67a3PZ3aLfbVvUdRndJQBLQFWgVc98SLFGhrsYe6bKU71VigTwZ6QB3D3HPcRmEjimVgK9ST2uxKFuxfDCecqjRrkLaqCuA3jK7TKiM63A5aXUdzwCqRAv4JW9PZkdsTCy1p7KjoP7MdE3Zyew9gaZ5MJnJ6qXxGzM9v4RU5WdJ2Nn8WPPCaMTtPXYzLe9L6iwzBVABxc8WN923qoUrkySyQ6pXnskFKm8jVzy18ZL77PC1s2nYseoEj9CweUt6wZ2Wwf3FF1K33aJK63TEq5hrzL8aWSSqecwMPr9RcrDYvXmvhwxDvYq8jXMjg5P6jLesVDv5uQC6ss1oTjyCUSH5ADtVLcfDKhjcMBYztiCeq3EGkEN7pmHGiGEZnNb4KwemELHbqrE72H7g83aiH8JZjHBBGnGH3Nt8JRNx4N71aWgSapg34M8tDrdUTqvsBfKC9Lx&encrypt_v=2&iv=ajfgG0Z5iGAPq3r2&m_deeplink_state=dp_install&m_down_x=DOWN_X&m_down_y=DOWN_Y&m_download_state=DOWNLOAD_STATE&m_gravity_x=GRAVITY_X&m_gravity_y=GRAVITY_Y&m_gravity_z=GRAVITY_Z&m_img_urls=TIMGS&m_ts=TS&m_up_x=UP_X&m_up_y=UP_Y&m_video_progress=VIDEO_STATE_PROGRESS&m_video_state=VIDEO_STATE&m_video_urls=TVIDEOS&sign=370dca27bdb7e444abc028a8123a2def&sign_v=1"],"in_fail_drs":["https://ad-r.soulapp.cn/api/v2/report?body=SwMope9MDbvM6Jtz1PEEWSYjTLRiUYKQXZn8YZDGsuuPw7cpkVEkR8mJvbCrwQBsSqsH4HtxWAFxBi2Vy7NwzxGtREFcjcW92kGP7T1XwJsQJobcc5Pkp5LmYCeSoJaqpiUPmpatrJwy6avj1F7v6zr1WJ9LkpyAiKw1imtoibSL2ihRoHL5pEc2L8dDp5HhkxHzmcve9YJmU2ZUVyaGR9HvkokoQAAX7oryPJ6DBtFkqxzFPQYBqUKsRrGYnsPrXRPR3pmCmJGan1nDg7qZqehJhzrbFi5wnTmVLeurjW4mZpyvdvWVjELEvsZ2bHpGSE1JyT1wFEFVdUMoCR1WvraBHKuzhsXDThqCftU25bmWgyBfB5Ki5QNXHF9oGv9ymPpevMXUKuTz9a5SAbGGPFPikPVyYEiXmQ9iCnGjpXkADjypTqknigDoJxfNUQMuwAZMNwcrPq9LAUG4bidrUiP2en9DtAJUZnBpuNNWBgwL5h63BqDi5b29r9Mc8EHjGdJ68zPHTvkGzjkTnqrzinRf1Fh3jAVrCupLZkmjLXWNrWiKyk8gx956gxsg7sGqiuKim8Mbc5BRgJ8sZ8fUXHB88BUW8ALz6zVQjvqdV27Kd69zcQTBrphhdXimBZCrdCgyGtsjQsmx1usxAMnnADEUYd68j5AJbvgeAmrrKeJLm2gVW3Z5H1UdAzHEjA8zAxAGU1yXx27id8m9YHSnb4na6sqopEibJusCzmcZHFs3a6WGfRfvfmN67cm19x7pDpoYN9PsrTeoNZSUJwEGRnuG747ATk4RJNZG4cqdGv4rQa1h5EpHxNmeU7vn8MRXJv65fmDuWqj4RRi6r1dv7RYUjJxDBoE7e2jowRtfCkbWKqhow61ajMgGzF2M3PFc9X2SiZFeMfkLDnqSkrbzDawaDrjecsLh8UyEj6ny82hYMqK8VhpKr6Zk5nMKiauYhEFaqhC1NomnqmekijKk9bY1G5JohymXhetFxQskchHiHbymuZ67a3PZ3aLfbVvUdRndJQBLQFWgVc98SLFGhrsYe6bKU71VigTwZ6QB3D3HPcRmEjimVgK9ST2uxKFuxfDCecqjRrkLaqCuA3jK7TKiM63A5aXUdzwCqRAv4JW9PZkdsTCy1p7KjoP7MdE3Zyew9gaZ5MJnJ6qXxGzM9v4RU5WdJ2Nn8WPPCaMTtPXYzLe9L6iwzBVABxc8WN923qoUrkySyQ6pXnskFKm8jVzy18ZL77PC1s2nYseoEj9CweUt6wZ2Wwf3FF1K33aJK63TEq5hrzL8aWSSqecwMPr9RcrDYvXmvhwxDvYq8jXMjg5P6jLesVDv5uQC6ss1oTjyCUSH5ADtVLcfDKhjcMBYztiCeq3EGkEN7pmHGiGEZnNb4KwemELHbqrE72H7g83aiH8JZjHBBGnGH3Nt8JRNx4N71aWgSapg34M8tDrdUTqvsBfKC9Lx&encrypt_v=2&iv=ajfgG0Z5iGAPq3r2&m_deeplink_state=dp_install_failure&m_down_x=DOWN_X&m_down_y=DOWN_Y&m_download_state=DOWNLOAD_STATE&m_gravity_x=GRAVITY_X&m_gravity_y=GRAVITY_Y&m_gravity_z=GRAVITY_Z&m_img_urls=TIMGS&m_ts=TS&m_up_x=UP_X&m_up_y=UP_Y&m_video_progress=VIDEO_STATE_PROGRESS&m_video_state=VIDEO_STATE&m_video_urls=TVIDEOS&sign=370dca27bdb7e444abc028a8123a2def&sign_v=1"],"winNoticeUrls":["https://ad-r.soulapp.cn/api/v2/report?body=dpFfDQQsHWinyVYhbyZBKuL6xSPuhDNL9aTddLfwm7DyeLc1cXZa9sZPGft7GoA3jV6XdRirhgvnhDv5GoYfY15rK2dzGsbF9pzU86DQXqN72NPm9PXr8BDyxH1UcApmUTn9qPLbQ3usuE7Gc2NsuYsm89hW2fKS6UvGksVUfYUn35ScuiQb9d8UQxmu4jSrGzrgpztKvQnrf9Sb79f5ZVzdkGGLfbkRekHEuE4kshq3Nz5pRnP8CcfAz1eWBe7nU4pTrdoYvidYSDeP5v2hKrxAUMkGRarY8tKnERYVJwXsyQa2Tf4tfktwPL9uf8S6cGriensk12yQxGw2L9Tsxj6KL3FStthsp2nZ5MYfeNdvHqbPiSUV71RmwnANWuM9TrUxFqXmbW5yWmwojNQa1QqifHrTtKXGGvjNSHAJaefSCUkUnrz9HhZuqSagnBcWQPY6QVuVH1sMLr6rpyj5GaKvRz6qUwm8ugBF6NJEQwJKncnAXf69zcc3DXZd2fgcuC83gVE5hNqH5VK5G78wTmv7LLja8HLuwAJRih3Moa32ztqsTJtu3pemE1Agvf4K6JHR2BF2nPspV5LBpfaLeevQZ1eGQ76cZpXvVh31qatazV7tKRfDev6XM9fNUEDLRpCJpCgMkCwjU5CbqUyhQQPWnL5N3pDFy6gJJoJtPUtoDDdz4YyCpeNhJuPgFmyNcHxZhzyrJGqQttfzM2F5F37B6EdgRCyxUG2jVG4X1Hx9F1LorbZigmTKq4wSdG2a6xNjF5T86zSWnNtTwFV3DomDfMpunR6KqzYd5qeixfH91ARin3jcFD3vfpBngVLRZfaMHmkxMnRz2hSvwj9ov4EuunMRBWbfU5Znboop7QNtbKSZVCuZqKqfysDfjkq&encrypt_v=2&iv=nrSfDxx3m2rUctOX&m_deeplink_state=DEEPLINK_STATE&m_down_x=DOWN_X&m_down_y=DOWN_Y&m_download_state=DOWNLOAD_STATE&m_gravity_x=GRAVITY_X&m_gravity_y=GRAVITY_Y&m_gravity_z=GRAVITY_Z&m_img_urls=TIMGS&m_ts=TS&m_up_x=UP_X&m_up_y=UP_Y&m_video_progress=VIDEO_STATE_PROGRESS&m_video_state=VIDEO_STATE&m_video_urls=TVIDEOS&sign=853ffb76865ed80530f1755ce6e7afb0&sign_v=1"],"webViewType":1,"refValue":{"os":{"ios":1,"android":0}},"enableReplay":1,"appName":"","appPackageName":"","appDownloadUrl":"","interactiveType":0,"buttonText":"查看详情","enableButton":1,"video_start":["https://ad-r.soulapp.cn/api/v2/report?body=Ww5PE3pwNd5EDceebqRTiSoyo2YgcjqxNifKLcZCR5gFxn8s3BqZfs3xuUCiNLeduZrgwUeuc4EKPnE9WSFLKJKWkyyXBfBs9zSFiCE3Cgx1e7KTwutSdox3T6PE4MH36Vic64KM4yT2fnvBDYHUy5knRfpTSoFWJiD86Fj2EsKZj2XLBEjaZUa2NHda7HUTtSVwGLCtnJ3s6gjcmNiiXoxBzZqUWY9MSimot7oBdDTuJj8s3y3DP3Kpj41i1z43AN6yLVceADk7e2qr7E2MxbAjzNH6qcgVdnsMzs5S19ZbuuHgZX9jVGHhA3q5c2gPqcnq2ynJaHrVYBaog5XjvQHHtKdisWu3fm5D35RA6UGgHuA5qAYqNEBoH4BxNiv9tRu74hazW2ucEi87jzmQmtUuh5d2brsicSopG3u1KL1k4QBrpsDNWbmFrTAZ6RRcwnqUQDj35VZUDnaNSbHLac3tTAeV4KUJzohsiDMXsSmX7oXYbymtw2NeN4mByFPU7Q2WUPCbLwtWXv95yXFuFisfNKThruwUC2XVnV5A91ehvrFRZPagihMY8tGn57nPwK2viK1NrKdSMVhzV8gkmY3T9xDoV7LbVKD153nzcbMdjJFmagJJUfHmR642uBhAfFuTJypZVoNk8iQhv4YKKRPCMPUgyoYkxu6uYeEheTAJmfPAhY6wPSWZs2HPn8EECtCBiQy6t2FntnAF7m1kUKtmSthCZSrB8wyMEcRakdauqtW3LgBoQ9biGLBj9dJtjFKiTNbWR8daKfTX5S7CeMgHAWss6H7gHB6ALmt5LhoqwegRcLth7eBMHnszvwnXUMDmuToJZFPkA9KE95L9scaHzow1GAU6ko1KZH6GoHCPhpf5j8M8t5Wh6sJ8grTq&encrypt_v=2&iv=OO62AgMFsG5f4Pcu&m_deeplink_state=DEEPLINK_STATE&m_down_x=DOWN_X&m_down_y=DOWN_Y&m_download_state=DOWNLOAD_STATE&m_gravity_x=GRAVITY_X&m_gravity_y=GRAVITY_Y&m_gravity_z=GRAVITY_Z&m_img_urls=TIMGS&m_ts=TS&m_up_x=UP_X&m_up_y=UP_Y&m_video_progress=VIDEO_STATE_PROGRESS&m_video_state=VIDEO_STATE&m_video_urls=TVIDEOS&sign=74aeada5c30f4058df772c1134219710&sign_v=1"],"video_end":["https://ad-r.soulapp.cn/api/v2/report?body=Ww5PE3pwNd5EDceebqRTiSoyo2YgcjqxNifKLcZCR5gFxn8s3BqZfs3xuUCiNLeduZrgwUeuc4EKPnE9WSFLKJKWkyyXBfBs9zSFiCE3Cgx1e7KTwutSdox3T6PE4MH36Vic64KM4yT2fnvBDYHUy5knRfpTSoFWJiD86Fj2EsKZj2XLBEjaZUa2NHda7HUTtSVwGLCtnJ3s6gjcmNiiXoxBzZqUWY9MSimot7oBdDTuJj8s3y3DP3Kpj41i1z43AN6yLVceADk7e2qr7E2MxbAjzNH6qcgVdnsMzs5S19ZbuuHgZX9jVGHhA3q5c2gPqcnq2ynJaHrVYBaog5XjvQHHtKdisWu3fm5D35RA6UGgHuA5qAYqNEBoH4BxNiv9tRu74hazW2ucEi87jzmQmtUuh5d2brsicSopG3u1KL1k4QBrpsDNWbmFrTAZ6RRcwnqUQDj35VZUDnaNSbHLac3tTAeV4KUJzohsiDMXsSmX7oXYbymtw2NeN4mByFPU7Q2WUPCbLwtWXv95yXFuFisfNKThruwUC2XVnV5A91ehvrFRZPagihMY8tGn57nPwK2viK1NrKdSMVhzV8gkmY3T9xDoV7LbVKD153nzcbMdjJFmagJJUfHmR642uBhAfFuTJypZVoNk8iQhv4YKKRPCMPUgyoYkxu6uYeEheTAJmfPAhY6wPSWZs2HPn8EECtCBiQy6t2FntnAF7m1kUKtmSthCZSrB8wyMEcRakdauqtW3LgBoQ9biGLBj9dJtjFKiTNbWR8daKfTX5S7CeMgHAWss6H7gHB6ALmt5LhoqwegRcLth7eBMHnszvwnXUMDmuToJZFPkA9KE95L9scaHzow1GAU6ko1KZH6GoHCPhpf5j8M8t5Wh6sJ8grTq&encrypt_v=2&iv=OO62AgMFsG5f4Pcu&m_deeplink_state=DEEPLINK_STATE&m_down_x=DOWN_X&m_down_y=DOWN_Y&m_download_state=DOWNLOAD_STATE&m_gravity_x=GRAVITY_X&m_gravity_y=GRAVITY_Y&m_gravity_z=GRAVITY_Z&m_img_urls=TIMGS&m_ts=TS&m_up_x=UP_X&m_up_y=UP_Y&m_video_progress=VIDEO_STATE_PROGRESS&m_video_state=VIDEO_STATE&m_video_urls=TVIDEOS&sign=74aeada5c30f4058df772c1134219710&sign_v=1"],"video_progress_rs":{"50":["https://ad-r.soulapp.cn/api/v2/report?body=Ww5PE3pwNd5EDceebqRTiSoyo2YgcjqxNifKLcZCR5gFxn8s3BqZfs3xuUCiNLeduZrgwUeuc4EKPnE9WSFLKJKWkyyXBfBs9zSFiCE3Cgx1e7KTwutSdox3T6PE4MH36Vic64KM4yT2fnvBDYHUy5knRfpTSoFWJiD86Fj2EsKZj2XLBEjaZUa2NHda7HUTtSVwGLCtnJ3s6gjcmNiiXoxBzZqUWY9MSimot7oBdDTuJj8s3y3DP3Kpj41i1z43AN6yLVceADk7e2qr7E2MxbAjzNH6qcgVdnsMzs5S19ZbuuHgZX9jVGHhA3q5c2gPqcnq2ynJaHrVYBaog5XjvQHHtKdisWu3fm5D35RA6UGgHuA5qAYqNEBoH4BxNiv9tRu74hazW2ucEi87jzmQmtUuh5d2brsicSopG3u1KL1k4QBrpsDNWbmFrTAZ6RRcwnqUQDj35VZUDnaNSbHLac3tTAeV4KUJzohsiDMXsSmX7oXYbymtw2NeN4mByFPU7Q2WUPCbLwtWXv95yXFuFisfNKThruwUC2XVnV5A91ehvrFRZPagihMY8tGn57nPwK2viK1NrKdSMVhzV8gkmY3T9xDoV7LbVKD153nzcbMdjJFmagJJUfHmR642uBhAfFuTJypZVoNk8iQhv4YKKRPCMPUgyoYkxu6uYeEheTAJmfPAhY6wPSWZs2HPn8EECtCBiQy6t2FntnAF7m1kUKtmSthCZSrB8wyMEcRakdauqtW3LgBoQ9biGLBj9dJtjFKiTNbWR8daKfTX5S7CeMgHAWss6H7gHB6ALmt5LhoqwegRcLth7eBMHnszvwnXUMDmuToJZFPkA9KE95L9scaHzow1GAU6ko1KZH6GoHCPhpf5j8M8t5Wh6sJ8grTq&encrypt_v=2&iv=OO62AgMFsG5f4Pcu&m_deeplink_state=DEEPLINK_STATE&m_down_x=DOWN_X&m_down_y=DOWN_Y&m_download_state=DOWNLOAD_STATE&m_gravity_x=GRAVITY_X&m_gravity_y=GRAVITY_Y&m_gravity_z=GRAVITY_Z&m_img_urls=TIMGS&m_ts=TS&m_up_x=UP_X&m_up_y=UP_Y&m_video_progress=VIDEO_STATE_PROGRESS&m_video_state=VIDEO_STATE&m_video_urls=TVIDEOS&sign=74aeada5c30f4058df772c1134219710&sign_v=1"],"25":["https://ad-r.soulapp.cn/api/v2/report?body=Ww5PE3pwNd5EDceebqRTiSoyo2YgcjqxNifKLcZCR5gFxn8s3BqZfs3xuUCiNLeduZrgwUeuc4EKPnE9WSFLKJKWkyyXBfBs9zSFiCE3Cgx1e7KTwutSdox3T6PE4MH36Vic64KM4yT2fnvBDYHUy5knRfpTSoFWJiD86Fj2EsKZj2XLBEjaZUa2NHda7HUTtSVwGLCtnJ3s6gjcmNiiXoxBzZqUWY9MSimot7oBdDTuJj8s3y3DP3Kpj41i1z43AN6yLVceADk7e2qr7E2MxbAjzNH6qcgVdnsMzs5S19ZbuuHgZX9jVGHhA3q5c2gPqcnq2ynJaHrVYBaog5XjvQHHtKdisWu3fm5D35RA6UGgHuA5qAYqNEBoH4BxNiv9tRu74hazW2ucEi87jzmQmtUuh5d2brsicSopG3u1KL1k4QBrpsDNWbmFrTAZ6RRcwnqUQDj35VZUDnaNSbHLac3tTAeV4KUJzohsiDMXsSmX7oXYbymtw2NeN4mByFPU7Q2WUPCbLwtWXv95yXFuFisfNKThruwUC2XVnV5A91ehvrFRZPagihMY8tGn57nPwK2viK1NrKdSMVhzV8gkmY3T9xDoV7LbVKD153nzcbMdjJFmagJJUfHmR642uBhAfFuTJypZVoNk8iQhv4YKKRPCMPUgyoYkxu6uYeEheTAJmfPAhY6wPSWZs2HPn8EECtCBiQy6t2FntnAF7m1kUKtmSthCZSrB8wyMEcRakdauqtW3LgBoQ9biGLBj9dJtjFKiTNbWR8daKfTX5S7CeMgHAWss6H7gHB6ALmt5LhoqwegRcLth7eBMHnszvwnXUMDmuToJZFPkA9KE95L9scaHzow1GAU6ko1KZH6GoHCPhpf5j8M8t5Wh6sJ8grTq&encrypt_v=2&iv=OO62AgMFsG5f4Pcu&m_deeplink_state=DEEPLINK_STATE&m_down_x=DOWN_X&m_down_y=DOWN_Y&m_download_state=DOWNLOAD_STATE&m_gravity_x=GRAVITY_X&m_gravity_y=GRAVITY_Y&m_gravity_z=GRAVITY_Z&m_img_urls=TIMGS&m_ts=TS&m_up_x=UP_X&m_up_y=UP_Y&m_video_progress=VIDEO_STATE_PROGRESS&m_video_state=VIDEO_STATE&m_video_urls=TVIDEOS&sign=74aeada5c30f4058df772c1134219710&sign_v=1"],"75":["https://ad-r.soulapp.cn/api/v2/report?body=Ww5PE3pwNd5EDceebqRTiSoyo2YgcjqxNifKLcZCR5gFxn8s3BqZfs3xuUCiNLeduZrgwUeuc4EKPnE9WSFLKJKWkyyXBfBs9zSFiCE3Cgx1e7KTwutSdox3T6PE4MH36Vic64KM4yT2fnvBDYHUy5knRfpTSoFWJiD86Fj2EsKZj2XLBEjaZUa2NHda7HUTtSVwGLCtnJ3s6gjcmNiiXoxBzZqUWY9MSimot7oBdDTuJj8s3y3DP3Kpj41i1z43AN6yLVceADk7e2qr7E2MxbAjzNH6qcgVdnsMzs5S19ZbuuHgZX9jVGHhA3q5c2gPqcnq2ynJaHrVYBaog5XjvQHHtKdisWu3fm5D35RA6UGgHuA5qAYqNEBoH4BxNiv9tRu74hazW2ucEi87jzmQmtUuh5d2brsicSopG3u1KL1k4QBrpsDNWbmFrTAZ6RRcwnqUQDj35VZUDnaNSbHLac3tTAeV4KUJzohsiDMXsSmX7oXYbymtw2NeN4mByFPU7Q2WUPCbLwtWXv95yXFuFisfNKThruwUC2XVnV5A91ehvrFRZPagihMY8tGn57nPwK2viK1NrKdSMVhzV8gkmY3T9xDoV7LbVKD153nzcbMdjJFmagJJUfHmR642uBhAfFuTJypZVoNk8iQhv4YKKRPCMPUgyoYkxu6uYeEheTAJmfPAhY6wPSWZs2HPn8EECtCBiQy6t2FntnAF7m1kUKtmSthCZSrB8wyMEcRakdauqtW3LgBoQ9biGLBj9dJtjFKiTNbWR8daKfTX5S7CeMgHAWss6H7gHB6ALmt5LhoqwegRcLth7eBMHnszvwnXUMDmuToJZFPkA9KE95L9scaHzow1GAU6ko1KZH6GoHCPhpf5j8M8t5Wh6sJ8grTq&encrypt_v=2&iv=OO62AgMFsG5f4Pcu&m_deeplink_state=DEEPLINK_STATE&m_down_x=DOWN_X&m_down_y=DOWN_Y&m_download_state=DOWNLOAD_STATE&m_gravity_x=GRAVITY_X&m_gravity_y=GRAVITY_Y&m_gravity_z=GRAVITY_Z&m_img_urls=TIMGS&m_ts=TS&m_up_x=UP_X&m_up_y=UP_Y&m_video_progress=VIDEO_STATE_PROGRESS&m_video_state=VIDEO_STATE&m_video_urls=TVIDEOS&sign=74aeada5c30f4058df772c1134219710&sign_v=1"]},"download_start":["https://ad-r.soulapp.cn/api/v2/report?body=5pS3FAYTVDn9AwcYsCzn5gBERh2s4foYYrTfVQbAhF5ibPRuK5ReFA3e6KcHoBoUAZ8MGLMzVGrQUNK3X1AxDsKVLE9Tv4YFS2YmTjKr87sFjGLs6HqduqzmHVNnEjdCXdgj7aR4JNGHwn7oomxkhanArDAjv6DA5S8gq2BMn1QxtQK92x8dhuTpoyUgjfG4YPWH7GtrzQTMQxpHxKnPx3CLYc36A8aNjxUiYfbm7A8pnkD9b8xCd5RATmuX9jgRkbmhsuht2kssbyRAbdmNhe4CsyTuryQo2hRBbbTxJ1YBgmaew6h7sJbbF7T9k1U21gFNwCNM2AEymQ5TLFujcEziNCoveZm2bwTzygedzybduR8UQgLbeovWA3JmPfJTDsoDjscMe5i5tfTHb4ms2wjHoiNN6FNip2JcLmndKPtMSg4WbGAYGwVScDeDqcZ1wMLwg8vYqvAbJSKWva87ApSRpfseJqzRPzyx5frGjh2aXkDUrVumhefPggY5CfuTrM3GwJKoaU9P61V46CyWPT2uzuaiCMKh1rA8nWV7GLVeF1HjezGWMjvf38EnH8utarfbe54HpubrNuWEusf9XrisWL3LDaLsiNpyByYMzkeue3qnsLcJdkGt2r9bTEBTM2Nh52oFBjPgrny53oT4ngtB9xsib5GmFBtgiuhWMEmufiMxTAuNDB4dQiGEQ8iJfKf8ceU1Sq1GsuRqtFdoXzKa19Xs6MSfWAY29JqEM5dcrNfTt579boFg1MtYqneH7Nms8kdXFFh4zPBHQeGbztXhdwCJ31Nsh7JkcVaqStAR7cB5nbVH4wkE43VYnXt8iUm54KrRx8zzShEDZqxefcUbcokJzfvSFPYrStTdkfutLEEecLMTqouwr5NhRkX3AaYahepi6eYyq2zLPCspnNMHTb2KjKVBrK7Zq94C6U7Lz5vXy4oZC6HXcWafeEgkmqmu8v8vux5M74XeLePZtf3ynsrsTSa939QZbQgXBpsNVu1UofQ5WK3by796rvkLNN5G4YAhYFGJutgMXwjMErEc49vow4czfACnygM13Lpy6pEtfxbzz1FivFriL4RXtUnw3Jo2CdStzbqQ6rbjc5dXYebPuDrXMQc6eN9G2ke8VxQ9odVcmirTrzfeN1BcxGGJqUVyJvMNSobPTDkhNo3QDT5FY7EsxvvDejjo8waUXrTyEagm6MVbk6zFXCLzmLqckUJz5m4qb5vyTbNeqw5AD2oAcLUbLoVSerDs4Xr5WC4D9t1Vwb7SjTqtqBfZm7XzvGHxGHyseovAnMJHsRiZomuUv3hvAhrg4i1WW71QD8ggq3oFBRtHtg7FjpWNbbPB5VjwAEL7N3s9FBzWPPMW6VHg3h6ohVvnkgPerb4uhf7U6Ln3JRwfUxYB62KZtJPf2M3yCSjBhfPkjMb382KM833qQbxfrKMiunD8FpcxiKRPmYwWMdmE&encrypt_v=2&iv=Vjlg2BxR80IXKXcG&m_deeplink_state=DEEPLINK_STATE&m_down_x=DOWN_X&m_down_y=DOWN_Y&m_download_state=DOWNLOAD_STATE&m_gravity_x=GRAVITY_X&m_gravity_y=GRAVITY_Y&m_gravity_z=GRAVITY_Z&m_img_urls=TIMGS&m_ts=TS&m_up_x=UP_X&m_up_y=UP_Y&m_video_progress=VIDEO_STATE_PROGRESS&m_video_state=VIDEO_STATE&m_video_urls=TVIDEOS&sign=389d103350330773e6eb32c694f29469&sign_v=1"],"download_end":["https://ad-r.soulapp.cn/api/v2/report?body=5pS3FAYTVDn9AwcYsCzn5gBERh2s4foYYrTfVQbAhF5ibPRuK5ReFA3e6KcHoBoUAZ8MGLMzVGrQUNK3X1AxDsKVLE9Tv4YFS2YmTjKr87sFjGLs6HqduqzmHVNnEjdCXdgj7aR4JNGHwn7oomxkhanArDAjv6DA5S8gq2BMn1QxtQK92x8dhuTpoyUgjfG4YPWH7GtrzQTMQxpHxKnPx3CLYc36A8aNjxUiYfbm7A8pnkD9b8xCd5RATmuX9jgRkbmhsuht2kssbyRAbdmNhe4CsyTuryQo2hRBbbTxJ1YBgmaew6h7sJbbF7T9k1U21gFNwCNM2AEymQ5TLFujcEziNCoveZm2bwTzygedzybduR8UQgLbeovWA3JmPfJTDsoDjscMe5i5tfTHb4ms2wjHoiNN6FNip2JcLmndKPtMSg4WbGAYGwVScDeDqcZ1wMLwg8vYqvAbJSKWva87ApSRpfseJqzRPzyx5frGjh2aXkDUrVumhefPggY5CfuTrM3GwJKoaU9P61V46CyWPT2uzuaiCMKh1rA8nWV7GLVeF1HjezGWMjvf38EnH8utarfbe54HpubrNuWEusf9XrisWL3LDaLsiNpyByYMzkeue3qnsLcJdkGt2r9bTEBTM2Nh52oFBjPgrny53oT4ngtB9xsib5GmFBtgiuhWMEmufiMxTAuNDB4dQiGEQ8iJfKf8ceU1Sq1GsuRqtFdoXzKa19Xs6MSfWAY29JqEM5dcrNfTt579boFg1MtYqneH7Nms8kdXFFh4zPBHQeGbztXhdwCJ31Nsh7JkcVaqStAR7cB5nbVH4wkE43VYnXt8iUm54KrRx8zzShEDZqxefcUbcokJzfvSFPYrStTdkfutLEEecLMTqouwr5NhRkX3AaYahepi6eYyq2zLPCspnNMHTb2KjKVBrK7Zq94C6U7Lz5vXy4oZC6HXcWafeEgkmqmu8v8vux5M74XeLePZtf3ynsrsTSa939QZbQgXBpsNVu1UofQ5WK3by796rvkLNN5G4YAhYFGJutgMXwjMErEc49vow4czfACnygM13Lpy6pEtfxbzz1FivFriL4RXtUnw3Jo2CdStzbqQ6rbjc5dXYebPuDrXMQc6eN9G2ke8VxQ9odVcmirTrzfeN1BcxGGJqUVyJvMNSobPTDkhNo3QDT5FY7EsxvvDejjo8waUXrTyEagm6MVbk6zFXCLzmLqckUJz5m4qb5vyTbNeqw5AD2oAcLUbLoVSerDs4Xr5WC4D9t1Vwb7SjTqtqBfZm7XzvGHxGHyseovAnMJHsRiZomuUv3hvAhrg4i1WW71QD8ggq3oFBRtHtg7FjpWNbbPB5VjwAEL7N3s9FBzWPPMW6VHg3h6ohVvnkgPerb4uhf7U6Ln3JRwfUxYB62KZtJPf2M3yCSjBhfPkjMb382KM833qQbxfrKMiunD8FpcxiKRPmYwWMdmE&encrypt_v=2&iv=Vjlg2BxR80IXKXcG&m_deeplink_state=DEEPLINK_STATE&m_down_x=DOWN_X&m_down_y=DOWN_Y&m_download_state=DOWNLOAD_STATE&m_gravity_x=GRAVITY_X&m_gravity_y=GRAVITY_Y&m_gravity_z=GRAVITY_Z&m_img_urls=TIMGS&m_ts=TS&m_up_x=UP_X&m_up_y=UP_Y&m_video_progress=VIDEO_STATE_PROGRESS&m_video_state=VIDEO_STATE&m_video_urls=TVIDEOS&sign=389d103350330773e6eb32c694f29469&sign_v=1"],"install_end":["https://ad-r.soulapp.cn/api/v2/report?body=5pS3FAYTVDn9AwcYsCzn5gBERh2s4foYYrTfVQbAhF5ibPRuK5ReFA3e6KcHoBoUAZ8MGLMzVGrQUNK3X1AxDsKVLE9Tv4YFS2YmTjKr87sFjGLs6HqduqzmHVNnEjdCXdgj7aR4JNGHwn7oomxkhanArDAjv6DA5S8gq2BMn1QxtQK92x8dhuTpoyUgjfG4YPWH7GtrzQTMQxpHxKnPx3CLYc36A8aNjxUiYfbm7A8pnkD9b8xCd5RATmuX9jgRkbmhsuht2kssbyRAbdmNhe4CsyTuryQo2hRBbbTxJ1YBgmaew6h7sJbbF7T9k1U21gFNwCNM2AEymQ5TLFujcEziNCoveZm2bwTzygedzybduR8UQgLbeovWA3JmPfJTDsoDjscMe5i5tfTHb4ms2wjHoiNN6FNip2JcLmndKPtMSg4WbGAYGwVScDeDqcZ1wMLwg8vYqvAbJSKWva87ApSRpfseJqzRPzyx5frGjh2aXkDUrVumhefPggY5CfuTrM3GwJKoaU9P61V46CyWPT2uzuaiCMKh1rA8nWV7GLVeF1HjezGWMjvf38EnH8utarfbe54HpubrNuWEusf9XrisWL3LDaLsiNpyByYMzkeue3qnsLcJdkGt2r9bTEBTM2Nh52oFBjPgrny53oT4ngtB9xsib5GmFBtgiuhWMEmufiMxTAuNDB4dQiGEQ8iJfKf8ceU1Sq1GsuRqtFdoXzKa19Xs6MSfWAY29JqEM5dcrNfTt579boFg1MtYqneH7Nms8kdXFFh4zPBHQeGbztXhdwCJ31Nsh7JkcVaqStAR7cB5nbVH4wkE43VYnXt8iUm54KrRx8zzShEDZqxefcUbcokJzfvSFPYrStTdkfutLEEecLMTqouwr5NhRkX3AaYahepi6eYyq2zLPCspnNMHTb2KjKVBrK7Zq94C6U7Lz5vXy4oZC6HXcWafeEgkmqmu8v8vux5M74XeLePZtf3ynsrsTSa939QZbQgXBpsNVu1UofQ5WK3by796rvkLNN5G4YAhYFGJutgMXwjMErEc49vow4czfACnygM13Lpy6pEtfxbzz1FivFriL4RXtUnw3Jo2CdStzbqQ6rbjc5dXYebPuDrXMQc6eN9G2ke8VxQ9odVcmirTrzfeN1BcxGGJqUVyJvMNSobPTDkhNo3QDT5FY7EsxvvDejjo8waUXrTyEagm6MVbk6zFXCLzmLqckUJz5m4qb5vyTbNeqw5AD2oAcLUbLoVSerDs4Xr5WC4D9t1Vwb7SjTqtqBfZm7XzvGHxGHyseovAnMJHsRiZomuUv3hvAhrg4i1WW71QD8ggq3oFBRtHtg7FjpWNbbPB5VjwAEL7N3s9FBzWPPMW6VHg3h6ohVvnkgPerb4uhf7U6Ln3JRwfUxYB62KZtJPf2M3yCSjBhfPkjMb382KM833qQbxfrKMiunD8FpcxiKRPmYwWMdmE&encrypt_v=2&iv=Vjlg2BxR80IXKXcG&m_deeplink_state=DEEPLINK_STATE&m_down_x=DOWN_X&m_down_y=DOWN_Y&m_download_state=DOWNLOAD_STATE&m_gravity_x=GRAVITY_X&m_gravity_y=GRAVITY_Y&m_gravity_z=GRAVITY_Z&m_img_urls=TIMGS&m_ts=TS&m_up_x=UP_X&m_up_y=UP_Y&m_video_progress=VIDEO_STATE_PROGRESS&m_video_state=VIDEO_STATE&m_video_urls=TVIDEOS&sign=389d103350330773e6eb32c694f29469&sign_v=1"],"ios_reshow_gap":5,"interactType":0,"boolPreLoad":0,"templateId":0,"sid":5,"templateStyle":{},"appInfo":{"appVersionName":"","developerName":"","privacyPolicyUrl":"","appPermissionsUrl":"","appPermissionsText":"","adOwnerPic":"","appName":"","appDownloadUrl":"","appPackageName":"","appDes":"居然真的中了，29试抽了一下~","appFunDesc":""},"isMobileTracking":0,"chargeUnit":56,"skipMarket":0,"h5trace":"body=SfH2XFiWyKjS1X2EqGXVbKKHHJKFoVnuRr8VKVG8KTzeHmzk3JUddLTECvXU6uueqsg9kE9ci6Yj9JqMdLukE6XJ6YPYv4QWENzX12p7CGLXjHmTn46W1YnGhEnfNNYBkeSUybPkmCTgSi5kV2ApSqnnqrFURWDjnjP2xvMZUBiGHcqd1ReAd8c8y3qMVkv8sQfdvRbFRHa9jygHgfvjZ2ynphUzXGo6YXdCtbkq6exzS4QizNXdKnVqQwFA72BruguyUm5CdySNeUHm4pWsVyqL6BskvVKVPBLc1ubfcirRiNA24NChvCuiVoHqwGkF2we79rswrp2Hd7fyRftqEJfo5bQi5tuVUXvjM8YtvWZSsbKYeFFEL6yPxg8rjCJJfkngRHx9bFjhi5rSfhxGHvhg1AjaMD6jT2udfr4j5s8TWA2bGMsWSWcqPmAfWDCjUgdXYe6CENnu6f93tTWRJ4jsgNSnPHQbYXWvp4VdtJ7W4zw1j7HeGthsoLzuUr7YabPrJMGaArtdmH4s2bBtWSnm44yzKfr1M1Qry5awisWMbGvfkvqe9FxpKs1KGgQ7BX299McTm2VEWa1pdDdvGv9sjuMjH1AqJhbp9YQev79CwQikeZrpMVgT2D6jsH1mhMpQh3sjpHxhFoX2BDv4nVaXg5eHeLej8D5gn4mdSMekV5N3yksp16ov6ioN56cL2PUDysN3DuetTiWqikXAi7mPWZBdNTWsxE6sEP5eayS95Djmxd1acHPVwLXtsoCV3pkGhcMdy6jwpJBV2eKnPc28Ceq4shBzptqqcABjng4Cdcy2cytrXssTh5yEEDYghoJ8rgca4m4wz9HHrNPt&encrypt_v=2&iv=KlblOGNf3YusnSKo&m_custom_type=EVENTTYPE&m_custom_value=VALUE&m_ts=EVENTTS&sign=5c57dcf88dafc38de5112ca181dfa89b&sign_v=1","adSkipRuleTip":"您已经离开soulApp进入第三方页面","enableTinyPng":1,"perfSubjectId":"gzynlxxjsyxgs4308411635,595369","audioSwitch":false,"topTitle":"","enableComment":0,"internalDspType":0,"enablePolicyDialog":0,"enableShowVideoVolume":0,"buttonAnimationType":2,"deeplinkOptimize":{"optimizeType":0,"timeInterval":null,"abortDpInLp":0},"uiFormType":0,"eventInformation":{"showEvent":0,"isDaily":0,"eventTitle":null,"eventEndTime":null},"buttonPosType":0,"textPosType":0,"imprArea":0}],"prePrs":[],"idid":"00000000-0000-0000-0000-000000000000","strategy":{"timeout":3500,"reqMode":1,"track":"https://ad-r.soulapp.cn/api/v2/report?TRACK_BODY&encrypt_v=2&m_ad_third_slot_id=SLOT_ID&m_channel_id=CHANNEL&m_charge_type=PTYPE&m_pid=PID&m_price=PRE&m_ts=TS&m_img_urls=TIMGS&m_video_urls=TVIDEOS&m_type=TYPE&sign_v=1","reshowGap":5,"ads":[{"adunitId":"iOS_Performance_PostDetails","pid":"0_49000000_66000000_10000000","priority":1,"cid":999,"cpm":56,"templateId":0,"duration":0,"chargeType":1,"position":5,"positionType":0,"audioSwitch":false}],"adCount":1},"biddings":[]}}

```

{% endcode %}

此次抓包的目的是找到广告数据，数据肯定是在响应体里面，所以开始在响应体找想要的广告数据“<mark style="color:purple;">居然真的中了，29试抽了一下\~</mark>”，看看它在哪一条抓包数据中，但是这次抓包从文件夹显示的数量来看有一百多条，挨个找比较耗费时间，所以这里用右上角的搜索🔍功能。下面是图文介绍：

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FOIaudWmxcYdh7l87J1vK%2F4.png?alt=media&amp;token=3fa217dd-6e22-4d1c-b94c-62afdf3b9ed4" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FQSef2tcZpX9PHtAyEKPf%2F5.png?alt=media&amp;token=497eff11-83a8-4ba4-ba81-e50615897d0c" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2Fl4ckL6fDv62sOUK40QA3%2F6.png?alt=media&amp;token=c90865ce-748c-490f-8819-77822fb3e250" alt=""><figcaption></figcaption></figure>

`搜索技巧：`&#x20;

`1、搜图片：数据列表如果是图片则在右侧直接显示，也可以在搜索页面的响应头选择`<mark style="color:red;">`image`</mark>`。`&#x20;

`2、搜文字：搜索页面直接搜索响应体或者请求体，也可以在搜索页面的响应头选择`<mark style="color:red;">`text`</mark>`或`<mark style="color:red;">`json`</mark>`或`<mark style="color:red;">`javascript`</mark>`。`&#x20;

`3、搜视频：可以在搜索页面的响应头选择`<mark style="color:red;">`video`</mark>`。`&#x20;

`4、知道域名：可以在搜索页面的URL中输入域名模糊搜索或者选择列出的域名。`

介绍完功能以后开始实操：

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FmjUTsTwqt3n5C9K3Gcn3%2F11.png?alt=media&amp;token=8c32dd61-3dfc-4562-a856-f985808aeae1" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FZHOxpvqAL780C6jJbyu1%2F12.png?alt=media&amp;token=d571f983-9ecf-4fe2-ac1f-0610d2a4639a" alt=""><figcaption></figcaption></figure>

此次的响应体Content-Type是application/json，如果内容比较少则数据结构比较清晰，如果数据内容较多则可以借助其他工具方便查看。例如下图：

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FmtldR7053LBkg8T5FHzk%2F13.jpeg?alt=media&amp;token=43db6096-a328-43c1-8139-7b08f34240cb" alt=""><figcaption></figcaption></figure>

这里用JSON格式化工具<https://www.bejson.com/jsonviewernew/>格式化一下，想要抓到的广告数据在什么位置一目了然，这里是在<mark style="color:red;">response.body.data.prs\[0]</mark>里面。

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2Fy9o8wgiFqKjcERt4vlSs%2F13.png?alt=media&amp;token=acef08d6-4403-41d3-9204-059bebdd40ac" alt=""><figcaption></figcaption></figure>

### 5、怎么使用抓包数据

> 抓包数据的主要用途有去除广告、日常签到、自动任务。下面以去除广告为例说明怎么使用。

利用QX的`重写`功能（详见相关章节），将广告所在的部分（响应体中的属性`prs`）替换成其他属性，这样APP就会找不到相关的广告数据，达到去广告的目的。规则如下：

```
[rewrite_local]
^https:\/\/ssp\.soulapp\.cn\/api\/q url response-body prs response-body random_body
[mitm]
hostname = ssp.soulapp.cn
```

配置好重写和主机名以后再次打开同一个帖子，发现规则被命中，广告已经被去除。

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FiJCZ67REod2yyvri2Nru%2F12.jpeg?alt=media&amp;token=cc92dfb1-c79f-491b-817d-225edafb9107" alt=""><figcaption></figcaption></figure>

至此，QX的HTTP抓取功能从<mark style="color:red;">开启 -> 抓取 -> 关闭 -> 查找数据 -> 使用数据</mark> 讲解完毕。

[^1]:


# 网络活动详解

在QX的重写部分中，提到QX会对网络活动进行接管、处理、转发、截获操作，这些操作过程都会留下记录，也就是网络活动。

下面的图片中对网络活动页面的图标含义进行了注解。

当在使用某个App时候，如果发现异常情况，都可以切换到QX的网络活动页面来查看，也可以点击对应的条目进去查看详细的记录情况，以便于找出异常发生的原因。

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2F0eGhPZuiNWPuZwYTXBOV%2FIMG_6374.png?alt=media&amp;token=d66087d0-0430-4ce8-a507-5a0dfe8462a5" alt=""><figcaption><p>网络活动页</p></figcaption></figure>

点击上图中的2075次重用到2131次链接，可查看对应的详细情况：

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FAjzBtN3sfTLNjLLw9cJ8%2FIMG_6402.jpeg?alt=media&amp;token=d3dfe041-52f9-4173-9a9c-ddeecb5c03dd" alt=""><figcaption><p>链接的详情</p></figcaption></figure>

点击对应的图按钮，均可进入对应的页面查看，这里查看一下原始请求和GET

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FWVqILK1es4h2OfIgKL6L%2FIMG_6403.jpeg?alt=media&amp;token=91d22e47-65f6-4f63-a4c6-47cb13262c02" alt=""><figcaption><p>请求详情</p></figcaption></figure>

DNS阻止的域名详情页面：

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2F0NwPExuW4ISSk3LnmPhz%2FIMG_6406.png?alt=media&amp;token=ff8bbd1e-035b-43c9-85ff-ed90e8fbc3e5" alt=""><figcaption></figcaption></figure>

如果有时候发现某些网站不能访问，可以来这个页面查看一下是不是被什么规则给拒绝（REJECT）了，然后根据需求进行调整自己分流规则。

脚本运行记录的页面一些相关信息：

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FZwcUfyli9Wod3oYHrpIP%2Fsnagit032-js.png?alt=media&amp;token=a4593922-913c-4f06-b650-0c49ece2d009" alt=""><figcaption></figcaption></figure>

网络活动相关的一些信息暂时介绍如上部分，在使用QX的一些功能过程中，如果出现了问题，进行排查时候，可以到网络活动页面，进行观察，如果自己查不出原因，可以将自己的相关配置文件分流脚本及网络活动相关情况，截图后去群里请教，如果只是简单的一句不能用了，用不了，这种反馈可以说是完全无效的。


# 日志详解

日志页面显示的是QX启动以后http请求中脚本运行的记录。

在日志栏目上长按可以进入二级菜单日志文件，里面保存的是一些近期的日志，可以在里面进行日志级别的设置。

见下面示意图

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FqYAZnkWfbZwWqTVEP7ba%2Fsnagit033-log.png?alt=media&amp;token=cdab4581-3da4-47d5-8ad5-c24e6e5331a1" alt=""><figcaption></figcaption></figure>

日志级别有：Error、Warning、info、Debug 四个等级。

> **Error**
>
> 错误级别,用于记录脚本运行时产生的错误。这是最高级别的日志,需要开发者及时查看和修复错误。
>
> **Warning**
>
> 警告级别,用于记录非错误但需要注意的警告信息。警告信息可能表示存在潜在问题,但不会直接终止脚本执行。
>
> **Info**
>
> 信息级别,用于记录脚本运行时的一般性信息和日志。这是默认的日志级别,可以收集脚本执行情况和进度等有用信息。
>
> **Debug**
>
> 调试级别,用于记录详细的调试信息,方便开发者测试和修复脚本。这是一个比较低级别的日志,只在需要进行脚本调试时开启。
>
> 不同级别的日志包含的信息不同,设置合适的日志级别可以避免日志过多或不足。理解这些日志级别的区别可以帮助更好地开发和调试Quantumult X脚本。


# 配置片段

## **配置片段添加**

使用配置片段的方式添加，类似于添加远程节点订阅，只不过引用的远程资源是本地文件

⚠️ 注意：添加配置片段时，无需带有`[server_local]`、`[server_remote]`、`[filter_local]`、`[filter_remote]` 等字段


# 一些使用小技巧

这里是收集整理的一些QX操作和使用的上的小技巧，如果你有一些独门的很实用的可以评论添加进去。

<details>

<summary>如何利用资源解析器禁用单独的重写/主机名/规则</summary>

示范：`https://raw.githubusercontent.com/yichahucha/surge/master/qx_sub.txt`

你想删除上面订阅中的京东/淘宝比价脚本 ( `jd_price.js`, `tb_price.js`) 以及京东的主机名  ( `api.m.jd.com,` `trade-acs.m.taobao.com` )

那么，你需要用到解析器的两个参数，out 以及outhn

`out=jd_price+tb_price`

`outhn=jd.com+taobao.com`

那么，总链接为：

1. `https://raw.githubusercontent.com/yichahucha/surge/master/qx_sub.txt#out=jd_price+tb_price&outhn=jd.com+taobao.com`
2. 然后打开解析器开关
3. 筛选成功的通知提示

如果有其他类似的需求可以参照使用

更多资源解析器的用法和用途可以参照[资源解析器的作用与详解](/shi-yong-fang-fa/jie-xi-qi-de-zuo-yong-yu-xiang-jie)

</details>


# 正则简介

## 什么是正则

**正则表达式(regular expression)描述了一种字符串匹配的模式（pattern），可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。**

构造正则表达式的方法和创建数学表达式的方法一样。也就是用多种元字符与运算符可以将小的表达式结合在一起来创建更大的表达式。**正则表达式的组件可以是单个的字符、字符集合、字符范围、字符间的选择或者所有这些组件的任意组合**。

正则表达式是由普通字符（例如字符 a 到 z）以及特殊字符（称为"元字符"）组成的文字模式。模式描述**在搜索文本时要匹配的一个或多个字符串**。正则表达式作为一个模板，将某个字符模式与所搜索的字符串进行匹配。

## 为什么要学习正则

基于现实场景的应用需要；文本的复杂处理；正则表达式是一种强大而灵活的**文本处理工具**，提供了一种紧凑的、动态的方式，能够以**一种完全通用的方式来解决各种字符串处理**（例如：验证、查找、替换等）问题；**大部分语言、数据库都支持正则表达式**。

在前面的QX相关一些介绍中，无论是规则分流也好，重写也好，资源解析器中都多次的提到正则，那么学习一点基本的正则，对于更好的使用QX是十分有必要的。

#### 表达式即条件

**字符是计算机软件处理文字时最基本的单位，可能是字母，数字，标点符号，空格，换行符，汉字等等**。**字符串**是0个或更多个字符的序列。**文本也就是文字，字符串**。说某个字符串匹配某个正则表达式，通常是指这个字符串里有一部分（或几部分分别）能**满足表达式给出的条件**。

在编写处理字符串的程序或网页时，**经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具**。换句话说，正则表达式就是记录文本规则的代码。

很可能你使用过Windows/Dos下用于文件查找的通配符(wildcard)，也就是\*和?。**如果你想查找某个目录下的所有的Word文档的话，你会搜索*****.doc。在这里，*****会被解释成任意的字符串。**&#x548C;通配符类似，正则表达式也是用来进行文本匹配的工具，只不过比起通配符，它能更精确地描述你的需求——当然，代价就是更复杂——比如你可以编写一个正则表达式，用来查找所有以0开头，后面跟着2-3个数字，然后是一个连字号“-”，最后是7或8位数字的字符串(像010-12345678或0376-7654321)。

**表达式**即**条件（规则）**&#x7684;字符表达；

### 正则表达式作用图示 <a href="#zheng-ze-biao-da-shi-zuo-yong-tu-shi-bi-kan" id="zheng-ze-biao-da-shi-zuo-yong-tu-shi-bi-kan"></a>

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FMhyAOPvTlbtVXyoZ9maY%2F692561544.png.webp?alt=media&amp;token=cd8dd29f-48d9-4c07-baa5-c939dc155f42" alt=""><figcaption></figcaption></figure>

### 示例

| 正则表达式                   | 描述                                                         |
| ----------------------- | ---------------------------------------------------------- |
| `hello`                 | 匹配 {hello}                                                 |
| `gray\|grey`            | 匹配 {gray, grey}                                            |
| `gr(a\|e)y`             | 匹配 {gray, grey}                                            |
| `gr[ae]y`               | 匹配 {gray, grey}                                            |
| `b[aeiou]bble`          | 匹配 {babble, bebble, bibble, bobble, bubble}                |
| `[b-chm-pP]at\|ot`      | 匹配 {bat, cat, hat, mat, nat, oat, pat, Pat, ot}            |
| `colou?r`               | 匹配 {color, colour}                                         |
| `rege(x(es)?\|xps?)`    | 匹配 {regex, regexes, regexp, regexps}                       |
| `go*gle`                | 匹配 {ggle, gogle, google, gooogle, goooogle, ...}           |
| `go+gle`                | 匹配 {gogle, google, gooogle, goooogle, ...}                 |
| `g(oog)+le`             | 匹配 {google, googoogle, googoogoogle, googoogoogoogle, ...} |
| `z{3}`                  | 匹配 {zzz}                                                   |
| `z{3,6}`                | 匹配 {zzz, zzzz, zzzzz, zzzzzz}                              |
| `z{3,}`                 | 匹配 {zzz, zzzz, zzzzz, ...}                                 |
| `[Bb]rainf\*\*k`        | 匹配 {Brainf**k, brainf**k}                                  |
| `\d`                    | 匹配 {0,1,2,3,4,5,6,7,8,9}                                   |
| `1\d{10}`               | 匹配 11 个数字，以 1 开头                                           |
| `[2-9]\|[12]\d\|3[0-6]` | 匹配 2 到 36 范围内的整数                                           |
| `Hello\nworld`          | 匹配 Hello 后跟换行符，后跟 world                                    |
| `\d+(\.\d\d)?`          | 包含一个正整数或包含两位小数位的浮点数。                                       |
| `[^*@#]`                | 排除 \*、@ 、# 三个特色符号                                          |
| `//[^\r\n]*[\r\n]`      | 匹配 **//** 开头的注释                                            |
| `^dog`                  | 匹配以 "dog" 开始                                               |
| `dog$`                  | 匹配以 "dog" 结尾                                               |
| `^dog$`                 | is exactly "dog"                                           |

#### 正则表达式在线测试工具

{% embed url="<https://tool.oschina.net/regex/>" %}

## 正则语法

来源：[正则语法](https://github.com/ACL4SSR/ACL4SSR/blob/master/Tool/%E6%AD%A3%E5%88%99%E8%AF%AD%E6%B3%95.conf)

|    语法   | 含义             |
| :-----: | -------------- |
|   `^`   | 匹配字符串的开始       |
|   `$`   | 匹配字符串的结束       |
|   `.`   | 匹配除换行符以外的任意字符  |
|   `\w`  | 匹配字母或数字或下划线或汉字 |
|   `\s`  | 匹配任意的空白符       |
|   `\d`  | 匹配数字           |
|   `\b`  | 匹配单词的开始或结束     |
|   `*`   | 重复零次或更多次       |
|   `+`   | 重复一次或更多次       |
|   `?`   | 重复零次或一次        |
|  `{n}`  | 重复n次           |
|  `{n,}` | 重复n次或更多次       |
| `{n,m}` | 重复n到m次         |

***

### 懒惰限定符

|     语法     | 含义                    |
| :--------: | --------------------- |
|    `*?`    | 重复任意次，但尽可能少重复         |
|    `+?`    | 重复1次或更多次，但尽可能少重复      |
|    `??`    | 重复0次或1次，但尽可能少重复       |
|  `{n,m}?`  | 重复n到m次，但尽可能少重复        |
|   `{n,}?`  | 重复n次以上，但尽可能少重复        |
|    `\W`    | 匹配任意不是字母，数字，下划线，汉字的字符 |
|    `\S`    | 匹配任意不是空白符的字符          |
|    `\D`    | 匹配任意非数字的字符            |
|    `\B`    | 匹配不是单词开头或结束的位置        |
|   `[^x]`   | 匹配除了x以外的任意字符          |
| `[^aeiou]` | 匹配除了aeiou这几个字母以外的任意字符 |

***

### 常用分组语法

#### **捕获**

|       语法       | 含义                                       |
| :------------: | ---------------------------------------- |
|     `(exp)`    | 匹配exp,并捕获文本到自动命名的组里                      |
| `(?<name>exp)` | 匹配exp,并捕获文本到名称为name的组里，也可以写成(?'name'exp) |
|    `(?:exp)`   | 匹配exp,不捕获匹配的文本，也不给此分组分配组号                |

#### **零宽断言**

|     语法     | 含义             |
| :--------: | -------------- |
|  `(?=exp)` | 匹配exp前面的位置     |
| `(?<=exp)` | 匹配exp后面的位置     |
|  `(?!exp)` | 匹配后面跟的不是exp的位置 |
| `(?<!exp)` | 匹配前面不是exp的位置   |

**注释**

**这种类型的分组不对正则表达式的处理产生任何影响，用于提供注释让人阅读**

`-` 不用`\-`

去掉\*的注释 `^(?!\s*\*/)\s*\*[^\r]*`

去掉//单行注释 `(?<!:)//.*` `(?<!http:)//.*` `//(?!www)[^\n]*`

去掉/\*\*/的注释 `/\*[^*]+\*/`

去掉所有//和#的注释 `(?<!:)(//|\#).*`

去掉空行 `\n`

格式调整去除前面的空格用： `^\s*`

匹配带有某个词的行 `.*keyword.*`

网址域名带有某个关键词的 `(^|\.)\w*keyword\w*\.\w*$`

简单的IP地址匹配 `(\d{1,3}\.){3}\d{1,3}`

***

### 其他

#### **校验数字的表达式**

| 含义              | 语法                                                                                                                            |
| --------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| 数字              | `^[0-9]*$`                                                                                                                    |
| n位的数字           | `^\d{n}$`                                                                                                                     |
| 至少n位的数字         | `^\d{n,}$`                                                                                                                    |
| m-n位的数字         | `^\d{m,n}$`                                                                                                                   |
| 零和非零开头的数字       | `^(0\|[1-9][0-9]*)$`                                                                                                          |
| 非零开头的最多带两位小数的数字 | `^([1-9][0-9]*)+(.[0-9]{1,2})?$`                                                                                              |
| 带1-2位小数的正数或负数   | `^(\-)?\d+(\.\d{1,2})?$`                                                                                                      |
| 正数、负数、和小数       | `^(\-\|\+)?\d+(\.\d+)?$`                                                                                                      |
| 有两位小数的正实数       | `^[0-9]+(.[0-9]{2})?$`                                                                                                        |
| 有1\~3位小数的正实数    | `^[0-9]+(.[0-9]{1,3})?$`                                                                                                      |
| 非零的正整数          | `^[1-9]\d*$` 或 `^([1-9][0-9]*){1,3}$` 或 `^\+?[1-9][0-9]*$`                                                                    |
| 非零的负整数          | `^\-[1-9][]0-9"*$` 或 `^-[1-9]\d*$`                                                                                            |
| 非负整数            | `^\d+$` 或 `^[1-9]\d*\|0$`                                                                                                     |
| 非正整数            | `^-[1-9]\d*\|0$` 或 `^((-\d+)\|(0+))$`                                                                                         |
| 非负浮点数           | `^\d+(\.\d+)?$` 或 `^[1-9]\d*\.\d*\|0\.\d*[1-9]\d*\|0?\.0+\|0$`                                                                |
| 非正浮点数           | `^((-\d+(\.\d+)?)\|(0+(\.0+)?))$` 或 `^(-([1-9]\d*\.\d*\|0\.\d*[1-9]\d*))\|0?\.0+\|0$`                                         |
| 正浮点数            | `^[1-9]\d*\.\d*\|0\.\d*[1-9]\d*$` 或 `^(([0-9]+\.[0-9]*[1-9][0-9]*)\|([0-9]*[1-9][0-9]*\.[0-9]+)\|([0-9]*[1-9][0-9]*))$`       |
| 负浮点数            | `^-([1-9]\d*\.\d*\|0\.\d*[1-9]\d*)$` 或 `^(-(([0-9]+\.[0-9]*[1-9][0-9]*)\|([0-9]*[1-9][0-9]*\.[0-9]+)\|([0-9]*[1-9][0-9]*)))$` |
| 浮点数             | `^(-?\d+)(\.\d+)?$` 或 `^-?([1-9]\d*\.\d*\|0\.\d*[1-9]\d*\|0?\.0+\|0)$`                                                        |

#### **校验字符的表达式**

| 含义                     | 语法                                                                 |
| ---------------------- | ------------------------------------------------------------------ |
| 汉字                     | `^[\u4e00-\u9fa5]{0,}$`                                            |
| 英文和数字                  | `^[A-Za-z0-9]+$` 或 `^[A-Za-z0-9]{4,40}$`                           |
| 长度为3-20的所有字符           | `^.{3,20}$`                                                        |
| 由26个英文字母组成的字符串         | `^[A-Za-z]+$`                                                      |
| 由26个大写英文字母组成的字符串       | `^[A-Z]+$`                                                         |
| 由26个小写英文字母组成的字符串       | `^[a-z]+$`                                                         |
| 由数字和26个英文字母组成的字符串      | `^[A-Za-z0-9]+$`                                                   |
| 由数字、26个英文字母或者下划线组成的字符串 | `^\w+$` 或 `^\w{3,20}$`                                             |
| 中文、英文、数字包括下划线          | `^[\u4E00-\u9FA5A-Za-z0-9_]+$`                                     |
| 中文、英文、数字但不包括下划线等符号     | `^[\u4E00-\u9FA5A-Za-z0-9]+$` 或 `^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$` |
| 可以输入含有^%&',;=?$"等字符    | `[^%&',;=?$\x22]+`                                                 |
| 禁止输入含有\~的字符            | `[^~\x22]+`                                                        |

### **特殊需求表达式**

**Email地址**

```
^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
```

**域名**

```
[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?
```

**InternetURL**

```
[a-zA-z]+://[^\s]* 或 ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$
```

**手机号码**

```
^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$
```

**电话号码("XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX)**

```
^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$
```

**国内电话号码(0511-4405222、021-87888822)**

```
\d{3}-\d{8}|\d{4}-\d{7}
```

**身份证号(15位、18位数字)**

```
^\d{15}|\d{18}$
```

**短身份证号码(数字、字母x结尾)**

```
^([0-9]){7,18}(x|X)?$ 或 ^\d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$
```

**帐号是否合法(字母开头，允许5-16字节，允许字母数字下划线)**

```
^[a-zA-Z][a-zA-Z0-9_]{4,15}$
```

**密码(以字母开头，长度在6\~18之间，只能包含字母、数字和下划线)**

```
^[a-zA-Z]\w{5,17}$
```

**强密码(必须包含大小写字母和数字的组合，不能使用特殊字符，长度在8-10之间)**

```
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$
```

**日期格式**

```
^\d{4}-\d{1,2}-\d{1,2}
```

**一年的12个月(01～09和1～12)**

```
^(0?[1-9]|1[0-2])$
```

**一个月的31天(01～09和1～31)**

```
^((0?[1-9])|((1|2)[0-9])|30|31)$
```

**钱的输入格式：**

1. 有四种钱的表示形式我们可以接受:"10000.00" 和 "10,000.00", 和没有 "分" 的 "10000" 和 "10,000"：`^[1-9][0-9]*$`
2. 这表示任意一个不以0开头的数字,但是,这也意味着一个字符"0"不通过,所以我们采用下面的形式：`^(0|[1-9][0-9]*)$`
3. 一个0或者一个不以0开头的数字.我们还可以允许开头有一个负号：`^(0|-?[1-9][0-9]*)$`
4. 这表示一个0或者一个可能为负的开头不为0的数字.让用户以0开头好了.把负号的也去掉,因为钱总不能是负的吧.下面我们要加的是说明可能的小数部分：`^[0-9]+(.[0-9]+)?$`
5. 必须说明的是,小数点后面至少应该有1位数,所以"10."是不通过的,但是 "10" 和 "10.2" 是通过的：`^[0-9]+(.[0-9]{2})?$`
6. 这样我们规定小数点后面必须有两位,如果你认为太苛刻了,可以这样：`^[0-9]+(.[0-9]{1,2})?$`
7. 这样就允许用户只写一位小数.下面我们该考虑数字中的逗号了,我们可以这样：`^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2})?$`
8. 1到3个数字,后面跟着任意个 逗号+3个数字,逗号成为可选,而不是必须：`^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$`

> 备注：这就是最终结果了,别忘了"+"可以用"\*"替代如果你觉得空字符串也可以接受的话(奇怪,为什么?)最后,别忘了在用函数时去掉去掉那个反斜杠,一般的错误都在这里

**xml文件**

```
^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$
```

**中文字符的正则表达式**

```
[\u4e00-\u9fa5]
```

**双字节字符(包括汉字在内，可以用来计算字符串的长度(一个双字节字符长度计2，ASCII字符计1))**

```
[^\x00-\xff] 
```

**空白行的正则表达式(可以用来删除空白行)**

```
\n\s*\r 
```

**HTML标记的正则表达式(网上流传的版本太糟糕，上面这个也仅仅能部分，对于复杂的嵌套标记依旧无能为力)**

```
<(\S*?)[^>]*>.*?</\1>|<.*? />
```

**首尾空白字符的正则表达式(可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等)，非常有用的表达式)**

```
^\s*|\s*$或(^\s*)|(\s*$) 
```

**腾讯QQ号(腾讯QQ号从10000开始)**

```
[1-9][0-9]{4,} 
```

**中国邮政编码 (中国邮政编码为6位数字)**

```
[1-9]\d{5}(?!\d)
```

**IP地址(提取IP地址时有用)**

```
\d+\.\d+\.\d+\.\d+ 
```

**IP地址：**

```
((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))
```

## 常用节点正则筛选表达式

**Author:** [***@iKeLee***](https://t.me/iKeLee)

#### ❤️ 简单正则说明

如下，匹配以“http”开头的整行字符串

```
^http.*$
```

如下匹配任意含http的整行

```
^.*http.*$
```

以上，^ 符号的意思为从行首第一个字符开始匹配；而 .\*$ 符号则表示匹配整行，不含双引号。

#### ❤️ 简单正则例子

**A或者B**

```
^.*(A|B)
```

**有A有B**

```
(A.*B|B.*A)
```

**不含A**

```
^(?!.*A)
```

**有A但不含B**

```
^(?!.*?B).*A
```

**A和B同时有**

```
(?=.*A)(?=.*B)
```

**包含A、B、C的同时排除A、B、C和D、E、F各自互相组合的情况**

```
^(?=.*A|B|C)(?!.*D|E|F).*$
```

#### ❤️ Netflix 专用地区节点

**Netflix 香港节点**

```
^(?=.*((?i)(\b(Netflix|NF|GPT)\b)|原生|家宽|解锁))(?=.*((?i)🇭🇰|香港|(\b(HK|Hong)\d{0,2}\b)))(?!.*((?i)回国|校园|游戏|🎮|(\b(GAME)\b))).*$
```

**Netflix 台湾节点**

```
^(?=.*((?i)(\b(Netflix|NF|GPT)\b)|原生|家宽|解锁))(?=.*((?i)🇹🇼|台湾|(\b(TW|Tai|Taiwan)\d{0,2}\b)))(?!.*((?i)回国|校园|游戏|🎮|(\b(GAME)\b))).*$
```

**Netflix 日本节点**

```
^(?=.*((?i)(\b(Netflix|NF|GPT)\b)|原生|家宽|解锁))(?=.*((?i)🇯🇵|日本|川日|东京|大阪|泉日|埼玉|(\b(JP|Japan)\d{0,2}\b)))(?!.*((?i)回国|校园|游戏|🎮|(\b(GAME)\b))).*$
```

**Netflix 韩国节点**

```
^(?=.*((?i)(\b(Netflix|NF|GPT)\b)|原生|家宽|解锁))(?=.*((?i)🇰🇷|韩国|韓|首尔|(\b(KR|Korea)\d{0,2}\b)))(?!.*((?i)回国|校园|游戏|🎮|(\b(GAME)\b))).*$
```

**Netflix 新加坡节点**

```
^(?=.*((?i)(\b(Netflix|NF|GPT)\b)|原生|家宽|解锁))(?=.*((?i)🇸🇬|新加坡|狮|(\b(SG|Singapore)\d{0,2}\b)))(?!.*((?i)回国|校园|游戏|🎮|(\b(GAME)\b))).*$
```

**Netflix 美国节点**

```
^(?=.*((?i)(\b(Netflix|NF|GPT)\b)|原生|家宽|解锁))(?=.*((?i)🇺🇸美国|波特兰|达拉斯|俄勒冈|凤凰城|费利蒙|硅谷|拉斯维加斯|洛杉矶|圣何塞|圣克拉拉|西雅图|芝加哥|(\b(US|United States)\d{0,2}\b)))(?!.*((?i)回国|校园|游戏|🎮|(\b(GAME)\b))).*$
```

#### ❤️ 地区节点

**游戏节点**

```
^(?=.*((?i)游戏|🎮|(\b(GAME)\d{0,2}\b)))(?!.*((?i)回国|校园)).*$
```

**回国节点**

```
^(?=.*(回国))(?!.*((?i)校园|游戏|🎮|(\b(GAME)\b))).*$
```

**全球节点**

```
^(?=.*(.*))(?!.*((?i)邀请|返利|循环|官网|客服|网站|网址|获取|订阅|流量|到期|机场|下次|版本|官址|备用|到期|过期|已用|联系|邮箱|工单|群|贩卖|通知|倒卖|防止|国内|🎮|(\b(GAME|USE|USED|TOTAL|EXPIRE|EMAIL|Panel)\d{0,2}\b|(\d{4}-\d{2}-\d{2}|\dG)))).*$
```

**不含港台日韩新美的节点**

```
^(?=.*(.*))(?!.*((?i)🇭🇰|🇹🇼|🇯🇵|🇰🇷|🇸🇬|🇺🇸|香港|台湾|日本|川日|东京|大阪|泉日|埼玉|韩国|韓|首尔|新加坡|狮|美国|波特兰|达拉斯|俄勒冈|凤凰城|费利蒙|硅谷|拉斯维加斯|洛杉矶|圣何塞|圣克拉拉|西雅图|芝加哥|邀请|返利|循环|官网|客服|网站|网址|获取|订阅|流量|到期|机场|下次|版本|官址|备用|到期|过期|已用|联系|邮箱|工单|群|贩卖|通知|倒卖|防止|国内|🎮|(\b(HK|Hong|TW|Tai|Taiwan|JP|Japan|KR|Korea|SG|Singapore|US|United States|GAME|USE|USED|TOTAL|EXPIRE|EMAIL|Panel)\d{0,2}\b|(\d{4}-\d{2}-\d{2}|\dG)))).*$
```

**香港节点**

```
^(?=.*((?i)🇭🇰|香港|(\b(HK|Hong)\d{0,2}\b)))(?!.*((?i)回国|校园|游戏|🎮|(\b(GAME)\b))).*$
```

**澳门节点**

```
^(?=.*((?i)🇲🇴|澳门|(\b(MO|Oman)\d{0,2}\b)))(?!.*((?i)回国|校园|游戏|🎮|(\b(GAME)\b))).*$
```

**台湾节点**

```
^(?=.*((?i)🇹🇼|台湾|(\b(TW|Tai|Taiwan)\d{0,2}\b)))(?!.*((?i)回国|校园|游戏|🎮|(\b(GAME)\b))).*$
```

**日本节点**

```
^(?=.*((?i)🇯🇵|日本|川日|东京|大阪|泉日|埼玉|(\b(JP|Japan)\d{0,2}\b)))(?!.*((?i)回国|校园|游戏|🎮|(\b(GAME)\b))).*$
```

**韩国节点**

```
^(?=.*((?i)🇰🇷|韩国|韓|首尔|(\b(KR|Korea)\d{0,2}\b)))(?!.*((?i)回国|校园|游戏|🎮|(\b(GAME)\b))).*$
```

**新加坡节点**

```
^(?=.*((?i)🇸🇬|新加坡|狮|(\b(SG|Singapore)\d{0,2}\b)))(?!.*((?i)回国|校园|游戏|🎮|(\b(GAME)\b))).*$
```

**美国节点**

```
^(?=.*((?i)🇺🇸|美国|波特兰|达拉斯|俄勒冈|凤凰城|费利蒙|硅谷|拉斯维加斯|洛杉矶|圣何塞|圣克拉拉|西雅图|芝加哥|(\b(US|United States)\d{0,2}\b)))(?!.*((?i)回国|校园|游戏|🎮|(\b(GAME)\b))).*$
```

**加拿大节点**

```
^(?=.*((?i)🇨🇦|加拿大|(\b(CA|Canada)\b)))(?!.*((?i)回国|校园|游戏|🎮|(\b(GAME)\b))).*$
```

**俄罗斯节点**

```
^(?=.*((?i)🇷🇺|俄罗斯|莫斯科|新西伯利亚|(\b(Новосиби́рская|Moscow|RU|Russia)\b)))(?!.*((?i)回国|校园|游戏|🎮|(\b(GAME)\b))).*$
```

**英国节点**

```
^(?=.*((?i)🇬🇧|英国|伦敦|(\b(UK|United Kingdom)\d{0,2}\b)))(?!.*((?i)回国|校园|游戏|🎮|(\b(GAME)\b))).*$
```

**印度节点**

```
^(?=.*((?i)🇮🇳|印度|班加罗尔|孟买|(\b(Mumbai|IN|India)\d{0,2}\b)))(?!.*((?i)回国|校园|游戏|🎮|(\b(GAME)\b))).*$
```

**阿根廷节点**

```
^(?=.*((?i)🇦🇷|阿根廷|(\b(AR|Argentinaia)\d{0,2}\b)))(?!.*((?i)回国|校园|游戏|🎮|(\b(GAME)\b))).*$
```

**土耳其节点**

```
^(?=.*((?i)🇹🇷|土耳其|(\b(TR|TUR|Turkey)\d{0,2}\b)))(?!.*((?i)回国|校园|游戏|🎮|(\b(GAME)\b))).*$
```

**德国节点**

```
^(?=.*((?i)🇩🇪|德国|(\b(DE|Germany)\d{0,2}\b)))(?!.*((?i)回国|校园|游戏|🎮|(\b(GAME)\b))).*$
```

**荷兰节点**

```
^(?=.*((?i)🇳🇱|荷兰|(\b(NL|Holland|Netherlands)\d{0,2}\b)))(?!.*((?i)回国|校园|游戏|🎮|(\b(GAME)\b))).*$
```

**澳大利亚节点**

```
^(?=.*((?i)🇦🇺|澳大利亚|(\b(AU|Australia)\d{0,2}\b)))(?!.*((?i)回国|校园|游戏|🎮|(\b(GAME)\b))).*$
```

**南非节点**

```
^(?=.*((?i)🇿🇦|南非|(\b(ZA|South Africa)\d{0,2}\b)))(?!.*((?i)回国|校园|游戏|🎮|(\b(GAME)\b))).*$
```

####


# GitHub相关

## 获取RAW地址

在群组里面或者网络上寻找一些QX相关资源时候，经常需要用到GitHub，里面拥有大量收集整理好的规则分流、脚本等资源，对于一些新手，别人在群组里面给出一个GitHub相关链接时候，如何分辨这个链接是直接可以使用还是需要点击进去自己查找的可以说是相当重要的一个环节

QX等代理软件在添加远程资源(分流规则/重写/脚本)时，需要使用RAW格式的地址。以下方的链接举例(这是个网页，不是真正能使用的资源链接)：`https://github.com/blackmatrix7/ios_rule_script/`<mark style="color:red;">`blob`</mark>`/master/rule/QuantumultX/12306/12306.list`

\
例如在末尾添加`?raw=ture`⁠：`https://github.com/blackmatrix7/ios_rule_script/blob/master/rule/QuantumultX/12306/12306.list?raw=ture`

或者直接点击`raw`或者`view`⁠使用跳转后的链接：`https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/QuantumultX/12306/12306.list`&#x20;

\
或者将链接里的`blob`⁠修改为`raw`

`https://github.com/blackmatrix7/ios_rule_script/raw/master/rule/QuantumultX/12306/12306.list`

* PC网页获取方法：

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FKqLaPxAmiUg3ShoKP6BA%2FAFAE89F9-8A5B-4E89-9EC6-84DF022A9FB8.jpg?alt=media&amp;token=6775d1a2-7b9a-4d61-bd0c-14a82b65e2e7" alt=""><figcaption></figcaption></figure>

* 手机版网页获取方法：

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FdJnWNAwDdLN4H97X5GSt%2F6C0C57B4-1D31-4CBF-A9E2-9C0E84D735F0.png?alt=media&amp;token=0d8f66bf-0048-430a-8d14-0d3086484b85" alt=""><figcaption></figcaption></figure>

* [blackmatrix7](https://github.com/blackmatrix7/ios_rule_script/tree/master/rule)的分流规则通常会直接贴出raw格式地址，找到具体的项目，下方就raw格式的链接

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FrsahyXAlo1cFIhGNuvvG%2F158EB9A1-268C-460B-BE60-7BC810351B2C.jpg?alt=media&amp;token=594aeb03-13fc-4ffb-93fa-83406980ea61" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
使用blackmatrix7的规则和重写时候，请仔细阅读下方的使用方法。
{% endhint %}


# 推荐资源

### <mark style="color:red;">常用脚本仓库         顺序不分排名</mark>

<mark style="color:purple;">`DivineEngine`</mark>` `   [<mark style="color:red;">`https://github.com/DivineEngine/Profiles/tree/master`</mark>](https://github.com/DivineEngine/Profiles/tree/master)

<mark style="color:purple;">`Box.json 订阅`</mark>    [<mark style="color:red;">`https://docs.boxjs.app/`</mark>](https://docs.boxjs.app/)

<mark style="color:purple;">`blackmatrix7`</mark>` `   [<mark style="color:red;">`https://github.com/blackmatrix7/ios_rule_script`</mark>](https://github.com/blackmatrix7/ios_rule_script)&#x20;

<mark style="color:purple;">`xream`</mark>`    `       [<mark style="color:red;">`https://github.com/xream`</mark>](https://github.com/xream)

<mark style="color:purple;">`NobyDa`</mark>`  `        [<mark style="color:red;">`https://github.com/NobyDa`</mark>](https://github.com/NobyDa)

<mark style="color:purple;">`ChuheGit`</mark>        [<mark style="color:red;">`https://github.com/ChuheGit/1/blob/main/README.md`</mark>](https://github.com/ChuheGit/1/blob/main/README.md)            &#x20;

<mark style="color:purple;">`VirgilClyne`</mark>     [<mark style="color:red;">`https://github.com/VirgilClyne`</mark>](https://github.com/VirgilClyne)

<mark style="color:purple;">`lhie1`</mark>` `          [<mark style="color:red;">`https://github.com/lhie1`</mark>](https://github.com/lhie1)              &#x20;

<mark style="color:purple;">`chavyleung`</mark>` `     [<mark style="color:red;">`https://github.com/chavyleung`</mark>](https://github.com/chavyleung)

<mark style="color:purple;">`GideonSenku`</mark>     [<mark style="color:red;">`https://github.com/GideonSenku`</mark>](https://github.com/GideonSenku)

<mark style="color:purple;">`yichahucha`</mark>` `     [<mark style="color:red;">`https://github.com/yichahucha`</mark>](https://github.com/yichahucha)

<mark style="color:purple;">`Choler`</mark>`   `       [<mark style="color:red;">`https://github.com/Choler`</mark>](https://github.com/Choler)

<mark style="color:purple;">`chouchoui`</mark>       [<mark style="color:red;">`https://github.com/chouchoui/QuanX`</mark>](https://github.com/chouchoui/QuanX)

<mark style="color:purple;">`Meeta`</mark>`  `         [<mark style="color:red;">`https://github.com/MeetaGit`</mark>](https://github.com/MeetaGit)

<mark style="color:purple;">`Neurogram-R`</mark>` `    [<mark style="color:red;">`https://github.com/Neurogram-R`</mark>](https://github.com/Neurogram-R)

<mark style="color:purple;">`Sunert`</mark>` `         [<mark style="color:red;">`https://github.com/Sunert/Script/tree/master`</mark>](https://github.com/Sunert/Script/tree/master)

<mark style="color:purple;">`zZPiglet`</mark>` `       [<mark style="color:red;">`https://github.com/zZPiglet/Task/tree/master`</mark>](https://github.com/zZPiglet/Task/tree/master)

<mark style="color:purple;">`songyangzz`</mark>` `     [<mark style="color:red;">`https://github.com/songyangzz/QuantumultX`</mark>](https://github.com/songyangzz/QuantumultX)

<mark style="color:purple;">`Peng-YM`</mark>`   `      [<mark style="color:red;">`https://github.com/Peng-YM/QuanX`</mark>](https://github.com/Peng-YM/QuanX)

<mark style="color:purple;">`KOP-XIAO`</mark>`  `      [<mark style="color:red;">`https://github.com/KOP-XIAO/QuantumultX`</mark>](https://github.com/KOP-XIAO/QuantumultX)

<mark style="color:purple;">`lowking`</mark>` `        [<mark style="color:red;">`https://github.com/lowking/Scripts`</mark>](https://github.com/lowking/Scripts)

<mark style="color:purple;">`evilbutcher`</mark>     [<mark style="color:red;">`https://github.com/evilbutcher/Quantumult_X/tree/master`</mark>](https://github.com/evilbutcher/Quantumult_X/tree/master)

<mark style="color:purple;">`vinewx`</mark>`  `        [<mark style="color:red;">`https://ooxx.be/js/`</mark>](https://ooxx.be/js/)

<mark style="color:purple;">`toulanboy`</mark>` `      [<mark style="color:red;">`https://github.com/toulanboy/scripts`</mark>](https://github.com/toulanboy/scripts)

<mark style="color:purple;">`id77`</mark>`    `        [<mark style="color:red;">`https://github.com/id77/QuantumultX/tree/master`</mark>](https://github.com/id77/QuantumultX/tree/master)

<mark style="color:purple;">`barrym-chen`</mark>     [<mark style="color:red;">`https://github.com/barrym-chen/Script`</mark>](https://github.com/barrym-chen/Script)

<mark style="color:purple;">`iisams`</mark>` `         [<mark style="color:red;">`https://github.com/iisams/Scripts`</mark>](https://github.com/iisams/Scripts)

<mark style="color:purple;">`iepngs`</mark>`  `        [<mark style="color:red;">`https://github.com/iepngs/Script`</mark>](https://github.com/iepngs/Script)            &#x20;

<mark style="color:purple;">`ACTCD`</mark>`  `         [<mark style="color:red;">`https://github.com/ACTCD/Userscripts`</mark>](https://github.com/ACTCD/Userscripts)

<mark style="color:purple;">`mieqq`</mark>`    `       [<mark style="color:red;">`https://github.com/mieqq/mieqq`</mark>](https://github.com/mieqq/mieqq)

<mark style="color:purple;">`am-R-E`</mark>`   `       [<mark style="color:red;">`https://github.com/I-am-R-E`</mark>](https://github.com/I-am-R-E)

<mark style="color:purple;">`photonmang`</mark>` `     [<mark style="color:red;">`https://github.com/photonmang/quantumultX`</mark>](https://github.com/photonmang/quantumultX)

<mark style="color:purple;">`dompling-2Y`</mark>` `    [<mark style="color:red;">`https://github.com/dompling?tab=repositories`</mark>](https://github.com/dompling?tab=repositories)

<mark style="color:purple;">`app2smile`</mark>`  `     [<mark style="color:red;">`https://github.com/app2smile/rules`</mark>](https://github.com/app2smile/rules) &#x20;

<mark style="color:purple;">`anker1209`</mark>` `      [<mark style="color:red;">`https://github.com/anker1209/Scriptable`</mark>](https://github.com/anker1209/Scriptable)

<mark style="color:purple;">`Honye`</mark>`    `       [<mark style="color:red;">`https://github.com/Honye/Honye.github.io`</mark>](https://github.com/Honye/Honye.github.io)         &#x20;

<mark style="color:purple;">`ZhiYi-N`</mark>`  `       [<mark style="color:red;">`https://github.com/Ariszy/script`</mark>](https://github.com/Ariszy/script)

<mark style="color:purple;">`yjqiang`</mark>`   `      [<mark style="color:red;">`https://github.com/yjqiang/surge_scripts/tree/main`</mark>](https://github.com/yjqiang/surge_scripts/tree/main)            &#x20;

<mark style="color:purple;">`Hausd0rff`</mark>`  `     [<mark style="color:red;">`https://github.com/yqc007/QuantumultX`</mark>](https://github.com/yqc007/QuantumultX)

<mark style="color:purple;">`hackl0us`</mark>`  `      [<mark style="color:red;">`https://github.com/hackl0us`</mark>](https://github.com/hackl0us) &#x20;

<mark style="color:purple;">`onewayticket255`</mark> [<mark style="color:red;">`https://github.com/onewayticket255`</mark>](https://github.com/onewayticket255)

<mark style="color:purple;">`langkhach270389`</mark> [<mark style="color:red;">`https://github.com/langkhach270389`</mark>](https://github.com/langkhach270389)&#x20;


# 如何正确的反馈问题

在使用QX（或者其它App）过程中，难免会遇到一些问题，可能是一些功能不会用，可能是添加了一个规则分流发现不起作用，可能是添加了一个脚本没有正确运行，到群组里面进行反馈的时候，如果反馈方式正确，会很容易得到帮助，如果采用了一些错误的反馈方式，可能会得到一些冷嘲热讽，不仅没得到帮助，还影响心情，轻则发生争吵，重则导致被踢出群组，那么，该如何正确有效的去反馈遇到的问题呢？

## 提问的艺术

没错，提问也是一项艺术，可以参考[提问的艺术](https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/main/README-zh_CN.md)一文，学习如何正确的提问

或者参考下图：

<figure><img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FbQ04oevD4PGhhDT1pgSM%2Fphoto_2023-07-04-02.08.56.jpeg?alt=media&amp;token=7179e0c7-40cb-41de-b254-c051a87467d8" alt=""><figcaption></figcaption></figure>

或者如同资源解析器作者Shawn写的反馈说明：

## 反馈说明

反馈时，请提供有效信息

### A、何为<mark style="color:red;">`有效信息`</mark>？\*\*

1、清楚表明 bug 的结果、来源。比如：

`1、`<mark style="color:red;">`我原始链接为V2RayN类型，类型为 ws+tls，解析后 path(uri) 参数丢失`</mark>

`2、`<mark style="color:red;">`我节点名为 "香港-美高"，使用emoji=1 参数后，变成了 🇺🇸 旗帜而不是 🇭🇰`</mark>

2、如果自己找不到原因，请直接提供<mark style="color:red;">**`资源链接、资源内容`**</mark>

### B、何为不知所谓？

1、光秃秃一个截图

<details>

<summary>只有一个截图</summary>

<img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FeBC3E1wITZXhcOiKXTmx%2FUntitled-5.png?alt=media&amp;token=5648b2bf-477a-433b-9d63-4ef8e79a3e7c" alt="" data-size="original">

<img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FGI9JeOxIIafADgV0TK8t%2FUntitled-6.png?alt=media&amp;token=ab71c0ff-ea9b-47eb-9e2d-ed1643c0d82e" alt="" data-size="original">

</details>

2、光秃秃一个毫不相干的链接

<details>

<summary>只有一个不相干的链接</summary>

<img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2F9xW3F9B4q4uwnPzbpWYc%2FUntitled-7.png?alt=media&amp;token=e3e83456-6ca4-4182-bc1a-b6d322acd07f" alt="" data-size="original">

<img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FXsRuJw5OiKmtq6WjjFS7%2Fimage-3.png?alt=media&amp;token=8949885f-c927-422c-8532-ca01370a0fc1" alt="" data-size="original">

<img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FF2y2LppMJ9aeOzq4fGdZ%2Fimage-4.png?alt=media&amp;token=8b5b6671-07e8-4543-8459-cdc76d49c8df" alt="" data-size="original">

</details>

3、文字猜谜佬

<details>

<summary>不能清晰描述自己问题</summary>

<img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2F6Ro9pGnyYXXsjBgJB65X%2FUntitled-8.png?alt=media&amp;token=bb0625c5-91e3-4288-96b3-e571ad4a9918" alt="" data-size="original">

<img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FG7Qg1iit1KQUuGa3784N%2FUntitled-9.png?alt=media&amp;token=728965c2-93a9-4baa-9233-c4a6520ed3e3" alt="" data-size="original">

<img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FdfYythcP8ESlGZe4PxJA%2FUntitled-10.png?alt=media&amp;token=fbb88404-01c9-439b-98a4-f41cbd911ed6" alt="" data-size="original">

或者这样的

<img src="https://2561386001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEWhRirZZwQJairpE2Z5%2Fuploads%2FiiP8njW1pFYdnNMBoZnn%2FUntitled-11.png?alt=media&amp;token=eab06dfd-b108-4092-ab2c-4ace26b63f61" alt="" data-size="original">

</details>


