For the complete documentation index, see llms.txt. This page is also available as Markdown.

Mihomo

Mihomo 是 Clash 系列的衍生版本,已收录于 FreeBSD Ports 树中(net/mihomo)。本节给出安装与基本配置步骤。

安装 Mihomo

使用 pkg 安装:

# pkg install mihomo

或者使用 Ports 安装:

# cd /usr/ports/net/mihomo/
# make install clean

Mihomo 文件结构

Mihomo 的文件结构如下:

/usr/
├── ports/
   └── net/
       └── mihomo/ # Mihomo Ports 目录
├── local/
   ├── bin/
      └── mihomo # Mihomo 可执行文件
   └── etc/
       └── rc.d/
           └── mihomo # Mihomo RC 服务脚本
└── etc/
    └── rc.conf # 系统服务配置文件

Mihomo 也可通过 FreeBSD 的 Linux 二进制兼容层运行 Linux 版本,但建议优先使用原生 FreeBSD 版本(net/mihomo),兼容层仅作为备选方案。

RC 脚本

已向 Ports 维护者提交了合并请求(Bug 291295 - net/mihomo: Add rc.conf and some Post-installation),旨在为 Mihomo 添加系统服务管理支持,截至撰稿时尚未获得回应。官方集成完成前,可使用下文提供的自定义 RC 脚本实现服务化管理。

自定义 RC 脚本

为便于管理 Mihomo 服务,可使用以下脚本。将以下脚本保存为 mihomo,存放至 /usr/local/etc/rc.d/,随后使用 root 账户赋予可执行权限:chmod +x /usr/local/etc/rc.d/mihomo

可用参数及选项

RC 脚本提供了多个命令行参数和配置选项,以下列举常用参数。这些命令会直接将配置写入 /etc/rc.conf 文件,如果配置有误,可直接修改对应行。

  • 启用 Mihomo 服务并设置开机自启动:

  • 启动 Mihomo 服务进程:

  • 停止 Mihomo 服务进程:

  • 查看 Mihomo 服务运行状态:

  • 指定订阅链接地址(示例地址仅作演示用途,需替换为有效链接):

  • GeoIP 数据根据 IP 地址的地理归属实现流量分流或规则匹配:

  • 指定 Mihomo 的额外参数:

  • -m:启用 geodata 模式,使 Mihomo 使用 geoip.dat 和 geosite.dat 文件(DAT 格式)匹配规则,而非默认的 MMDB 格式(Country.mmdb)。

  • 指定运行 Mihomo 服务的用户身份:

  • 指定 Mihomo 的数据目录:

相关文件结构:

  • 初始化 Mihomo 的数据目录,准备服务运行环境:

  • 更新订阅配置。执行 start 前先行更新,确保配置文件为最新版本:

  • 更新 GeoIP 地理位置数据库:

最小 RC 示例

以下为最简配置示例,可在理解其含义后按需修改并写入 /etc/rc.conf 文件:

未竟事宜

以下为待研究的问题:

  • 如何实现“直连”“代理”“全局”三种模式的分流?

  • 如何实现 TUN 虚拟网卡代理?TUN 模式可实现更底层的网络流量拦截。

  • 如何根据订阅链接测试节点速度?

  • 如何指定订阅链接中代理组的特定节点(例如仅使用位于美国的某个代理节点)?这涉及代理节点的精细化选择。

Clash for FreeBSD

环境准备

FreeBSD 的默认登录 Shell 是 sh 而非 bash,执行以下命令前必须先切换至 bash

建议使用 root 权限账号。

说明:

  • 当前脚本通过 bash 执行。

  • freebsd-rc 后端依赖 service/usr/local/etc/rc.d

安装与初始化

首次配置:

FreeBSD 服务管理(rc.d)

系统安装默认使用 freebsd-rc 后端,服务名:clash_freebsd

管理内核服务开机自启动:

说明:

  • clashctl autostart on 仅控制 rc.d 服务是否随系统启动。

  • serviceautostart 命令需要 root 权限(请使用 root 或 sudo)。

  • FreeBSD 自启动配置文件:/etc/rc.conf.d/clash_freebsd

Tun 与路由诊断(FreeBSD)

Tun 设备通常为 /dev/tun*

Tun 未生效时优先检查:

  • tun on/off 需要 root 权限

  • ls -l /dev/tun*

  • 当前用户权限(建议 root)

  • 默认路由是否已接管到 tun 接口

常用排障命令

卸载

彻底清理运行时数据:

参考文献

  • wenyinos. 一个更完整、更优雅的 FreeBSD Clash / Mihomo 运行平台[EB/OL]. [2026-04-26]. https://github.com/wenyinos/clash-freebsd. 提供了 FreeBSD 下 Clash 代理的完整部署方案,支持订阅链接管理。

未竟事宜

与 Bash 解耦,支持默认 sh,更好适配 FreeBSD 默认环境。

最后更新于