This is an automated archive made by the Lemmit Bot.

The original was posted on /r/openwireless by /u/WaterViper15 on 2017-06-14 17:29:29+00:00.


Hey everyone! Have a bit of an R&D project here, stretching what is possible with captive portals in some upcoming hardware projects I’m playing with!

So captive portals are awesome on routers as a way to add log-in info - but I’m more excited about how they trigger windows on modern phones when connected over wifi. I have a proof-of-concept system that I’m building which has an iMX6 linux board running Yocto 2.3 and NGINX to host a web server that serves content from the board - for this proof of concept, just a single button (that does nothing) and a jpg. I’ve set up a captive portal website through NGINX that serves this button and JPG when connected over WiFi - so far so good!

I’ve set my boards WiFi settings to: DHCP: STATIC, DNS: _blank, and router: _blank - which notifies any connected phone that this is not a router. This allows the phone to maintain a ‘secret’ WiFi connection to the board, while retaining its connection to the wider internet over 4G/LTE. So far, so good!

However, here’s where it gets downright mad scientisty: I’m attempting to push contented hosted EXTERNALLY onto this web app/captive portal. For instance, externally loaded CSS or an externally loaded JPG, served over 4G - and have them rendered into the DOM of the captive portal.

Clearly not what captive portals were meant for, but this setup would have a wide ranging application for a bunch of crazy hardware projects that I want to play with.

My initial idea that I’m currently playing with is to use NGINX reverse proxy to make the connected phone feel that the content is coming from a SINGLE source - either WiFi or 4G - as it doesn’t seem to want to serve content from both.

Anyone have any other ideas on how to attempt this crazyness? I’ve drawn an illustration of the project and what I’m trying to solve here: http://imgur.com/a/n6bYY