FreedomPortal is a platform for exhibiting digital artworks on Wi-Fi routers.
These instructions explain how to deploy some static web pages on a Wi-Fi router, so that it acts as a captive portal for all clients connecting.
Wi-Fi router :
- able to support OpenWrt (https://openwrt.org/)
- with a USB port so you can plug a USB key to extend the router's disk space
- with enough flash memory (I am unsure of the exact amount of memory necessary)
We have been using
GL-AR150routers, which have all of the above, and come with OpenWrt pre-installed. Instructions are for these specific routers, but can be easily adapted to another model or another brand.
Internet access to your router : in order to install dependencies, the router will need Internet access. You can for example connect its wan port to one free lan port on your home router/modem.
NB: this is a fairly new project, so expect a few bugs and a few issues in the deployment process. Feedback, bug reports are welcome, open a ticket in the issue tracker.
Deploying on a Wi-Fi router
Getting the code and creating a configuration file
Download latest FreedomPortal code from here, unzip and rename the folder to
Copy the file
parameters.lua.template, name the copy
You can optionally edit
parameters.lua to customize your installation, but I recommend you try out the default settings first.
Preparing USB key
Format a USB key as FAT, and call the new volume
FreedomPortal folder you downloaded before to the USB key.
Copy also your html pages in a folder called
www. If you don't have html pages yet and just want to test out the system, you can copy the contents of
www/ on your USB key.
You USB key should now have the following structure :
FreedomPortal/ parameters.lua src/ ... www/ index.html css/ ...
Eject USB key from your computer and insert into the router.
Initialize router password, connect through SSH
On first connection on GL-inet routers, go to the router's web interface 192.168.8.1 to set a password.
Use that password to connect through SSH. Open your terminal and run the following command :
After successfully connecting, an SSH console will be open. All the following commands will be ran inside that SSH console.
ATTENTION: the instructions and configuration files are designed for GL-inet firmware version 2.25 and above. If you have an older firmware version you should upgrade it using the router's web interface, firmware menu. You will need an Internet connection for that.
Install FreedomPortal on the router
You are now ready to run the installation process. Navigate to the
FreedomPortal/ folder on your USB key by running the command :
Once inside the folder, run the following command :
lua configure.lua parameters
Then, finalize the installation by running :
chmod a+x /root/FreedomPortal_configured/install.sh /root/FreedomPortal_configured/install.sh
You can now reboot your router by running :
After the router has rebooted successfully, the captive portal should be active.
luaunit, and then run
This project was partly funded by The Creative Exchange, a UK Arts & Humanities Research Council Knowledge Exchange Hub for the Creative Economy (UK research council reference AH/J005150/1 Creative Exchange). thecreativeexchange.org.uk