1. 项目与代理基础#


Link1 解决什么问题#

当一台设备访问网络时,操作系统会产生很多连接:浏览网页、聊天软件同步消息、系统更新、DNS 查询、局域网设备访问内网服务等。Link1 的作用是接管这些连接,并按你的配置决定:

Link1 由两层组成:

层次面向谁负责什么
Link1 App普通用户导入配置、切换节点、查看连接、查看日志、测试规则、展示 HTTP 捕获
Link1 内核数据面接收连接、解析 DNS、匹配规则、拨号出站协议、转发数据

你不需要一开始理解所有协议,只需要先掌握四个词:入站、DNS、规则、出站。

你的应用/设备
  -> 入站:流量怎么进入 Link1
  -> DNS:域名怎么变成 IP,或者 IP 怎么还原成域名
  -> 规则:这条连接应该走哪个出口
  -> 出站:Link1 用什么协议真正连出去

什么是入站#

入站是 Link1 接收连接的入口。不同入口适合不同使用场景:

入站方式适合场景用户感知
mixed-port电脑上手动设置系统代理或浏览器代理你在系统代理里填 127.0.0.1:7890
port只需要 HTTP 代理客户端只发 HTTP proxy 请求
socks-port只需要 SOCKS5 代理客户端只发 SOCKS5 请求
redir-portLinux 路由器透明代理 TCP设备不用设置代理,由路由器转发
tproxy-portLinux 路由器透明代理 TCP/UDP比 REDIRECT 更适合保留原始目标和 UDP
tun桌面端、移动端、路由器全局接管系统把流量送入虚拟网卡
app-proxy桌面端应用透明代理平台捕获应用流量,规则仍由 Link1 core 决定
listenersLink1 自己作为协议服务端其他客户端使用 VLESS/Hysteria2 连入 Link1

第一次使用建议先从 mixed-port 开始,因为它最容易理解和验证;等你确认代理链路正常,再尝试 TUN 或路由器透明代理。

什么是 DNS#

DNS 负责把域名变成 IP,例如把 www.example.com 解析成 93.184.216.34。代理内核里的 DNS 不只是“查域名”:它还影响路由规则是否能命中。

例如:

rules:
  - DOMAIN-SUFFIX,openai.com,PROXY
  - IP-CIDR,10.0.0.0/8,DIRECT

如果 Link1 看到的是域名 chat.openai.com,第一条能命中;如果 Link1 只看到一个 IP,就可能需要 DNS 映射、Fake-IP 或 Sniffer 才能还原出域名。

DNS 配置决定三个问题:

  1. Link1 是否自己处理 DNS 查询。
  1. 域名规则能不能在透明代理/TUN 场景下命中。
  1. 国内外域名是否可以使用不同 DNS 上游,避免解析结果不准确。

什么是出站协议#

出站协议是 Link1 连出去的方式。常见类型:

类型例子你可以怎么理解
普通代理httpsocks5把连接转发给另一个代理服务器
加密代理ssvmessvlesstrojanhysteria2tuic用特定协议和远端服务器通信
L3 隧道/VPNwireguardmasquetailscaleopenvpnwarp像加入另一张虚拟网络
企业 VPNatrustfeilianeasyconnect把企业远程访问系统作为出口
特殊出口directrejectdns直连、拒绝或交给 DNS resolver

出站节点写在 proxies,订阅或动态节点写在 proxy-providers。普通用户最常接触的是节点名称、协议类型、服务器地址、端口、密码/密钥、TLS/UDP 开关。

什么是规则和策略组#

规则决定一条连接走哪里。策略组把多个出口放在一起,让用户或 Link1 自动选择其中一个。

proxy-groups:
  - name: PROXY
    type: select
    proxies:
      - node-a
      - node-b
      - DIRECT

rules:
  - DOMAIN-SUFFIX,google.com,PROXY
  - MATCH,DIRECT

上面含义是:

策略组不是协议。selecturl-testfallbackload-balance 描述的是“怎么选节点”,真正连接远端的是组里面的出站协议。

什么是 Link1 App 管理能力#

Link1 不把面向用户的管理能力设计成让普通用户手写请求,而是通过 App 提供:

因此,用户手册不会要求你调用内核管理接口。你只需要理解 App 页面上的信息来自数据流中的哪一层,这样排障时才知道下一步该看什么。

什么是 HTTP Engine#

HTTP Engine 是高级功能,用于 HTTP/HTTPS 调试和改写。它能做:

普通代理用户不需要一开始打开 HTTP Engine。它更适合调试 Web 请求、兼容闭源客户端、临时修补请求/响应格式。开启 HTTPS MITM 前,必须理解证书信任风险:只有你明确需要观察或改写的域名才应该加入 MITM 列表。

初学者最容易混淆的点#

代理端口不等于服务端端口#

mixed-port: 7890 是你本机让浏览器连接 Link1 的端口;它不是远端代理服务器的端口。

mixed-port: 7890       # 本机入口
proxies:
  - server: example.com
    port: 443          # 远端节点端口

DNS 命中会影响规则命中#

如果你写了域名规则,却让系统 DNS 绕过 Link1,透明代理场景下 Link1 可能只看到 IP。此时需要使用 Link1 DNS、Fake-IP、TUN DNS hijack 或 Sniffer。

策略组不是协议#

selecturl-testfallback 是选择策略,不是网络协议。真正连出去的是组里面的节点。

DIRECT 不代表不经过 Link1#

连接仍然先进入 Link1,只是 Link1 最终选择直接连接目标服务器。你仍然能在 App 中看到连接、规则和出站结果。

App 里的“节点不可用”不一定是密码错#

节点不可用可能来自 DNS、网络阻断、服务器不可达、TLS 指纹不匹配、UDP 不通、订阅字段写错、前置 dialer-proxy 不通等原因。排障时应按“入站 → 目标识别 → 规则 → 策略组 → 出站协议”的顺序检查。