Skip to content
Mark Glants edited this page Jan 5, 2026 · 1 revision

Nikki

🖥️ Interface Preview

Plugin Configuration
Configuration Files
Mixin Configuration
Proxy Configuration
Editor
Logs

⚙️ Interface Overview

Plugin Configuration

Status

This section displays the plugin status and provides action buttons.

Plugin Settings

  • Enable: Enable or disable the plugin.
  • Select Configuration File: Choose the configuration file to use (local file or subscription).
  • Startup Delay: Delay before the plugin starts after boot (in seconds). Empty or 0 means start immediately.
  • Scheduled Restart & Cron Expression: Restart the service on a schedule, which will restart the core.
  • Check Configuration File: Validate the configuration file before starting the core.
  • Core Only: Run only the core. When enabled, mixin and proxy features are disabled.

procd Configuration

Global Settings
Resource Limit Settings
  • Address Space / Heap / Stack Soft & Hard Limits: Memory limits for different memory types.
  • Open File Descriptor Soft & Hard Limits: Adjust if you see Too many open files errors in core logs.
Environment Variable Settings
  • Safe Path: Add paths for files used outside the working directory (/etc/nikki/run).
  • Disable Loopback Detection: Disable detection and rejection of loopback connections.
  • Disable quic-go Generic Segmentation Offload: As described.
  • Disable quic-go Explicit Congestion Notification: As described.
  • Skip System IPv6 Check: As described.

Configuration Files

Configuration Files

Upload, download, or delete configuration files.

Subscriptions

Configure, manage, and view subscriptions.

  • Subscription Name: Must be unique.
  • Subscription Info URL: URL for fetching subscription information.
  • Subscription URL: URL of the subscription.
  • User Agent (UA): User agent used when downloading the subscription.
  • Priority: Prefer remote or local.
    • Remote: Always download on startup.
    • Local: Use local file if present.
  • Update: Manually update the subscription.
  • Used / Total / Expiry: Subscription details provided by the server.
  • Last Updated: Last update time.

Subscription Notes

  1. Local files refer to cached files downloaded from subscriptions, not manually uploaded files.
  2. The update button only updates the local file and does not reload or restart the service.
  3. Downloaded subscriptions are validated as YAML and must contain proxies or proxy-providers.
  4. If download fails, the local file is used; if it does not exist, startup fails.
  5. Subscription info is fetched from the info URL first, otherwise from the subscription URL.

Plugin ↔ Configuration Interaction

Feature Module Config Key
Redirect redir-port
TPROXY tproxy-port
TUN tun enable / device
DNS Hijacking dns enable / listen
Fake-IP Ping Hijack dns fake-ip-range
  • The plugin reads these configuration values to generate firewall rules.
  • UI features depend on clash_api. Without it, panel features are unavailable.

Mixin Configuration

Mixin Options

  • Configure mixin options; see the Mihomo Wiki.
  • Options can be left empty (select “Do not modify” or clear input).
  • Appended proxy nodes and rules are inserted at the top.

Proxy Configuration

Configure the plugin’s proxy behavior.

Proxy Settings

  • Enable: Enable proxy.
  • IPv4 / IPv6 DNS Hijacking
  • IPv4 / IPv6 Proxy
  • Fake-IP Ping Hijacking
  • TCP / UDP Proxy Mode
    • TCP: Redirect / TPROXY / TUN
    • UDP: TPROXY / TUN

Router Proxy

  • Enable: Proxy router’s own traffic.
  • Access Control: Control by user / group / control group.

LAN Proxy

  • Enable: Proxy LAN traffic.
  • Inbound Interface: Configure LAN interfaces.
  • Access Control: Control by IP / IPv6 / MAC.

Access Control

  • Enable Rules
  • DNS: Hijack DNS for matched traffic.
  • Proxy: Proxy matched traffic.
  • Other: Traffic matching criteria.
Access Control Notes
  1. Columns in the same row are OR’ed.
  2. Empty fields are ignored.
  3. If all fields are empty, all traffic matches.
  4. Traffic not matching any rule is not proxied.
  5. If no rules exist, no traffic is proxied.
Examples & Tips
Proxy All
Blacklist Mode
Whitelist Mode
  1. In whitelist mode, enable/disable rules to control which clients are proxied.
  2. Combine whitelist and blacklist rules and toggle them to switch modes.

Bypass

  • Bypass Mainland China IPs
  • Proxy TCP/UDP Destination Ports: Space-separated, supports ranges (e.g. 80 443 114-514)
  • Bypass DSCP
  • Bypass FWMark: Supports masks (e.g. 0xFF00, 0x3F00/0xFF00)

Miscellaneous

  • Reserved IP Addresses
  • TUN Wait Timeout (seconds)
  • TUN Check Interval (seconds)

Editor

  • Edit uploaded configuration files, subscription cache files, mixin files, and active configuration.
  • Edit IPv4 / IPv6 reserved addresses.
  • Save: Save file only.
  • Save & Apply: Save and reload service.
  • Force Apply: Save and restart service.

Logs

  • View plugin and core logs.
  • Clear logs.
  • Generate and download debug logs.

⚠️ Notes

About Fast Reload

  1. Changing plugin settings triggers a reload.
    • If configuration content changes, the core must reload or restart.
    • With fast reload enabled, the core reloads without restart.
    • Otherwise, the core restarts.
  2. If the fast reload option itself is changed, the previous value is used.

About Appended Rules

  1. Intended for temporary or supplemental rules. For many rules, use files and proxy-provider.
  2. You can also append via mixin files using nikki-rules instead of rules.

About DNS Hijacking

  1. If only IPv4 or IPv6 DNS is hijacked, dual-stack queries may cause pollution or routing errors.
    Enabling both is recommended unless IPv6 is fully disabled.
  2. Disable Network → DHCP/DNS → DNS Redirect to avoid conflicts.

About IPv6 Proxy

When enabling IPv6 proxy, also enable:

  • Mixin Options → Global → IPv6
  • Mixin Options → DNS → IPv6

About “Router Proxy → Access Control → Control Groups”

  1. By default, the system uses cgroup v2, managed by procd.
  2. If firmware enables Docker DOCKER_CGROUP_OPTIONS, cgroup v1 is used and cgroup v2 features break.
  3. Remount cgroup v2 at /sys/fs/cgroup or uninstall cgroupfs-mount to restore functionality (Docker may be affected).
  4. Prefer moving Docker to another machine or using Podman.

About Core Logs

Automatic cleanup by time or size is not yet implemented.
Enable scheduled restarts or increase log level to avoid excessive log size.