Transparent Proxy with Mihomo on OpenWrt.
- OpenWrt >= 23.05
- Linux Kernel >= 5.10
- firewall4
- Transparent Proxy (TPROXY/TUN, IPv4 and/or IPv6)
- Access Control
- Profile Mixin
- Profile Editor
- Scheduled Restart
- Add Feed
# only needs to be run once
curl -s -L https://ghp.ci/https://github.com/morytyann/OpenWrt-mihomo/raw/refs/heads/main/feed.sh | ash
- Install
# you can install from shell or `Software` menu in LuCI
# for opkg
opkg install mihomo
opkg install luci-app-mihomo
opkg install luci-i18n-mihomo-zh-cn
# for apk
apk add --allow-untrusted mihomo
apk add --allow-untrusted luci-app-mihomo
apk add --allow-untrusted luci-i18n-mihomo-zh-cn
curl -s -L https://ghp.ci/https://github.com/morytyann/OpenWrt-mihomo/raw/refs/heads/main/install.sh | ash
curl -s -L https://ghp.ci/https://github.com/morytyann/OpenWrt-mihomo/raw/refs/heads/main/uninstall.sh | ash
See Wiki
- Mixin and Update profile.
- Run mihomo.
- Run hijack prepare script.
- Set router hijack.
- Set lan hijack with access control.
- Set scheduled restart.
Note that the steps above may change base on config.
# add feed
echo "src-git mihomo https://github.com/morytyann/OpenWrt-mihomo.git;main" >> "feeds.conf.default"
# update & install feeds
./scripts/feeds update -a
./scripts/feeds install -a
# make package
make package/luci-app-mihomo/compile
The ipk file will be found under bin/packages/your_architecture/mihomo
.
- ca-bundle
- curl
- yq
- firewall4
- ip-full
- kmod-inet-diag
- kmod-nft-tproxy
- kmod-tun