Skip to content
Joseph Mory edited this page Jul 27, 2025 · 26 revisions

Nikki

🖥️界面预览

插件配置
配置文件
混入配置
代理配置
编辑器
日志

⚙️界面介绍

插件配置

状态

此节用于展示插件的状态,还包括功能按钮。

插件配置

  • 启用: 是否启用插件。
  • 选择配置文件:选择要使用的配置文件,可选择文件或订阅。
  • 启动延迟:开机后首次启动插件前的延迟,单位为秒,空或0代表不延迟。
  • 定时重启&Cron 表达式:定时重启服务,将重新启动核心。
  • 检查配置文件:是否在启动核心前检查配置文件。
  • 快速重载:是否启用快速重载(说明)。
  • 仅核心:是否仅运行核心,启用时将禁用混入和代理,仅启动核心。

核心环境变量配置

  • 禁用安全路径检查:启用后代理集/规则集的路径可以配置到非运行目录下。
  • 禁用回环检测:启用后将不再检测和拒绝回环连接。
  • 禁用 quic-go 的通用分段卸载:如字面含义
  • 禁用 quic-go 的显式拥塞通告:如字面含义
  • 跳过系统 IPv6 检查:如字面含义

配置文件

配置文件

用于上传/下载/删除配置文件。

订阅

用于配置/管理/查看订阅

  • 订阅名称:订阅的名称,不可重复。
  • 订阅链接:订阅的链接地址。
  • 用户代理(UA):下载订阅时使用的用户代理(UA),可手动填写。
  • 优先:优先使用远程/本地,用于控制启动时是否重新下载订阅;选择远程时,每次都会下载;选择本地时,除非本地文件不存在,否则将不会下载,每次都使用本地文件。
  • 更新:手动更新订阅。
  • 已使用/总量/到期时间:订阅信息,由远端提供。
  • 更新时间:上次更新订阅的时间。

订阅说明

  1. 本地文件是指从订阅链接下载后缓存到本地的文件,不是指上传的配置文件。
  2. 更新按钮仅更新本地文件,不会自动重载/重启,如果需要重载/重启,请手动点击重载/重启服务按钮。
  3. 如果订阅下载失败,将尝试使用本地文件,如果本地文件不存在,则启动失败。
  4. 订阅下载成功后会校验是否是正确的yaml格式,且必须包含proxiesproxy-providers,如果校验失败则不会保存。
  5. 当下载失败或校验失败时,会尝试使用本地文件,如果本地文件不存在,则无法启动。

混入配置

混入选项

  • 用于配置混入选项,详见Mihomo Wiki
  • 其中加星项为插件运行的必要配置,其余的可以设置为空(下拉框选择不修改,输入框清空),设置为空的选项将不混入。
  • 追加的规则将插入到最前面

代理配置

此标签用于配置插件的代理行为。

代理配置

  • 启用:是否启用代理。
  • TCP/UDP 代理模式:设置 TCP/UDP 代理模式,TCP 可选 Redirect/TPROXY/TUN,UDP 可选 TPROXY/TUN。
  • IPv4/IPv6 DNS 劫持:是否启用 IPv4/IPv6 DNS 劫持。
  • IPv4/IPv6 代理:是否启用 IPv4/IPv6 代理。
  • Fake-IP Ping 劫持:是否启用 Fake-IP Ping 劫持。

路由器代理

  • 启用:是否启用路由器代理,启用后,路由器本身的流量将被代理。
  • 访问控制:依据路由器流量的用户/用户组/控制组进行访问控制。

局域网代理

  • 启用:是否启用局域网代理,启用后,来自局域网的流量将被代理。
  • 入站接口:用于配置局域网入站接口。
  • 访问控制:依据局域网流量的IP/IP6/MAC进行访问控制。

访问控制

  • 启用:是否启用规则。
  • DNS:是否劫持匹配规则的 DNS 请求。
  • 代理:是否代理匹配规则的流量。
  • 其它:用于匹配流量。

访问控制说明

  1. 同一行内不同的列之间取
  2. 流量未匹配到任何规则时,将不被代理。
  3. 访问控制未添加任何规则时,任何流量都将不被代理。

绕过

  • 绕过中国大陆 IP:是否绕过中国大陆 IP。
  • 要代理的 TCP/UDP 目标端口:只代理目标端口在选中/填写的值范围内的流量。
  • 绕过 DSCP:绕过指定 DSCP 的流量。

编辑器

  • 可编辑上传的配置文件/订阅的本地文件/用于混入的文件/用于启动的配置文件。
  • 可编辑 IPv4/IPv6 保留地址。
  • 保存按钮将仅保存文件内容。
  • 保存并应用按钮将保存文件内容并重载服务。
  • 强制应用按钮将保存文件内容并重启服务。

日志

  • 查看插件/核心的日志。
  • 清空插件/核心的日志。
  • 生成并下载调试日志。

⚠️注意事项

关于快速重载的说明

  1. 修改插件配置会触发插件的重载,此时如果你的修改导致配置文件内容变化(包括但不限于切换配置文件、修改混入选项)则需重载/重启核心的,如开启快速重载,将通知核心重载配置,无需重启核心,如关闭快速重载,将会重启核心。
  2. 如果修改的插件配置包含快速重载开关,将按照旧的值来触发上述逻辑。

关于追加规则的说明

  1. 初衷是为了追加临时的规则或补充订阅的规则,如需追加较多的规则,推荐自行编写文件,使用proxy-provider将加载订阅的节点。
  2. 你也可以通过混入文件来追加,使用nikki-rules而非rules作为键,注意此时需关闭追加规则

关于DNS劫持的说明

  1. 仅劫持IPv4或IPv6的DNS请求时,部分机器由于DNS查询策略,同时查询双栈DNS,如果没有被劫持的DNS先响应,会导致DNS污染/分流错误的的情况发生。因此,即使仅代理IPv4或IPv6流量时,也建议开启双栈DNS劫持,除非你能确保上述情况不会发生(例如完全禁用了IPv6,此时仅开启IPv4 DNS劫持不会出现上述问题)。
  2. 请自行关闭网络 -> DHCP/DNS -> DNS 重定向这一选项,否则会导致DNS污染/分流错误的的情况发生。(如无此项请忽略)。

关于IPv6代理的说明

如果开启IPv6代理,需要打开混入选项 -> 全局配置 -> IPv6,并建议同时打开混入选项 -> DNS 配置 -> IPv6

关于路由器代理 -> 访问控制 -> 控制组的说明

  1. 默认情况下,系统会使用cgroupv2procd会创建和管理各个init.d服务(需声明USE_PROCD且使用procd的api启动)的控制组。
  2. 但当用户的固件编译时启用了dockerdDOCKER_CGROUP_OPTIONS选项,系统将使用cgroupv1,此时procd中与cgroupv2相关的功能会失效,从而导致绕过资源控制组功能失效。
  3. 可以通过重新挂载cgroupv2(需挂载到/sys/fs/cgroup)或卸载cgroupfs-mount来恢复此功能,但docker可能会受影响。
  4. 如情况允许,推荐将docker迁移到其它机器,或者用podman来代替。

关于核心日志的说明

目前暂未实现定时/按大小清理核心日志的功能,建议启用定时重启或者设置更高的核心日志级别以确保核心日志不会过大。