Mihomo: Difference between revisions
Appearance
No edit summary |
Marked this version for translation |
||
Line 4: | Line 4: | ||
'''[https://github.com/MetaCubeX/mihomo/tree/Alpha mihomo]''' <span lang="en" dir="ltr">(formerly known as clash-meta), is a widely-used anti-censorship proxy application.</span> | '''[https://github.com/MetaCubeX/mihomo/tree/Alpha mihomo]''' <span lang="en" dir="ltr">(formerly known as clash-meta), is a widely-used anti-censorship proxy application.</span> | ||
<!--T:4--> | |||
<span lang="en" dir="ltr">Enable mihomo service on NixOS:</span> | <span lang="en" dir="ltr">Enable mihomo service on NixOS:</span> | ||
<!--T:5--> | |||
<syntaxhighlight lang="nix"> | <syntaxhighlight lang="nix"> | ||
services.mihomo = { | services.mihomo = { | ||
Line 14: | Line 16: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== <span lang="en" dir="ltr">TUN Mode</span> === | === <span lang="en" dir="ltr">TUN Mode</span> === <!--T:6--> | ||
<!--T:2--> | <!--T:2--> | ||
<span lang="en" dir="ltr">NOTICE: The [https://search.nixos.org/options?channel=unstable&show=services.mihomo.tunMode&from=0&size=50&sort=relevance&type=packages&query=mihomo tunMode option] in NixOS module only grants necessary permissions for the service. To actually enable TUN, you need to edit the '''configFile'''. See [https://wiki.metacubex.one/config/inbound/listeners/tun/?h=tun official documentation].</span> | <span lang="en" dir="ltr">NOTICE: The [https://search.nixos.org/options?channel=unstable&show=services.mihomo.tunMode&from=0&size=50&sort=relevance&type=packages&query=mihomo tunMode option] in NixOS module only grants necessary permissions for the service. To actually enable TUN, you need to edit the '''configFile'''. See [https://wiki.metacubex.one/config/inbound/listeners/tun/?h=tun official documentation].</span> | ||
=== <span lang="en" dir="ltr">Troubleshooting</span> === <!--T:3--> | |||
=== <span lang="en" dir="ltr">Troubleshooting</span> === | |||
<!--T:7--> | |||
<span lang="en" dir="ltr">If encountering issues with transparent proxy:</span> | <span lang="en" dir="ltr">If encountering issues with transparent proxy:</span> | ||
* <span lang="en" dir="ltr">Check kernel logs with <code>dmesg</code></span> | * <span lang="en" dir="ltr">Check kernel logs with <code>dmesg</code></span> | ||
Line 32: | Line 34: | ||
** <span lang="en" dir="ltr">Try allow the tproxy port in firewall if you're trying tproxy transparent proxy.</span> | ** <span lang="en" dir="ltr">Try allow the tproxy port in firewall if you're trying tproxy transparent proxy.</span> | ||
== <span lang="en" dir="ltr">See also</span> == | == <span lang="en" dir="ltr">See also</span> == <!--T:8--> | ||
<!--T:9--> | |||
* [https://blog.nyaw.xyz/nixos-inwall-install <span lang="en" dir="ltr">NixOS installation and usage under a censored network (zh-cn)</span>] | * [https://blog.nyaw.xyz/nixos-inwall-install <span lang="en" dir="ltr">NixOS installation and usage under a censored network (zh-cn)</span>] | ||
</translate> | </translate> |
Revision as of 14:51, 28 February 2025
mihomo (formerly known as clash-meta), is a widely-used anti-censorship proxy application.
Enable mihomo service on NixOS:
services.mihomo = {
enable = true;
configFile = "/path/to/config.yaml";
#...
};
TUN Mode
NOTICE: The tunMode option in NixOS module only grants necessary permissions for the service. To actually enable TUN, you need to edit the configFile. See official documentation.
Troubleshooting
If encountering issues with transparent proxy:
- Check kernel logs with
dmesg
- If seeing massive "refuse" messages for specific network devices:
- NixOS enables firewall by default, try disabling firewall
- If problem is solved, try sequentially:
- Add tun device to
trustedInterfaces
- Disable
checkReversePath
- Add tun device to
- If seeing massive "refuse" messages for specific ports:
- Try allow the tproxy port in firewall if you're trying tproxy transparent proxy.