Go to file
billz 9fc2b9d91e Use defaults in absence of user config. Resolves #486 2020-01-29 09:58:36 +00:00
.github Update FUNDING.yml 2020-01-19 22:54:39 +01:00
_layouts Update paths 2019-10-10 23:03:28 +01:00
ajax Use defaults in absence of user config. Resolves #486 2020-01-29 09:58:36 +00:00
app Update system.php 2020-01-20 16:27:19 +01:00
config Merge pull request #466 from yolateng0/patch-1 2020-01-28 19:43:31 +01:00
dist Updated /dist with missing dependencies 2019-10-18 09:09:54 +01:00
includes Added support for Greek. Thanks Chris K! 2020-01-14 09:23:13 +00:00
installers Comments for clarity. Addresses #461 2020-01-15 17:47:09 +00:00
locale Compiled .mo for el_GR 2020-01-14 09:21:49 +00:00
templates Merge branch 'master' into patch-2 2020-01-27 11:34:18 +01:00
.gitignore Update .gitignore 2019-11-07 13:30:02 +00:00
BACKERS.md Update BACKERS.md 2020-01-26 08:51:06 +01:00
CNAME Create CNAME 2018-04-10 11:41:57 +02:00
CONTRIBUTING.md Create CONTRIBUTING.md 2017-10-23 23:52:43 +02:00
LICENSE Intial commit 2015-03-02 13:39:45 +01:00
README.md Added Greek to list of supported translations 2020-01-14 09:55:30 +00:00
_config.yml Revert "Update _config.yml" 2018-04-10 12:34:57 +02:00
favicon.ico Retain some favicons for github pages support 2019-04-24 22:35:15 +00:00
gulpfile.js Update gulp.src datatables 2019-10-18 09:08:47 +01:00
index.php Minor: remove comments + fix indents 2019-12-29 19:30:55 +00:00
package.json Update release version 2019-12-02 08:26:54 +00:00
raspap.php Processed with phpcs for PSR-2 coding standard 2019-04-10 08:37:35 +00:00
yarn.lock Update yarn install 2019-10-15 01:18:03 +01:00

README.md

$raspap Release 2.1 Awesome Sponsor

A simple, responsive web interface to control wifi, hostapd and related services on the Raspberry Pi.

This project was inspired by a blog post by SirLagz about using a web page rather than ssh to configure wifi and hostapd settings on the Raspberry Pi. I began by prettifying the UI by wrapping it in SB Admin 2, a Bootstrap based admin theme. Since then, the project has evolved to include greater control over many aspects of a networked RPi, better security, authentication, a Quick Installer, support for OpenVPN, themes and more. RaspAP has been featured on sites such as Instructables, Adafruit, Raspberry Pi Weekly and Awesome Raspberry Pi and implemented in countless projects.

We'd be curious to hear about how you use this with your own RPi-powered projects. Until then, here are some screenshots:

Contents

Prerequisites

Start with a clean install of the latest release of Raspbian (currently Buster). Raspbian Buster Lite is recommended.

  1. Update Raspbian, including the kernel and firmware, followed by a reboot:
sudo apt-get update
sudo apt-get dist-upgrade
sudo reboot
  1. Set the WiFi country in raspi-config's Localisation Options: sudo raspi-config

  2. If you have an older Raspberry Pi without an onboard WiFi chipset, the Edimax Wireless 802.11b/g/n nano USB adapter is an excellent option it's small, cheap and has good driver support.

With the prerequisites done, you can proceed with either the Quick installer or Manual installation steps below.

Quick installer

Install RaspAP from your RaspberryPi's shell prompt:

curl -sL https://install.raspap.com | bash

The installer will complete the steps in the manual installation (below) for you.

After the reboot at the end of the installation the wireless network will be configured as an access point as follows:

  • IP address: 10.3.141.1
    • Username: admin
    • Password: secret
  • DHCP range: 10.3.141.50 to 10.3.141.255
  • SSID: raspi-webgui
  • Password: ChangeMe

Note: As the name suggests, the Quick Installer is a great way to quickly setup a new AP. However, it does not automagically detect the unique configuration of your RPi. Best results are obtained by connecting an RPi to ethernet (eth0) or as a WiFi client, also known as managed mode, with wlan0. For the latter, refer to this FAQ. Please read this before reporting an issue.

Simultaneous AP and Wifi client

RaspAP lets you easily create an AP with a Wifi client configuration. With your RPi configured in managed mode, enable the AP from the Advanced tab of Configure hotspot by sliding the Wifi client AP mode toggle. Save settings and start the hotspot. The managed mode AP is functional without restart.

Note: This option is disabled until you configure your RPi as a wireless client. For a Raspberry Pi operating in managed mode without an eth0 connection, this configuration must be enabled before a reboot.

Support us

RaspAP is free software, but powered by your support. If you find RaspAP useful for your personal or commercial projects, please become a sponsor or make a one-time donation with Beerpay. Either option makes a big difference!

Beerpay

Manual installation

Detailed manual setup instructions are provided on our wiki.

802.11ac 5GHz support

RaspAP provides an 802.11ac wireless mode option for supported hardware (currently the RPi 3B+/4) and wireless regulatory domains. See this FAQ for more information.

Multilingual support

RaspAP uses GNU Gettext to manage multilingual messages. In order to use RaspAP with one of our supported translations, you must configure a corresponding language package on your RPi. To list languages currently installed on your system, use locale -a at the shell prompt. To generate new locales, run sudo dpkg-reconfigure locales and select any other desired locales. Details are provided on our wiki.

The following translations are currently maintained by the project:

  • Deutsch
  • Français
  • Italiano
  • Português
  • Svenska
  • Nederlands
  • 简体中文 (Chinese Simplified)
  • Indonesian
  • 한국어 (Korean)
  • 日本語 (Japanese)
  • Tiếng Việt (Vietnamese)
  • Čeština
  • Русский
  • Español
  • Finnish
  • Sinhala
  • Türkçe
  • ελληνικό (Greek)

If your language is not in the list above, why not contribute a translation? Contributors will receive credit as the original translators.

HTTPS support

The Quick Installer may be used to generate SSL certificates with mkcert. The installer automates the manual steps described in the wiki, including configuring lighttpd with SSL support.

Simply append the -c or --cert option to the Quick Installer, like so:

curl -sL https://install.raspap.com | bash -s -- --cert

Note: this only installs mkcert and generates an SSL certificate with the input you provide. It does not (re)install RaspAP.

More information on SSL certificates and HTTPS support is available on our wiki.

OpenVPN support

OpenVPN may be optionally installed by the Quick Installer. Once this is done, you can managage a client configuration 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.

Note: this feature is currently in beta. Please read this before reporting an issue.

How to contribute

  1. Fork the project in your account and create a new branch: your-great-feature.
  2. Open an issue in the repository describing the feature contribution you'd like to make. This will help us get you started on the right foot.
  3. Commit changes in your feature branch.
  4. Open a pull request and reference the initial issue in the pull request message.

This project follows the PSR-2 coding style guidelines. There are many ways to check your code for PSR-2. An excellent tool is PHP_CodeSniffer. The command line tool phpcs can be run against any single file. Phing, a PHP build tool, integrates nicely with phpcs to automate PSR-2 checks across all source files in a project.

Reporting issues

Please read this before reporting a bug.

License

See the LICENSE file.