Open-source Review Series

There are a lot of great open-source projects out there, but the time-consuming process of installing, configuring, and learning new systems with no guarantees the software can even support your use-cases can be a major source of friction.

The purpose of the open-source review series is to dive into different open-source projects so you as the reader can gain an understanding of the feature set and capabilities of different open-source software so you don’t have to spend time figuring it out yourself.

RaspAP — WiFi Configuration portal

We are taking a look at RaspAP, a fully responsive mobile-ready interface gives you control over the relevant services and networking options.

Project Overview — As of 27/02/2015

RaspAP is feature-rich wireless router software that just works on many popular Debian-based devices, including the Raspberry Pi. Customizable, mobile-friendly interface in 20+ languages. Sets up in minutes.

  • Repository: GitHub link
  • Created by: RaspAP
  • First Commit: May 22, 2015
  • Number of stars: 4k+
  • Number of commits: 2500+

Compatible operating systems

RaspAP was originally made for Raspbian, but now also installs on the following Debian-based distros.

Installation

The installer has been designed to assist users with creating an instance of RaspAP both quickly and with a great deal of flexibility.

It is available at the following link: Quick installer.

Main features

WireGuard support

WireGuard® is an extremely simple yet fast and modern VPN that utilizes state-of-the-art cryptography. It aims to be considerably more performant than OpenVPN, and is generally regarded as the most secure, easiest to use, and simplest VPN solution for modern Linux distributions.

WireGuard may be optionally installed by the Quick installer. Once this is done, you can manage local (server) settings, create a peer configuration and control the wg-quick service with RaspAP.

Details are provided here.

OpenVPN support

OpenVPN may be optionally installed by the Quick Installer. Once this is done, you can manage client configurations and the openvpn-client service with RaspAP.

To configure an OpenVPN client, upload a valid .ovpn file and, optionally, specify your login credentials. RaspAP will store your client configuration and add firewall rules to forward traffic from OpenVPN’s tun0 interface to your configured wireless interface.

Ad Blocking

This feature uses DNS blacklisting to block requests for ads, trackers and other undesirable hosts. To enable ad blocking, simply respond to the prompt during the installation. As a beta release, we encourage testing and feedback from users of RaspAP.

Details are provided here.

Bridged AP

By default RaspAP configures a routed AP for your clients to connect to. A bridged AP configuration is also possible. Slide the Bridged AP mode toggle under the Advanced tab of Configure hotspot, then save and restart the hotspot.

Note: In bridged mode, all routing capabilities are handled by your upstream router. Because your router assigns IP addresses to your device’s hotspot and its clients, you might not be able to reach the RaspAP web interface from the default 10.3.141.1 address. Instead use your RPi’s hostname followed by .local to access the RaspAP web interface. With Raspbian default settings, this should look like raspberrypi.local

802.11ac 5GHz support

RaspAP provides an 802.11ac wireless mode option for supported hardware (currently the RPi 3B+/4 and compatible Orange Pi models) and wireless regulatory domains.

Who should consider using RaspAP?

I find RaspAP to be a really simple solution to convert any Debian-based device into a WiFi repeater/bridge and more. RaspAP supports so many features such as SSL certificate, captive portal etc.

The advantage of using RaspAP on any Debian device allows you to overcome hardware problems associated with “plug-and-play” repeaters.

Conclusion

RaspAP offers a lot when it comes to WiFi management. As it is actively maintained I look forward to see where this awesome open-source project is going to go.