OpenWrt
Requirements, installation, updates and removal on OpenWrt.
Requirements
Section titled “Requirements”- OpenWrt 24.10 or newer: firewall4, Linux kernel 5.13+.
- Prebuilt packages are published for OpenWrt 24.10, 25.12 and SNAPSHOT on
x86_64,aarch64_cortex-a53,aarch64_generic,aarch64_cortex-a72,aarch64_cortex-a76,mipsel_24kc,arm_cortex-a7_neon-vfpv4. The architecture of the router isDISTRIB_ARCHin/etc/openwrt_release. For other architectures build the packages from source.
If OpenWrt is not installed yet
Section titled “If OpenWrt is not installed yet”- Firmware Selector — find the model and download the firmware:
factoryto install over the stock firmware,sysupgradeto upgrade OpenWrt. - Table of Hardware — whether the model is supported and how to flash it.
- Generic flashing guide.
Install & update
Section titled “Install & update”In the SSH console of the router:
wget -O - https://raw.githubusercontent.com/prettyleaf/openwrt-exodus/main/install.sh | ashThe installer checks access to GitHub, asks which core to install, downloads exodus, luci-app-exodus and luci-i18n-exodus-* from the releases for the architecture and OpenWrt version of the router and installs them. Dependencies come from the official OpenWrt feeds. If Nikki is installed, the installer replaces it and keeps its settings, see migrating from Nikki.
To update, run the same command or open Services → Exodus → Update in LuCI: it runs the same installer with the core and the gh-proxy chosen last time. With little free flash, enable the low flash space mode there: the current core is removed before the new one is installed.
Installer options (version, core, gh-proxy) are on the Installer options page.
First start
Section titled “First start”- Services → Exodus → Profile: add a subscription or upload a profile.
- App Config: choose the profile, enable the app, choose the mode and the devices, then Save & Apply.
- Open Dashboard next to Restart Service opens the dashboard (Zashboard), the core downloads it on the first start.
The pages in detail — LuCI.
Installing without access to GitHub
Section titled “Installing without access to GitHub”When GitHub is blocked, installing through gh-proxy is the easiest. Without it, download exodus_<arch>-<branch>.tar.gz for your router from the releases page on another machine, copy it to /tmp on the router and install the packages from it (only the Mihomo Meta core):
# <arch> is DISTRIB_ARCH from /etc/openwrt_release, <branch> is openwrt-24.10, openwrt-25.12 or SNAPSHOT# if nikki is installed, remove it first (the config is kept): opkg remove luci-app-nikki nikki / apk del luci-app-nikki nikkimkdir -p /tmp/exodus && tar -x -z -f /tmp/exodus_<arch>-<branch>.tar.gz -C /tmp/exodus# opkg (OpenWrt 24.10); --force-downgrade replaces exodus versioned by date (2026.04.08) or a newer releaseopkg update && opkg install --force-downgrade /tmp/exodus/mihomo-meta_*.ipk /tmp/exodus/exodus_*.ipk /tmp/exodus/luci-app-exodus_*.ipk# apk (OpenWrt 25.12 and SNAPSHOT)apk update && apk add --allow-untrusted /tmp/exodus/mihomo-meta-[0-9]*.apk /tmp/exodus/exodus-[0-9]*.apk /tmp/exodus/luci-app-exodus-[0-9]*.apkUninstall
Section titled “Uninstall”wget -O - https://raw.githubusercontent.com/prettyleaf/openwrt-exodus/main/uninstall.sh | ashThe script removes the packages together with the settings. To keep the settings, remove only the packages: opkg remove luci-app-exodus exodus or apk del luci-app-exodus exodus.