# mayami > 每个包都先问它 透明代理与代理服务器,为 Linux 内核转发、eBPF 捕获和容器/虚拟机网关而写。 ## Machine-readable schema - [mayami JSON Schema](/schema/mayami.json): 编辑器补全与校验用的 draft 2020-12 JSON Schema ## Table of Contents ### 开始使用 - [开始使用](/getting-started.md): mayami 的接法、平台边界和第一份配置 - [安装](/getting-started/install.md): 在 Debian、OpenWrt、VyOS 安装,并接入容器或虚拟机 - [编译](/getting-started/build.md): 从源码构建 mayami、eBPF、TLS 后端和安装包 - [运行](/getting-started/run.md): 查找配置、设置数据目录、运行、重载和停止 mayami - [命令行](/getting-started/cli.md): mayami 全部子命令、参数与退出状态 - [迁移](/getting-started/migrating.md): 从 Go 版 Mayami、旧名称、sing-box 和 mihomo 迁移 ### 配置参考 - [配置总览](/configuration.md): mayami 配置的结构、值语法和术语 - [log](/configuration/log.md): 日志级别、时间戳和输出位置 - [mode](/configuration/mode.md): mayami 启动时采用的规则模式 - [gateway](/configuration/gateway.md): 网关连接缓冲和总内存预算 - [api](/configuration/api.md): Clash 兼容控制 API、TLS、CORS、面板和 DoH - [cache_file](/configuration/cache-file.md): cache.db、持久选择、FakeIP 和 DNS 缓存 - [ntp](/configuration/ntp.md): NTP 服务器、信任本机时钟和查询间隔 - [http_clients](/configuration/http-client.md): 规则集和 provider 下载经过的出站、TLS 和请求头 - [providers](/configuration/provider.md): 从文件、URL 或内联 payload 读取代理 provider - [docker](/configuration/docker.md): Docker remote IPAM 插件开关 - [musubi](/configuration/musubi.md): 用 TUN 或 TAP 把多台 mayami 组成 L3/L2 网 #### 入站 - [入站总览](/configuration/inbound.md): 入站公共字段、类型和限制 - [tap](/configuration/inbound/tap.md): mayami 自建 TAP,接管一台虚拟机或一个隔离段 - [tun](/configuration/inbound/tun.md): 创建 TUN,用路由策略接管 Linux 本机流量 - [capture](/configuration/inbound/capture.md): 用 tc/eBPF 接管现有 LAN/WAN,并配置 flowtable、XDP 和 fail 模式 - [dns](/configuration/inbound/dns.md): 在入站地址上回答 DNS 查询 - [shadowsocks](/configuration/inbound/shadowsocks.md): Shadowsocks TCP/UDP 服务端入站 - [socks](/configuration/inbound/socks.md): SOCKS4、SOCKS4a 和 SOCKS5 服务端入站 - [http](/configuration/inbound/http.md): HTTP CONNECT 与普通请求转发入站 - [mixed](/configuration/inbound/mixed.md): 同一端口识别 SOCKS 与 HTTP - [anytls](/configuration/inbound/anytls.md): AnyTLS 多路复用服务端入站 - [kasumi](/configuration/inbound/kasumi.md): Kasumi Noise 通道服务端入站 - [kyoukai](/configuration/inbound/kyoukai.md): Kyoukai 多路复用服务端入站 - [mirage](/configuration/inbound/mirage.md): 基于 REALITY 或 Kotodama 的 Mirage 服务端入站 - [imina](/configuration/inbound/imina.md): HTTP/2/HTTP/3 上的 Imina 服务端入站 - [naive](/configuration/inbound/naive.md): naive HTTP/2 over TLS 服务端入站 - [direct](/configuration/inbound/direct.md): 把每一条进入的 TCP 连接固定转发到一个目标 #### 出站 - [出站总览](/configuration/outbound.md): 出站公共字段、类型,以及代理共享的拨号、UDP、会话池和分组选项 - [direct](/configuration/outbound/direct.md): 由本机网络栈直接连接目标 - [naive](/configuration/outbound/naive.md): 通过 naive HTTP/2 over TLS 服务器出站 - [shadowsocks](/configuration/outbound/shadowsocks.md): 通过 Shadowsocks 服务器出站 - [socks](/configuration/outbound/socks.md): 通过 SOCKS4/SOCKS5 服务器出站 - [http](/configuration/outbound/http.md): 通过 HTTP CONNECT 代理出站 - [anytls](/configuration/outbound/anytls.md): 通过 AnyTLS 服务器出站 - [kasumi](/configuration/outbound/kasumi.md): 通过 Kasumi 服务器出站 - [kyoukai](/configuration/outbound/kyoukai.md): 通过 Kyoukai 多路复用代理出站 - [mirage](/configuration/outbound/mirage.md): 通过 REALITY 或 Kotodama 认证的 Mirage 服务器出站 - [imina](/configuration/outbound/imina.md): 通过 HTTP/2 或 HTTP/3 POST 的 Imina 服务器出站 - [selector](/configuration/outbound/selector.md): 手动选择成员的出站分组 - [fallback](/configuration/outbound/fallback.md): 按成员顺序故障切换的出站分组 - [urltest](/configuration/outbound/urltest.md): 按探测延迟选择成员的出站分组 - [loadbalance](/configuration/outbound/loadbalance.md): 按站点、轮次或会话策略分摊流的出站分组 - [chain](/configuration/outbound/chain.md): 让后一跳经前一跳连接的多跳链 #### 共享配置块 - [共享配置块](/configuration/shared.md): 多个入站、出站或 TLS 使用者共享的配置块 - [listen](/configuration/shared/listen.md): 监听 socket、接口、keepalive、PROXY 协议和入站承载选项 - [dial](/configuration/shared/dial.md): 出站和直接拨号共用的接口、标记、地址与连接选项 - [TLS 客户端](/configuration/shared/tls-client.md): 出站、DNS 和下载共用的 TLS 客户端引擎、信任、证书和伪装字段 - [TLS 服务端](/configuration/shared/tls-server.md): 入站和 API 终止 TLS 的证书、ACME、REALITY 与 Kotodama - [transport](/configuration/shared/transport.md): ws、httpupgrade、grpc、http 四种 V2Ray stream transport - [fallback](/configuration/shared/fallback.md): 把未认证或未命中的连接交给另一个真实站点 - [udp](/configuration/shared/udp.md): 代理出站的 UDP 承载选择 - [users](/configuration/shared/users.md): 代理入站的命名凭据表 - [分享链接](/configuration/shared/link.md): 出站和 provider 使用的分享链接 URI #### 路由 - [路由](/configuration/route.md): 路由规则、兜底出站和邻居/DNS/下载默认值 - [路由规则](/configuration/route/rule.md): 路由与 DNS 共用的规则匹配字段 - [路由规则动作](/configuration/route/rule-action.md): 路由规则的路由、拒绝、DNS 接管、嗅探、解析和选项动作 - [协议探测](/configuration/route/sniff.md): 读取流首字节并补全协议和域名事实 - [rule_set](/configuration/route/rule-set.md): 从文件、URL、内联文本或内联规则构造命名规则集 #### DNS - [DNS](/configuration/dns.md): DNS 上游、规则、缓存、bootstrap 和默认查询选项 - [DNS 规则](/configuration/dns/rule.md): DNS 查询与响应匹配,以及 DNS 动作字段 - [DNS 规则动作](/configuration/dns/rule-action.md): 询问、评估、返回、合并选项、拒绝和预定义 DNS 响应 - [FakeIP](/configuration/dns/fakeip.md): FakeIP 地址池、反查映射和持久化边界 ##### 服务器 - [DNS 服务器](/configuration/dns/server.md): DNS 上游类型及地址、出站、域名解析和 TLS 公共字段 - [UDP](/configuration/dns/server/udp.md): 通过 UDP 询问 DNS 上游 - [TCP](/configuration/dns/server/tcp.md): 通过 TCP 询问 DNS 上游 - [TLS](/configuration/dns/server/tls.md): 通过 DNS over TLS 询问上游 - [HTTPS](/configuration/dns/server/https.md): 通过 DNS over HTTPS 询问上游 - [QUIC](/configuration/dns/server/quic.md): 通过 DNS over QUIC 询问上游 - [HTTP/3](/configuration/dns/server/h3.md): 通过 DNS over HTTP/3 询问上游 - [Local](/configuration/dns/server/local.md): 使用本机 resolv.conf 列出的 DNS - [DHCP](/configuration/dns/server/dhcp.md): 使用 DHCP 下发的 DNS 服务器 - [FakeIP](/configuration/dns/server/fakeip.md): 从指定地址池分配 FakeIP - [hosts](/configuration/dns/server/hosts.md): 从静态 hosts 表回答 A/AAAA - [leases](/configuration/dns/server/leases.md): 使用运行时网络租约和邻居表回答名字 #### 网段 - [网段总览](/configuration/networks.md): mayami 自建或接管的网桥、地址、租户、成员和服务 - [DHCP](/configuration/networks/dhcp.md): 网段 IPv4 DHCP 地址池、租期和固定预留 - [IPv6](/configuration/networks/ipv6.md): 网段 IPv6 RA 与有状态 DHCPv6 模式 - [租户](/configuration/networks/tenant.md): 用 VRF、独立路由表和 conntrack zone 隔离一组网段 - [成员](/configuration/networks/members.md): 把整口或 VLAN trunk 子口接入网段桥 - [external](/configuration/networks/external.md): 为其他运行时拥有的网桥提供地址核对与 DHCP、RA、DNS ### 手册 - [手册](/manual.md): mayami 的场景手册 - [Router:接管现有路由器网络](/manual/router.md): 用 capture 接管现有 LAN/WAN,并选择直连、代理和内核快路径 - [Segment:一段自己的网络](/manual/segment.md): 用 TAP 给一台虚拟机、容器或隔离段提供网关 - [Host:接管本机流量](/manual/host.md): 用 TUN 和策略路由接管 Linux 本机流量 - [networks:容器和虚拟机网关](/manual/networks.md): 用 mayami 管理的网桥连接容器、虚拟机和租户 - [容器与虚拟机运行时](/manual/runtimes.md): Docker、Podman、LXC、Incus 与 libvirt 如何接入 mayami 网段 - [XDP:驱动层加速](/manual/xdp.md): XDP/AF_XDP 在驱动层加速代理流,以及失败时的 tc 回退 - [DNS:名字、假地址与来源策略](/manual/dns.md): DNS 规则、FakeIP、劫持和按网段/租户选择回答来源 - [规则:一条连接的一生](/manual/rules.md): 一条流如何经过匹配、动作、嗅探、解析、直连或代理 - [providers 与组](/manual/providers-groups.md): 用 provider 管理订阅,并用 selector、fallback、urltest、loadbalance 组织出口 - [链式代理](/manual/chaining.md): 用 detour 或 chain 让后一跳经前一跳连接 - [TLS:一个块,不同能力的组合](/manual/tls.md): TLS 客户端、服务端、ACME、REALITY、Kotodama 与指纹边界 - [代理协议怎么选](/manual/protocols.md): 在 Shadowsocks、naive、AnyTLS、Kasumi、Kyoukai、Mirage、Imina 之间选择 - [Musubi:多台 mayami 组网](/manual/musubi.md): 用 TUN/TAP 把所有端设备组成 L3/L2 网络 - [控制面板](/manual/dashboard.md): 打开 Clash 兼容控制 API、面板和运行中管理入口 - [持久化](/manual/persistence.md): cache.db 会保留什么、什么时候确认写入以及如何恢复 - [已知边界](/manual/limits.md): Linux、内核、协议、平台和已知行为边界 ### Other - [Untitled](/index.md)