AirLane
返回博客
产品Releasemesh

AirLane 1.0:从流量代理,到网络编排

我们为什么要从零重做一个客户端:策略树、决策追踪、Mesh 组网与共享资源池。AirLane 1.0 从流量代理走向网络编排。

AirLane 1.0:从流量代理,到网络编排

我们为什么要从零重做一个客户端:策略树、决策追踪、出口池、Mesh 组网与共享资源池。AirLane 1.0 从流量代理走向网络编排。

我们为什么要从零重做一个客户端:策略树、决策追踪、Mesh 组网与共享资源池

多年来,代理客户端解决的是一个非常直接的问题:

"这条流量应该走哪个节点?"

于是我们有了 Proxy、Proxy Group、Rule、Rule Provider,加上一个配置文件。

这个模型曾经非常优秀。

但随着网络越来越复杂——几十个节点、多种协议、多台设备、家庭网络、办公网络、Mesh、共享 VPS、动态故障转移——我们逐渐意识到:

"代理客户端"这个抽象本身已经不够了。

AirLane 1.0 要解决的,不再只是"代理流量"。

我们想做的是:

让用户定义网络意图,让 AirLane 把意图编排成可执行的网络路径。

这就是 AirLane 1.0 的核心:

从流量代理,到网络编排。


1. 为什么还需要一个新客户端?

今天的代理客户端已经非常成熟。

你导入一个订阅:

🇩🇪 德国
🇳🇱 荷兰
🇺🇸 美国
🇸🇬 新加坡
🇯🇵 日本

然后创建几个策略组:

Proxy
Google
Netflix
AI
China

然后配置规则:

DOMAIN-SUFFIX,google.com,Google
DOMAIN-SUFFIX,openai.com,AI
GEOIP,CN,DIRECT
MATCH,Proxy

对普通用户来说,这足够了。

但随着配置规模增长,问题开始出现。

比如:

ChatGPT
   ↓
为什么走了德国?

Google
   ↓
为什么走了美国?

某个网站
   ↓
它到底命中了哪条规则?

这个节点
   ↓
为什么选了它?

这个策略组
   ↓
为什么没选延迟最低的节点?

这个节点
   ↓
昨天还能用——为什么今天被排除了?

传统客户端通常只能告诉你:

当前连接使用德国。

但它们很难回答:

为什么?

对于一个真正的网络系统,"为什么"往往比"是什么"更重要。


2. 从"规则"到"决策"

AirLane 重新定义了流量处理模型。

传统模型是这样的:

流量
   ↓
规则
   ↓
代理组
   ↓
代理

AirLane 把它拆成更清晰的决策链:

流量
   ↓
流量分类器
   ↓
流量行为
   ↓
流量策略
   ↓
出口 / 出口池
   ↓
NodeFlow
   ↓
sing-box

最重要的部分:

每一层只负责一件事。

流量分类器

回答:

这是什么类型的流量?

比如:

AI
Google
社交
流媒体
游戏
国内
GFW
私有
广告
追踪器

它不决定流量应该去哪里。

流量行为

回答:

我们应该怎么处理它?

比如:

路由
直连
阻断
拒绝
DNS

行为不绑定到任何具体节点。

流量策略

回答:

这条流量应该通过哪条网络路径出去?

比如:

AI
→ 路由
→ 美国出口池
→ 延迟感知

或:

国内
→ 直连

或:

其他
→ 路由
→ 欧洲池
→ 故障转移

出口选择只发生在策略层。

整个系统第一次真正成为一个"决策系统",而不是一张规则列表。


3. 策略树:让复杂网络变得可理解

AirLane 1.0 的一个核心概念是策略树。

一个真实的网络策略可以表达为:

                         所有流量
                              │
             ┌────────────────┼────────────────┐
             │                │                │
             AI             国内             私有
             │                │                │
           路由              直连              直连
             │
       ┌─────┴─────┐
       │           │
     OpenAI      其他 AI
       │           │
     美国池       全球池
       │
   ┌───┼────┐
   │   │    │
 US-1 US-2 US-3

与传统配置文件最大的区别:

它描述的是决策关系,不是配置语法。

用户真正关心的是:

AI 流量 → 美国 国内流量 → 直连 其他国际流量 → 欧洲 节点故障 → 自动故障转移

而不是:

DOMAIN-SUFFIX,...

配置文件应该是系统的执行结果,而不是用户必须理解的产品模型。


4. 最重要的新能力:决策追踪

当策略系统变复杂后,最难的问题变成了:

"为什么?"

所以 AirLane 1.0 不只是规则匹配。

我们希望每一个网络决策都可追溯。

比如,当用户访问:

https://chatgpt.com

AirLane 可以告诉你:

决策追踪

目标
chatgpt.com:443

        ↓

分类器
AI

        ↓

行为
路由

        ↓

策略
AI Global

        ↓

目标
美国出口池

        ↓

选择策略
延迟感知

        ↓

候选
US-01     82 ms    健康
US-02     94 ms    健康
US-03    210 ms    降级

        ↓

选中
US-01

        ↓

出口
VLESS / US-01

用户不再需要猜测。

系统告诉他们:

我为什么这样做。


5. 网络真正需要的不是"节点",而是出口

在传统客户端里,我们把一切都叫:

代理 / 节点。

但实际上:

VLESS
VMess
Trojan
Shadowsocks
Hysteria2
WireGuard

这些是不同的传输方式。

对于策略系统来说,它们最终解决的是同一个问题:

一个可以承载流量的网络出口。

所以 AirLane 使用统一的核心抽象:

出口(Exit)

一个出口可以来自:

手动添加
订阅
Clash 导入
自建
AirLane 共享资源
Mesh

它可以使用:

VLESS
Shadowsocks
Hysteria2
WireGuard
...

这样,上层策略永远不需要关心:

"这个节点是 VLESS 还是 Shadowsocks?"

它们只需要知道:

这个出口能否提供我需要的网络能力?


6. 出口池:从"节点列表"到"资源池"

有了出口,我们再往上抽象一层:

出口池

比如:

美国池
├── US-01
├── US-02
├── US-03
└── US-04

或:

欧洲池
├── 德国
├── 荷兰
├── 法国
└── 芬兰

但出口池本身不决定选哪一个。

这是一个非常重要的设计。

池只是:

一组资源。

实际的选择发生在策略里:

AI 策略
→ 美国池
→ 延迟感知

或:

视频策略
→ 亚洲池
→ 健康感知

因此:

出口池
= 有哪些资源可用?

策略
= 应该怎么选?

这两个概念被明确分开了。


7. 健康:节点不是简单的在线 / 离线

传统客户端通常把节点状态简化为:

🟢 在线
🔴 离线

但真实网络远比这复杂。

一个节点可能是:

TCP       ✓
TLS       ✓
VLESS     ✓
延迟      42 ms
HTTPS     ✓
IPv6      ✗
UDP       ✓
Mux       ✗

它显然不是离线。

它更准确的状态是:

降级

所以 AirLane 的出口健康不应该只是一个 ping。

我们评估多个维度:

可达性
延迟
可靠性
传输质量
吞吐量
服务能力

结果是:

出口健康

96 / 100
健康

更重要的是:

健康分数和选择策略是两个不同的概念。

健康回答:

这个节点本身有多好?

选择回答:

这次该选哪个节点?

这为未来更复杂的调度策略留出了空间。


8. 从单机客户端到 Mesh

如果 AirLane 只是 PC 上的一个代理客户端,那它仍然只是一个客户端。

但我们认为网络的未来不应该用:

"一台电脑"

来衡量。

而应该是:

"一组设备"

比如:

                    AirLane Mesh
                         │
        ┌────────────────┼────────────────┐
        │                │                │
      笔记本            手机             路由器
        │                │                │
      Windows          Android         OpenWrt
        │                │                │
        └────────────────┼────────────────┘
                         │
                    出口资源

这意味着:

  • 一台设备可以发现另一台
  • 多台设备共享网络能力
  • 一个节点可以成为另一台设备的出口
  • 策略可以跨设备同步
  • 网络资源可以集中管理

所以:

AirLane 不再只是一个 VPN 客户端。

它开始成为一个:

个人网络架构


9. 共享资源池:节点也可以成为网络资源

这是 AirLane 更长期的方向。

今天我们买一台 VPS:

VPS
↓
自己用

但如果那台 VPS 可以成为一个标准化的:

出口资源

那它就可以进入资源池。

比如:

我的资源

欧洲池
├── 阿姆斯特丹
├── 法兰克福
└── 赫尔辛基

亚洲池
├── 东京
├── 新加坡
└── 首尔

未来甚至可以有:

AirLane 共享资源池

不同用户可以贡献或购买网络资源。

架构上:

出口
   ↓
出口池
   ↓
策略
   ↓
网络

这已经和传统的"买订阅、导入节点"模型完全不同了。

它更接近于:

一个网络资源市场 + 一个网络编排平台。


10. 为什么 sing-box 仍然是基础?

AirLane 不试图重新实现每一个网络协议。

网络数据面是一个高度专业的领域。

所以我们选择了成熟的 sing-box 作为底层执行引擎。

AirLane 负责:

策略
分类器
行为
出口
出口池
健康
决策
Mesh
资源

sing-box 负责:

TUN
入站
出站
DNS
传输
VLESS
Shadowsocks
Hysteria2
WireGuard
路由运行时

中间通过:

NodeFlow IR

连接

                 AirLane
                    │
              NodeFlow IR
                    │
                编译器
                    │
                 sing-box
                    │
             网络数据面

这意味着 AirLane 永远不需要向用户暴露 sing-box 的配置结构。

用户看到的是:

网络意图。

底层看到的是:

可执行的配置。


11. 兼容 Clash,但不再受限于 Clash 模型

这不意味着 AirLane 与 Clash 生态割裂。

恰恰相反。

Clash/Mihomo 生态积累了大量优秀资产:

  • 节点订阅
  • 规则提供者
  • GeoSite
  • GeoIP
  • ACL4SSR
  • BlackMatrix7
  • 各种社区规则集

这些都是有价值的网络数据资产。

AirLane 的做法不是:

"重新发明每一条规则。"

而是:

Clash / Mihomo
       ↓
     解析器
       ↓
   NodeFlow IR
       ↓
AirLane 策略模型
       ↓
 sing-box 编译器

换句话说:

兼容生态,但不继承旧的产品抽象。

这是 AirLane 和传统 Clash GUI 最大的区别之一。


12. AirLane 1.0 真正想解决什么?

我们不认为:

"今天的代理客户端不好。"

恰恰相反。

过去的客户端把:

代理流量

这件事做得非常好。

但网络在不断演进。

今天一个用户可能拥有:

笔记本
手机
平板
家用路由器
VPS
云服务器

同时使用:

VLESS
Shadowsocks
Hysteria2
WireGuard

同时需要:

AI
流媒体
游戏
工作
国内
隐私

还想要:

自动选择
自动故障转移
健康检查
跨设备同步
Mesh
资源共享

这已经不是一个简单的:

代理 + 规则

能完全表达的问题了。


13. 所以 AirLane 1.0 的核心不是"更多功能"

我们不想做:

一个有 200 个设置项的 Clash GUI。

我们想做的是降低网络系统的认知复杂度。

让用户描述:

AI → 美国
国内 → 直连
视频 → 最佳亚洲
其他 → 欧洲

而不是让用户维护:

几十条规则
十几个代理组
几百个提供者
庞大的 YAML 文件

最终:

用户意图
      ↓
AirLane 策略引擎
      ↓
决策
      ↓
NodeFlow
      ↓
sing-box
      ↓
网络

14. 从代理客户端到网络编排器

所以 AirLane 1.0 的变化不是:

一个不同的 UI。

也不是:

又一个 Clash GUI。

真正的变化是抽象层变了。

以前:

代理
规则
代理组
配置

现在:

流量
分类器
行为
策略
出口
出口池
健康
决策
Mesh
资源

用户过去要问:

"我该用哪个节点?"

现在系统回答:

"根据你的网络策略、流量类型、节点健康和当前环境,这是我这次应该为你选择的路径——以及为什么。"

这就是:

AirLane 1.0——从流量代理,到网络编排。

代理只是数据面。

真正值得编排的是整个网络。