一、Quantumult X 配置文件的基本结构

Quantumult X 是一个高性能的代理服务器工具,广泛应用于网络流量管理、负载均衡、访问控制等场景,通过配置文件(通常为 JSON 格式),用户可以详细地定义代理服务器的行为和规则,以下是 Quantumult X 配置文件的使用方法指南。

Quantumult X 的配置文件通常包含以下几个主要部分:

  1. listener(监听器)
  2. filter(过滤器)
  3. route(路由规则)
  4. etc(额外设置,包括 SSL、限流等)

以下是配置文件的示例模板:

{
  "listener": {
    "listen": "...:808",
    "backlog": 1024,
    "timeout": 120,
    "queue": {
      "max_idle": 10000,
      "max_workers": 100
    }
  },
  "filter": {
    "chain": [
      {
        "name": "access",
        "match": {
          "source": ".../",
          "method": ["GET", "POST"]
        },
        "action": "allow"
      }
    ]
  },
  "route": {
    "uri": "/api",
    "dest": "http://backend.example.com:800",
    "match": {
      "method": ["GET"]
    }
  },
  "etc": {
    "max_connections": 100,
    "keepalive": 100,
    "ssl": {
      "enabled": true,
      "cert_file": "/etc/ssl/cert.pem",
      "key_file": "/etc/ssl/private.key"
    }
  }
}

配置文件的使用方法

  1. 安装 Quantumult X

    • 根据 Quantumult X 的官方文档安装软件。
    • 使用以下命令安装(假设你是在 Debian/Ubuntu 系统上):
      sudo apt-get install quantumult-x
  2. 生成默认配置文件

    • Quantumult X 会生成一个默认的配置文件,通常位于 /etc/quantult-x/quantult.json
    • 你可以使用 quantult-x -t 命令查看默认配置。
  3. 编辑配置文件

    • 打开配置文件进行编辑,使用文本编辑器(如 vimnano)。
    • 确保编辑器有足够的权限,
      sudo nano /etc/quantult-x/quantult.json
  4. 保存并应用配置

    • 修改完配置后,保存文件并重启 Quantumult X 服务:
      sudo systemctl restart quantumult-x

配置文件的详细说明

listener 部分

  • listen:定义代理服务器监听的地址和端口。
    • 示例:"...:808"(绑定所有 IP,端口 808)。
    • 如果你希望监听指定 IP 和端口,可以写成:"192.168.1.1:808"
  • backlog:设置代理服务器的队列大小。
    • 示例:"backlog": 1024
  • timeout:设置代理服务器的请求超时时间,单位为秒。
    • 示例:"timeout": 120
  • queue:设置异步处理的队列配置。
    • max_idle:队列中 idle 状态的最大时间(单位:毫秒)。
      • 示例:"max_idle": 10000
    • max_workers:设置异步处理的最大工作者数量。
      • 示例:"max_workers": 100

filter 部分

  • chain:定义过滤器链。
    • 每个过滤器是一个对象,包含 name(过滤器名称)、match(匹配规则)和 action(操作)。
  • match:定义匹配规则。
    • 支持 IP、域名、路径、方法 等。
    • 示例:
      "match": {
        "source": "192.168.1.1/24",
        "method": ["GET", "POST"]
      }
  • action:定义过滤动作。
    • 示例:"action": "allow"(允许)、"action": "deny"(拒绝)。

route 部分

  • uri:定义路由规则的路径。
    • 示例:"/api"
  • dest:定义请求的最终目的地(可以是域名、IP 或 URL)。
    • 示例:"http://backend.example.com:800"
  • match:定义路由匹配规则。
    • 示例:
      "match": {
        "method": ["GET"]
      }
  • action:定义路由动作。
    • 示例:"action": "forward"(转发)。

etc 部分

  • max_connections:设置代理服务器的最大连接数。
    • 示例:"max_connections": 100
  • keepalive:设置代理服务器的 Keepalive 超时时间,单位为秒。
    • 示例:"keepalive": 100
  • ssl:定义 SSL 配置。
    • enabled:是否启用 SSL(证书加密)。
      • 示例:"enabled": true
    • cert_file:SSL 证书文件路径。
      • 示例:"cert_file": "/etc/ssl/cert.pem"
    • key_file:SSL 秘密钥文件路径。
      • 示例:"key_file": "/etc/ssl/private.key"

常见配置示例

简单的反向代理配置

{
  "listener": {
    "listen": "...:808",
    "backlog": 1024,
    "timeout": 120
  },
  "filter": {
    "chain": [
      {
        "name": "access",
        "match": {
          "source": ".../",
          "method": ["GET", "POST"]
        },
        "action": "allow"
      }
    ]
  },
  "route": {
    "uri": "/api",
    "dest": "http://backend.example.com:800",
    "match": {
      "method": ["GET"]
    }
  }
}

负载均衡配置

{
  "listener": {
    "listen": "...:80",
    "backlog": 1024,
    "timeout": 120
  },
  "route": {
    "uri": "/",
    "dest": "http://backend1.example.com:80,backend2.example.com:80,backend3.example.com:80",
    "match": {
      "method": ["GET"]
    }
  }
}

访问控制配置

{
  "filter": {
    "chain": [
      {
        "name": "geo",
        "match": {
          "source": "192.168.1./24"
        },
        "action": "allow"
      },
      {
        "name": "deny_all",
        "match": {
          "source": ".../"
        },
        "action": "deny"
      }
    ]
  }
}

注意事项

  1. 配置文件语法

    • 确保配置文件的语法正确,避免 JSON 格式错误。
    • 可以使用 quantult-x -t 命令验证配置文件的语法。
  2. 权限问题

    • 代理服务器配置文件通常需要 root 权限。
    • 确保编辑器有足够的权限修改配置文件。
  3. 高级配置

    如果需要更高级的功能(如限流、SSL、重写规则等),可以参考 Quantumult X 的官方文档。

一、Quantumult X 配置文件的基本结构

扫码添加AstrillVPN官网微信

扫码添加AstrillVPN官网微信

029-8826-4715
扫码添加AstrillVPN官网微信

扫码添加AstrillVPN官网微信

网站地图