fakeinternet
Description
Fake Internet service for OpenWrt routers.
Requirements
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;
Unmet dependencies
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.
How to install
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 Settings
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.
How to customize
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.
How does it work
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.
Documentation / Discussion
Please head to OpenWrt Forum for discussion of this package.