Captive Portal & Access Point on the Raspberry Pi —Easy setup

Captive Portal & Access Point for your Raspberry Pi

Ever connected to a WiFi network in public space? You’ve probably been redirected to a page where you had to agree to the terms of use to gain access to the Internet. This web page is called Captive Portal.

You can use your Raspberry Pi and set it up as access point serving such a captive portal, with or without Internet access. This project is for the case where you just want to serve an HTML page to the people who connect to your WiFi network, without actually providing them access to the Internet. While the official documentation is great and goes into detail about all the steps, overall it is a lengthy process that is quite error-prone. And it might not even work as expected if you misconfigured just one thing (definitely not speaking from experience, no…).

I’ve brought all the resources I found into one script. Kickstart your new project with an access point and captive portal or just browse through the files to compare against your setup. Start here with a single command. The Readme guides you through the setup. raspi-captive-portal is MIT-licensed, so it’s up to you to adapt it to your liking and make use of it in your own project.

Raspberry Pi as Access Point serving a web page to your users

Here are some ideas on what you could build using the raspi-captive-portal. They have in common that users connect to your new WiFi network and get served a web page (in a captive portal or when they type in any URL in the browser).

  • A smart home assistant.
  • A file-sharing application for your physical meetings [1] where people can share/download files.
  • A browser game (note that you can play this even in the most remote places without the need for Internet access), e.g. your own Kahoot quiz game, skribbl.io, card game, literally anything.
  • A rickrolling “free wifi” captive portal.
  • A local screen-share application for your next conference talk. People connect to the WiFi and see a live-share of your screen directly on their phone/laptop.
  • A public attraction where people connect to the WiFi, upload a photo of themselves which then gets projected onto a large building (projector connected to the Raspi). Or better: invent a holographic projector along the way.
  • A feedback platform after your pitch. Display your audience a QR code to quickly connect to the WiFi network. With this Raspberry Pi approach (instead of: “go to this online website”), you prevent annoyed people when they want to give feedback but don’t have Internet access.

[1] physical meeting: a pre-corona meeting taking place on-site with people of flesh and blood and insane audio/video quality with low latency
(video: 300.000.000 m/s, audio: 343 m/s)

--

--

--

Fond of explaining things visually and getting creative through music (piano), math & computer science (currently a bachelor student).

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Using FFmpeg for faster audio decoding

GraphQL in Frontend

Are You Also Excited About Windows 11?

Complete Intro to Web Development from FrontEndMasters -A personal journey(Part 3)

A Deep Dive into Kubernetes Metrics — Part 5: etcd metrics

Oracle Instant client setup

Dev Tools to the Rescue — Part 2

Guide to Power Up Costs in Pokémon GO

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Dominic Plein

Dominic Plein

Fond of explaining things visually and getting creative through music (piano), math & computer science (currently a bachelor student).

More from Medium

CRODO.io Association with CroDex?

Purple Teaming Like a Pro: Overview of Project Part 1

Intro to Houdini FX Webinar | VFX Q&A with Saber Jlassi //notes

innerText vs. innerHTML vs. textContent. And what is the security risk of using innerHTML?