开始使用
mayami 既做透明代理,也做代理服务器。它接替不再维护的 Go 版 Mayami,项目原名 sokubaku,之后曾使用 mayami-rs,现行名称是 mayami。
三种接法和网段
| 接法 | 流量从哪里来 | 适合什么 |
|---|---|---|
| Segment | mayami 创建 TAP,容器或虚拟机把 TAP 当作网卡 | 一台虚拟机或一个隔离网络,不碰宿主机现有网卡 |
| Router | capture 在现有 LAN/WAN 上挂 tc/eBPF | 路由器或旁路由,接管局域网客人和路由器本机的流量 |
| Host | TUN 加自动路由,接管本机流量 | 在单台 Linux 主机上使用 |
| networks | mayami 或外部运行时管理的网桥 | 给 Docker、Podman、LXC、Incus、libvirt/KVM 客人提供网桥、DHCP、RA、DNS、租户和 flowtable |
networks 可以和 Router 组合:网桥上客人的代理流仍由 capture 判定,直连流可交给内核和 flowtable。
平台边界
- 完整功能面向 Linux:包括
capture、eBPF、flowtable、Linux 的 BoringSSL TLS 后端,以及 AnyTLS、Mirage、Imina、naive 等依赖 Linux TLS 的部分。 - macOS 可构建核心和主程序回归测试;非 Linux 上
capture不可用,带 TLS 的部分能力会明确拒绝,而不是悄悄退成明文。 - 只开发用户态时可设置
AYA_BUILD_SKIP=1,但这样构建出的程序不能使用capture。
第一份配置
mayami init 默认写 mayami.yaml,也可以选择 router、segment 或 network 模板:
sh
mayami init router
mayami check -c mayami.yaml
mayami run -c mayami.yaml没有子命令时,mayami 默认执行 run:
sh
mayami -c mayami.yaml配置严格校验,未知字段会报错。模板里的服务器、密钥和网口名仍然是占位值,运行前要逐项填写。
下一步
- 安装:Debian、OpenWrt、VyOS,以及容器/虚拟机接法
- 编译:工具链、eBPF、musl、cronet TLS 和打包
- 运行:配置查找、日志、信号、重载和数据目录
- 命令行:全部子命令与参数
- 迁移:从 Go 版 Mayami、旧名称和 sing-box/mihomo 配置迁移