Fake Internet service for OpenWrt routers.
This service requires the following packages to be installed on your router: uhttpd
and dnsmasq
or dnsmasq-full
.
To satisfy the requirements, connect to your router via ssh and run the following commands:
opkg update; opkg install uhttpd dnsmasq;
If you want to install dnsmasq-full
, run the following commands:
opkg update; cd /tmp/ && opkg download dnsmasq-full; opkg install libnettle8 kmod-ipt-ipset libnetfilter-conntrack3;
opkg remove dnsmasq; opkg install dnsmasq-full --cache /tmp/; rm -f /tmp/dnsmasq-full*.ipk;
If you are running a development (trunk/snapshot) build of OpenWrt on your router and your build is outdated (meaning that packages of the same revision/commit hash are no longer available and when you try to satisfy the requirements you get errors), please flash either current OpenWrt release image or current development/snapshot image.
Please make sure that the requirements are satisfied and install fakeinternet
from Web UI or connect to your router via ssh and run the following commands:
opkg update
opkg install fakeinternet luci-app-fakeinternet
If these packages are not found in the official feed/repo for your version of OpenWrt, you will need to add a custom repo to your router following instructions on GitHub/jsDelivr first.
These packages have been designed to be backwards compatible with OpenWrt 19.07, OpenWrt 18.06, OpenWrt Project 17.01 and OpenWrt 15.05. However, on systems older than OpenWrt 18.06.6 and/or a system which has deviated too far (or haven’t been updated to keep in-sync) with official OpenWrt release you may get a message about missing luci-compat
dependency, which (and only which) you can safely ignore and force-install the luci app using opkg install --force-depends
command instead of opkg install
.
Default configuration has service disabled (run uci set fakeinternet.config.enabled=1; uci commit fakeinternet;
) and includes domains which are used by Android OS, iOS and Fire OS mobile devices to check for the internet connectivity.
You can add more domains to be hijacked, check /etc/config/fakeinternet
for examples. To hijack everything, use the single #
symbol instead of the domain name in config. Deep customization might require modifications/extra code in /www_fakeinternet/error.cgi
as well.
This service hijacks requests to domains listed in the /etc/config/fakeinternet
config file and serves replies which mobile devices expect if the internet connection is available.
Please head to OpenWrt Forum for discussion of this package.