-
Notifications
You must be signed in to change notification settings - Fork 1
FAQ
During upgrade/reinstall it says: Existing conffile is different from the conffile in the new package.
You can ignore it. If you want to know why (and can’t understand it), use a translator.
Try clearing your browser cache / using private browsing / using a different browser.
- When using TUN mode, the plugin must wait for the TUN device to be created before continuing.
- This usually happens because the device is underpowered or the configuration is too complex. You can increase the timeout via Proxy Configuration → Misc → TUN Wait Timeout.
- It may also be caused by the core failing to start. Check the core logs to confirm.
- Confirm the environment meets the requirements: Prerequisites.
- Make sure dependencies are installed correctly: Dependencies.
- Ensure kernel modules are loaded. Run:
lsmod | grep -e '^inet_diag' -e '^nft_socket' -e '^nft_tproxy' -e '^tun'
If loaded correctly, you should see 4 lines. If any are missing, they are not loaded properly—consider switching firmware. - If all above are fine, open an Issue. Ideally include the output of:
service nikki restart.
If it doesn’t affect normal internet usage, ignore it. The cause is on the remote side—possible reasons include legacy app/site code, incorrect domain names, wrong DNS records, services being offline, etc. You just didn’t see these logs before when you weren’t using transparent proxying; now you can.
- If you cannot access the internet, try disabling Router Proxy and test again. (Common on older Linux kernels or when OpenWrt runs in a container.)
- If internet works but some services are affected, it may be a false positive (e.g. certain UDP connections like Bilibili live streaming). Try enabling:
Plugin Configuration → procd Configuration → Environment Variables → Disable Loopback Detection.
Check if your Linux kernel is 6.6. If yes, try one of the following:
- Enable Core Environment Variables → Disable quic-go Generic Segmentation Offload (may reduce speed).
- Switch to an OpenWrt build with a higher (6.12) or lower (5.15) Linux kernel.
- Check whether your rules are written correctly.
- If only UDP connections have issues, check whether the node supports UDP or whether UDP is enabled in that node’s configuration in the config file.
I want to enable auto-route, auto-redirect, auto-detect-interface, but the plugin forces them off. Why?
- They can cause firewall rule conflicts. After enabling
auto-route, the core configures firewall rules itself, which conflicts with the plugin’s firewall rules and can break networking/proxying. -
auto-routedoes not solve any plugin-related issues. It only auto-creates firewall rules to send traffic into the core.auto-redirectmerely uses Redirect for TCP instead of TUN—no other effect. - If you insist on enabling them, use Core Only mode. This disables the plugin’s mixin and firewall rules and follows your config file exactly. Then you can enable
auto-routeand/orauto-redirect. This is essentially a “bare core mode”: the plugin becomes only a launcher/manager.
Configure Proxy Target Ports (TCP/UDP). See the Wiki Home page for details.
Click Settings (the gear icon at the top), then click Switch Backend.
- The plugin sets default authentication during installation. You can disable Override Authentication, or configure the correct username/password when setting up the proxy.
- For SOCKS5, use
socks5h://ip:portinstead ofsocks5://ip:port.
- Enable scheduled restart.
- Set your subscription priority to Remote.
- Save and apply.
- The plugin will restart on your cron schedule and update the subscription before startup.
In Fake-IP mode, how to make Bypass Mainland China IP and Proxy Target Ports (TCP/UDP) work correctly?
- Add
GEOSITE:cnor your mainland domain RULE-SET to the Fake-IP Filter List. - Set Fake-IP Filter Mode to Blacklist.
After mainland domains return real IPs, those features will work properly.
Why do some mainland China IP connections still enter the core even with Bypass Mainland China IP enabled?
Because there is no perfect list of China mainland domains/IPs.
Adjust TCP Keep Alive Idle and TCP Keep Alive Interval:
Set TCP Keep Alive Idle to 600, and TCP Keep Alive Interval to 15.
Currently unsolved and there are no plans to add a blacklist/whitelist for Bypass Mainland China IP. Recommended: disable it.
Cannot fetch rule sets / proxy sets hosted on intranet services; cannot access intranet services via configured inbound
Set Outbound Interface to Unspecified.
Those chains are not actually being used (you can check by observing chain counters). They simply exist.
The core is located at /usr/bin/mihomo. Download the core you want and replace it.
- The plugin does not provide this functionality, but you can upload via SFTP. By default:
- Panel path:
/etc/nikki/run/ui - GeoX database path:
/etc/nikki/runUpload to the correct location with the correct filenames. Note: if you changed External Control → UI Path, adjust the panel location accordingly.
- Panel path:
- A better approach is to migrate to rule sets (MRS format) for a better startup experience.