Here is the detailed requirement & compatibility specification for WRTune. We designed the app to be βplug-and-playβ compatible with standard OpenWRT environments.
1. Official Firmware Only π
For maximum stability and feature compatibility, we highly recommend using official OpenWrt releases.
- Recommended Source: OpenWrt Firmware Selector
- Supported Versions: OpenWrt 24.10.x.
- Why Official? Community-built or vendor-modified βOpenWrt-basedβ firmwares often change internal API paths that WRTune relies on to give you accurate data.
2. Login Philosophy: One Account, Zero Friction π
WRTune follows the official OpenWrt administrative standard.
- Username: Must be
root(Default). - Our Design Choice: You will notice there is no βUsernameβ field on our login screen. This is intentional. In line with our philosophy of Simple & Standard, we follow the default OpenWrt setup where
rootis the master administrator. This removes unnecessary configuration steps and gets you into your dashboard faster.
3. Service Dependencies π
WRTune communicates with your router using the high-performance ubus (Micro Bus Architecture).
- uhttpd / rpcd: These services must be running (they are enabled by default on 99% of OpenWrt installations).
- Network Access: Your phone must be able to reach the routerβs IP address. This works perfectly over Local Wi-Fi
Pro-Tip: Preparing your Router π
Before connecting WRTune for the first time, ensure you have set a strong password for your root account via the LuCI web interface or SSH.
Optional: Advanced Features (Statistics & Management IP) π
To unlock the full potential of WRTune (Traffic Statistics, Static IP management & Block Schedule, Hostname editing, and detailed System Health), you need to install a monitoring tool and grant permissions.
1. Access Your Router π
Log in to your router via SSH (e.g., ssh root@192.168.1.1). This is the most secure way to manage your device directly.
2. Install & Configure Statistics Tools π
We use nlbwmon & vnstat, a lightweight, industry-standard tool for bandwidth monitoring.
# Update package list and install nlbwmon & vnstat
opkg update
opkg install nlbwmon luci-app-nlbwmon vnstat2 vnstati2 luci-app-vnstat2
# --- CONFIGURE NLBWMON (PERSISTENT) ---
/etc/init.d/nlbwmon stop
mkdir -p /usr/lib/nlbwmon
uci set nlbwmon.@nlbwmon[0].database_directory='/usr/lib/nlbwmon'
uci set nlbwmon.@nlbwmon[0].commit_interval='24h'
uci set nlbwmon.@nlbwmon[0].generations='3'
uci commit nlbwmon
rm -rf /var/lib/nlbwmon /tmp/lib/nlbwmon
/etc/init.d/nlbwmon enable
/etc/init.d/nlbwmon start
# --- CONFIGURE VNSTAT (PERSISTENT) ---
/etc/init.d/vnstat stop
mkdir -p /usr/lib/vnstat
sed -i 's|;DatabaseDir "/var/lib/vnstat"|DatabaseDir "/usr/lib/vnstat"|' /etc/vnstat.conf
sed -i 's/;SaveInterval 60/SaveInterval 60/' /etc/vnstat.conf
[ -d "/var/lib/vnstat" ] && cp -r /var/lib/vnstat/* /usr/lib/vnstat/ 2>/dev/null
/etc/init.d/vnstat enable
/etc/init.d/vnstat start
verify vnstat select correct WAN interface via OpenWRT dashboard (Status > Traffic monitor > Configuration > Monitor Interface)
3. Grant Permissions π
Create a comprehensive security rule (ACL) to allow WRTune to visualize stats and manage settings. This script grants permissions for:
/usr/sbin/nlbw&/usr/bin/vnstat: Bandwidth Monitoring (allows fetch data from nlbwmon and vnstat)./sys/class/thermal/*/temp: Device Temperature (allows reading CPU heat levels)./proc/loadavg: System Load (allows reading CPU usage metrics)./proc/meminfo: Memory Usage (allows reading RAM availability).write->uci & ubus: Configuration Management (allows creating Static IPs, editing Hostnames, and saving settings).
# copy this script to your router via SSH
cat <<EOF > /usr/share/rpcd/acl.d/ubus_access.json
{
"ubus_access": {
"description": "WRTune permissions for stats and management",
"read": {
"file": {
"/usr/sbin/nlbw": [ "exec" ],
"/usr/bin/vnstat": [ "exec" ],
"/sys/class/thermal/*/temp": [ "read" ],
"/proc/loadavg": [ "read" ],
"/proc/meminfo": [ "read" ]
},
"uci": [ "*" ],
"ubus": { "*" : [ "*" ] }
},
"write": {
"uci": [ "*" ],
"ubus": { "*" : [ "*" ] }
}
}
}
EOF
# Apply the new permissions
/etc/init.d/rpcd restart
Note: Minimum Permissions for Internet Blocking
If you do not need the advanced statistics mentioned above and only want the blocking internet feature to work flawlessly, you can skip the statistics tools installation and apply this minimum permission script instead:
# copy this script to your router via SSH cat <<EOF > /usr/share/rpcd/acl.d/ubus_access.json { "ubus_access": { "description": "WRTune blocking internet feature", "read": { "uci": [ "*" ], "ubus": { "*" : [ "*" ] } }, "write": { "uci": [ "*" ], "ubus": { "*" : [ "*" ] } } } } EOF # Apply the new permissions /etc/init.d/rpcd restart
4. Re-Login Required π
After applying these changes, Log Out and Log In again in the WRTune app to refresh your permissions. if found any feature still disable, do try re-login again.
Optional: AdGuard Home Integration π
Connect your AdGuard Home instance to manage DNS filtering directly from WRTune.
Prerequisites π
- Active Instance: AdGuard Home running on your network (OpenWRT/Pi). Need help setting this up? Read our guide on Installing AdGuard Home on OpenWrt.
- Credentials: Server URL, Username, and Password.
Setup π
Navigate to Settings > DNS Control > AdGuard Home Server, enter your credentials, and enable the feature.
Features π
- Quick Control: Toggle protection or disable temporarily.
- Insights: View real-time stats, top queried/blocked domains.
- Management: Manage clients, filtering rules, and view query logs.
Note on Service Blocking π
WRTune does not block services itself; it sends requests to your AdGuard Home instance.
If blocking fails, please:
- Inspect your AdGuard Home settings dashboard.
- Test blocking manually in Settings > Client Settings on the AdGuard Home dashboard.
Privacy & Security Guarantee π
- Local Processing: WRTune reads the data generated by your router. All analysis and visualization happen locally on your phone.
- No Cloud: Your traffic data is never sent to external servers or developers.
- Open Source Roots: This feature is built on the official nlbwmon package and vnStat, trusted by the global OpenWrt community.