

Configure iptables to accept DHCP, DNS, and HTTP requests on wlan0 and reject everything else.Configure dhcpcd to create wlan0 as an access point with a static IP.Create a wpa_supplicant configuration to create an access point.Configure the Web Server to serve your content.A brief explanation of how the Rogue Portal works.Build and Deploy the Debian packages from source.Set up a WiFi connection for internet access.Building a Rogue Captive Portal with the Raspberry Pi.This is by no means comprehensive and could probably use more work to boot as fast as possible. I created a “fast boot” package that makes a few tweaks to the Raspberry Pi OS configuration to speed up the boot process.Serving a web app is left as an exercise for the reader. I used nginx instead of Apache and configured it only to serve static content.
Git gui client for raspberry pi how to#
Git gui client for raspberry pi install#
I built a Debian package instead of a hackish install script.I built upon the Rogue Access Point project, but made a few significant changes: This (currently) will happily show HTTP content, so you’re able to harass users with entertaining messages or present something that looks like a sign-in page to steal their credentials (but don’t do that).

So, I decided to create a “Rogue Captive Portal.” This will intentionally not fool captive portal detection on devices so that they do pop up the captive portal connection dialog after connecting to the WiFi access point. And, since many browsers now try HTTPS first, this makes the Rogue Access Point useless (Hooray! The internet is getting better). Because the Rogue Access Point can’t have valid HTTPS certificates for most websites, the user is presented with a big security warning when they attempt to access any site via HTTPS. That exercise was fun, but the push to use HTTPS everywhere detracted from its usefulness. It would then route all traffic to the Python web app so that when a user attempted to visit a website (for example, ) they would see the app instead.

That implementation specifically attempted to fool captive portal detection on devices so that they wouldn’t pop up a captive portal connection dialog after connecting to the WiFi access point. I previously created a “Rogue Access Point” ( see project here) that made a Raspberry Pi Zero W act as a WiFi hotspot and serve up a Python web app to anyone who connected to it. Tested with WiFi and wired Ethernet on Raspberry Pi Zero W and Raspberry Pi 3 B+. Update: Rogue Portal can now run on wlan0 while coexisting with other networks. Building a Rogue Captive Portal with the Raspberry Pi
