<?xml version="1.0" encoding="UTF-8" ?>
<!-- RSS generated by PHPBoost on Sun, 08 Nov 2026 16:46:18 +0100 -->
<rss version="2.0" xmlns:atom="https://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Softcloud Wiki]]></title>
		<atom:link href="https://wiki2.softcloud.fr/syndication/rss/wiki/22" rel="self" type="application/rss+xml"/>
		<link>https://wiki2.softcloud.fr</link>
		<description><![CDATA[Derniers articles de la catégorie RaspAP Documentation Pages]]></description>
		<copyright>(C) 2005-2026 PHPBoost</copyright>
		<language>fr</language>
		<generator>PHPBoost</generator>
		
            <item>
                <title><![CDATA[RaspAP Documentation Pages]]></title>
                <link>https://wiki2.softcloud.fr/wiki/raspap-documentation-pages</link>
                <guid>https://wiki2.softcloud.fr/wiki/raspap-documentation-pages</guid>
                <description><![CDATA[]]></description>
                <pubDate>Sun, 08 Nov 2026 14:23:29 +0100</pubDate>
                
            </item>
		
            <item>
                <title><![CDATA[Overview]]></title>
                <link>https://wiki2.softcloud.fr/wiki/overview</link>
                <guid>https://wiki2.softcloud.fr/wiki/overview</guid>
                <description><![CDATA[<img src="https://user-images.githubusercontent.com/229399/164047475-6d8cf1fd-ec50-4fcc-9d36-f0385f819979.png" alt="164047475-6d8cf1fd-ec50-4fcc-9d36-f0385f819979" /><br />
<br />
Simple AP setup & WiFi management for Debian-based devices<br />
<br />
--- About ---<br />
<br />
RaspAP is feature-rich wireless router software that<span class="emoji-tag">&nbsp;</span><em>just works</em><span class="emoji-tag">&nbsp;</span>on many popular<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/#compatible-operating-systems">Debian-based devices</a>, including the Raspberry Pi. Our popular Quick installer creates a known-good default configuration in minutes on all current Raspberry Pis with onboard wireless.<br />
<br />
--- Quick start ---<br />
<br />
Start with a clean install of the<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://www.raspberrypi.org/software/operating-systems/">latest release of Raspberry Pi OS Lite</a>. Both the 32- and 64-bit release versions are supported. The Raspberry Pi OS Desktop distro is currently<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/faq/#distros">unsupported</a>.<br />
<br />
Tip<br />
<br />
Be sure to use an official power supply with your device. Power supply requirements<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://www.raspberrypi.org/documentation/hardware/raspberrypi/power/README.md">differ by Raspberry Pi model</a>. Inadequate voltage is the source of many WiFi issues.<br />
<br />
Update RPi OS to its latest version, including the kernel and firmware, followed by a reboot:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">sudo apt-get update
sudo apt-get full-upgrade
sudo reboot</pre></pre></div></div><br />
<br />
Set the WiFi country in raspi-config's<span class="emoji-tag">&nbsp;</span><strong>Localisation Options</strong>:<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">sudo raspi-config</pre>.<br />
<br />
Important<br />
<br />
Failure to perform this step will prevent the RPi from enabling wireless operation. When this happens, you will see the warning<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">Wi-Fi is currently blocked by rfkill</pre><span class="emoji-tag">&nbsp;</span>in the console.<br />
<br />
Install RaspAP from your device's shell prompt:<br />
<br />
<div class="formatter-container formatter-code code-BASH"><span class="formatter-title">Code BASH : </span><div class="formatter-content"><pre style="display:inline;"><pre class="bash" style="font-family:monospace;">curl <span style="color: #660033;">-sL</span> https:<span style="color: #000000; font-weight: bold;">//</span>install.raspap.com <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">bash</span></pre></pre></div></div><br />
<br />
The<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/quick/">Quick installer</a><span class="emoji-tag">&nbsp;</span>will complete the steps in the<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/manual/">manual installation</a><span class="emoji-tag">&nbsp;</span>for you.<br />
<br />
After the reboot at the end of the installation the wireless AP network will be configured as follows:<br />
<br />
<strong>IP address:</strong><span class="emoji-tag">&nbsp;</span>10.3.141.1<br />
<strong>Username:</strong><span class="emoji-tag">&nbsp;</span>admin<br />
<strong>Password:</strong><span class="emoji-tag">&nbsp;</span>secret<br />
<strong>DHCP range:</strong><span class="emoji-tag">&nbsp;</span>10.3.141.50 to 10.3.141.254<br />
<strong>SSID:</strong><span class="emoji-tag">&nbsp;</span><pre style="display:inline;">raspi-webgui</pre><br />
<strong>Password:</strong><span class="emoji-tag">&nbsp;</span>ChangeMe<br />
<br />
Your AP's<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/ap-basics/">basic settings</a><span class="emoji-tag">&nbsp;</span>and many<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/ap-basics/#advanced-options">advanced options</a><span class="emoji-tag">&nbsp;</span>are now ready to be modified by RaspAP.<br />
<br />
Tip<br />
<br />
If this is<span class="emoji-tag">&nbsp;</span><em>not</em><span class="emoji-tag">&nbsp;</span>a clean install or you are configuring a device with a non-standard<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/faq/#integrations">integration</a><span class="emoji-tag">&nbsp;</span>it's strongly recommended to follow the<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/manual/">manual installation</a><span class="emoji-tag">&nbsp;</span>instructions.<br />
<br />
--- Get Insiders ---<br />
<br />
RaspAP is free software, but powered by your support. If you find RaspAP useful for your personal or commercial projects,<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/insiders/#how-to-become-a-sponsor">become a sponsor</a><span class="emoji-tag">&nbsp;</span>and get access to<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/insiders/#whats-in-it-for-me">exclusive features</a><span class="emoji-tag">&nbsp;</span>in the<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/insiders/">Insiders Edition</a>.<br />
<br />
--- Compatible operating systems ---<br />
<br />
RaspAP was originally made for Raspbian, but now also installs on the following Debian-based distros.<br />
<br />
<table class="table formatter-table"><tr class="formatter-table-row"><td class="formatter-table-head">Distribution</td><td class="formatter-table-head">Release</td><td class="formatter-table-head">Architecture</td><td class="formatter-table-head">Support</td></tr><tr class="formatter-table-row"><td class="formatter-table-col">Raspberry Pi OS</td><td class="formatter-table-col">(64-bit) Lite Bookworm</td><td class="formatter-table-col">ARM</td><td class="formatter-table-col">Official</td></tr><tr class="formatter-table-row"><td class="formatter-table-col">Raspberry Pi OS</td><td class="formatter-table-col">(32-bit) Lite Bookworm</td><td class="formatter-table-col">ARM</td><td class="formatter-table-col">Official</td></tr><tr class="formatter-table-row"><td class="formatter-table-col">Raspberry Pi OS</td><td class="formatter-table-col">(64-bit) Lite Bullseye</td><td class="formatter-table-col">ARM</td><td class="formatter-table-col">Official</td></tr><tr class="formatter-table-row"><td class="formatter-table-col">Raspberry Pi OS</td><td class="formatter-table-col">(32-bit) Lite Bullseye</td><td class="formatter-table-col">ARM</td><td class="formatter-table-col">Official</td></tr><tr class="formatter-table-row"><td class="formatter-table-col">Armbian</td><td class="formatter-table-col">23.05 (Suni)</td><td class="formatter-table-col"><a class="offload" href="https://www.armbian.com/rpi4b/">ARM</a></td><td class="formatter-table-col">Official</td></tr><tr class="formatter-table-row"><td class="formatter-table-col">Debian</td><td class="formatter-table-col">Bookworm</td><td class="formatter-table-col">ARM / x86_64</td><td class="formatter-table-col">Beta</td></tr><tr class="formatter-table-row"><td class="formatter-table-col">Ubuntu</td><td class="formatter-table-col">Server 23.04 (Lunar)</td><td class="formatter-table-col">ARM / x86_64</td><td class="formatter-table-col">Beta</td></tr></table><br />
<br />
<img src="https://user-images.githubusercontent.com/229399/115760318-81f03f80-a3a1-11eb-8df5-15ec4aec3e8a.png" alt="115760318-81f03f80-a3a1-11eb-8df5-15ec4aec3e8a" /><br />
<br />
Please note that "supported" is not a guarantee. If you are able to improve support for your preferred distro, we encourage you to<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/#get-involved">actively contribute</a><span class="emoji-tag">&nbsp;</span>to the project.<br />
<br />
--- Get involved ---<br />
<br />
We welcome all users of RaspAP to contribute to the project. This can take the form of<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://github.com/RaspAP/raspap-webgui/issues">issue reports</a>,<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://github.com/RaspAP/raspap-webgui/discussions">discussions</a>, or<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://github.com/RaspAP/raspap-webgui/pulls">pull requests</a>. Developers can get started by following these steps:<br />
<br />
<ol class="formatter-ol"><li class="formatter-li">Fork the project in your account and create a new branch:<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">your-great-feature</pre>.</li><li class="formatter-li">Open an issue in the repository describing the feature contribution you'd like to make.</li><li class="formatter-li">Commit changes in your feature branch.</li><li class="formatter-li">Open a pull request and reference the initial issue in the pull request message.</li></ol><br />
<br />
Find out more about our<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://github.com/RaspAP/raspap-webgui/blob/master/CONTRIBUTING.md">coding style guidelines and recommended tools</a>.<br />
<br />
--- Discussions ---<br />
<br />
Questions or comments about the Quick start? Join the<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://github.com/RaspAP/raspap-webgui/discussions/1331">discussion here</a>.]]></description>
                <pubDate>Sun, 08 Nov 2026 14:23:29 +0100</pubDate>
                
            </item>
		
            <item>
                <title><![CDATA[Ad blocking]]></title>
                <link>https://wiki2.softcloud.fr/wiki/ad-blocking</link>
                <guid>https://wiki2.softcloud.fr/wiki/ad-blocking</guid>
                <description><![CDATA[<img src="https://user-images.githubusercontent.com/229399/229465083-5d6a0905-ac08-41d8-9629-fb487d0bd68b.jpg" alt="229465083-5d6a0905-ac08-41d8-9629-fb487d0bd68b" /><br />
<br />
RaspAP has introduced a new DNS based filter to stop ads, trackers, malware and other undesirable hosts in their tracks.<br />
<br />
In the best of times, ads are usually just annoying. When access to online services served by our AP is hampered by ads, malware and trackers, the best tool in our arsenal is DNS blacklisting. RaspAP already uses<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">dnsmasq</pre><span class="emoji-tag">&nbsp;</span>to manage both DHCP and DNS, so we have the foundation for a highly effective ad blocking facility.<br />
<br />
--- Quick installer ---<br />
<br />
To install ad blocking with DNS blacklists, simply respond with<span class="emoji-tag">&nbsp;</span><strong>Y</strong><span class="emoji-tag">&nbsp;</span>or press<span class="emoji-tag">&nbsp;</span><strong>Enter</strong><span class="emoji-tag">&nbsp;</span>when prompted by the installer:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">Install ad blocking and enable list management? [Y/n]</pre></pre></div></div><br />
<br />
The installer will download the blocklists, configure RaspAP to use them and enable the<span class="emoji-tag">&nbsp;</span><strong>Ad blocking</strong><span class="emoji-tag">&nbsp;</span>management page.<br />
<br />
<img src="https://user-images.githubusercontent.com/229399/127268555-5e397b12-a123-4a15-a58f-e339b517ac0a.png" alt="127268555-5e397b12-a123-4a15-a58f-e339b517ac0a" /><br />
<br />
Ad blocking is enabled and active for clients connected to your AP. You may update the blocklists or disable ad blocking with the management page. These actions are described below.<br />
<br />
--- Manual installation ---<br />
<br />
Ad blocking may also be installed manually. Refer to the detailed<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/manual/#ad-blocking">installation steps</a>.<br />
<br />
--- Blocklist sources ---<br />
<br />
Blocklists are sourced from multiple, continuously updated open source projects. These are divided into two groups:<span class="emoji-tag">&nbsp;</span><strong>hosts</strong><span class="emoji-tag">&nbsp;</span>and<span class="emoji-tag">&nbsp;</span><strong>domain</strong><span class="emoji-tag">&nbsp;</span>blocklists. By default, RaspAP's ad block facility uses<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://github.com/StevenBlack/hosts">StevenBlack's hosts</a><span class="emoji-tag">&nbsp;</span>as the primary hosts blocklist. This repository is a hosts file aggregator that consolidates several reputable hosts files and merges them into a unified, optimized hosts file with duplicates removed.<br />
<br />
<img src="https://raw.githubusercontent.com/StevenBlack/hosts/master/aggregator.png" alt="aggregator" /><br />
<br />
Alternatively, users may choose from a number of host blocklist sources maintained by the<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://github.com/badmojr/1Hosts">badmojr/1Hosts</a><span class="emoji-tag">&nbsp;</span>GitHub project. These lists are compiled daily into Mini, Lite, Pro and Xtra versions depending on specific user needs. Refer to the<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://github.com/badmojr/1Hosts">GitHub project</a><span class="emoji-tag">&nbsp;</span>for an explanation of these different blocklists.<br />
<br />
In addition to blocking hosts, domain blocking gives us the ability to use wildcards with<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">dnsmasq</pre><span class="emoji-tag">&nbsp;</span>to block an entire domain (for example,<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">baddomain.org</pre>) with a single rule. This includes all known and unknown subdomains, such as<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">*.baddomain.org</pre>. Domain blocklists are provided by the<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://oisd.nl/">OISD</a><span class="emoji-tag">&nbsp;</span>project. Similar to hosts lists, these are continuously updated and curated into several lists: Small, Big and NSFW. Refer to the<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://oisd.nl/">OISD</a><span class="emoji-tag">&nbsp;</span>project for an explanation of these lists.<br />
<br />
--- Updating lists ---<br />
<br />
Each of the hosts and domains blocklists are updated daily, so it's a good practice to refresh them periodically. You can do this from the<span class="emoji-tag">&nbsp;</span><strong>Ad Blocking</strong><span class="emoji-tag">&nbsp;</span>management page in RaspAP. Simply select the list from the dropdown and choose<span class="emoji-tag">&nbsp;</span><strong>Update now</strong>.<br />
<br />
<img src="https://user-images.githubusercontent.com/229399/224507022-f71e9a8f-ad73-437b-81cd-c59b27ad3dc3.png" alt="224507022-f71e9a8f-ad73-437b-81cd-c59b27ad3dc3" /><br />
<br />
Next to the update button, a gear icon will appear to indicate that the selected list is being downloaded. Thereafter, a timestamp after each list will indicate when it was last updated.<br />
<br />
Note<span class="emoji-tag">&nbsp;</span>To apply the latest blocklists, be sure to<span class="emoji-tag">&nbsp;</span><strong>Restart Ad Blocking</strong>.<br />
<br />
---- Automatic updates ----<br />
<br />
Alternatively, you may wish to automate the process of keeping the ad block source lists up-to-date. A method to achieve this is described in<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/faq/#adblockauto">this FAQ</a>.<br />
<br />
--- Custom blocklist ---<br />
<br />
In addition to the notracking blocklists, you may create your own host blocklist by adding entries on the<span class="emoji-tag">&nbsp;</span><strong>Custom blocklist</strong><span class="emoji-tag">&nbsp;</span>tab. Define custom hosts to be blocked by entering an IPv4 or IPv6 address followed by any whitespace (spaces or tabs) and the host name. An IPv4 example would take the form<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">0.0.0.0 badhost.com</pre>. Choose<span class="emoji-tag">&nbsp;</span><strong>Save settings</strong><span class="emoji-tag">&nbsp;</span>and<span class="emoji-tag">&nbsp;</span><strong>Restart Ad Blocking</strong>.<br />
<br />
Note<br />
<br />
As the name suggests, this is effective at blocking individual hosts, but not entire domains (or subdomains).<br />
<br />
--- Enabling logging ---<br />
<br />
By default, DNS logging is disabled. If you'd like to see which hosts are being blocked, enable it on the<span class="emoji-tag">&nbsp;</span><strong>DHCP Server > Logging</strong><span class="emoji-tag">&nbsp;</span>tab by selecting the<span class="emoji-tag">&nbsp;</span><strong>Log DNS queries</strong><span class="emoji-tag">&nbsp;</span>toggle.<span class="emoji-tag">&nbsp;</span><strong>Save settings</strong><span class="emoji-tag">&nbsp;</span>and<span class="emoji-tag">&nbsp;</span><strong>Restart Ad Blocking</strong>. The<span class="emoji-tag">&nbsp;</span><strong>Logging</strong><span class="emoji-tag">&nbsp;</span>tab on the<span class="emoji-tag">&nbsp;</span><strong>Ad Blocking</strong><span class="emoji-tag">&nbsp;</span>page will display blacklisted DNS queries with host addresses of<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">0.0.0.0</pre>. A sample of blocked ad/tracker requests is below.<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">dnsmasq[9633]: config static.ads-twitter.com is 0.0.0.0
dnsmasq[9633]: config tag.bounceexchange.com is 0.0.0.0
dnsmasq[9633]: config cdn.boomtrain.com is 0.0.0.0
dnsmasq[9633]: config securepubads.g.doubleclick.net is 0.0.0.0
dnsmasq[9633]: config c.amazon-adsystem.com is 0.0.0.0
dnsmasq[9633]: config pixel.adsafeprotected.com is 0.0.0.0
dnsmasq[9633]: config ad.doubleclick.net is 0.0.0.0
dnsmasq[9633]: config www.summerhamster.com is 0.0.0.0
dnsmasq[9633]: config c2.taboola.com is 0.0.0.0
dnsmasq[9633]: config ads.servebom.com is 0.0.0.0
dnsmasq[9633]: config s.cpx.to is 0.0.0.0
dnsmasq[9633]: config pixel.quantserve.com is 0.0.0.0
dnsmasq[9633]: config cdn.taboola.com is 0.0.0.0
dnsmasq[9633]: config sdk.iad-01.braze.com is 0.0.0.0</pre></pre></div></div><br />
<br />
--- Disabling ad block ---<br />
<br />
To disable the ad blocking service, slide the<span class="emoji-tag">&nbsp;</span><strong>Enable blocklists</strong><span class="emoji-tag">&nbsp;</span>toggle to its off position, then choose<span class="emoji-tag">&nbsp;</span><strong>Save settings</strong>. You may then restart your hotspot for the changes to take effect.<br />
<br />
--- About blocklist policies ---<br />
<br />
The blocklist sources chosen for RaspAP adhere to these policies:<br />
<br />
<ul class="formatter-ul"><li class="formatter-li">Should not break useful websites or apps</li><li class="formatter-li">Blocks tracking servers</li><li class="formatter-li">Blocks advertising servers</li><li class="formatter-li">Blocks analytics servers</li><li class="formatter-li">Blocks scam websites</li><li class="formatter-li">Blocks malware servers</li><li class="formatter-li">Blocks webminers</li><li class="formatter-li">Blocks phishing servers</li></ul><br />
<br />
Users may tailor RaspAP's ad blocking to suit their needs by selecting from multiple blocklist sources. Furthermore, domain blocklists enable full use of domain name based wildcard filtering (for example,<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">*.baddomain.org</pre>). This reduces the chance of missing any new subdomains and significantly reduces the size of the blocklists.]]></description>
                <pubDate>Sun, 08 Nov 2026 14:23:29 +0100</pubDate>
                
            </item>
		
            <item>
                <title><![CDATA[Access point settings]]></title>
                <link>https://wiki2.softcloud.fr/wiki/access-point-settings</link>
                <guid>https://wiki2.softcloud.fr/wiki/access-point-settings</guid>
                <description><![CDATA[<h2 class="formatter-title wiki-paragraph-2" id="paragraph-basics">Basics</h2><br />

<br />
After running the<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/quick/">Quick installer</a><span class="emoji-tag">&nbsp;</span>or following the<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/manual/">manual installation</a><span class="emoji-tag">&nbsp;</span>steps, RaspAP will start up a routed wireless access point (AP) with a<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/defaults/">default configuration</a>. As part of this initial setup, the<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">hostapd</pre><span class="emoji-tag">&nbsp;</span>service broadcasts an AP with the following settings:<br />
<br />
<strong>Interface:</strong><span class="emoji-tag">&nbsp;</span><pre style="display:inline;">wlan0</pre><br />
<strong>SSID:</strong><span class="emoji-tag">&nbsp;</span><pre style="display:inline;">raspi-webgui</pre><br />
<strong>Wireless Mode:</strong><span class="emoji-tag">&nbsp;</span><pre style="display:inline;">802.11n - 2.4GHz</pre><br />
<strong>Channel:</strong><span class="emoji-tag">&nbsp;</span><pre style="display:inline;">1</pre><br />
<strong>Security Type:</strong><span class="emoji-tag">&nbsp;</span><pre style="display:inline;">WPA2</pre><br />
<strong>Encryption Type:</strong><span class="emoji-tag">&nbsp;</span><pre style="display:inline;">CCMP</pre><br />
<strong>Passphrase:</strong><span class="emoji-tag">&nbsp;</span><pre style="display:inline;">ChangeMe</pre><br />
<br />
Each of these settings may be changed on the<span class="emoji-tag">&nbsp;</span><strong>Hotspot > Basic</strong><span class="emoji-tag">&nbsp;</span>and<span class="emoji-tag">&nbsp;</span><strong>Security</strong><span class="emoji-tag">&nbsp;</span>tabs to any values you wish. Your changes will be applied and made visible on the broadcasted AP by choosing<span class="emoji-tag">&nbsp;</span><strong>Save settings</strong><span class="emoji-tag">&nbsp;</span>followed by<span class="emoji-tag">&nbsp;</span><strong>Restart hotspot</strong>.<br />
<br />
<img src="https://user-images.githubusercontent.com/229399/115685883-efc44900-a358-11eb-8b9b-95c1029a2cad.png" alt="115685883-efc44900-a358-11eb-8b9b-95c1029a2cad" /><br />
<br />
At this point, a dialog will appear to indicate the progress of the RaspAP service. This is a Linux<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">systemd</pre><span class="emoji-tag">&nbsp;</span>process that is responsible for starting up several network services in a specific order and timing.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-connecting-clients">Connecting clients</h2><br />

<br />
When the AP is operational, you may connect clients to it by using one of two methods:<br />
<br />
<ol class="formatter-ol"><li class="formatter-li">Select the SSID from the list of available networks on your device and enter the passphrase.</li><li class="formatter-li">Scan the QR code displayed on the<span class="emoji-tag">&nbsp;</span><strong>Hotspot > Security</strong><span class="emoji-tag">&nbsp;</span>tab and join the AP.</li></ol><br />
<br />
By default, clients are assigned IP addresses from the DHCP range<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">10.3.141.50 — 10.3.141.254</pre>. These values may be changed in the<span class="emoji-tag">&nbsp;</span><strong>DHCP options</strong><span class="emoji-tag">&nbsp;</span>section of the<span class="emoji-tag">&nbsp;</span><strong>DHCP server</strong><span class="emoji-tag">&nbsp;</span>settings UI. If for some reason a client is unable to obtain an IP address from your AP, consult<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/faq/#noip">this FAQ</a>.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-802-11ac-5-ghz">802.11ac 5 GHz</h2><br />

<br />
For devices with compatible wireless hardware, RaspAP<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://github.com/RaspAP/raspap-webgui/releases/tag/3.0">version 3.0</a><span class="emoji-tag">&nbsp;</span>largely removes the guesswork in creating a 5 GHz access point. It achieves this by being tightly integrated with the<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://wireless.wiki.kernel.org/en/developers/Regulatory/wireless-regdb">wireless regulatory database</a><span class="emoji-tag">&nbsp;</span>used by the Linux kernel. Behind the scenes, RaspAP queries<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">iw</pre><span class="emoji-tag">&nbsp;</span>and intelligently matches its output with the 5 GHz channels allowed by<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">hostapd</pre>, the user space daemon access point software.<br />
<br />
From the<span class="emoji-tag">&nbsp;</span><strong>Hotspot > Advanced</strong><span class="emoji-tag">&nbsp;</span>tab, select your country from the dropdown then choose<span class="emoji-tag">&nbsp;</span><strong>Save settings</strong>. This sets the wireless regulatory domain for your device. Now, on the<span class="emoji-tag">&nbsp;</span><strong>Hotspot > Basic</strong><span class="emoji-tag">&nbsp;</span>tab choose an interface and select the<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">802.11ac - 5 GHz</pre><span class="emoji-tag">&nbsp;</span>wireless mode option. RaspAP will automatically populate the available 5 GHz channels for your country. Select a channel followed by<span class="emoji-tag">&nbsp;</span><strong>Save settings</strong>, then<span class="emoji-tag">&nbsp;</span><strong>Start</strong><span class="emoji-tag">&nbsp;</span>or<span class="emoji-tag">&nbsp;</span><strong>Restart hotspot</strong>.<br />
<br />
Tip<br />
<br />
Not all AC channels may be compatible with your hardware. If your hotspot fails to start, enable<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">hostapd</pre><span class="emoji-tag">&nbsp;</span>service logging by sliding the<span class="emoji-tag">&nbsp;</span><strong>Logfile output</strong><span class="emoji-tag">&nbsp;</span>toggle on the<span class="emoji-tag">&nbsp;</span><strong>Hotspot > Logging</strong><span class="emoji-tag">&nbsp;</span>tab, followed by<span class="emoji-tag">&nbsp;</span><strong>Save settings</strong>, then<span class="emoji-tag">&nbsp;</span><strong>Restart hotspot</strong>. See<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/faq/#actroubleshoot">this FAQ</a><span class="emoji-tag">&nbsp;</span>for more assistance.<br />
<br />
If the<span class="emoji-tag">&nbsp;</span><strong>Channel</strong><span class="emoji-tag">&nbsp;</span>dropdown and<span class="emoji-tag">&nbsp;</span><strong>Save settings</strong><span class="emoji-tag">&nbsp;</span>button are disabled, refer to<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/faq/#channels">this FAQ</a>.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-security-settings">Security settings</h2><br />

<br />
WPA2 is currently the most secure standard utilizing AES (Advanced Encryption Standard) and a pre-shared key for authentication. WPA2 is also backwards compatible with TKIP to allow interoperability with legacy devices. AES uses the CCMP encryption protocol which is a stronger algorithm for message integrity and confidentiality.<br />
<br />
By default, RaspAP's access point is configured with WPA2 and CCMP encryption. You may of course change this to allow legacy clients (older mobile devices, for example) by selecting<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">TKIP+CCMP</pre><span class="emoji-tag">&nbsp;</span>as the encryption type. Choose<span class="emoji-tag">&nbsp;</span><strong>Save settings</strong><span class="emoji-tag">&nbsp;</span>and<span class="emoji-tag">&nbsp;</span><strong>Restart hotspot</strong><span class="emoji-tag">&nbsp;</span>for your changes to take effect.<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-wpa3-personal">WPA3-Personal</h3><br />

<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-experimental-?-insiders-only">Experimental · Insiders only</h3><br />

<br />
WPA3 is an improved encryption standard, thanks to Simultaneous Authentication of Equals (SAE) which replaces the Pre-Shared Key (PSK) authentication method used in prior WPA versions. WPA3-Personal allows for better password-based authentication even when using simple passphrases. In general, WPA3-Personal networks with simple passphrases are more difficult to crack by using brute-force, dictionary-based methods, as with WPA/WPA2.<br />
<br />
<img src="https://user-images.githubusercontent.com/229399/148420827-51b176de-182e-48eb-962d-2943a47c8549.png" alt="148420827-51b176de-182e-48eb-962d-2943a47c8549" /><br />
<br />
WPA3 also requires the use of Protected Management Frames (PMFs) to increase network security. If you wish to connect AP clients that may not have support for WPA3-Personal or PMFs, a transitional security mode is also available.<br />
<br />
Note<br />
<br />
The Raspberry Pi's onboard wireless chipsets do not currently support the WPA3 standard. For this reason, in order to use this setting you will need to configure your AP with an external wireless adapter that supports WPA3.<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-802-11w">802.11w</h3><br />

<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-experimental-?-insiders-only">Experimental · Insiders only</h3><br />

<br />
The 802.11w amendment was introduced as a way to secure Wi-Fi management frames against attacks by ensuring that these frames are legitimately exchanged between an AP and its clients, rather than a malicious third-party. These 802.11w Protected Management Frames (PMFs) can mitigate common types of "deauthentication" and "disassociation" attacks.<br />
<br />
Similar to WPA3-Personal, 802.11w may be configured in one of two modes: enabled and required.<span class="emoji-tag">&nbsp;</span><em>Enabled</em><span class="emoji-tag">&nbsp;</span>allows for mixed operation by allowing legacy devices that do not support 802.11w to associate while also allowing devices that support 802.11w to use the PMF features.<span class="emoji-tag">&nbsp;</span><em>Required</em><span class="emoji-tag">&nbsp;</span>will prevent clients that do not support 802.11w from associating with the SSID.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-drag-drop-widgets">Drag & drop widgets</h2><br />

<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-experimental-?-insiders-only">Experimental · Insiders only</h2><br />

<br />
The default dashboard layout may be customized to suit your needs. Enable this option from the<span class="emoji-tag">&nbsp;</span><strong>System > Theme</strong><span class="emoji-tag">&nbsp;</span>menu by selecting the<span class="emoji-tag">&nbsp;</span><strong>Dynamic widgets</strong><span class="emoji-tag">&nbsp;</span>toggle. Next, from the<span class="emoji-tag">&nbsp;</span><strong>Dashboard</strong> click or tap the<span class="emoji-tag">&nbsp;</span>icon to modify the widgets. Each widget may be resized, dragged and repositioned. Release the widget to drop it into a new location.<br />
<br />
Tip<br />
<br />
This option works best for large displays. The default dashboard widgets are optimized for mobile devices and smaller displays.<br />
<br />
Click or tap the icon a second time when you're done making changes. The new responsive dashboard layout will be saved to your browser's local storage.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-printable-signs">Printable signs</h2><br />

<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-experimental-?-insiders-only">Experimental · Insiders only</h2><br />

<br />
Beneath the QR code on the<span class="emoji-tag">&nbsp;</span><strong>Hotspot > Security</strong> tab, you will find a link to open a "Wi-Fi connect" sign suitable for printing. Click or tap the link after the<span class="emoji-tag">&nbsp;</span>printer icon to open a new window with your hotspot's QR code, SSID and password neatly formatted.<br />
<br />
<img src="https://user-images.githubusercontent.com/229399/148738058-dfe7ea04-d59b-460a-a8b8-f0fca15ef715.png" alt="148738058-dfe7ea04-d59b-460a-a8b8-f0fca15ef715" /><br />
<br />
To print, select<span class="emoji-tag">&nbsp;</span><strong>File > Print</strong><span class="emoji-tag">&nbsp;</span>from your browser's toolbar and adjust print preferences as needed. This feature can be especially useful if you operate a public wireless access point. You may also opt to integrate a<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/captive/">captive portal</a><span class="emoji-tag">&nbsp;</span>for your visitors.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-advanced-options">Advanced options</h2><br />

<br />
The above sections cover everything you will need for a basic routed AP. The<span class="emoji-tag">&nbsp;</span><strong>Hotspot > Advanced</strong><span class="emoji-tag">&nbsp;</span>tab has several options that allow you to control advanced settings for the Linux<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">hostapd</pre><span class="emoji-tag">&nbsp;</span>service. These are discussed in the following sections.<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-bridged-ap-mode">Bridged AP mode</h3><br />

<br />
If you wish to configure RaspAP as a<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/bridged/">bridged AP</a>, this may be done by sliding the<span class="emoji-tag">&nbsp;</span><strong>Bridged AP mode</strong><span class="emoji-tag">&nbsp;</span>toggle, saving settings and restarting the hotspot. Be aware that when the hotspot restarts you will no longer be able to access the web interface from the default<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">10.1.141.1</pre><span class="emoji-tag">&nbsp;</span>address. Refer to this<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/bridged/#accessing-the-web-interface">explanation and tips</a><span class="emoji-tag">&nbsp;</span>for administering your bridged AP.<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-wifi-client-ap-mode">WiFi client AP mode</h3><br />

<br />
RaspAP has support for this special mode, also known as a<span class="emoji-tag">&nbsp;</span><strong>micro-AP</strong><span class="emoji-tag">&nbsp;</span>or simply<span class="emoji-tag">&nbsp;</span><strong>AP-STA</strong>. Typically this can be difficult to configure manually, but RaspAP performs most of the config work behind the scenes for you.<br />
<br />
Note<br />
<br />
This option is disabled or "greyed out" until a wireless client is configured. This can be done via the<span class="emoji-tag">&nbsp;</span><strong>WiFi client</strong><span class="emoji-tag">&nbsp;</span>UI, or by manually<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/faq/#how-do-i-prepare-the-sd-card-to-connect-to-wifi-in-headless-mode">configuring a valid<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">wpa_supplicant.conf</pre></a>.<br />
<br />
Before using this mode, it is recommended that users familiarize themselves with<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/ap-sta/">how AP-STA works</a>. Users of AP-STA mode should also be aware of its limitations, and understand that performance and stability of this AP mode will not be equal to using a second wireless adapter bound to a separate interface. For the latter, refer to<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/faq/#can-i-use-wlan0-and-wlan1-rather-than-eth0-for-my-ap">this FAQ</a>.<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-beacon-interval">Beacon interval</h3><br />

<br />
Wireless APs continuously send beacon frames to indicate their presence, traffic load, and capabilities. The default<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">hostapd</pre><span class="emoji-tag">&nbsp;</span>beacon interval is 100ms. If desired, you may change this to any value between 15 and 65535.<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-disable-disassoc_low_ack">Disable disassoc_low_ack</h3><br />

<br />
An AP may disassociate a client due to inactivity, transmission failures or other indications of connection loss. This phenomenon can usually be observed in the<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">hostapd</pre><span class="emoji-tag">&nbsp;</span>logs like so:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">wlan0: AP-STA-DISCONNECTED 24:62:ab:fd:24:34
wlan0: STA 24:62:ab:fd:24:34 IEEE 802.11: disassociated
wlan0: STA 24:62:ab:fd:24:34 IEEE 802.11: deauthenticated due to inactivity (timer DEAUTH/REMOVE)</pre></pre></div></div><br />
<br />
This option sets the<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">disassoc_low_ack</pre><span class="emoji-tag">&nbsp;</span>boolean value for<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">hostapd</pre>. Be aware that this value is dependent on driver capabilities. Moreover,<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">hostapd</pre><span class="emoji-tag">&nbsp;</span>may disassociate a client (or station) for a variety of reasons, so this is not a silver bullet.<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-transmit-power">Transmit power</h3><br />

<br />
RaspAP allows you to control the transmit power of the configured AP interface. The default "auto" setting will suffice for the vast majority of APs. A lower<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">txpower</pre><span class="emoji-tag">&nbsp;</span>value can be useful to mitigate WiFi radio interference, for example if you are hosting multiple APs in a given area. It can also be advantageous to set<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">txpower</pre><span class="emoji-tag">&nbsp;</span>to a lower value in IoT or similar applications where reduced power consumption is needed.<br />
<br />
<img src="https://user-images.githubusercontent.com/229399/115698577-0f616e80-a365-11eb-80e5-404527ca7bdb.png" alt="115698577-0f616e80-a365-11eb-80e5-404527ca7bdb" /><br />
<br />
Set the transmit power by selecting a value from the dropdown and choosing<span class="emoji-tag">&nbsp;</span><strong>Save settings</strong>. The transmit power setting is expressed as dBm, or decibels (dB) with reference to one milliwatt (mW). It is not necessary to restart the AP for this to take effect.<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-maximum-number-of-clients">Maximum number of clients</h3><br />

<br />
This option sets the<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">max_num_sta</pre><span class="emoji-tag">&nbsp;</span>value for<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">hostapd</pre>, and is effective for placing a limit on the number of clients (stations) that can connect to your AP. When the limit is reached, new client connections will be rejected.<br />
<br />
Note<br />
<br />
The default setting is 2007, but this is merely the value set by<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">hostapd</pre><span class="emoji-tag">&nbsp;</span>from the IEEE 802.11 specification. It should<span class="emoji-tag">&nbsp;</span><em>not</em><span class="emoji-tag">&nbsp;</span>be interpreted as a guarantee that RaspAP can support this many simultaneous clients. In practice, this number depends on several factors and is a much lower value, as discussed in<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/faq/#maxclients">this FAQ</a>.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-troubleshooting">Troubleshooting</h2><br />

<br />
RaspAP gives you advanced control over several Linux networking-related services. As a result, your AP may fail to start for a variety of reasons. You may also encounter errors connecting clients to the AP, have no internet on AP clients, or observe clients being disconnected from the AP for no apparent reason.<br />
<br />
If any of the above happens, one of the best diagnostic tools at your disposal is RaspAP's built-in service logging facility. You may enable the<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">hostapd</pre><span class="emoji-tag">&nbsp;</span>service log by sliding the<span class="emoji-tag">&nbsp;</span><strong>Logfile output</strong><span class="emoji-tag">&nbsp;</span>toggle on the<span class="emoji-tag">&nbsp;</span><strong>Hotspot > Logging</strong><span class="emoji-tag">&nbsp;</span>tab and choosing<span class="emoji-tag">&nbsp;</span><strong>Save settings</strong>. Finally, choose<span class="emoji-tag">&nbsp;</span><strong>Restart hotspot</strong><span class="emoji-tag">&nbsp;</span>and check the log output.<br />
<br />
<img src="https://user-images.githubusercontent.com/229399/116439036-5c56b080-a84f-11eb-87ee-318932347daf.png" alt="116439036-5c56b080-a84f-11eb-87ee-318932347daf" /><br />
<br />
Similarly, you may also enable DHCP server activity by sliding either of the two logging options on the<span class="emoji-tag">&nbsp;</span><strong>DHCP server > Logging</strong><span class="emoji-tag">&nbsp;</span>tab.<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-debug-log">Debug log</h3><br />

<br />
In some situations, you may need more comprehensive information to self-diagnose a problem. RaspAP lets you generate a debug log with a detailed summary of your system including the installed OS, Linux kernel version, attached USB devices, RaspAP settings, network configuration and current state of several AP-related services.<br />
<br />
<a class="offload" href="https://github.com/RaspAP/raspap-webgui/assets/229399/66bf5cb5-3d77-44aa-92b8-5ebca6f003ad">[Image]</a><br />
<br />
To create this log, simply click or tap on the<span class="emoji-tag">&nbsp;</span><strong>Generate debug log</strong><span class="emoji-tag">&nbsp;</span>button from the<span class="emoji-tag">&nbsp;</span><strong>System > Tools</strong><span class="emoji-tag">&nbsp;</span>tab. You will be prompted to choose a location to store the generated<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">raspap_debug.log</pre><span class="emoji-tag">&nbsp;</span>file on your local computer or mobile device. An example portion of RaspAP's debug log is shown below:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">System Info
===========
Hardware: Raspberry Pi 3 Model B Rev 1.2
Detected OS: Debian GNU/Linux 12 (bookworm) 64-bit
Kernel: Linux raspberrypi 6.1.0-rpi4-rpi-v8 (2023-10-05) aarch64 GNU/Linux
System Uptime: 4 days, 20 hours, 45 minutes
Memory Usage: 29.0749%
&nbsp;
Installed Packages
==================
PHP Version: 8.2.7 (cli) (built: Jun  9 2023 19:37:27) (NTS)
Dnsmasq Version: 2.89
dhcpcd Version: 9.4.1
lighttpd Version: 1.4.69
vnStat Version: 2.10
&nbsp;
RaspAP Install
==============
RaspAP Version: 2.9.9
RaspAP Installation Directory: /var/www/html
RaspAP hostapd.ini contents:
WifiInterface = wlan0</pre></pre></div></div><br />
<br />
Tip<br />
<br />
If you are unable to perform a self-diagnosis and would like to share your debug log (or a portion of it) with another party, upload it to<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://pastebin.com/">Pastebin</a><span class="emoji-tag">&nbsp;</span>or<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://paste.ubuntu.com/">Ubuntu Pastebin</a>. Please don't paste the log in its entirety to RaspAP's discussions, issues or other support channels.<br />
<br />
RaspAP's debug log contains information about your system and local network configuration. However, no passwords or other senstive data are included.<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-diagnosing-problems">Diagnosing problems</h3><br />

<br />
Look for any reported errors logged by the<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">hostapd</pre>,<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">dhcpcd</pre><span class="emoji-tag">&nbsp;</span>or<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">dnsmasq</pre><span class="emoji-tag">&nbsp;</span>services. In most cases, errors thrown by one or more of these services have been discussed in various online forums. Start by searching the official<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://www.raspberrypi.org/forums/">Raspberry Pi forums</a><span class="emoji-tag">&nbsp;</span>or<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://raspberrypi.stackexchange.com/">Raspberry Pi on Stack Exchange</a>. Chances are the problems with your AP have been discussed and answered before.<br />
<br />
For additional help and advice, the<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/faq/">FAQ</a><span class="emoji-tag">&nbsp;</span>is a rich source of troubleshooting info that is continuously updated with answers to the most commonly asked questions. For issues not covered in the FAQ, you may find many topics in<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://github.com/RaspAP/raspap-webgui/discussions">RaspAP discussions</a><span class="emoji-tag">&nbsp;</span>and the<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://reddit.com/r/RaspAP">RaspAP subreddit</a>.<br />
<br />
Tip<br />
<br />
Capture output from the Linux kernel's message buffer with<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">dmesg</pre><span class="emoji-tag">&nbsp;</span>to help diagnose failure events. Read the last 100 lines with<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">dmesg | tail -100</pre><span class="emoji-tag">&nbsp;</span>and look for any anomalies.<br />
<br />
The performance of WiFi radios may be impacted by many factors, including, but not limited to:<br />
<br />
<ol class="formatter-ol"><li class="formatter-li">Undervoltage due to inadequate power or too many peripherals connected to the USB bus</li><li class="formatter-li">Interference from a poorly shielded HDMI cable or using a<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://www.enricozini.org/blog/2019/himblick/raspberry-pi-4-loses-wifi-at-2560x1440-screen-resolution/">specific HDMI screen resolution</a></li><li class="formatter-li">RF interference from overlapping WiFi networks on a crowded 2.4 GHz band.</li></ol><br />
<br />
Bear these things in mind if your AP exhibits unexpected behavior and do your best to mitigate them.<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-reverting-to-base-settings">Reverting to base settings</h3><br />

<br />
It is generally advisable to begin with RaspAP's<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/defaults/">default configuration</a>, which has been rigorously tested and validated with the project's<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/#compatible-operating-systems">supported operating systems</a>. If, after modifying RaspAP's default settings, your AP no longer functions as expected, you may perform a<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/defaults/#restoring-settings">system reset</a><span class="emoji-tag">&nbsp;</span>to restore these defaults.<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-accessing-backups">Accessing backups</h3><br />

<br />
Each time you revert to RaspAP's base settings, your existing service configuration files are automatically backed up to<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">/etc/raspap/backups</pre>. In this way, you can compare differences between your files and the default configuration, if needed. There are many ways to do this in Linux, such as using the built-in GNU<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">diff</pre><span class="emoji-tag">&nbsp;</span>tool. Another option is to install<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">colordiff</pre>, a wrapper for diff that produces the same output but with colored syntax highligting. Install<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">colordiff</pre><span class="emoji-tag">&nbsp;</span>with<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">sudo apt-get install colordiff</pre>.<br />
<br />
Similarly, the web files located in the default<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">/var/www/html</pre><span class="emoji-tag">&nbsp;</span>root are backed up to<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">/var/www</pre> in a directory named with a timestamp. Therefore, any changes you've made to RaspAP's internals are preserved.]]></description>
                <pubDate>Sun, 08 Nov 2026 14:23:29 +0100</pubDate>
                
            </item>
		
            <item>
                <title><![CDATA[AP-STA mode]]></title>
                <link>https://wiki2.softcloud.fr/wiki/ap-sta-mode</link>
                <guid>https://wiki2.softcloud.fr/wiki/ap-sta-mode</guid>
                <description><![CDATA[<h2 class="formatter-title wiki-paragraph-2" id="paragraph-overview-experimental-unsupported">Overview Experimental (Unsupported)</h2><br />

<br />
This walkthrough describes an installation of RaspAP on the<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://www.raspberrypi.com/products/raspberry-pi-zero-w/">Raspberry Pi Zero W</a><span class="emoji-tag">&nbsp;</span>or<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://www.raspberrypi.com/products/raspberry-pi-zero-2-w/">Zero 2 W</a><span class="emoji-tag">&nbsp;</span>models. However, the same steps apply to any device with a chipset capable of supporting this mode.<br />
<br />
A managed mode AP, variously known as<span class="emoji-tag">&nbsp;</span><strong>WiFi client AP mode</strong>, a<span class="emoji-tag">&nbsp;</span><strong>micro-AP</strong><span class="emoji-tag">&nbsp;</span>or simply<span class="emoji-tag">&nbsp;</span><strong>AP-STA</strong>,<span class="emoji-tag">&nbsp;</span><em>usually</em><span class="emoji-tag">&nbsp;</span>works with the Quick Installer if the steps below are followed carefully. This feature was added to RaspAP specifically to support Internet of Things (IoT) and embedded applications for the Pi Zero W, however it is equally useful for a broad range of projects.<br />
<br />
Disclaimer<br />
<br />
This mode is<span class="emoji-tag">&nbsp;</span><em>completely unsupported</em><span class="emoji-tag">&nbsp;</span>and should be used for educational purposes only. If you need a reliable solution with an access point (AP) and wireless client (STA) on the same device, buy a second Wi-Fi adapter and follow<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/faq/#interfaces">this FAQ</a><span class="emoji-tag">&nbsp;</span>instead.<br />
<br />
<a class="offload" href="https://github.com/RaspAP/raspap-webgui/assets/229399/d9adadde-9e96-4281-9978-4150f03026f2">[Image]</a><br />
<br />
Before proceeding with the installation, it's important to have a basic understanding of how AP-STA works.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-what-is-ap-sta-modee">What is AP-STA mode?</h2><br />

<br />
Many wireless devices support<span class="emoji-tag">&nbsp;</span><em>simultaneous</em><span class="emoji-tag">&nbsp;</span>operation as both an access point (AP) and as a wireless client/station (STA). This is sometimes called Wi-Fi AP/STA concurrency. In this configuration, it is possible to create a software AP acting as a<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/repeater/">wireless repeater</a><span class="emoji-tag">&nbsp;</span>for an existing network, using a single wireless device. This capability is listed in the following section in the output of<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">iw list</pre>:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">$ iw list | grep -A 4 'valid interface'
valid interface combinations:
* #{ managed } <= 1, #{ P2P-device } <= 1, #{ P2P-client, P2P-GO } <= 1,
total <= 3, #channels <= 2
* #{ managed } <= 1, #{ AP } <= 1, #{ P2P-client } <= 1, #{ P2P-device } <= 1,
total <= 4, #channels <= 1</pre></pre></div></div><br />
<br />
The second valid interface combination indicates that both a<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">managed</pre><span class="emoji-tag">&nbsp;</span>and<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">AP</pre><span class="emoji-tag">&nbsp;</span>configuration is possible. The constraint<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">#channels <= 1</pre><span class="emoji-tag">&nbsp;</span>means that your software AP must operate on the same channel as your Wi-Fi client connection.<br />
<br />
Note<br />
<br />
If you have a second wireless adapter bound to<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">wlan1</pre><span class="emoji-tag">&nbsp;</span>on a Pi Zero W (or other device), refer to<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/faq/#interfaces">this FAQ</a>.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-use-cases">Use cases</h2><br />

<br />
There are many scenarios in which AP-STA mode might be useful. These are some of the more popular ones:<br />
<br />
<ol class="formatter-ol"><li class="formatter-li">A device that connects to a wireless AP but needs an admin interface to configure the network and/or other services.</li><li class="formatter-li">A hub for Internet of Things devices, while also creating a bridge between them and the internet.</li><li class="formatter-li">A guest interface to your home wireless network.</li></ol><br />
<br />
Security is an important consideration with IoT and it can be beneficial to keep your devices on a separate network, for safety&#8217;s sake. No one wants a random internet user turning your lights on and off.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-how-does-ap-sta-worke">How does AP-STA work?</h2><br />

<br />
In this configuration, we create a virtual network interface (here<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">uap0</pre>) and add it as the AP to the physical<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">wlan0</pre><span class="emoji-tag">&nbsp;</span>device. This virtual interface is used by several of the services needed to operate a software access point. RaspAP manages these configurations in the background for you. Relevant sections are displayed below as examples.<br />
<br />
<pre style="display:inline;">dhcpcd.conf</pre>:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;"># RaspAP uap0 configuration
interface uap0
static ip_address=192.168.50.1/24
nohook wpa_supplicant</pre></pre></div></div><br />
<br />
<pre style="display:inline;">hostapd.conf</pre>:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;"># RaspAP wireless client AP mode
interface=uap0</pre></pre></div></div><br />
<br />
<pre style="display:inline;">dnsmasq.conf</pre>:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;"># RaspAP uap0 configuration
interface=lo,uap0               # Use interfaces lo and uap0
bind-interfaces                 # Bind to the interfaces
domain-needed                   # Don't forward short names
bogus-priv                      # Never forward addresses in the non-routed address spaces</pre></pre></div></div><br />
<br />
On AP-STA startup and system reboots, RaspAP's service control script adds the virtual<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">uap0</pre><span class="emoji-tag">&nbsp;</span>interface and brings it up, like so:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">iw dev wlan0 interface add uap0 type __ap
ifconfig uap0 up</pre></pre></div></div><br />
<br />
After the virtual<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">uap0</pre><span class="emoji-tag">&nbsp;</span>interface is added to the<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">wlan0</pre><span class="emoji-tag">&nbsp;</span>physical device, we can then start up<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">hostapd</pre>. It is important that the virtual interface is brought up first, otherwise it will fail with the message "could not configure driver mode". We also need to be sure that the interface is not managed by<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">systemd-networkd</pre>, so this service should be disabled. These steps are handled by the<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/faq/#raspap-service">RaspAP daemon</a>.<br />
<br />
With a basic understanding of AP-STA mode, we can proceed with the installation.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-installation">Installation</h2><br />

<br />
<ol class="formatter-ol"><li class="formatter-li">Begin by flashing an SD card with the latest release of<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://www.raspberrypi.com/software/operating-systems/">Raspberry Pi OS (32- or 64-bit) Lite</a>.</li><li class="formatter-li">Prepare the SD card to connect to your WiFi network in headless mode<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/faq/#headless">according to this FAQ</a>.</li><li class="formatter-li">Enable<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">ssh</pre><span class="emoji-tag">&nbsp;</span>access by creating an empty file called "ssh" (no extension) in the SD card's root.</li><li class="formatter-li">Insert the SD card into the Pi Zero W and connect it to power.<span class="emoji-tag">&nbsp;</span><strong>Note:</strong><span class="emoji-tag">&nbsp;</span>the standard power supply for the Raspberry Pi is 5.1V @ 2.5A. Other power sources may result in undervoltage or other issues. Do<span class="emoji-tag">&nbsp;</span><em>not</em><span class="emoji-tag">&nbsp;</span>use the micro USB connection.</li><li class="formatter-li">Connect to your Pi via ssh.<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">ssh pi@raspberrypi.local</pre><span class="emoji-tag">&nbsp;</span>is typical.</li><li class="formatter-li">Follow the<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/#quick-start">project prerequisites</a><span class="emoji-tag">&nbsp;</span>exactly. Do<span class="emoji-tag">&nbsp;</span><em>not</em><span class="emoji-tag">&nbsp;</span>skip any of these steps.</li><li class="formatter-li">Invoke the<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/quick/">Quick Installer</a><span class="emoji-tag">&nbsp;</span>as normal:<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">curl -sL https://install.raspap.com | bash</pre>.</li><li class="formatter-li">The installer automatically detects a Pi (or other device) without an active<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">eth0</pre><span class="emoji-tag">&nbsp;</span>interface. In this case, you will<span class="emoji-tag">&nbsp;</span><em>not</em><span class="emoji-tag">&nbsp;</span>be prompted to reboot your Pi.</li><li class="formatter-li">Open the RaspAP admin interface in your browser, usually<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">http://raspberrypi.local</pre>.</li><li class="formatter-li">The status widget should indicate that hostapd is inactive. This is expected.</li><li class="formatter-li">Confirm that the<span class="emoji-tag">&nbsp;</span><strong>Wireless Client</strong><span class="emoji-tag">&nbsp;</span>dashboard widget displays an active connection.</li><li class="formatter-li">Choose<span class="emoji-tag">&nbsp;</span><strong>Hotspot > Advanced</strong><span class="emoji-tag">&nbsp;</span>and enable the<span class="emoji-tag">&nbsp;</span><strong>WiFi client AP mode</strong><span class="emoji-tag">&nbsp;</span>option.</li><li class="formatter-li">Optionally, enable<span class="emoji-tag">&nbsp;</span><strong>Logfile output</strong><span class="emoji-tag">&nbsp;</span>as this is often helpful for troubleshooting.</li><li class="formatter-li">Choose<span class="emoji-tag">&nbsp;</span><strong>Save settings</strong><span class="emoji-tag">&nbsp;</span>and<span class="emoji-tag">&nbsp;</span><strong>Start hotspot</strong>.</li><li class="formatter-li">Wait a few moments and confirm that your AP has started.</li></ol><br />
<br />
<img src="https://user-images.githubusercontent.com/229399/224536460-b4c3550f-7cbb-4b47-8230-fc7be74fd69c.png" alt="224536460-b4c3550f-7cbb-4b47-8230-fc7be74fd69c" /><br />
<br />
Note<br />
<br />
The<span class="emoji-tag">&nbsp;</span><strong>WiFi client AP mode</strong><span class="emoji-tag">&nbsp;</span>option will be disabled, or "greyed out", until a wireless client is configured.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-when-to-reboote">When to reboot?</h2><br />

<br />
Rebooting<span class="emoji-tag">&nbsp;</span><em>before</em><span class="emoji-tag">&nbsp;</span>configuring AP-STA mode is likely the main cause of problems for users with the Pi Zero W. The reason is the<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/defaults/">default configuration</a><span class="emoji-tag">&nbsp;</span>is designed for a wired (ethernet) AP.<br />
<br />
Once the Pi Zero W is configured in AP-STA mode, RaspAP will store several values in<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">/etc/raspap/hostapd.ini</pre>:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">LogEnable = 1
WifiAPEnable = 1
BridgedEnable = 0
WifiManaged = wlan0</pre></pre></div></div><br />
<br />
These are used by RaspAP's<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/faq/#raspap-service">systemd control service</a><span class="emoji-tag">&nbsp;</span><pre style="display:inline;">raspapd</pre><span class="emoji-tag">&nbsp;</span>to determine that a managed mode AP is enabled for the Pi and restore the connection after subsequent reboots.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-changing-hostapd-settings">Changing hostapd settings</h2><br />

<br />
Changes to the hotspot configuration should be applied to the<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">wlan0</pre><span class="emoji-tag">&nbsp;</span>physical device, not<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">uap0</pre><span class="emoji-tag">&nbsp;</span>(a virtual interface). In other words, if you wish to change<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">hostapd</pre><span class="emoji-tag">&nbsp;</span>settings, stop the hotspot, disable AP-STA, make your config changes on<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">wlan0</pre>, re-enable AP-STA and finally restart hostapd. An explanation is available<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://github.com/RaspAP/raspap-webgui/issues/752#issuecomment-757448664">here</a>.]]></description>
                <pubDate>Sun, 08 Nov 2026 14:23:29 +0100</pubDate>
                
            </item>
		
            <item>
                <title><![CDATA[Bridged AP mode]]></title>
                <link>https://wiki2.softcloud.fr/wiki/bridged-ap-mode</link>
                <guid>https://wiki2.softcloud.fr/wiki/bridged-ap-mode</guid>
                <description><![CDATA[<h2 class="formatter-title wiki-paragraph-2" id="paragraph-overview">Overview</h2><br />

<br />
By default RaspAP configures a routed AP as its hotspot, where your RPi creates a subnet and assigns IP addresses to its hotspot clients. If you would rather have your upstream router assign IP addresses, RaspAP lets you change the hotspot configuration to an alternative bridged AP. This is also useful if you want your RPi and its hotspot clients to be visible to other devices in your router's network.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-toggling-bridged-ap-mode">Toggling bridged AP mode</h2><br />

<br />
In the RaspAP web interface, go to<span class="emoji-tag">&nbsp;</span><strong>Hotspot</strong><span class="emoji-tag">&nbsp;</span>><span class="emoji-tag">&nbsp;</span><strong>Advanced</strong><span class="emoji-tag">&nbsp;</span>tab, then slide the<span class="emoji-tag">&nbsp;</span><strong>Bridged AP mode</strong><span class="emoji-tag">&nbsp;</span>toggle.<span class="emoji-tag">&nbsp;</span><strong>Save settings</strong><span class="emoji-tag">&nbsp;</span>then<span class="emoji-tag">&nbsp;</span><strong>Restart hotspot</strong>.<br />
<br />
<img src="https://user-images.githubusercontent.com/229399/224494216-af49936e-feb3-4932-b987-34505f0f54a7.png" alt="224494216-af49936e-feb3-4932-b987-34505f0f54a7" /><br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-limitations">Limitations</h2><br />

<br />
Bridged AP mode has some limitations compared to RaspAP's default routed AP.<br />
<br />
On the<span class="emoji-tag">&nbsp;</span><strong>Hotspot</strong><span class="emoji-tag">&nbsp;</span>><span class="emoji-tag">&nbsp;</span><strong>Advanced</strong><span class="emoji-tag">&nbsp;</span>tab the<span class="emoji-tag">&nbsp;</span><strong>Wifi Client AP</strong><span class="emoji-tag">&nbsp;</span>mode option is disabled. Your RPi cannot connect as a client to another Wifi network while simultaneously hosting its own bridged AP (hotspot).<br />
<br />
The<span class="emoji-tag">&nbsp;</span><strong>DHCP Server</strong><span class="emoji-tag">&nbsp;</span>page is disabled. The reason for this is in bridged AP mode, your upstream router is the DHCP server. Use your router's web interface to configure DHCP settings.<br />
<br />
Clients connected to a bridged AP with<span class="emoji-tag">&nbsp;</span><strong>OpenVPN</strong><span class="emoji-tag">&nbsp;</span>enabled will not have their traffic routed through the VPN server. Your RPi itself will still have its own traffic routed through the VPN server.<br />
<br />
Note<br />
<br />
Bridged AP mode is not currently supported on Ubuntu Server.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-accessing-the-web-interface">Accessing the web interface</h2><br />

<br />
In bridged AP mode, you will no longer be able to access RaspAP's web interface using the default 10.3.141.1 address. This is because your RPi no longer creates its own 10.3.141.0/24 subnet for its hotspot. Instead, access RaspAP's web interface by entering your RPi's hostname followed by<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">.local</pre>. By default this will look like<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">raspberrypi.local</pre>.<br />
<br />
Some browsers have trouble resolving<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">.local</pre><span class="emoji-tag">&nbsp;</span>addresses. You might have to modify the address depending on your browser:<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">http://raspberrypi.local</pre><span class="emoji-tag">&nbsp;</span>or<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">raspberrypi.local/</pre>.<br />
<br />
If the above methods don't work, the<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">nmap</pre><span class="emoji-tag">&nbsp;</span>command (Network Mapper) can be used to scan your subnet for devices connected to your network. For example, invoke<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">nmap</pre><span class="emoji-tag">&nbsp;</span>with the<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">-sn</pre><span class="emoji-tag">&nbsp;</span>flag (ping scan) on your subnet range:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">nmap -sn 192.168.1.0/24</pre></pre></div></div><br />
<br />
This scan pings all the IP addresses in a subnet to see if they respond. For each device that responds to the ping, the output will show the hostname and IP address like so:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">Starting Nmap 7.80 ( https://nmap.org ) at 2021-01-23 10:04 CET
Nmap scan report for iPhone 192.168.1.31
Host is up (0.037s latency).
Nmap scan report for raspberrypi 192.168.1.8
Host is up (0.031s latency).
Nmap scan report for Chromecast 192.168.1.45
Host is up (0.0015s latency).
Nmap scan report for mbp15 192.168.1.48
Host is up (0.074s latency).
Nmap done: 256 IP addresses (4 hosts up) scanned in 6.08 seconds</pre></pre></div></div><br />
<br />
More information on finding your RPi's IP address can be found<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://www.raspberrypi.org/documentation/remote-access/ip-address.md">here</a>.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-troubleshooting">Troubleshooting</h2><br />

<br />
If you are unable to connect clients to your bridged AP, start by following the recommendations in<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/faq/#bridged">this FAQ</a>. Client connectivity issues in bridged AP mode are most often the result of your router, not RaspAP. Check your router's web interface and DHCP settings<span class="emoji-tag">&nbsp;</span><em>before</em> reporting a bug.]]></description>
                <pubDate>Sun, 08 Nov 2026 14:23:29 +0100</pubDate>
                
            </item>
		
            <item>
                <title><![CDATA[Default settings]]></title>
                <link>https://wiki2.softcloud.fr/wiki/default-settings</link>
                <guid>https://wiki2.softcloud.fr/wiki/default-settings</guid>
                <description><![CDATA[<h2 class="formatter-title wiki-paragraph-2" id="paragraph-overview">Overview</h2><br />

<br />
Creating a software routed access point (AP) requires the installation and setup of several related Linux services. RaspAP uses a known-good default configuration as a starting point. This facilitates a faster setup by not prompting the user for various network settings during the installation. More importantly, it eliminates guesswork that can lead to conflicts down the road. When the<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/manual/">manual</a><span class="emoji-tag">&nbsp;</span>or<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/quick/">quick installation</a><span class="emoji-tag">&nbsp;</span>is completed, you will have a functional AP that you may then administer with RaspAP's web interface.<br />
<br />
While this project handles every facet of this process for you, it's still recommended that users familiarize themselves with the<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://www.raspberrypi.com/documentation/computers/configuration.html#setting-up-a-routed-wireless-access-point">steps involved</a><span class="emoji-tag">&nbsp;</span>in building a software AP from start to finish.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-configuration-directory">Configuration directory</h2><br />

<br />
To every extent possible, RaspAP's default settings are contained within the project's<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">/config</pre><span class="emoji-tag">&nbsp;</span>folder. The networking defaults, DNS servers, wireless regulatory data and so on are found here. In this way, the user may modify RaspAP's baseline application settings without touching code.<br />
<br />
The exception to this is<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">hostapd.conf</pre><span class="emoji-tag">&nbsp;</span>which is managed by<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">includes/hostapd.php</pre><span class="emoji-tag">&nbsp;</span>and effectively rewritten depending on user input. This is due to the<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://w1.fi/cgit/hostap/plain/hostapd/hostapd.conf">complexity of this configuration</a><span class="emoji-tag">&nbsp;</span>relative to other services managed by the project. For this reason, manual edits to this file will not be preserved.<br />
<br />
Baseline configurations for<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">dhcpcd</pre>,<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">dnsmasq</pre><span class="emoji-tag">&nbsp;</span>(described below) and bridged AP configurations are contained here.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-managing-config-values">Managing config values</h2><br />

<br />
The interface itself, default Linux file paths and so on may be changed by modifying the project's configuration file<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">config.php</pre>.<br />
<br />
Note<br />
<br />
The file<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">config/config.php</pre><span class="emoji-tag">&nbsp;</span>is copied during the installation to<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">includes/config.php</pre><span class="emoji-tag">&nbsp;</span>and ignored by Git. This way, users can modify<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">includes/config.php</pre><span class="emoji-tag">&nbsp;</span>without<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">git pull</pre><span class="emoji-tag">&nbsp;</span>or upgrades complaining about local changes. The file<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">includes/defaults.php</pre><span class="emoji-tag">&nbsp;</span>loads corresponding default values if they are not set.<br />
<br />
For example, you can change the brand text that appears in the interface header simply by modifying the value of this constant:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">define('RASPI_BRAND_TEXT', 'RaspAP');</pre></pre></div></div><br />
<br />
RaspAP's interface may be further customized by changing the following values:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">// Optional services, set to true to enable.
define('RASPI_WIFICLIENT_ENABLED', true);
define('RASPI_HOTSPOT_ENABLED', true);
define('RASPI_NETWORK_ENABLED', true);
define('RASPI_DHCP_ENABLED', true);
define('RASPI_ADBLOCK_ENABLED', false);
define('RASPI_OPENVPN_ENABLED', false);
define('RASPI_WIREGUARD_ENABLED', false);
define('RASPI_TORPROXY_ENABLED', false);
define('RASPI_CONFAUTH_ENABLED', true);
define('RASPI_CHANGETHEME_ENABLED', true);
define('RASPI_VNSTAT_ENABLED', true);
define('RASPI_SYSTEM_ENABLED', true);
define('RASPI_MONITOR_ENABLED', false);</pre></pre></div></div><br />
<br />
The constants defined for Linux configuration file paths are typical and needn't be changed, in most cases. However, you could easily do so simply by modifying this file.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-networking-defaults">Networking defaults</h2><br />

<br />
The default AP interface used by RaspAP is<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">wlan0</pre>. This is a typical setting if you are using the RPi's onboard wireless adapter. You can change this to a different interface by modifying the following value in<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">config.php</pre>:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">define('RASPI_WIFI_AP_INTERFACE', 'wlan0');</pre></pre></div></div><br />
<br />
Info<br />
<br />
If a second wireless adapter is configured for your device, for example bound to the<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">wlan1</pre><span class="emoji-tag">&nbsp;</span>interface, RaspAP will automatically detect it and assign it as the default<br />
<br />
wireless client interface. You may change this setting simply by selecting<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">wlan1</pre><span class="emoji-tag">&nbsp;</span>as the AP interface in the<span class="emoji-tag">&nbsp;</span><strong>Hotspot > Basic</strong><span class="emoji-tag">&nbsp;</span>panel. After restarting the hotspot, RaspAP will use<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">wlan0</pre><span class="emoji-tag">&nbsp;</span>as the client interface.<br />
<br />
Default values for the<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">dnsmasq</pre><span class="emoji-tag">&nbsp;</span>and<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">dhcpcd</pre><span class="emoji-tag">&nbsp;</span>services can be modified as well. The file<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">config/defaults.json</pre><span class="emoji-tag">&nbsp;</span>was introduced with the<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://github.com/RaspAP/raspap-webgui/releases/tag/2.6">version 2.6 release</a>. This file is copied during the installation to<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">/etc/raspap/networking/</pre>, so any changes to it must be made here.<br />
<br />
The<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">defaults.json</pre><span class="emoji-tag">&nbsp;</span>file uses the standard JSON data-interchange format. For example, the default<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">dhcp</pre><span class="emoji-tag">&nbsp;</span>settings for<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">wlan0</pre><span class="emoji-tag">&nbsp;</span>are displayed below:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">"dhcp": {
"wlan0": {
"static ip_address": [ "10.3.141.1/24" ],
"static routers": [ "10.3.141.1" ],
"static domain_name_server": [ "1.1.1.1 8.8.8.8" ],
"subnetmask": [ "255.255.255.0" ]
}</pre></pre></div></div><br />
<br />
Likewise, the DHCP ranges for both<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">wlan0</pre><span class="emoji-tag">&nbsp;</span>and the virtual<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">uap0</pre><span class="emoji-tag">&nbsp;</span>interface are shown below:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">"dnsmasq": {
"wlan0": {
"dhcp-range": [ "10.3.141.50,10.3.141.254,255.255.255.0,12h" ]
},
"uap0": {
"dhcp-range": [ "192.168.50.50,192.168.50.150,12h" ]
}</pre></pre></div></div><br />
<br />
These default settings are defined as fallback values. That is, if a user-defined value is missing these will be used in their place.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-dns-servers">DNS servers</h2><br />

<br />
The list of hosted DNS servers available in the<span class="emoji-tag">&nbsp;</span><strong>Upstream DNS servers</strong><span class="emoji-tag">&nbsp;</span>panel in<span class="emoji-tag">&nbsp;</span><strong>DHCP > Advanced</strong><span class="emoji-tag">&nbsp;</span>may be modified to suit your needs. The file<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">config/dns-servers.json</pre><span class="emoji-tag">&nbsp;</span>contains a JSON formatted collection of hostnames and IPv4 addresses, like so:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">"Google": [
"8.8.4.4",
"8.8.8.8"
],
"OpenDNS": [
"208.67.220.220",
"208.67.222.222"
],
"Quad9": [
"9.9.9.9"
],</pre></pre></div></div><br />
<br />
Edits to this file in place will immediately be reflected in the user interface.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-vpn-providers">VPN providers</h2><br />

<br />
RaspAP<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://github.com/RaspAP/raspap-webgui/releases/tag/3.0">version 3.0</a><span class="emoji-tag">&nbsp;</span>introduced beta support for a select number of<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/providers/">VPN providers</a>. These services are largely defined in the<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">config/vpn-providers.json</pre><span class="emoji-tag">&nbsp;</span>file. An example provider definiton is shown below:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">"id": 1,
"name": "ExpressVPN",
"bin_path": "/usr/bin/expressvpn",
"install_page": "https://www.expressvpn.com/support/vpn-setup/app-for-linux/",
"account_page": "https://www.expressvpn.com/subscriptions",
"cmd_overrides": {
"countries": "list all",
"log": "diagnostics",
"version": "-v"
}</pre></pre></div></div><br />
<br />
It is not necessary to modify these definitions, unless you would like to experiment by adding a provider not currently supported by RaspAP.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-restoring-settings">Restoring settings</h2><br />

<br />
If you've modified RaspAP's default configuration and the AP no longer works as expected, the defaults may be restored by performing a system reset. From the<span class="emoji-tag">&nbsp;</span><strong>System > Tools</strong><span class="emoji-tag">&nbsp;</span>tab, click or tap the<span class="emoji-tag">&nbsp;</span><strong>Perform reset</strong><span class="emoji-tag">&nbsp;</span>button. A dialog will appear to confirm this action.<br />
<br />
<a class="offload" href="https://github.com/RaspAP/raspap-webgui/assets/229399/66bf5cb5-3d77-44aa-92b8-5ebca6f003ad">[Image]</a><br />
<br />
Alternatively, you may follow the steps described in the<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/manual/#default-configuration">manual installation</a>.]]></description>
                <pubDate>Sun, 08 Nov 2026 14:23:29 +0100</pubDate>
                
            </item>
		
            <item>
                <title><![CDATA[Dynamic DNS]]></title>
                <link>https://wiki2.softcloud.fr/wiki/dynamic-dns</link>
                <guid>https://wiki2.softcloud.fr/wiki/dynamic-dns</guid>
                <description><![CDATA[<img src="https://user-images.githubusercontent.com/229399/234251356-9d4aeae6-32b3-4b48-92ac-314dc30e993d.jpg" alt="234251356-9d4aeae6-32b3-4b48-92ac-314dc30e993d" /><br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-overview-experimental-?-insiders-only">Overview Experimental · Insiders only</h2><br />

<br />
Accessing your device from anywhere in your local network is great, but there are times when you might want it to be reachable from remote locations. This is particularly true for projects such as media servers, network attached storage (NAS) and VPNs such as those provided by RaspAP. However, due to the<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://en.wikipedia.org/wiki/IPv4_address_exhaustion">shortage of IPv4 addresses</a>, it's likely that you will receive a new and different external IP address from your ISP each time your router is rebooted.<br />
<br />
Some ISPs offer a static external IP address, although often at an additional cost above a basic subscription. This is where using a<span class="emoji-tag">&nbsp;</span><strong>Dynamic DNS</strong><span class="emoji-tag">&nbsp;</span>(or<span class="emoji-tag">&nbsp;</span><strong>DDNS</strong>) service on your home network can be extremely useful.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-solution">Solution</h2><br />

<br />
Dynamic DNS solves this problem by providing a domain name that always points to the current IP address of your device, regardless of how often it changes. With DDNS, the IP assigned to your domain name is automatically updated by a piece of software (known as a<span class="emoji-tag">&nbsp;</span><em>daemon</em>) running on your device. This means that you can access the server using the same domain name, without having to constantly update settings each time the IP address changes.<br />
<br />
The daemon running on your device resolves your external IP address using one of several methods, then reports this to your DDNS provider. There are a number of different providers that offer Dynamics DNS free of charge. If you currently own a custom domain name, chances are your registrar provides DDNS or has a partner to support this.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-installation">Installation</h2><br />

<br />
The<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/quick/">Quick installer</a><span class="emoji-tag">&nbsp;</span>will give you the option to add the required packages to your system, and enable the configuration page in RaspAP. Simply press<span class="emoji-tag">&nbsp;</span><strong>Enter</strong><span class="emoji-tag">&nbsp;</span>at the prompt to accept the default "Y" (yes) response:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">Install ddclient and enable DDNS configuration? [Y/n]:</pre></pre></div></div><br />
<br />
When the installer completes, you will be able to administer the<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">ddclient</pre><span class="emoji-tag">&nbsp;</span>service as described in the sections below.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-basic-settings">Basic settings</h2><br />

<br />
All the configuration settings needed to enable Dynamic DNS on your device are available on the<span class="emoji-tag">&nbsp;</span><strong>Basic settings</strong><span class="emoji-tag">&nbsp;</span>tab. These are described in the next section.<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-service-provider">Service provider</h3><br />

<br />
RaspAP makes use of the proven<span class="emoji-tag">&nbsp;</span><strong><a class="offload" href="https://github.com/ddclient/ddclient">ddclient</a></strong><span class="emoji-tag">&nbsp;</span>open source software for Linux to update dynamic DNS entries. The<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">ddclient</pre><span class="emoji-tag">&nbsp;</span>software is highly configurable and provides a daemon that updates your external IP at scheduled intervals. Many popular<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://github.com/ddclient/ddclient#supported-services">Dynamic DNS services</a><span class="emoji-tag">&nbsp;</span>are supported by<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">ddclient</pre><span class="emoji-tag">&nbsp;</span>and RaspAP.<br />
<br />
Instructions on how to setup your domain for DDNS vary by provider, but the process is generally similar. Begin by selecting a<span class="emoji-tag">&nbsp;</span><strong>Service provider</strong><span class="emoji-tag">&nbsp;</span>from the dropdown. RaspAP will assist you by automatically populating the<span class="emoji-tag">&nbsp;</span><strong>Protocol</strong><span class="emoji-tag">&nbsp;</span>and<span class="emoji-tag">&nbsp;</span><strong>Server</strong><span class="emoji-tag">&nbsp;</span>fields. You may also manually configure the details for your service if so desired.<br />
<br />
<img src="https://user-images.githubusercontent.com/229399/234258065-cc75df63-5e39-4cfd-ba1b-ed533b3982d6.png" alt="234258065-cc75df63-5e39-4cfd-ba1b-ed533b3982d6" /><br />
<br />
Note<br />
<br />
Some DDNS providers, such as NoIP, distribute their own Linux client to use with their service. It isn't necessary to install this software because the<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">ddclient</pre><span class="emoji-tag">&nbsp;</span>daemon already includes this functionality.<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-method-to-obtain-ip">Method to obtain IP</h3><br />

<br />
There are a variety of different methods to determine your external IP address. A popular one involves a discovery page on the web that resolves your IP. If you choose this method, enter it in the<span class="emoji-tag">&nbsp;</span><strong>Web address</strong><span class="emoji-tag">&nbsp;</span>field after selecting this option from the<span class="emoji-tag">&nbsp;</span><strong>Method to obtain IP</strong><span class="emoji-tag">&nbsp;</span>select.<br />
<br />
Tip<br />
<br />
There are many freely available external IP discovery pages you can use. Examples include<span class="emoji-tag">&nbsp;</span><a class="offload" href="http://ip.changeip.com/">ChangeIP</a><span class="emoji-tag">&nbsp;</span>and this one from<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://dynamicdns.park-your-domain.com/getip">Namecheap</a>. Each of these pages perform the same basic function.<br />
<br />
Alternatively, you may want to use an IP address from a network interface, your router's firewall status page, or an external command. Each of these options can be specified, thereby giving you a great deal of flexibility.<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-login-and-domain">Login and domain</h3><br />

<br />
Enter your DDNS service credentials in the<span class="emoji-tag">&nbsp;</span><strong>Username</strong><span class="emoji-tag">&nbsp;</span>and<span class="emoji-tag">&nbsp;</span><strong>Password</strong><span class="emoji-tag">&nbsp;</span>fields. Finally, specify the<span class="emoji-tag">&nbsp;</span><strong>Domain</strong><span class="emoji-tag">&nbsp;</span>to be updated that will be associated with your device. DDNS providers may also refer to this as a "zone" or "host". These definitions may take several forms, for example:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">myhost.dyndns.org
mydomain.com
@.mydomain.com</pre></pre></div></div><br />
<br />
Check with your DDNS service provider to determine which entry is best for your configuration. To complete your setup, choose<span class="emoji-tag">&nbsp;</span><strong>Save settings</strong><span class="emoji-tag">&nbsp;</span>now or proceed with advanced options.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-advanced-settings">Advanced settings</h2><br />

<br />
A subset of advanced options are provided for your configuration. These are not required for the DDNS service to be functional, but may be adjusted to suit your needs.<br />
<br />
<img src="https://user-images.githubusercontent.com/229399/234574539-da424b27-4489-40bf-88e7-0e42988bce8a.png" alt="234574539-da424b27-4489-40bf-88e7-0e42988bce8a" /><br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-enable-ssl">Enable SSL</h3><br />

<br />
You may wish to<span class="emoji-tag">&nbsp;</span><strong>Enable SSL</strong><span class="emoji-tag">&nbsp;</span>to ensure that your credentials are not sent over the internet unencrypted. Not all providers support this, however, so this option is disabled by default. Enabling this option for a non-SSL supported provider may result in a connection timeout. Errors such as these<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://github.com/ddclient/ddclient/issues/309">have been reported</a>:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">WARNING:  cannot connect to checkip.dyndns.org:443 socket: Connection timed out SSL connect attempt failed
WARNING:  found neither IPv4 nor IPv6 address
DEBUG:    get_ip: using web, http://checkip.dyndns.org/ reports <undefined>
WARNING:  unable to determine IP address</pre></pre></div></div><br />
<br />
For this reason, it's recommended to check with your DDNS service provider before enabling this.<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-daemon-check-interval">Daemon check interval</h3><br />

<br />
Finally, you may define the<span class="emoji-tag">&nbsp;</span><strong>Daemon check interval</strong><span class="emoji-tag">&nbsp;</span>to control the length of time between updates performed by<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">ddclient</pre><span class="emoji-tag">&nbsp;</span>in the background. This value is specified in milliseconds and defaults to 300.<br />
<br />
When you've completed your configuration, choose<span class="emoji-tag">&nbsp;</span><strong>Save settings</strong><span class="emoji-tag">&nbsp;</span>and<span class="emoji-tag">&nbsp;</span><strong>Start Dynamic DNS</strong>.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-troubleshooting">Troubleshooting</h2><br />

<br />
Behind the scenes, the<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">ddclient</pre><span class="emoji-tag">&nbsp;</span>daemon will determine your external IP using the method you've defined and send this to your DDNS provider. Your provider will then update the IP address corresponding to the DNS "A" (or "address") record for your domain.<br />
<br />
If your DDNS provider fails to report your current IP address, or you suspect there might be a problem with the<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">ddclient</pre><span class="emoji-tag">&nbsp;</span>configuration on your device, you may generate a detailed debug log.<br />
<br />
From the<span class="emoji-tag">&nbsp;</span><strong>Logging</strong><span class="emoji-tag">&nbsp;</span>tab, use the<span class="emoji-tag">&nbsp;</span><strong>Generate log</strong><span class="emoji-tag">&nbsp;</span>button to invoke the<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">ddclient</pre><span class="emoji-tag">&nbsp;</span>daemon and output a troubleshooting log:<br />
<br />
<img src="https://user-images.githubusercontent.com/229399/234276204-5d3e2640-7166-47ec-ac3c-6a4034be8060.png" alt="234276204-5d3e2640-7166-47ec-ac3c-6a4034be8060" /><br />
<br />
This will provide a verbose output of everything<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">ddclient</pre><span class="emoji-tag">&nbsp;</span>is doing. If it ends with a<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">SUCCESS</pre><span class="emoji-tag">&nbsp;</span>message this indicates that the daemon successfully checked and updated the DNS "A" record with your provider, if neccessary. An example of this is shown below:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">RECEIVE:  140.82.121.3
DEBUG:    get_ip: using web
dynamicdns.park-your-domain.com/getip reports 140.82.121.3
SUCCESS:  @.mydomain.com: skipped: IP address was already set to 140.82.121.3.</pre></pre></div></div><br />
<br />
If the daemon doesn&#8217;t reply with<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">SUCCESS</pre>, the debug output should give you some clues as to what the problem is.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-port-forwarding">Port forwarding</h2><br />

<br />
If<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">ddclient</pre><span class="emoji-tag">&nbsp;</span>has successfully updated your DDNS provider's "A" record with your IP address, but you are unable to access your device remotely, it's likely your router needs to be configured for<span class="emoji-tag">&nbsp;</span><strong>port forwarding</strong>. This instructs the router to send, or forward, data packets from the external WAN interface to the internal IP address belonging to your device.<br />
<br />
You can enable this by using your router's port mapping/forwarding setup. This procedure allows remote computers to connect to a specific device within your internal LAN's private address space. Specifics are highly dependent on the router you have, although the steps are generally straightforward. Consult your router's documentation for details.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-demilitarized-zone">Demilitarized zone</h2><br />

<br />
An alternative to forwarding specific ports to an internal IP is using a<span class="emoji-tag">&nbsp;</span><strong>demilitarized zone</strong><span class="emoji-tag">&nbsp;</span>(DMZ). A home router DMZ is a host on an internal network that has all UDP and TCP ports open and exposed, except those ports otherwise forwarded. By using this method, all the ports (and services) of your device will be directly accessible from the internet, with the attendant security risks that this implies.<br />
<br />
This setup is often desirable when a host is running multiple public-facing services that need to be accessed over the internet. In this context, a DMZ provides greater isolation and granular control than is possible with port forwarding. It's also possible to configure different security policies for various DMZ segments. For these reasons, a properly configured DMZ can be a<span class="emoji-tag">&nbsp;</span><em>more secure</em><span class="emoji-tag">&nbsp;</span>way to expose services to the internet than port forwarding.<br />
<br />
The specifics of creating a DMZ are beyond the scope of this document, although at minimum a<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/firewall/">firewall</a><span class="emoji-tag">&nbsp;</span>is strongly advised.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-discussions">Discussions</h2><br />

<br />
Questions or comments about using Dynamic DNS? Join the<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://github.com/RaspAP/raspap-webgui/discussions/1347">discussion here</a>.]]></description>
                <pubDate>Sun, 08 Nov 2026 14:23:29 +0100</pubDate>
                
            </item>
		
            <item>
                <title><![CDATA[FAQ]]></title>
                <link>https://wiki2.softcloud.fr/wiki/faq</link>
                <guid>https://wiki2.softcloud.fr/wiki/faq</guid>
                <description><![CDATA[This guide was written to address some frequently asked questions among users of RaspAP. FAQ items are organized into thematic sections, below, for easier reference.<br />
<br />
If you would like to see a new FAQ that you feel would assist other users,<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://github.com/RaspAP/raspap-webgui/discussions">start a discussion</a><span class="emoji-tag">&nbsp;</span>or<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://github.com/RaspAP/raspap-webgui-docs/issues">open an issue</a>.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-general">General</h2><br />

<br />
<ul class="formatter-ul"><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#distros">Why isn't there support for Desktop distributions?</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#settings">What do all these settings in the UI do? Changing them seems to have no effect.</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#headless">How do I prepare the SD card to connect to WiFi in headless mode?</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#interfaces">Can I use wlan0 and wlan1 rather than eth0 for my AP?</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#monitor">Can I use RaspAP as a monitor only, without changing my configuration?</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#dnsmasq">Can I use RaspAP with my custom dnsmasq configuration?</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#maxclients">What is the maximum number of simultaneous clients that I can connect to my AP?</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#adapters">Where can I find a list of USB WiFi adapters that use in-kernel drivers?</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#passphrase">What are the passphrase requirements used by RaspAP?</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#nopw">Can I remove the AP password to create an open WiFi network?</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#access">How do I prevent WAN access to RaspAP's web administration?</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#minwrite">Can I reduce the risk of SD card corruption and extend a card's lifespan?</a></li></ul><br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-troubleshooting">Troubleshooting</h2><br />

<br />
<ul class="formatter-ul"><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#actroubleshoot">My 802.11ac 5 GHz hotspot failed to start. What now?</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#noip">Clients cannot obtain an IP address from the hotspot.</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#webui">My WiFi network disappeared and I can't access the web UI.</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#custom">My custom hostapd.conf / php.ini is gone.</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#password">I changed the admin password and forgot what it was.</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#nowifi">RaspAP control panel works but there is no WiFi after reboot.</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#bridged">Bridged AP mode is unstable or clients can't connect.</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#pizero-w">Managed mode AP doesn't work on the Pi Zero W.</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#scanning">WiFi scanning doesn't work or I get the error "cannot execute wpa_cli reconfigure".</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#hostapd-down">I started the hotspot but it shows "hostapd down". What's happening?</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#ping">Pinging the AP from a client computer (or vice versa) results in an intermittent failure. Can I troubleshoot this?</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#disassociated">My wlan1 keeps being disabled and/or clients are repeatedly disconnected.</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#webfail">RaspAP web UI fails to start or unable to save settings.</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#token">Why do I receive an 'Invalid CSRF token' message and a blank screen?</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#restore">Can I restore RaspAP's default settings?</a></li></ul><br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-integrations">Integrations</h2><br />

<br />
<ul class="formatter-ul"><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#pihole">How do I integrate RaspAP with Pi-hole?</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#adguard">Can I integrate RaspAP with Adguard Home?</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#captive">Can I configure RaspAP to work with a captive portal?</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#schedule">How do I create an AP activation schedule?</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#genpassword">Can I schedule the WiFi password to change automatically?</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#managed">Can I configure a managed mode AP without using the UI?</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#webport">Can I configure an alternate port for RaspAP's web service?</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#docker">What breaks RaspAP when Docker is installed on the same system and how I can fix it?</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#omv">Can I integrate RaspAP with OpenMediaVault?</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#speedify">Can I use RaspAP to share Speedify's aggregated connections?</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#custompages">How do I serve custom pages from RaspAP?</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#adblockauto">Can I automatically update RaspAP's adblock lists?</a></li></ul><br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-openvpn">OpenVPN</h2><br />

<br />
<ul class="formatter-ul"><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#openvpn-fails">OpenVPN fails to start and/or I have no internet.</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#partial">OpenVPN works but I have partial or no internet access.</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#restricted">OpenVPN is enabled but I am still blocked from country restricted websites.</a></li></ul><br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-wireguard">WireGuard</h2><br />

<br />
<ul class="formatter-ul"><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#mimetype">Uploading my WireGuard config results in "MIME type not allowed".</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#wgtraffic">I think my traffic isn't being routed through the WireGuard VPN. Can I debug this?</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#wglog">How can I clear RaspAP's WireGuard log?</a></li></ul><br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-networking">Networking</h2><br />

<br />
<ul class="formatter-ul"><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#wireless-mode">Why can't I access wireless mode 'N' (802.11n)?</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#iptables">How do I exclude NAT rules from IP traffic on localhost?</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#channels">Why is the channel dropdown disabled on the Hotspot page?</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#wirelessn">Why is the maximum throughput of my 802.11n AP reduced by half?</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#wep">Can I connect the WiFi client to a WEP network?</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#hotspotssh">Can I turn the hotspot on/off over SSH?</a></li></ul><br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-install-upgrade">Install & upgrade</h2><br />

<br />
<ul class="formatter-ul"><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#upgrade">How do I upgrade RaspAP?</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#raspap-service">Do I need the RaspAP service to run at boot?</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#unattended">Can the Quick Installer accept the default options without prompting me?</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#restore">Can I restore RaspAP's default settings?</a></li><li class="formatter-li"><a class="offload" href="https://docs.raspap.com/faq/#uninstall">How do I uninstall RaspAP?</a></li></ul><br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-why-isn-t-there-support-for-desktop-distributionse">Why isn't there support for Desktop distributions?</h2><br />

<br />
A desktop distribution (or "distro") usually has a very different set of programs that handles various underlying OS functions and wraps it with a pretty GUI. Since RaspAP does quite a bit of configuration on top of a known<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/defaults/">default starting point</a>, the more distros a project supports the bigger the task of handling these variations.<br />
<br />
It becomes increasingly difficult for a small team of developers to support a wide variety of targets. The RaspAP team could spend their precious and rare development time troubleshooting one-offs and edge cases, or work on new features and bug fixes. For this reason, we've chosen to include support for a narrow, but diverse, subset of<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/#compatible-operating-systems">compatible operating systems</a>.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-what-do-all-these-settings-in-the-ui-doe-changing-them-seems-to-have-no-effect">What do all these settings in the UI do? Changing them seems to have no effect.</h2><br />

<br />
RaspAP manipulates several daemons, services and helper programs behind the scenes for you. In the footer of each management panel is a helpful "Information provided by..." label. These indicate which Linux daemon and/or program is being modified by the UI. Learning what these services are and how they work will go a long way toward demystifying things.<br />
<br />
<img src="https://i.imgur.com/q1RflMy.png" alt="q1RflMy" /><br />
<br />
For example, two of the best starting points for understanding<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">hostapd</pre><span class="emoji-tag">&nbsp;</span>(the service that implements 802.11 AP management) include the<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://wireless.wiki.kernel.org/en/users/Documentation/hostapd">hostapd Linux documentation page</a><span class="emoji-tag">&nbsp;</span>and<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://w1.fi/cgit/hostap/plain/hostapd/hostapd.conf">hostapd Wifi homepage</a>.<br />
<br />
Info<br />
<br />
After you choose<span class="emoji-tag">&nbsp;</span><strong>Save settings</strong><span class="emoji-tag">&nbsp;</span>for<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">hostapd</pre><span class="emoji-tag">&nbsp;</span>or<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">dhcpcd</pre>, these services must be restarted for your changes to take effect. If you're not sure if your AP is behaving as expected, enable logging in the<span class="emoji-tag">&nbsp;</span><strong>Logging</strong><span class="emoji-tag">&nbsp;</span>tab of<span class="emoji-tag">&nbsp;</span><strong>Hotspot</strong><span class="emoji-tag">&nbsp;</span>and check the output.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-how-do-i-prepare-the-sd-card-to-connect-to-wifi-in-headless-modee">How do I prepare the SD card to connect to WiFi in headless mode?</h2><br />

<br />
Since<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://www.raspberrypi.org/blog/another-update-raspbian/">May 2016</a>, Raspbian has been able to copy wifi details from<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">/boot/wpa_supplicant.conf</pre><span class="emoji-tag">&nbsp;</span>into<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">/etc/wpa_supplicant/wpa_supplicant.conf</pre><span class="emoji-tag">&nbsp;</span>to automatically configure wireless network access.<br />
<br />
An example<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">wpa_supplicant.conf</pre><span class="emoji-tag">&nbsp;</span>file is shown below. Replace the fields with your settings:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=your_ISO-3166_two-letter_country_code
&nbsp;
network={
ssid="my_SSID"
psk="my_PSK"
key_mgmt=WPA-PSK
}</pre></pre></div></div><br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-can-i-use-wlan0-and-wlan1-rather-than-eth0-for-my-ape">Can I use wlan0 and wlan1 rather than eth0 for my AP?</h2><br />

<br />
Yes, this is supported by RaspAP. In this scenario, you may wish to use the<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">wlan0</pre><span class="emoji-tag">&nbsp;</span>interface as the AP interface with<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">wlan1</pre><span class="emoji-tag">&nbsp;</span>as the wireless client interface. Refer to the dedicated<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/repeater/">WiFi repeater</a><span class="emoji-tag">&nbsp;</span>walkthrough for steps to enable this configuration.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-can-i-use-raspap-as-a-monitor-only-without-changing-my-configuratione">Can I use RaspAP as a monitor only, without changing my configuration?</h2><br />

<br />
Yes, RaspAP has support for a so-called "monitor mode". In<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">config.php</pre><span class="emoji-tag">&nbsp;</span>change the setting<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">RASPI_MONITOR_ENABLED</pre><span class="emoji-tag">&nbsp;</span>to<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">true</pre>. This disables the ability to modify settings, start/stop daemons, shutdown or reboot the RPi. RaspAP will continue to report interface statistics, service settings and data usage as normal. See<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/defaults/#managing-config-values">this</a><span class="emoji-tag">&nbsp;</span>for more information.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-can-i-use-raspap-with-my-custom-dnsmasq-configuratione">Can I use RaspAP with my custom dnsmasq configuration?</h2><br />

<br />
Yes, RaspAP supports this through the use of<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">dnsmasq.d</pre>. The primary<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">/etc/dnsmasq.d/090_raspap.conf</pre><span class="emoji-tag">&nbsp;</span>managed by the UI includes the following directive to enable your custom .conf files:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">conf-dir=/etc/dnsmasq.d</pre></pre></div></div><br />
<br />
Configuration files placed in this directory will be used by the dnsmasq service and are untouched by the UI.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-what-is-the-maximum-number-of-simultaneous-clients-that-i-can-connect-to-my-ape">What is the maximum number of simultaneous clients that I can connect to my AP?</h2><br />

<br />
<strong>Short answer:</strong><span class="emoji-tag">&nbsp;</span>it depends.<br />
<br />
<strong>Longer answer:</strong><span class="emoji-tag">&nbsp;</span>there are several factors that come into play including, but not limited to, the specific RPi model, firmware version, available RAM and so on.<br />
<br />
Every update to the RPi's firmware takes up more of the limited RAM reserved for WiFi, resulting in less space to host AP clients. Users of RaspAP have reported up to<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://github.com/billz/raspap-webgui/issues/462#issuecomment-588367233">19 simultaneous clients</a><span class="emoji-tag">&nbsp;</span>with a RPi 3B, but a smaller number with a newer RPi model. If you are willing to modify your device's firmware and replace the<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">brcmfmac</pre><span class="emoji-tag">&nbsp;</span>driver<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://github.com/raspberrypi/linux/issues/3010#issuecomment-788323744">with a specific version</a>, a maximum of 20 simultaneous WiFi clients is theoretically possible.<br />
<br />
<strong>Bottom line:</strong><span class="emoji-tag">&nbsp;</span>if maximizing AP clients is your primary goal, you will have to either use a specific firmware version or purchase an external wireless adapter.<br />
<br />
See also:<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://github.com/raspberrypi/linux/issues/3010">https://github.com/raspberrypi/linux/issues/3010</a>.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-where-can-i-find-a-list-of-usb-wifi-adapters-that-use-in-kernel-driverse">Where can I find a list of USB WiFi adapters that use in-kernel drivers?</h2><br />

<br />
There are many USB WiFi adapters that work without the need to install a driver in Linux. The term "in-kernel" refers to drivers that are packaged and maintained by the Linux kernel.<br />
<br />
This<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://github.com/morrownr/USB-WiFi">GitHub list</a><span class="emoji-tag">&nbsp;</span>currently has 60 links to USB WiFi adapters that work without installing drivers (ie., "plug and play") on devices like the Raspberry Pi.<br />
<br />
With adapters that use in-kernel drivers, you may simply plug the adapter in and it will work. Many people find that using adapters with in-kernel drivers is a better solution than buying an adapter that requires drivers to be found, downloaded, compiled, installed, fixed and reinstalled.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-what-are-the-passphrase-requirements-used-by-raspape">What are the passphrase requirements used by RaspAP?</h2><br />

<br />
The requirements are based on<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://en.wikipedia.org/wiki/IEEE_802.11i-2004">IEEE standard 802.11i-2004</a><span class="emoji-tag">&nbsp;</span>which defines a passphrase as a sequence of between 8 and 63 ASCII-encoded characters. Furthermore, each character in the passphrase must have a decimal encoding in the range of 32 to 126 (IEEE Std. 802.11i-2004, Annex H.4.1). These are often known as<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://en.wikipedia.org/wiki/ASCII#Printable_characters">printable characters</a><span class="emoji-tag">&nbsp;</span>that represent letters, digits, punctuation marks and a few miscellaneous symbols.<br />
<br />
This means that so-called special characters, or extended ASCII codes, are not permitted in a passphrase. For example, the Euro sign "&#8364;", German "ä" and British pound symbol "<span class="emoji-tag">&pound;</span>" fall outside this range.<br />
<br />
RaspAP will automatically generate a secure passphrase, or PSK, for you. On the<span class="emoji-tag">&nbsp;</span><strong>Hotspot > Security</strong> tab, click or tap the magic icon<span class="emoji-tag">&nbsp;</span>next to the PSK input. Choose<span class="emoji-tag">&nbsp;</span><strong>Save settings</strong><span class="emoji-tag">&nbsp;</span>and<span class="emoji-tag">&nbsp;</span><strong>Restart hotspot</strong><span class="emoji-tag">&nbsp;</span>for the changes to take effect.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-can-i-remove-the-ap-password-to-create-an-open-wifi-networke">Can I remove the AP password to create an open WiFi network?</h2><br />

<br />
Yes. On the<span class="emoji-tag">&nbsp;</span><strong>Hotspot > Security</strong><span class="emoji-tag">&nbsp;</span>tab, select 'None' for Security type. Choose<span class="emoji-tag">&nbsp;</span><strong>Save settings</strong><span class="emoji-tag">&nbsp;</span>and<span class="emoji-tag">&nbsp;</span><strong>Restart hotspot</strong><span class="emoji-tag">&nbsp;</span>for the changes to take effect.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-how-do-i-prevent-wan-access-to-raspap-s-web-administratione">How do I prevent WAN access to RaspAP's web administration?</h2><br />

<br />
There are two ways to do this. The simplest method is to set the web server's bind address in RaspAP's<span class="emoji-tag">&nbsp;</span><strong>System > Advanced</strong><span class="emoji-tag">&nbsp;</span>tab to the IPv4 address you wish to grant access to. Choose<span class="emoji-tag">&nbsp;</span><strong>Save settings</strong><span class="emoji-tag">&nbsp;</span>and<span class="emoji-tag">&nbsp;</span><strong>Restart lighttpd</strong>. After this is done, the web server will refuse connections to all IP addresses other than the one you've defined.<br />
<br />
A somewhat cleaner method with a "403 Forbidden" response can be done manually with lighttpd. You could modify lighttpd's main config directly, but to keep things neater we can use RaspAP's own configuration in lighttpd's<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">/conf-available</pre><span class="emoji-tag">&nbsp;</span>directory. Edit it like so:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">sudo nano /etc/lighttpd/conf-available/50-raspap-router.conf</pre></pre></div></div><br />
<br />
Add the following to the end, substituting the<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">192.168.0.0/16</pre><span class="emoji-tag">&nbsp;</span>private IPv4 address range (192.168.0.0 &#8211; 192.168.255.255) for your own network:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;"># deny access to RaspAP admin for users that
# are not in the 192.168.0.0/16 network
$HTTP["remoteip"] != "192.168.0.0/16" {
url.access-deny = ( "" )
}</pre></pre></div></div><br />
<br />
Save and exit the file, then restart the lighttpd service:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">sudo systemctl restart lighttpd.service</pre></pre></div></div><br />
<br />
Clients outside of your defined network range will receive a '403' response when accessing the web UI.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-can-i-reduce-the-risk-of-sd-card-corruption-and-extend-a-card-s-lifespane">Can I reduce the risk of SD card corruption and extend a card's lifespan?</h2><br />

<br />
Yes. RaspAP has developed a<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/minwrite/">minimal write mode</a><span class="emoji-tag">&nbsp;</span>that substantially reduces disk I/O activity and helps to extend the life of microSD cards.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-my-802-11ac-5-ghz-hotspot-failed-to-start-what-nowe">My 802.11ac 5 GHz hotspot failed to start. What now?</h2><br />

<br />
RaspAP uses<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://wireless.wiki.kernel.org/en/users/documentation/iw"><pre style="display:inline;">iw</pre></a><span class="emoji-tag">&nbsp;</span>and the<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://wireless.wiki.kernel.org/en/developers/Regulatory/wireless-regdb"><pre style="display:inline;">wireless-regdb</pre></a><span class="emoji-tag">&nbsp;</span>to determine which channels are allowed for your configured country. However, not all channels may be supported by your device's wireless adapter or firmware. If your 5 GHz access point fails to start, use the steps below to troubleshoot the problem.<br />
<br />
Begin by enabling<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">hostapd</pre><span class="emoji-tag">&nbsp;</span>service logging by sliding the<span class="emoji-tag">&nbsp;</span><strong>Logfile output</strong><span class="emoji-tag">&nbsp;</span>toggle on the<span class="emoji-tag">&nbsp;</span><strong>Hotspot > Logging</strong><span class="emoji-tag">&nbsp;</span>tab. Choose<span class="emoji-tag">&nbsp;</span><strong>Save settings</strong><span class="emoji-tag">&nbsp;</span>followed by<span class="emoji-tag">&nbsp;</span><strong>Restart hotspot</strong><span class="emoji-tag">&nbsp;</span>and check the log output. The logs will often indicate when a selected channel is not supported by the hardware. For example:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">wlan0: IEEE 802.11 Hardware does not support configured channel
Could not select hw_mode and channel. (-3)</pre></pre></div></div><br />
<br />
This may occur with the Raspberry Pi or another device's onboard wireless chipset, or an external wireless adapter. To mitigate this, select one of the following 5 GHz channels:<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">36</pre>,<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">40</pre>,<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">44</pre><span class="emoji-tag">&nbsp;</span>or<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">48</pre>, then choose<span class="emoji-tag">&nbsp;</span><strong>Save settings</strong>. Click or tap the<span class="emoji-tag">&nbsp;</span><strong>Clear log</strong><span class="emoji-tag">&nbsp;</span>button on the<span class="emoji-tag">&nbsp;</span><strong>Hotspot > Logging</strong><span class="emoji-tag">&nbsp;</span>tab, if needed, and finally choose<span class="emoji-tag">&nbsp;</span><strong>Restart hotspot</strong>. Check the logs again and see if the error persists.<br />
<br />
If the 802.11ac AP still fails to start, an<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/faq/#adapters">external AC wireless adapter</a><span class="emoji-tag">&nbsp;</span>with in-kernel drivers is an option worth considering.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-clients-cannot-obtain-an-ip-address-from-the-ap">Clients cannot obtain an IP address from the AP.</h2><br />

<br />
Clients may receive a "failed to obtain IP address" or similar error message when connecting to your AP. These are the most frequent reasons for this error:<br />
<br />
<ol class="formatter-ol"><li class="formatter-li">A poor WiFi signal from the access point. In this event, reduce the distance between your device and the AP.</li><li class="formatter-li">Your device does not operate properly with the encryption method set by the AP.</li><li class="formatter-li">The access point is misconfigured.</li></ol><br />
<br />
The first and simplest fix is to reconnect the client to your WiFi network. When you do this, the AP forgets the previous attempt and initiates a new process to assign an IP address to your device. Exact methods vary between devices, however most will have a 'Forget this network' option or similar in the WiFi settings. This is shown in iOS, below:<br />
<br />
<img src="https://i.imgur.com/7xvx5JT.png" alt="7xvx5JT" /><br />
<br />
If clients still fail to connect, restart the AP. You may do this by choosing<span class="emoji-tag">&nbsp;</span><strong>Restart hotspot</strong><span class="emoji-tag">&nbsp;</span>from RaspAP. This reinitializes several related services in a predictable order and timing. Assuming these services are configured to restart automatically on reboot (the default behavior when RaspAP's installer is used) you may also simply reboot your Pi.<br />
<br />
RaspAP gives you control over many aspects of your WiFi network, including DHCP. With its<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/defaults/">default settings</a>, RaspAP has been rigorously tested and validated to provide connectivity in routed AP mode. If you suspect that RaspAP is misconfigured and not providing IP addresses to clients, you may troubleshoot this yourself.<br />
<br />
Clients connecting to your AP are assigned, or leased, an IP address with<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">dnsmasq</pre>. You can see how this process works by enabling the<span class="emoji-tag">&nbsp;</span><strong>Log DHCP requests</strong><span class="emoji-tag">&nbsp;</span>option in the<span class="emoji-tag">&nbsp;</span><strong>DHCP Server > Logging</strong><span class="emoji-tag">&nbsp;</span>tab. When a client connects to your AP, a typical<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">dnsmasq-dhcp</pre><span class="emoji-tag">&nbsp;</span>exchange follows this pattern:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">dnsmasq-dhcp[2516]: DHCPDISCOVER(wlan0) [MAC address]
dnsmasq-dhcp[2516]: DHCPOFFER(wlan0) 10.3.141.249 [MAC address]
dnsmasq-dhcp[2516]: DHCPREQUEST(wlan0) 10.3.141.249 [MAC address]
dnsmasq-dhcp[2516]: DHCPACK(wlan0) 10.3.141.249 [MAC address] iPhone</pre></pre></div></div><br />
<br />
If one or more steps in this exchange are missing, either your device is unable to respond to the server's<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">DHCPOFFER</pre><span class="emoji-tag">&nbsp;</span>or the AP itself is misconfigured.<br />
<br />
Tip<br />
<br />
By default, the<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">dnsmasq</pre><span class="emoji-tag">&nbsp;</span>service listens on TCP/UDP port 53 and UDP port 67. If you have configured firewall software such as<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">ufw</pre><span class="emoji-tag">&nbsp;</span>or<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">iptables</pre><span class="emoji-tag">&nbsp;</span>to filter traffic on these ports, the service may not be able to respond to DHCP requests.<br />
<br />
As a last resort, you can assign a static IP address to your device. Copy the MAC address for your device as it appears above and create a new entry in RaspAP's<span class="emoji-tag">&nbsp;</span><strong>DHCP Server > Static Leases</strong><span class="emoji-tag">&nbsp;</span>tab. Save settings, restart<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">dnsmasq</pre><span class="emoji-tag">&nbsp;</span>and try connecting your client again.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-my-wifi-network-disappeared-and-i-can-t-access-the-web-ui">My WiFi network disappeared and I can't access the web UI</h2><br />

<br />
If you are running your Pi headless and are unable to access RaspAP's web interface from the default<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">http://10.3.141.1/</pre><span class="emoji-tag">&nbsp;</span>address, do the following:<br />
<br />
<ol class="formatter-ol"><li class="formatter-li">Be sure your browser isn't forcing SSL by appending<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">https://</pre><span class="emoji-tag">&nbsp;</span>to the address, which can result in misleading errors. This may sound obvious but it's reported frequently. (Related: add<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/ssl/">SSL support for RaspAP</a>.</li><li class="formatter-li">Connect your device to wired ethernet and access it via the browser or SSH on the<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">eth0</pre><span class="emoji-tag">&nbsp;</span>interface using one of the methods described below.<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/ap-basics/#troubleshooting">Check the logs for hostapd errors</a><span class="emoji-tag">&nbsp;</span>and reconfigure the service, or run the installer again to restore the<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/defaults/">default configuration</a>.</li><li class="formatter-li">There are<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://www.raspberrypi.com/documentation/computers/remote-access.html">several methods</a><span class="emoji-tag">&nbsp;</span>you can use to determine your Pi's IP address. RaspAP's installer only configures a static IP address for the AP interface on<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">wlan0</pre>. If the AP has entered a failed state, you may still be able to connect on an alternate interface.</li><li class="formatter-li">Recent versions of the RPi OS kernel include the<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">avahi-daemon</pre><span class="emoji-tag">&nbsp;</span>which facilitates local network discovery via multicast DNS (mDNS). On client computers with the Bonjour service installed (all macOS machines and Windows PCs with Apple iTunes), try accessing your Pi by entering<span class="emoji-tag">&nbsp;</span><a class="offload" href="http://raspberrypi.local/">http://raspberrypi.local/</a><span class="emoji-tag">&nbsp;</span>in the browser or via SSH with<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">ssh pi@raspberrypi.local</pre>.</li><li class="formatter-li">If you don't have access to wired ethernet or the above methods fail, configure your Pi for USB-OTG, also known as "on-the-go" or gadget mode. Instructions for enabling USB-OTG vary between various models and not all Pi hardware has support for this.</li></ol><br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-my-custom-hostapd-conf-php-ini-is-gone">My custom hostapd.conf / php.ini is gone.</h2><br />

<br />
The<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/quick/">installer</a><span class="emoji-tag">&nbsp;</span>applies a "known good"<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/defaults/">default configuration</a><span class="emoji-tag">&nbsp;</span>to some services, including<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">hostapd</pre>. It will also, optionally, optimize PHP by changing a very limited number of settings. Your custom configurations haven't been lost however; they've been moved to the backups directory in<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">/etc/raspap/backups</pre>.<br />
<br />
You are free to SSH in to restore those files to their rightful position. However, you may need to ensure that the RaspAP modifications are applied to your own custom configurations.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-i-changed-the-admin-password-and-forgot-what-it-was">I changed the admin password and forgot what it was.</h2><br />

<br />
Login credentials are stored in<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">/etc/raspap/raspap.auth</pre>. The password is encrypted and cannot be edited manually. However, deleting this file with<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">sudo rm /etc/raspap/raspap.auth</pre><span class="emoji-tag">&nbsp;</span>will restore the default admin password.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-raspap-control-panel-works-but-there-is-no-wifi-after-reboot">RaspAP control panel works but there is no WiFi after reboot.</h2><br />

<br />
This problem often occurs when another program tries to reconfigure hostapd at startup. It can also happen when your RPi is configured as both a WiFi client and access point, also known as a<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/ap-sta/">managed mode</a><span class="emoji-tag">&nbsp;</span>AP. To address this, RaspAP has added a<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">systemd</pre><span class="emoji-tag">&nbsp;</span>init service to bring up networking services in a predictable order and timing after the Linux kernel is booted. You can check the status of this service with:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">sudo systemctl status raspapd.service</pre></pre></div></div><br />
<br />
The<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">raspapd.service</pre><span class="emoji-tag">&nbsp;</span>is optionally installed and enabled by the Quick Installer. It is also included in the manual setup steps.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-bridged-ap-mode-is-unstable-or-clients-can-t-connect">Bridged AP mode is unstable or clients can't connect.</h2><br />

<br />
RaspAP<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/bridged/">delegates all DHCP control to your router</a><span class="emoji-tag">&nbsp;</span>in bridged AP mode. If you have trouble connecting clients, start with this project's<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/issues/#default-settings">default configuration</a><span class="emoji-tag">&nbsp;</span>in routed AP mode<span class="emoji-tag">&nbsp;</span><em>first</em><span class="emoji-tag">&nbsp;</span>and try connecting a client. Enable logging for DHCP and hostapd to help you identify any problems. If you have no issues with client connectivity with the default routed AP, but cannot connect clients in bridged AP mode, in most cases the problem lies with your router&#8212;not RaspAP. Check your router's web interface and DHCP settings.<br />
<br />
If clients disconnect intermittently, this often indicates an undervoltage issue with your RPi. Check the kernel log for any<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">Under-voltage detected!</pre><span class="emoji-tag">&nbsp;</span>errors. Be sure you are using an official 5.1V power supply (each model has<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://www.raspberrypi.org/documentation/hardware/raspberrypi/power/README.md">different power requirements</a>) and detach any USB devices. Executing<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">dmesg | grep br0</pre><span class="emoji-tag">&nbsp;</span>can also offer clues. Execute<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">sudo dhclient -v</pre><span class="emoji-tag">&nbsp;</span>to gain insights into DHCP requests between your device and router. A typical DHCP exchange follows this pattern:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">CLIENT -> DHCPDISCOVER
SERVER -> DHCPOFFER
CLIENT -> DHCPREQUEST
SERVER -> DHCPACK</pre></pre></div></div><br />
<br />
If your device (the client) broadcasts<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">DHCPDISCOVER</pre>, but there is no<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">DHCPOFFER</pre><span class="emoji-tag">&nbsp;</span>response from your router, you have a misconfiguration or other issue with your network. Troubleshooting client connectivity in bridged AP mode is not supported. No hard feelings.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-managed-mode-ap-doesn-t-work-on-the-pi-zero-w">Managed mode AP doesn't work on the Pi Zero W.</h2><br />

<br />
See<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/ap-sta/">this walkthrough</a><span class="emoji-tag">&nbsp;</span>where the installation is described in detail.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-wifi-scanning-doesn-t-work-or-i-get-the-error-cannot-execute-wpa_cli-reconfigure">WiFi scanning doesn't work or I get the error cannot execute "wpa_cli reconfigure" .</h2><br />

<br />
On some configurations, the<span class="emoji-tag">&nbsp;</span><strong>Configure WiFi client</strong><span class="emoji-tag">&nbsp;</span>panel may appear empty. This project uses the<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">wpa_supplicant</pre><span class="emoji-tag">&nbsp;</span>command line client<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">wpa_cli</pre><span class="emoji-tag">&nbsp;</span>to populate a list of available wireless networks. If you can't execute this from the shell, neither can the web UI. For example, the results of this command:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">sudo wpa_cli -i wlan0 scan_results
Failed to connect to non-global ctrl_ifname: wlan0  error: No such file or directory</pre></pre></div></div><br />
<br />
...indicate a problem with the socket used to communicate with<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">wpa_supplicant</pre>. You may also encounter errors such as "Could not connect to wpa_supplicant: wlan0 - re-trying".<br />
<br />
If this happens, first check the contents of<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">wpa_supplicant</pre><span class="emoji-tag">&nbsp;</span>with<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">sudo cat /etc/wpa_supplicant/wpa_supplicant.conf</pre>. You should see, at minimum, the following:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1</pre></pre></div></div><br />
<br />
The above is present on clean installs of Raspbian. If you've made changes to this file, ensure that these lines appear first. Next, reinitialize the socket with:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">sudo wpa_supplicant -B -Dnl80211,wext -c/etc/wpa_supplicant/wpa_supplicant.conf -iwlan0</pre></pre></div></div><br />
<br />
substituting<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">wlan0</pre><span class="emoji-tag">&nbsp;</span>with your wireless interface, if necessary. You should then be able to perform scans as expected.<br />
<br />
Tip<br />
<br />
If you are using<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">wpa_suplicant.conf</pre><span class="emoji-tag">&nbsp;</span>to connect to your device with SSH on a wireless interface, do<span class="emoji-tag">&nbsp;</span><em>not</em><span class="emoji-tag">&nbsp;</span>reboot after running the Quick Installer. More information on this topic is<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/ap-sta/#when-to-reboot">available here</a>.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-i-started-the-hotspot-but-it-shows-hostapd-down-what-s-happeninge">I started the hotspot but it shows "hostapd down". What's happening?</h2><br />

<br />
Hostapd, the Linux service that creates the access point, can fail to start for a variety of reasons. The following are common causes, with troubleshooting advice:<br />
<br />
<ol class="formatter-ol"><li class="formatter-li">If you've attached an external wireless adapter (bound to<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">wlan1</pre>, for example) and have selected this as the AP interface, be sure that it either uses an<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/faq/#adapters">in-kernel driver</a>, also known as "plug and play" support, or that you have installed the correct driver for it.</li><li class="formatter-li">Confirm that the 802.11 wireless mode you've selected is supported by the adapter you've chosen in the list of available interfaces. For example, if you've selected the<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">802.11ac 5 GHz</pre><span class="emoji-tag">&nbsp;</span>wireless mode with incompatible hardware, RaspAP will create the configuration for you but<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">hostapd</pre><span class="emoji-tag">&nbsp;</span>will fail to start.</li></ol><br />
<br />
In each of these cases, the<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">hostapd</pre><span class="emoji-tag">&nbsp;</span>service will report errors that can be useful for troubleshooting. Enable logging by selecting<span class="emoji-tag">&nbsp;</span><strong>Logfile output</strong><span class="emoji-tag">&nbsp;</span>on the<span class="emoji-tag">&nbsp;</span><strong>Hostapd > Logging</strong><span class="emoji-tag">&nbsp;</span>tab, choose<span class="emoji-tag">&nbsp;</span><strong>Save settings</strong><span class="emoji-tag">&nbsp;</span>then<span class="emoji-tag">&nbsp;</span><strong>Restart hotspot</strong>.<br />
<br />
Refer to<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/faq/#actroubleshooting">this FAQ</a><span class="emoji-tag">&nbsp;</span>and<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/faq/#disassociated">this FAQ</a><span class="emoji-tag">&nbsp;</span>for more info.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-pinging-the-ap-from-a-connected-client-computer-or-vice-versa-results-in-an-intermittent-failure-can-i-troubleshoot-thise">Pinging the AP from a connected client computer (or vice versa) results in an intermittent failure. Can I troubleshoot this?</h2><br />

<br />
An intermittent ping failure on the wireless interface could indicate any number of things; a poor wireless signal, co-channel interference and disassociated client being among the most common. The following are methods for troubleshooting this:<br />
<br />
<ol class="formatter-ol"><li class="formatter-li">Get a signal strength report. A signal of -80 dBm or less from your AP is unreliable. If your client computer supports Linux, use<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">sudo iw dev wlan0 scan | awk '/signal:/{sta=$2$3} /SSID:/{print $0" "sta}'</pre><span class="emoji-tag">&nbsp;</span>and check your AP's dBm value. Alternatively, use any one of several graphical WiFi explorer type tools and obtain your signal strength this way.</li><li class="formatter-li">Use<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">wavemon</pre><span class="emoji-tag">&nbsp;</span>on the AP to scan for overlapping channels from nearby APs. Install it with<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">sudo apt install wavemon</pre>. If it shows an AP with a strong signal on the same channel as your AP, you are likely experiencing co-channel interference. Select a different channel or band for your AP, restart it and compare the results.</li><li class="formatter-li">Use<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">mtr</pre><span class="emoji-tag">&nbsp;</span>to run a continuous scan that reports on latency and percentage packet loss. Install it with<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">sudo apt install mtr-tiny</pre>. Obtain your client's IPv4 address from the dashboard or<span class="emoji-tag">&nbsp;</span><strong>DHCP Server > Client list</strong><span class="emoji-tag">&nbsp;</span>and start the utility, for example<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">mtr 10.3.141.151</pre>. While the scan is running, reposition your client computer and/or your AP and observe the results.</li><li class="formatter-li">Enable<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">hostapd</pre><span class="emoji-tag">&nbsp;</span>service logging from RaspAP with<span class="emoji-tag">&nbsp;</span><strong>Hotspot > Logging > Logfile output</strong>, followed by<span class="emoji-tag">&nbsp;</span><strong>Save settings</strong><span class="emoji-tag">&nbsp;</span>and restart your AP. Look for errors that indicate clients are being disassociated from the AP. Refer to<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/faq/#disassociated">this FAQ</a><span class="emoji-tag">&nbsp;</span>for more info.</li></ol><br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-my-wlan1-keeps-being-disabled-andor-clients-are-repeatedly-disconnected">My wlan1 keeps being disabled and/or clients are repeatedly disconnected.</h2><br />

<br />
Issues<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://github.com/RaspAP/raspap-webgui/issues/666">such as this</a><span class="emoji-tag">&nbsp;</span>can be tricky to diagnose. In this case, an AP is started with an external USB wireless adapter, but client devices are continuously authenticated and disconnected (or "disassociated"). This may appear in<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">hostapd</pre><span class="emoji-tag">&nbsp;</span>service logs like so:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">wlan1: STA 24:62:ab:fd:24:34 IEEE 802.11: authenticated
wlan1: STA 24:62:ab:fd:24:34 IEEE 802.11: associated (aid 1)
wlan1: AP-STA-CONNECTED 24:62:ab:fd:24:34
wlan1: STA 24:62:ab:fd:24:34 RADIUS: starting accounting session 1D0030DD3176A315
wlan1: STA 24:62:ab:fd:24:34 WPA: pairwise key handshake completed (RSN)
wlan1: AP-STA-DISCONNECTED 24:62:ab:fd:24:34
wlan1: STA 24:62:ab:fd:24:34 IEEE 802.11: disassociated
wlan1: STA 24:62:ab:fd:24:34 IEEE 802.11: deauthenticated due to inactivity (timer DEAUTH/REMOVE)</pre></pre></div></div><br />
<br />
The AP itself may also fail repeatedly with errors like the following:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">wlan1: INTERFACE-ENABLED
Failed to set beacon parameters
wlan1: INTERFACE-DISABLED
wlan1: INTERFACE-ENABLED
Failed to set beacon parameters
wlan1: interface state ENABLED->DISABLED
wlan1: AP-DISABLED
wlan1: CTRL-EVENT-TERMINATING </pre></pre></div></div><br />
<br />
If you see messages indicating "deauthenticated due to inactivity", you can try the "Disable<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">disassoc_low_ack</pre>" setting on the<span class="emoji-tag">&nbsp;</span><strong>Hotspot > Advanced</strong><span class="emoji-tag">&nbsp;</span>tab. Choose<span class="emoji-tag">&nbsp;</span><strong>Save settings</strong><span class="emoji-tag">&nbsp;</span>then restart your AP. Monitor the hostapd service logs and see if your clients are able to remain connected.<br />
<br />
In this specific case, the user determined that the external<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://unix.stackexchange.com/questions/610338/raspberry-pi-4-model-b-external-rt3070-wifi-adapter-hostapd-crashing">RT3070 WiFi adapter</a><span class="emoji-tag">&nbsp;</span>was at fault.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-raspap-web-ui-fails-to-start-or-unable-to-save-settings">RaspAP web UI fails to start or unable to save settings.</h2><br />

<br />
After performing a clean install of RaspAP or upgrading an existing installation, the web UI may fail to start or the admin panel may behave in unexpected ways. For example, pages may load but any attempt to save settings will fail. In other cases, the lighttpd web server may fail to respond completely. Errors such as these in<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">/var/log/lighttpd/error.log</pre><span class="emoji-tag">&nbsp;</span>are common:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">(gw_backend.c.503) bind failed for: unix:/run/lighttpd/php.socket-0: No such file or directory
(gw_backend.c.601) gw-backend failed to start: /usr/bin/php-cgi
(gw_backend.c.1655) [ERROR]: spawning gw failed</pre></pre></div></div><br />
<br />
These signs point to a corrupted filesystem on the SD card. If during a power disconnection the memory card is in a write operation, there is a high chance that one or more sectors will be damaged. In these cases, a fresh install on a new SD card can save you time and frustration. RaspAP's<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/minwrite/">minimal SD card write</a><span class="emoji-tag">&nbsp;</span>mode can help in this case.<br />
<br />
Tip<br />
<br />
Be sure to use genuine MicroSD cards from a reputable manufacturer. Card clones are common and hard to distinguish from legitimately made ones, but certainly not subject to the same quality standards. Neither fake nor cheap cards are typically suitable for an entire OS to run from.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-why-do-i-receive-an-invalid-csrf-token-message-and-a-blank-screene">Why do I receive an 'Invalid CSRF token' message and a blank screen?</h2><br />

<br />
A<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://owasp.org/www-community/attacks/csrf">cross-site request forgery</a><span class="emoji-tag">&nbsp;</span>(CSRF) is a type of exploit where unauthorized commands are executed against a website on behalf of a trusted user. To guard against this, RaspAP generates a one-time token that is unique for every user and stored in the PHP session object. This token value is inserted into a hidden field on every form in the RaspAP application. If the token doesn&#8217;t exist in the submitted form data or fails to match with the token on the server, the form will reject the submission and return an error.<br />
<br />
The most common cause for this error message is when your PHP session expires. By default, the PHP session timeout is defined as 24 minutes (1440 seconds). When this timeout is reached stored data will be seen as "garbage" and cleaned up by the garbage collection process.<br />
<br />
If you submit a form in RaspAP 24 minutes after the page was loaded, the application will return a CSRF token error. When this occurs, simply refresh the page to generate a new session token.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-can-i-restore-raspap-s-default-settingse">Can I restore RaspAP's default settings?</h2><br />

<br />
Yes, two methods are<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/defaults/#restoring-settings">described here</a>.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-how-do-i-integrate-raspap-with-pi-holee">How do I integrate RaspAP with Pi-hole?</h2><br />

<br />
There have been several discussions around integrating RaspAP with Pi-hole, with the end goal of hosting a complete AP and ad-blocker on a single device. Both projects rely on<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">dnsmasq</pre>, so integration between them is tricky. There are now several options available to users of RaspAP.<br />
<br />
<ol class="formatter-ol"><li class="formatter-li">The first option is to configure RaspAP to use a Pi-Hole installation on a separate device. Go to RaspAP's<span class="emoji-tag">&nbsp;</span><strong>DHCP Server</strong><span class="emoji-tag">&nbsp;</span>><span class="emoji-tag">&nbsp;</span><strong>Advanced</strong><span class="emoji-tag">&nbsp;</span>page and enable the "Upstream DNS Server" option, add your Pi-Hole's DNS, save settings and restart dnsmasq.</li><li class="formatter-li">Alternatively, you can run Pi-Hole and RaspAP on the same device by operating RaspAP in bridged mode. Go to RaspAP's<span class="emoji-tag">&nbsp;</span><strong>Hotspot</strong><span class="emoji-tag">&nbsp;</span>><span class="emoji-tag">&nbsp;</span><strong>Advanced settings</strong><span class="emoji-tag">&nbsp;</span>page, enable the "Bridged AP mode" option and restart your hotspot.</li><li class="formatter-li">Install Pi-Hole in a<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://hub.docker.com/r/pihole/pihole">Docker container</a><span class="emoji-tag">&nbsp;</span>and proceed with a normal installation of RaspAP on the same device.</li><li class="formatter-li">Finally, and by popular demand, RaspAP has released its own<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/adblock/">ad blocking facility</a><span class="emoji-tag">&nbsp;</span>with support for custom blocklists.</li></ol><br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-can-i-integrate-raspap-with-adguard-homee">Can I integrate RaspAP with Adguard Home?</h2><br />

<br />
Yes, you can run RaspAP and<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://github.com/AdguardTeam/AdGuardHome">Adguard Home</a><span class="emoji-tag">&nbsp;</span>on the same device. Change Adguard Home&#8217;s listening port to<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">5300</pre><span class="emoji-tag">&nbsp;</span>and bind to<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">127.0.0.1</pre>, then go to RaspAP's ><span class="emoji-tag">&nbsp;</span><strong>DHCP Server</strong><span class="emoji-tag">&nbsp;</span>><span class="emoji-tag">&nbsp;</span><strong>Advanced</strong><span class="emoji-tag">&nbsp;</span>page and enable the "Upstream DNS Server". Add<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">127.0.0.1#5300</pre><span class="emoji-tag">&nbsp;</span>as an upstream DNS Server. Save settings and restart dnsmasq. Tip via<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://github.com/RaspAP/raspap-webgui/issues/542#issuecomment-609078400">@firestrife23</a><br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-can-i-configure-raspap-to-work-with-a-captive-portale">Can I configure RaspAP to work with a captive portal?</h2><br />

<br />
Yes. The<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://github.com/nodogsplash/nodogsplash">nodogsplash project</a><span class="emoji-tag">&nbsp;</span>works just fine with RaspAP and is recommended over other methods. A detailed setup guide is<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/captive/">available here</a>.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-how-do-i-create-an-ap-activation-schedulee">How do I create an AP activation schedule?</h2><br />

<br />
This is a common function in consumer wireless routers. For example, let's assume you want to disable your AP on Monday through Friday between 02:00 and 08:00. You can implement this with<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">cron</pre><span class="emoji-tag">&nbsp;</span>to stop/start RaspAP's service control script at certain times. Run<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">sudo crontab -e</pre><span class="emoji-tag">&nbsp;</span>and add entries like so:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;"># Stop RaspAP services at 02:00 on Monday through Friday
0 2 * * 1-5 sudo /etc/raspap/hostapd/servicestart.sh --action stop
&nbsp;
# Start RaspAP services at 08:00 on Monday through Friday
0 8 * * 1-5 sudo /etc/raspap/hostapd/servicestart.sh --seconds 3</pre></pre></div></div><br />
<br />
For help with crontab, head over to<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://crontab.guru/">crontab.guru</a>.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-can-i-schedule-the-wifi-password-to-change-automaticallye">Can I schedule the WiFi password to change automatically?</h2><br />

<br />
Yes. Here's<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://gist.github.com/billz/2cc43e96563293d650e313e068d52dfb">one way to do it</a><span class="emoji-tag">&nbsp;</span>using bash. Save the script to your home directory (<pre style="display:inline;">/home/pi</pre><span class="emoji-tag">&nbsp;</span>for example) and set the execution bit with<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">sudo chmod +x genpassphrase.sh</pre>. When executed, the script will automatically generate a strong password (or a weaker, pronounceable one), update the<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">wpa_passphrase</pre><span class="emoji-tag">&nbsp;</span>setting in<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">hostapd.conf</pre><span class="emoji-tag">&nbsp;</span>and finally restart the<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">raspapd.service</pre>. The new passphrase and QR code will be visible on the<span class="emoji-tag">&nbsp;</span><strong>Hotspot > Security</strong><span class="emoji-tag">&nbsp;</span>tab.<br />
<br />
This can be useful if you're using RaspAP to serve WiFi to clients in a public place, and need to update the passphrase regularly. Similar to creating an<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/faq/#schedule">AP activation schedule</a>, you can have this execute at specific intervals by using<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">cron</pre>. Run<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">sudo crontab -e</pre><span class="emoji-tag">&nbsp;</span>and add an entry like so:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;"># Generate a new passphrase and restart RaspAP everyday at midnight
@midnight /home/pi/genpassphrase.sh</pre></pre></div></div><br />
<br />
For help with crontab, head over to<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://crontab.guru/">crontab.guru</a>.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-can-i-configure-a-managed-mode-ap-without-using-the-uie">Can I configure a managed mode AP without using the UI?</h2><br />

<br />
Yes. Let's assume you are creating an RPi OS image (or other supported OS) with scripts that setup RaspAP at first startup. In this scenario, to configure a managed mode AP you must manually connect via a browser, make some changes via the UI and then save your settings. This can be also be done programmatically. Assuming you have<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/faq/#headless"><pre style="display:inline;">wpa_supplicant.conf</pre><span class="emoji-tag">&nbsp;</span>fully populated</a><span class="emoji-tag">&nbsp;</span>and a valid<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/ap-sta/#how-does-ap-sta-work"><pre style="display:inline;">hostapd.conf</pre></a>, set the following values in<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">/etc/raspap/hostapd.ini</pre>:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">LogEnable = 0
WifiAPEnable = 1
BridgedEnable = 0
WifiManaged = wlan0</pre></pre></div></div><br />
<br />
substituting<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">wlan0</pre><span class="emoji-tag">&nbsp;</span>for your AP interface, if necessary. You may then restart the raspap daemon with<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">sudo systemctl restart raspapd.service</pre>.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-can-i-configure-an-alternate-port-for-raspap-s-web-servicee">Can I configure an alternate port for RaspAP's web service?</h2><br />

<br />
Yes. You can now do this from the<span class="emoji-tag">&nbsp;</span><strong>Advanced</strong><span class="emoji-tag">&nbsp;</span>tab in System. Manual steps for changing<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">lighttpd</pre>'s default port are included below.<br />
<br />
Edit<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">/etc/lighttpd/lighttpd.conf</pre><span class="emoji-tag">&nbsp;</span>and change the following line:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">server.port                 = 8080</pre></pre></div></div><br />
<br />
then give the service a kick...<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">sudo systemctl restart lighttpd.service</pre></pre></div></div><br />
<br />
You can then access RaspAP as before with the new port number in the URI, for example,<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">http://raspberrypi.local:8080</pre>. This will allow you run another web server alongside lighttpd, if that is your goal.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-what-breaks-raspap-when-docker-is-installed-on-the-same-system-and-how-i-can-fix-ite">What breaks RaspAP when Docker is installed on the same system and how I can fix it?</h2><br />

<br />
Installing RaspAP after installing Docker often results in connected clients not having internet access from the AP. The reason for this is Docker manipulates<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">iptables</pre><span class="emoji-tag">&nbsp;</span>rules to provide network isolation. Docker installs two custom iptables chains named<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">DOCKER-USER</pre><span class="emoji-tag">&nbsp;</span>and<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">DOCKER</pre>, and it ensures that incoming packets are always checked by these two chains first. Docker also sets the policy for the<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">FORWARD</pre><span class="emoji-tag">&nbsp;</span>chain to<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">DROP</pre>.<br />
<br />
When RaspAP is started in its default router mode, this will result in the AP not forwarding traffic anymore. If you want RaspAP to continue functioning as a router, you can add explicit<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">ACCEPT</pre><span class="emoji-tag">&nbsp;</span>rules to the<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">DOCKER-USER</pre><span class="emoji-tag">&nbsp;</span>chain to allow it:<br />
<br />
<pre style="display:inline;">sudo iptables -I DOCKER-USER -i src_if -o dst_if -j ACCEPT</pre><br />
<br />
When Docker is correctly installed<span class="emoji-tag">&nbsp;</span><em>after</em><span class="emoji-tag">&nbsp;</span>RaspAP, the following<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">iptables</pre><span class="emoji-tag">&nbsp;</span>chain should be present:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">Chain INPUT (policy ACCEPT) target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination DOCKER-USER all -- anywhere anywhere
DOCKER-ISOLATION-STAGE-1 all -- anywhere anywhere
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED DOCKER all -- anywhere anywhere
ACCEPT all -- anywhere anywhere ACCEPT all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT) target prot opt source destination
Chain DOCKER (1 references) target prot opt source destination</pre></pre></div></div><br />
<br />
Additional info<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://github.com/RaspAP/raspap-webgui/issues/458#issuecomment-643425658">here</a><span class="emoji-tag">&nbsp;</span>and<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.docker.com/network/iptables/">here</a>.<br />
<br />
<strong>tl;dr:</strong><span class="emoji-tag">&nbsp;</span>Install RaspAP<span class="emoji-tag">&nbsp;</span><em>first</em>, followed by Docker, adding the explicit<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">iptables</pre><span class="emoji-tag">&nbsp;</span>rule<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">sudo iptables -I DOCKER-USER -i src_if -o dst_if -j ACCEPT</pre>.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-can-i-integrate-raspap-with-openmediavaulte">Can I integrate RaspAP with OpenMediaVault?</h2><br />

<br />
Yes, you can run RaspAP alongside<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://www.openmediavault.org/">OpenMediaVault</a><span class="emoji-tag">&nbsp;</span>for a complete media center and wireless hotspot on a single device. In this way, you are able to share the media storage in your local network via a wireless hotspot while connected to a router via ethernet. This is illustrated in the schematic below:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">[Router] <---- eth ----> [Pi] (RaspAP + OMV5)
|                      |
WiFi 1              WiFi 2 (subnet)</pre></pre></div></div><br />
<br />
Follow these steps to create this configuration:<br />
<br />
<ol class="formatter-ol"><li class="formatter-li">Follow RaspAP's<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/quick/">Quick start</a><span class="emoji-tag">&nbsp;</span>guide and set up your network as you wish.</li><li class="formatter-li">Change the default Web server port to<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">8080</pre><span class="emoji-tag">&nbsp;</span>(so that it doesn't conflict with OMV5), from RaspAP's<span class="emoji-tag">&nbsp;</span><strong>System > Advanced</strong><span class="emoji-tag">&nbsp;</span>panel.</li><li class="formatter-li">Install OMV5 skipping network configuration.</li><li class="formatter-li">Configure your OMV5 install without changing the network settings.</li><li class="formatter-li">To make your OMV5 drives accessible from the subnet (WiFi 2), add the following settings at the end of<span class="emoji-tag">&nbsp;</span><strong>OMV Control panel > Menu > SMB/CIFS > Settings Tab > Extra Options</strong>:</li></ol><br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">bind interfaces only = yes
interfaces = lo eth0</pre></pre></div></div><br />
<br />
Source:<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://forum.openmediavault.org/index.php?thread/39060-raspap-and-omv5-media-center-wifihotspot-with-ethernet/">openmediavault forums</a>.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-can-i-use-raspap-to-share-speedify-s-aggregated-connectionse">Can I use RaspAP to share Speedify's aggregated connections?</h2><br />

<br />
Yes, RaspAP is compatibile with Speedify's connection bonding. In this scenario, you may want to combine several internet connections (for example, a DSL connection, 4G cellphone and an LTE router) and share these via RaspAP.<br />
<br />
Begin by running Speedify's<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://support.speedify.com/article/562-install-speedify-linux">one step install</a>, login with your credentials and connect Speedify. Next,<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://support.speedify.com/article/566-speedify-linux-wifi">configure Speedify for WiFi sharing</a><span class="emoji-tag">&nbsp;</span>by editing the following file:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">sudo nano /etc/speedify/speedify.conf</pre></pre></div></div><br />
<br />
Make sure to uncomment the following lines (remove the "<pre style="display:inline;">#</pre>" symbol). To share over the Wi-Fi interface<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">wlan0</pre>, set:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">ENABLE_SHARE=1
SHARE_INTERFACE="wlan0"
WIFI_INTERFACE="wlan0" </pre></pre></div></div><br />
<br />
Once you have configured the sharing settings, save the file (if you are using nano, use<span class="emoji-tag">&nbsp;</span><strong>Ctrl</strong>+<strong>O</strong><span class="emoji-tag">&nbsp;</span>and press<span class="emoji-tag">&nbsp;</span><strong>Enter</strong><span class="emoji-tag">&nbsp;</span>to save). Exit the text editor and then execute:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">sudo service speedify-sharing restart</pre></pre></div></div><br />
<br />
Refer to<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://support.speedify.com/article/566-speedify-linux-wifi">Speedify's support article</a><span class="emoji-tag">&nbsp;</span>for additional tips and troubleshooting.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-how-do-i-serve-custom-pages-from-raspape">How do I serve custom pages from RaspAP?</h2><br />

<br />
Several users have asked if they can extend RaspAP or otherwise serve their own custom directory with the existing<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">lighttpd</pre><span class="emoji-tag">&nbsp;</span>web service. Broadly, there are two approaches to achieve this. In the examples below, we will add support for a custom directory called "admin".<br />
<br />
<strong>Option 1.</strong><span class="emoji-tag">&nbsp;</span>Create a subdirectory of RaspAP's default install location (<pre style="display:inline;">/var/www/html</pre>) called "admin":<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">/var/www/html/admin</pre>. Now, modify RaspAP's<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/manual/#create-the-web-application">application routing rules</a><span class="emoji-tag">&nbsp;</span>by adding this directory to the exclusion list. You may do this with<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">sudo nano /etc/lighttpd/conf-available/50-raspap-router.conf</pre>. Next, modify the following line like so:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">$HTTP["url"] =~ "^/(?!(dist|app|ajax|config|admin)).*" {</pre></pre></div></div><br />
<br />
Note that "admin" is appended above "config", above. This instructs lighttpd not to rewrite URLs that match this pattern. Reload the lighttpd service with<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">sudo systemctl reload lighttpd.service</pre>.<br />
<br />
You may now create your own<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">index.php</pre><span class="emoji-tag">&nbsp;</span>file in this folder and request it from the browser as<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">http://10.3.141.1/admin/</pre><span class="emoji-tag">&nbsp;</span>or<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">http://raspberrypi.local/admin</pre>.<br />
<br />
<strong>Option 2.</strong><span class="emoji-tag">&nbsp;</span>Reinstall RaspAP and specify a custom install destination, for example<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">/var/www/html/raspap</pre>. This will leave the default web root free for you to create any files you wish, without attempting to rewrite the URLs (the installer will only apply routing rules to your custom RaspAP root).<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-can-i-automatically-update-raspap-s-adblock-listse">Can I automatically update RaspAP's adblock lists?</h2><br />

<br />
RaspAP's<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/adblock/">adblock feature</a><span class="emoji-tag">&nbsp;</span>uses several<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/adblock/#blocklist-source">blocklists</a><span class="emoji-tag">&nbsp;</span>that are aggregated and updated daily. In a typical setup, you may use the<span class="emoji-tag">&nbsp;</span><strong>Ad blocking</strong><span class="emoji-tag">&nbsp;</span>management page to manually update these lists. Alternatively, this<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://github.com/RaspAP/raspap-webgui/discussions/1216">user-contributed script</a><span class="emoji-tag">&nbsp;</span>will automatically fetch the latest blocklists on the schedule of your choosing (for example, daily, weekly, etc.) and reload<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">dnsmasq</pre>.<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">#!/bin/sh
#
sleep $(shuf -i 0-3600 -n1)
curl -L https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts > /etc/raspap/adblock/hostnames.tmp
curl -L https://big.oisd.nl/dnsmasq > /etc/raspap/adblock/domains.tmp
&nbsp;
mv /etc/raspap/adblock/hostnames.tmp /etc/raspap/adblock/hostnames.txt
mv /etc/raspap/adblock/domains.tmp /etc/raspap/adblock/domains.txt
chown root:www-data /etc/raspap/adblock/hostnames.txt
chown root:www-data /etc/raspap/adblock/domains.txt
&nbsp;
sudo systemctl reload dnsmasq.service</pre></pre></div></div><br />
<br />
Credit to<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://github.com/DanielLester83">DanielLester83</a>.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-openvpn-fails-to-start-andor-i-have-no-internet">OpenVPN fails to start and/or I have no internet.</h2><br />

<br />
RaspAP supports OpenVPN clients by uploading a valid<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">.ovpn</pre><span class="emoji-tag">&nbsp;</span>file to<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">/etc/openvpn/client</pre><span class="emoji-tag">&nbsp;</span>and, optionally, creating a<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">login.conf</pre><span class="emoji-tag">&nbsp;</span>file with your client auth credentials. Additionally, in line with the project's<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/defaults/">default configuration</a>, the following iptables rules are added to forward traffic from OpenVPN's<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">tun0</pre><span class="emoji-tag">&nbsp;</span>interface to your configured wireless interface (<pre style="display:inline;">wlan0</pre><span class="emoji-tag">&nbsp;</span>is the default):<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">-A FORWARD -i tun0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i wlan0 -o tun0 -j ACCEPT</pre></pre></div></div><br />
<br />
After starting the OpenVPN service, you may check and validate these rules like so:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">$ sudo iptables -L FORWARD -v -n
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination
1955 1493K ACCEPT     all  --  tun0   wlan0   0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
1715  194K ACCEPT     all  --  wlan0  tun0    0.0.0.0/0            0.0.0.0/0</pre></pre></div></div><br />
<br />
It is your responsibility to provide a valid<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">.ovpn</pre><span class="emoji-tag">&nbsp;</span>file. RaspAP does not attempt to validate the settings or RSA keys contained in this file. If OpenVPN fails to start, check for errors with<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">sudo systemctl status openvpn-client@client</pre><span class="emoji-tag">&nbsp;</span>and<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">journalctl --identifier openvpn</pre>.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-openvpn-works-but-i-have-partial-or-no-internet-access">OpenVPN works but I have partial or no internet access.</h2><br />

<br />
Issues<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://github.com/RaspAP/raspap-webgui/issues/612">like this</a><span class="emoji-tag">&nbsp;</span>are frequently reported. Begin by confirming the status of your connection:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">$ sudo systemctl status openvpn-client@client
● openvpn-client@client.service - OpenVPN tunnel for client
Loaded: loaded (/lib/systemd/system/openvpn-client@.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2020-06-12 15:45:41 CDT; 1min 39s ago
Docs: man:openvpn(8)
https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage
https://community.openvpn.net/openvpn/wiki/HOWTO
Main PID: 2689 (openvpn)
Status: "Initialization Sequence Completed"
Tasks: 1 (limit: 2200)
Memory: 1.1M
CGroup: /system.slice/system-openvpn\x2dclient.slice/openvpn-client@client.service
└─2689 /usr/sbin/openvpn --suppress-timestamps --nobind --config client.conf</pre></pre></div></div><br />
<br />
You can also use<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">journalctl --identifier openvpn</pre><span class="emoji-tag">&nbsp;</span>to identify any errors. If your internet access is intermittent or otherwise degraded with the<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">openvpn-client</pre><span class="emoji-tag">&nbsp;</span>active, the next step is to test your connection for packet loss and latency. There are many Linux tools you can use to diagnose your network.<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">mtr</pre><span class="emoji-tag">&nbsp;</span>is a good choice as it combines functionality of the traceroute and ping programs. Install and use it to perform your own evaluation:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">sudo apt install mtr -y
sudo mtr -rwc 50 -i 0.2 -rw duckduckgo.com
&nbsp;
Start: 2021-06-13T11:42:26+0100
HOST: raspberrypi                                Loss%   Snt   Last   Avg  Best  Wrst StDev
1.|-- 192.168.1.254                              0.0%    50   26.8  27.1  26.5  31.4   0.8
2.|-- somerouter.net                            88.0%    50   392.0 390.4 362.1 596.7  1.2</pre></pre></div></div><br />
<br />
The results are reported as round-trip response times in milliseconds and the percentage of packet loss. If you see loss and/or latency like the above example, report it to your VPN provider or find another one. Read<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://www.linode.com/docs/networking/diagnostics/diagnosing-network-issues-with-mtr/">this</a><span class="emoji-tag">&nbsp;</span>for more on interpreting mtr results.<br />
<br />
Protip: free VPNs are frequently oversubscribed and usually not worth the trouble.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-openvpn-is-enabled-but-i-am-still-blocked-from-country-restricted-websites">OpenVPN is enabled but I am still blocked from country restricted websites.</h2><br />

<br />
Remote hosts use a variety of methods to defeat VPNs, some more aggressively than others. Many VPN providers will advise you to configure custom DNS servers to mitigate<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://dnsleaktest.com/">DNS leaks</a>, which you can do from RaspAP's<span class="emoji-tag">&nbsp;</span><strong>DHCP > Advanced</strong><span class="emoji-tag">&nbsp;</span>tab. Others have specific VPN nodes to use with popular streaming services.<br />
<br />
Several users have reported that Firefox's<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://support.mozilla.org/en-US/kb/firefox-dns-over-https">DNS-over-HTTPS (DoH)</a><span class="emoji-tag">&nbsp;</span>has created problems with their VPN, in effect creating a DNS leak from the browser that circumvents RaspAP's DNS settings. Be sure to disable this "feature" when using a VPN service.<br />
<br />
If you suspect network traffic is not being routed through tun0 (or any other interface) for some reason, you can monitor this directly from your RPi with<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">iftop</pre>:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">sudo apt install iftop
sudo iftop -i [interface]</pre></pre></div></div><br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-uploading-my-wireguard-config-results-in-mime-type-not-allowed">Uploading my WireGuard config results in "MIME type not allowed".</h2><br />

<br />
For security reasons, your OpenVPN or WireGuard<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">.conf</pre><span class="emoji-tag">&nbsp;</span>files must have a Linux MIME type of<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">text/plain</pre>. Windows ignores MIME types, relying instead on extensions. To avoid errors, be sure your file has a<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">text/plain</pre><span class="emoji-tag">&nbsp;</span>MIME type embedded in it before uploading.<br />
<br />
Most OpenVPN and WireGuard service providers give you the option of downloading a file formatted for Linux. Alternatively, you may convert your Windows config file for use with Linux with<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">dos2unix</pre><span class="emoji-tag">&nbsp;</span>or one of several online tools made for this purpose.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-i-think-my-traffic-isn-t-being-routed-through-the-wireguard-vpn-can-i-debug-thise">I think my traffic isn't being routed through the WireGuard VPN. Can I debug this?</h2><br />

<br />
There are several things you can do to troubleshoot this. First, with the WireGuard service active, verify your public IPv4 address and check the external link, as shown below:<br />
<br />
<img src="https://user-images.githubusercontent.com/229399/147815548-a16ef105-230b-4e89-a4e6-69abba51b92a.png" alt="147815548-a16ef105-230b-4e89-a4e6-69abba51b92a" /><br />
<br />
Next, you may check the WireGuard service status by executing<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">sudo systemctl status wg-quick@wg0.service</pre><span class="emoji-tag">&nbsp;</span>from the shell, like so:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">$ sudo systemctl status wg-quick@wg0.service
● wg-quick@wg0.service - WireGuard via wg-quick(8) for wg0
Loaded: loaded (/lib/systemd/system/wg-quick@.service; enabled; vendor preset: enabled)
Active: active (exited) since Wed 2021-12-29 15:31:03 GMT; 1 day 18h ago
Docs: man:wg-quick(8)
man:wg(8)
https://www.wireguard.com/
https://www.wireguard.com/quickstart/
https://git.zx2c4.com/wireguard-tools/about/src/man/wg-quick.8
https://git.zx2c4.com/wireguard-tools/about/src/man/wg.8
Main PID: 1450 (code=exited, status=0/SUCCESS)
Tasks: 0 (limit: 1438)
CPU: 0
CGroup: /system.slice/system-wg\x2dquick.slice/wg-quick@wg0.service</pre></pre></div></div><br />
<br />
You may also use RaspAP's built-in WireGuard logging facility. On the<span class="emoji-tag">&nbsp;</span><strong>WireGuard > Logging</strong><span class="emoji-tag">&nbsp;</span>tab, enable the "Display WireGuard debug log" option and choose<span class="emoji-tag">&nbsp;</span><strong>Save settings</strong>. Check the log output in the tab and look for any errors.<br />
<br />
Tip<br />
<br />
The debug log facility queries the<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">systemd</pre><span class="emoji-tag">&nbsp;</span>journal with a one-time execution of<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">journalctl --identifier wg-quick</pre>. If you want to update this log output, simply enable the option again. You may also execute this command directly from the shell, if you wish.<br />
<br />
Finally, you may check and verify the WireGuard config itself, including PostUp / PostDown rules, by executing<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">sudo cat /etc/wireguard/wg0.conf</pre>.<br />
<br />
As a last piece of advice, be sure to test more than one client device connection with your WireGuard-enabled AP. Some users have reported traffic not routing as expected with one device, while a different device behaves normally.<br />
<br />
Please note that RaspAP provides a front-end to the WireGuard service only. It has no way of validating your WireGuard configuration. For this reason, bug reports such as "WireGuard not working" won't be considered.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-how-can-i-clear-raspap-s-wireguard-loge">How can I clear RaspAP's WireGuard log?</h2><br />

<br />
WireGuard doesn't do any logging by default. The quasi-logging done by RaspAP executes<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">sudo journalctl --identifier wg-quick</pre>. The Linux journal is not something you usually clear by yourself, however you can use journalctl's self maintenance to retain only the past two days:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">sudo journalctl --vacuum-time=2d</pre></pre></div></div><br />
<br />
See<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">man journalctl</pre><span class="emoji-tag">&nbsp;</span>for more information.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-why-can-t-i-access-wireless-mode-n-802-11ne">Why can't I access wireless mode 'N' (802.11n)?</h2><br />

<br />
On the<span class="emoji-tag">&nbsp;</span><strong>Configure hotspot</strong><span class="emoji-tag">&nbsp;</span>><span class="emoji-tag">&nbsp;</span><strong>Security</strong><span class="emoji-tag">&nbsp;</span>tab, be sure to select CCMP for the Encryption Type. Save the settings and restart the hotspot. The wireless mode should be reported on clients as 802.11b/g/n.<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">RaspAP:
PHY Mode:     802.11n
Channel:      1
Network Type:     Infrastructure
Security:     WPA2 Personal
Signal / Noise:   -49 dBm / -86 dBm
Transmit Rate:    73</pre></pre></div></div><br />
<br />
If using TKIP for encryption with WPA, you will be restricted to 54 Mb/s. This is because the IEEE 802.11n draft prohibits using high throughput with WEP or TKIP ciphers.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-how-do-i-exclude-nat-rules-from-ip-traffic-on-localhoste">How do I exclude NAT rules from IP traffic on localhost?</h2><br />

<br />
RaspAP's<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/quick/">Quick Installer</a><span class="emoji-tag">&nbsp;</span>configures network-address-translation (NAT) with iptables rules, so that the RPi can act as an internet gateway to multiple hosts on a local network with a single public IP address. This is done by rewriting the addresses of IP packets as they pass through the NAT system. Many access points, including RaspAP, use a combination of IP forwarding and masquerading to achieve this.<br />
<br />
In some cases, NAT rules applied to<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">localhost</pre><span class="emoji-tag">&nbsp;</span>can interfere with other services running on an RPi. An example is the Plex Media Server, which has an API that listens on localhost. As of this writing, the Plex API has been built to not authenticate communication between service processes of the server. This can cause a failure to communicate with the Plex API or similar add-on services on your RPi.<br />
<br />
The solution is to add a NAT rule ahead of the rule RaspAP installs to not apply NAT to connections destined to 127.0.0.0/8:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">$ sudo iptables -t nat -I POSTROUTING -d 127.0.0.0/8 -j ACCEPT</pre></pre></div></div><br />
<br />
The resulting iptables chain should look something like this:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">$ sudo iptables -t nat -L -n -v
Chain PREROUTING (policy ACCEPT 31 packets, 4810 bytes)
pkts bytes target prot opt in out source destination
&nbsp;
Chain INPUT (policy ACCEPT 31 packets, 4810 bytes)
pkts bytes target prot opt in out source destination
&nbsp;
Chain OUTPUT (policy ACCEPT 23 packets, 1338 bytes)
pkts bytes target prot opt in out source destination
&nbsp;
Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
17 999 ACCEPT all -- * * 0.0.0.0/0 127.0.0.0/8
2422 158K MASQUERADE all -- * * 0.0.0.0/0 0.0.0.0/0</pre></pre></div></div><br />
<br />
Refer to<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://github.com/RaspAP/raspap-webgui/issues/333#issue-454352554">this issue</a>.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-why-is-the-channel-dropdown-disabled-on-the-hotspot-pagee">Why is the channel dropdown disabled on the Hotspot page?</h2><br />

<br />
RaspAP is capable of detecting the frequencies (channels) supported by each of your device's wireless interfaces. If an interface is selected that is not capable of broadcasting on the 5 GHz band, the associated channels and the<span class="emoji-tag">&nbsp;</span><strong>Save settings</strong><span class="emoji-tag">&nbsp;</span>button are disabled. Next to the<span class="emoji-tag">&nbsp;</span><strong>Wireless Mode</strong> selector, a tooltip<span class="emoji-tag">&nbsp;</span>will provide a brief explanation.<br />
<br />
<a class="offload" href="https://github.com/RaspAP/raspap-webgui/assets/229399/576531cd-fcf1-4377-9d51-3824ee498efb">[Image]</a><br />
<br />
In this case, selecting a compatible 2.4 GHz wireless mode will populate the list of available channels for that interface. Alternatively, select another interface or connect a 5 GHz capable external wireless adapter. RaspAP will automatically detect the adapter and add it to the list of available interfaces.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-why-is-the-maximum-throughput-of-my-802-11n-ap-reduced-by-halfe">Why is the maximum throughput of my 802.11n AP reduced by half?</h2><br />

<br />
In order to achieve optimal throughput with 802.11n, the wireless stream must operate at a 40 MHz wide channel on the 2.4 GHz band. A 20 MHz channel will restrict you to 72 Mbps. Your<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">hostapd.conf</pre><span class="emoji-tag">&nbsp;</span>might have the required settings, but this is no guarantee of a 40 MHz channel.<br />
<br />
In practice, this can be quite difficult due to interference on the 2.4 GHz band. There are many things that will cause an AP to fallback to 20 MHz. The most common reason is if an AP detects another wireless network within 40 MHz, i.e. two channels, of its own channel. For example, if an AP is set to channel 6, another network operating anywhere from channel 4 to 8 will trigger a fallback. hostapd will usually report a fallback like so:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">20/40 MHz operation not permitted on channel pri=3 sec=7 based on overlapping BSSes</pre></pre></div></div><br />
<br />
For more information on optimizing 802.11n, refer to this<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://www.lmi.net/wp-content/uploads/Optimizing_802.11n.pdf">resource</a>.<br />
<br />
Generally speaking, the 5 GHz band has substantially greater capacity due to more non-overlapping radio channels and less radio interference as compared to the 2.4 GHz band.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-can-i-connect-the-wifi-client-to-a-wep-networke">Can I connect the WiFi client to a WEP network?</h2><br />

<br />
Wired Equivalent Privacy (WEP) has been deprecated for quite awhile but old routers still exist in the wild. Not all routers accept hex passwords, but you can try converting an ASCII password using an online tool like<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://www.binaryhexconverter.com/ascii-text-to-hex-converter">this one</a>. A valid WEP key should be 5 or 13 characters or a 10- or 26-digit hexadecimal value. Be sure the hex values are unpadded and there are no trailing spaces. For example,<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">52617370415069734772656174</pre><span class="emoji-tag">&nbsp;</span>is a valid hex passphrase.<br />
<br />
Paste your converted hex value into RaspAP's WiFi client passphrase field and try connecting.<br />
<br />
If you're not able to connect with a hex passphrase, you can also try this alternate<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://wiki.netbsd.org/tutorials/how_to_use_wpa_supplicant/#index3h2">manual configuration method</a>.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-can-i-turn-the-hotspot-onoff-over-sshe">Can I turn the hotspot on/off over SSH?</h2><br />

<br />
Yes, RaspAP provides a front-end to several Linux<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">systemd</pre><span class="emoji-tag">&nbsp;</span>services, including<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">hostapd</pre>. From the terminal, check the status of the<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">hostapd.service</pre><span class="emoji-tag">&nbsp;</span>like so:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">$ sudo systemctl status hostapd.service
● hostapd.service - Access point and authentication server for Wi-Fi and Ethernet
Loaded: loaded (/lib/systemd/system/hostapd.service; enabled; vendor preset: enabled)</pre></pre></div></div><br />
<br />
Stop the service with<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">sudo systemctl stop hostapd.service</pre><span class="emoji-tag">&nbsp;</span>and start it with<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">sudo systemctl start hostapd.service</pre>.<br />
<br />
If you're curious about which other services and Linux tools RaspAP controls for you, take a look at<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://github.com/RaspAP/raspap-webgui/blob/master/installers/raspap.sudoers"><pre style="display:inline;">raspap.sudoers</pre></a>.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-how-do-i-upgrade-raspape">How do I upgrade RaspAP?</h2><br />

<br />
Upgrading an existing install without changing your configuration is very straightforward. To upgrade to the<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://github.com/RaspAP/raspap-webgui/releases/latest">latest release</a><span class="emoji-tag">&nbsp;</span>version, simply run the<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/quick/">Quick Installer</a><span class="emoji-tag">&nbsp;</span>with the<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">--upgrade</pre><span class="emoji-tag">&nbsp;</span>option:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">curl -sL https://install.raspap.com | bash -s -- --upgrade</pre></pre></div></div><br />
<br />
The installer upgrade is<span class="emoji-tag">&nbsp;</span><em>idempotent</em>, meaning it can be repeated an arbitrary number of times and the result will be as if it had been done only once. If you choose this method, you're done! Confirm the upgrade by checking the release version on the<span class="emoji-tag">&nbsp;</span><strong>About</strong><span class="emoji-tag">&nbsp;</span>page.<br />
<br />
If you want to install a specific version you can do so by referencing a tag:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">sudo git fetch --tags
sudo git checkout 2.5</pre></pre></div></div><br />
<br />
A tag is a pointer that isn't connected to the main development tree that git knows about. As a result, git will reply that you're in a 'detached HEAD' state. This isn't a big deal, it just means that you have a specific version of the code that isn't connected to the git tree.<br />
<br />
Alternatively, if you want the latest<span class="emoji-tag">&nbsp;</span><em>bleeding edge</em><span class="emoji-tag">&nbsp;</span>commits from the master branch, use the following:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">sudo git checkout -b master
sudo git pull origin master</pre></pre></div></div><br />
<br />
If you've customized your installation by editing<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">config.php</pre>, update the release version in this file:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">sudo nano /var/www/html/includes/config.php</pre></pre></div></div><br />
<br />
Change the first line to the release version, save the file and exit.<br />
<br />
Note<br />
<br />
<pre style="display:inline;">RASPI_VERSION</pre><span class="emoji-tag">&nbsp;</span>is only used on the About page; it does not affect any other functionality.<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">define('RASPI_VERSION', '2.8.9');</pre></pre></div></div><br />
<br />
Finally, give the lighttpd service a kick with:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">sudo systemctl restart lighttpd.service</pre></pre></div></div><br />
<br />
Whichever method you choose (installer upgrade, specific release or latest updates), your RaspAP configuration won't be changed.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-do-i-need-the-raspap-service-to-run-at-boote">Do I need the RaspAP service to run at boot?</h2><br />

<br />
If you are using your RPi as a client on a WiFi network (also known as managed mode) and hosting an access point simultaneously, the<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">raspapd.service</pre><span class="emoji-tag">&nbsp;</span>will ensure that your hotspot is active after a reboot. It does this by detecting WiFi client AP mode, adding the<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">uap0</pre><span class="emoji-tag">&nbsp;</span>interface and starting up networking services in a specific order.<br />
<br />
If your RPi is configured with wired ethernet (<pre style="display:inline;">eth0</pre>) or you haven't experienced problems with the AP starting on boot, you can disable the RaspAP daemon like so:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">sudo systemctl disable raspapd.service</pre></pre></div></div><br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-can-the-quick-installer-accept-the-default-options-without-prompting-mee">Can the Quick Installer accept the default options without prompting me?</h2><br />

<br />
Yes, the<span class="emoji-tag">&nbsp;</span><a class="offload" href="https://docs.raspap.com/quick/">Quick Installer</a><span class="emoji-tag">&nbsp;</span>has a non-interactive mode that lets you perform unattended setups. This mode assumes "yes" as an answer to all prompts. You can do an unattended install of RaspAP by appending the<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">--yes</pre><span class="emoji-tag">&nbsp;</span>command-line option, like so:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">curl -sL https://install.raspap.com | bash -s -- --yes</pre></pre></div></div><br />
<br />
The options<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">-y</pre><span class="emoji-tag">&nbsp;</span>or<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">--assume-yes</pre><span class="emoji-tag">&nbsp;</span>are also accepted and have the same result.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-how-do-i-uninstall-raspape">How do I uninstall RaspAP?</h2><br />

<br />
We have provided an uninstall script to remove RaspAP cleanly, and also restore any backups of your configuration that were created before RaspAP was installed. The uninstall script is located in<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">installers/uninstall.sh</pre>. To start the uninstaller, simply run the following from the project root folder (default location is<span class="emoji-tag">&nbsp;</span><pre style="display:inline;">/var/www/html</pre>):<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">cd /var/www/html
sudo installers/uninstall.sh</pre></pre></div></div>]]></description>
                <pubDate>Sun, 08 Nov 2026 14:23:29 +0100</pubDate>
                
            </item>
		
            <item>
                <title><![CDATA[Insiders]]></title>
                <link>https://wiki2.softcloud.fr/wiki/insiders</link>
                <guid>https://wiki2.softcloud.fr/wiki/insiders</guid>
                <description><![CDATA[<img src="https://user-images.githubusercontent.com/229399/235716984-1e6f091a-ac20-4096-b071-fdbc534995b5.jpg" alt="235716984-1e6f091a-ac20-4096-b071-fdbc534995b5" />{: style="width:640px"}<br />
<br />
Development of RaspAP is made possible thanks to a <strong>sponsorware</strong> release model. This means that new features are first exclusively released to sponsors as part of Insiders. Read on to learn what sponsorships achieve, how to become a sponsor and what's in it for you!<br />
<br />
!!! success "Paying it forward" We donate a percentage of all proceeds from Insiders to the Raspberry Pi Foundation each quarter, to help inspire future generations of makers together with their educators.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-what-is-insiderse">What is Insiders?</h2><br />

<br />
RaspAP Insiders is a private fork of RaspAP, hosted as a private GitHub repository. Almost all new features are developed as part of this fork, which means that they are immediately available to all eligible sponsors, as they are made collaborators of this repository.<br />
<br />
Every feature is tied to a funding goal in monthly subscriptions. When a funding goal is hit, the features that are tied to it are merged back into the RaspAP public repo and released for general availability, making them available to all users. Bugfixes are always released in tandem.<br />
<br />
Sponsorships start as low as <strong>$10 per month</strong>.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-what-sponsorships-achieve">What sponsorships achieve</h2><br />

<br />
Sponsorships make this project sustainable, as they buy the maintainers of this project time &#8212; a very scarce resource &#8211; which is spent on the development of new features, bug fixes, stability improvement, issue triage and community support.<br />
<br />
If you're unsure if you should sponsor this project, check out the list of completed funding goals to learn whether you're already using features that were developed with the help of sponsorships. You're most likely using at least a handful of them, thanks to our awesome sponsors!<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-what-s-in-it-for-mee">What's in it for me?</h2><br />

<br />
The moment you become a sponsor, you'll get <strong>immediate access to the additional features below</strong> that you can start using right away, and which are currently exclusively available to sponsors:<br />
<br />
:octicons-check-circle-fill-24:{: .check } Network device management<br />
:octicons-check-circle-fill-24:{: .check } Firewall settings<br />
:octicons-check-circle-fill-24:{: .check } WPA3-Personal AP security<br />
:octicons-check-circle-fill-24:{: .check } 802.11w Protected Management Frames<br />
:octicons-check-circle-fill-24:{: .check } Printable Wi-Fi signs<br />
:octicons-check-circle-fill-24:{: .check } Drag & drop dashboard widgets<br />
:octicons-check-circle-fill-24:{: .check } MAC address cloning<br />
:octicons-check-circle-fill-24:{: .check } Network diagnostics<br />
:octicons-check-circle-fill-24:{: .check } WireGuard kill switch<br />
:octicons-check-circle-fill-24:{: .check } Dynamic DNS<br />
:octicons-check-circle-fill-24:{: .check } Multiple WireGuard configs<br />
<br />
A tangible side benefit of sponsorship is that Insiders are able to help steer future development of RaspAP. This is done through Insiders' access to discussions, feature requests, issues and pull requests in the private GitHub repository.<br />
<br />
Look for the list above to grow as we add more exclusive features. Be sure to visit this page from time to time to learn about what's new, or follow <a class="offload" href="https://twitter.com/rasp_ap/">@RaspAP on :fontawesome-brands-twitter:{: .twitter } Twitter</a> to stay updated.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-how-to-become-a-sponsor">How to become a sponsor</h2><br />

<br />
Thanks for your interest in sponsoring! You can become a sponsor using your individual or organization's GitHub account. Just <a class="offload" href="https://github.com/sponsors/RaspAP">pick any tier from $10/month</a> and complete the checkout. You will be automatically granted access to the private GitHub repository containing the Insiders edition, which has all exclusive features. In addition, you will be added as a team member with access to Insiders-only team discussions and content.<br />
<br />
<a class="offload" href="https://github.com/sponsors/RaspAP">Join our awesome sponsors :octicons-heart-fill-24:</a>{ .md-button .md-button--primary }<br />
<br />
!!! info "Info" If you're sponsoring <a class="offload" href="https://github.com/sponsors/RaspAP">RaspAP</a> through a GitHub organization, please send a short email to <a class="offload" href="mailto:sponsors@raspap.com">sponsors@raspap.com</a> with the name of your organization and the account that should be added as a collaborator.[^2]<br />
<br />
You can cancel your sponsorship anytime.[^3]<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-funding-targets">Funding targets</h2><br />

<br />
Below is a list of funding targets. When a funding target is reached, the features that are tied to it are merged back into RaspAP and released to the public for general availability.<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-goals">Goals</h3><br />

<br />
The following section lists all funding goals. Each goal contains a list of features prefixed with a checkmark symbol, denoting whether a feature is :octicons-check-circle-fill-24:{: .check } already available or :octicons-check-circle-fill-24:{ style="color: var(--md-default-fg-color--light)" } planned, but not yet implemented. When the funding goal is hit, the features are released for general availability.<br />
<br />
<h4 class="formatter-title wiki-paragraph-4" id="paragraph-1-000-2nd-insiders-edition">$1,000 - 2nd Insiders Edition</h4><br />

<br />
:octicons-check-circle-fill-24:{: .check } Network device management<br />
:octicons-check-circle-fill-24:{: .check } Firewall settings<br />
:octicons-check-circle-fill-24:{: .check } WPA3-Personal AP security<br />
:octicons-check-circle-fill-24:{: .check } 802.11w Protected Management Frames<br />
:octicons-check-circle-fill-24:{: .check } Printable Wi-Fi signs<br />
:octicons-check-circle-fill-24:{: .check } Drag & drop dashboard widgets<br />
:octicons-check-circle-fill-24:{: .check } MAC address cloning<br />
:octicons-check-circle-fill-24:{: .check } Network diagnostics<br />
<br />
<h4 class="formatter-title wiki-paragraph-4" id="paragraph-1-500-3rd-insiders-edition">$1,500 - 3rd Insiders Edition</h4><br />

<br />
:octicons-check-circle-fill-24:{: .check } WireGuard kill switch<br />
:octicons-check-circle-fill-24:{: .check } Dynamic DNS<br />
:octicons-check-circle-fill-24:{: .check } Multiple WireGuard configs<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-completed-goals">Completed goals</h3><br />

<br />
<h4 class="formatter-title wiki-paragraph-4" id="paragraph-500-1st-insiders-edition">$500 - 1st Insiders Edition</h4><br />

<br />
:octicons-check-circle-fill-24:{: .check } Multiple OpenVPN client configs<br />
:octicons-check-circle-fill-24:{: .check } OpenVPN certificate authentication<br />
:octicons-check-circle-fill-24:{: .check } OpenVPN service logging<br />
:octicons-check-circle-fill-24:{: .check } Night mode toggle<br />
:octicons-check-circle-fill-24:{: .check } Restrict network to static clients<br />
:octicons-check-circle-fill-24:{: .check } WireGuard support<br />
:octicons-check-circle-fill-24:{: .check } Set AP transmit power<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-transparency">Transparency</h2><br />

<br />
We've chosen <a class="offload" href="https://opencollective.com/raspap">OpenCollective</a> as the fiscal host for our <a class="offload" href="https://github.com/sponsors/RaspAP">GitHub sponsors organization</a>. This means that our budget is completely transparent <span class="emoji-tag">&#151</span> financial contributions, expenses and payouts to project team members are automatically reported. Everyone can see where money comes from and what it's spent on. This committent to full transparency was central in our decision to implement Insiders.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-quarterly-giving">Quarterly giving</h2><br />

<br />
Beginning in 2022, each quarter 15% of all proceeds from Insiders will be donated directly to the <a class="offload" href="https://www.raspberrypi.org/">Raspberry Pi Foundation</a>. The Raspberry Pi Foundation is a UK-based charity that works to put the power of computing and digital making into the hands of people all over the world.<br />
<br />
<a class="offload" href="https://www.youtube.com/embed/dEzg92g1LHw">https://www.youtube.com/embed/dEzg92g1LHw</a><br />
<br />
The Foundation supports initiatives like <a class="offload" href="https://coderdojo.com/">Coder Dojo</a>, <a class="offload" href="https://astro-pi.org/">Astro Pi</a>, <a class="offload" href="https://online.coolestprojects.org/">Coolest Projects</a> and much more.<br />
<br />
When you become an Insider, not only do you support development of RaspAP but you also help inspire young people by harnessing the power of computing to solve problems and express themselves creatively.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-support-for-educators">Support for educators</h2><br />

<br />
We are big believers in the role that computing and digital technologies can play in shaping a better world. Many engineers, including members of the RaspAP team, got their first introduction to computing at an early age. This can take the form of a structured curriculum in a school setting, or less-formally through clubs, competitions and partnerships with youth organizations. Equally important is university, vocational and research training in digital technologies at all levels.<br />
<br />
To this end, we have pledged to make Insiders freely available to all educators, their students, club participants and staff.<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-criteria">Criteria</h3><br />

<br />
Educators, teacher trainers, researchers and club organizers engaged in digital and computing technologies for students of all ages are eligible. The only requirement is a <a class="offload" href="https://github.com/">GitHub</a> account and a domain email address associated with an educational institution or organization with a focus on digital learning. Send a mail to <a class="offload" href="mailto:sponsors@raspap.com">sponsors@raspap.com</a> with your GitHub account details and we'll get you started with Insiders.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-frequently-asked-questions">Frequently asked questions</h2><br />

<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-installing">Installing</h3><br />

<br />
<em>How do I install Insiders?</em><br />
<br />
Invoke the Quick Installer with the <pre style="display:inline;">--insiders</pre> switch, like so:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">curl -sL https://install.raspap.com | bash -s -- --insiders</pre></pre></div></div><br />
<br />
!!! tip "Tip" During the Insiders install, GitHub will ask you for your username and password in order to clone the private repository. You must enter a GitHub <strong>Personal Access Token</strong> at the password prompt. This is explained in the Authentication section below.<br />
<br />
Alternatively, you may skip the GitHub authentication step by specifying your GitHub credentials with the <pre style="display:inline;">--name</pre> and <pre style="display:inline;">--token</pre> parameters:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">curl -sL https://install.raspap.com | bash -s -- --insiders --name [username] --token [my-token]</pre></pre></div></div><br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-upgrading">Upgrading</h3><br />

<br />
<em>I have an existing RaspAP installation. How do I upgrade to Insiders?</em><br />
<br />
Upgrading is easy. Simply invoke the Quick Installer with the <pre style="display:inline;">--upgrade</pre> switch, specifying the private Insiders option, like so:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">curl -sL https://install.raspap.com | bash -s -- --upgrade --insiders</pre></pre></div></div><br />
<br />
!!! tip "Tip" When upgrading to Insiders, GitHub will ask you for your username and password in order to clone the private repository. You must enter a GitHub <strong>Personal Access Token</strong> at the password prompt. This is explained in the Authentication section below.<br />
<br />
As with a fresh Insiders install, you may also skip the GitHub authentication step by specifying your GitHub credentials with the <pre style="display:inline;">--name</pre> and <pre style="display:inline;">--token</pre> parameters:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">curl -sL https://install.raspap.com | bash -s -- --upgrade --insiders --name [username] --token [my-token]</pre></pre></div></div><br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-authentication">Authentication</h3><br />

<br />
As of August 2021 GitHub <a class="offload" href="https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/">removed support for password authentication</a>, so you will need to generate a <strong>Personal Access Token</strong> and use this in place of your password. The process of creating a token is straightforward and <a class="offload" href="https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token#creating-a-token">described here</a>.<br />
<br />
!!! tip "Tip" Before invoking the Quick installer to perform an upgrade or new Insiders install, it's recommended to verify your token using the method described below.<br />
<br />
If this is your first time using a GitHub personal access token, you can verify it by using <pre style="display:inline;">curl</pre> and the <a class="offload" href="https://docs.github.com/rest">GitHub API</a>. Substitute your token value for <pre style="display:inline;">MY_TOKEN</pre> below:<br />
<br />
<div class="formatter-container formatter-code code-TEXT"><span class="formatter-title">Code TEXT : </span><div class="formatter-content"><pre style="display:inline;"><pre class="text" style="font-family:monospace;">curl -sS -f -I -H "Authorization: token MY_TOKEN" https://api.github.com</pre></pre></div></div><br />
<br />
If successful, GitHub should reply with <pre style="display:inline;">HTTP/2 200</pre> and a <pre style="display:inline;">x-oauth-scopes: repo</pre> value in the response. If you receive a <pre style="display:inline;">HTTP 401</pre> or other error from curl, check your token and try again.<br />
<br />
You will be asked to authenticate with GitHub when the installer clones the private Insiders repo. In this case, simply enter your GitHub username and token when prompted.<br />
<br />
!!! note "Note" Your token is sent securely via SSH to GitHub. The installer does <em>not</em> have access to or store your token.<br />
<br />
If you're using GitHub with 2FA enabled the same process above applies.<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-terms">Terms</h3><br />

<br />
<em>We're using RaspAP for a commercial project. Can we use Insiders under the same terms and conditions?</em><br />
<br />
Yes. Whether you're an individual or a company, you may use RaspAP Insiders precisely under the same terms as RaspAP, which are defined by the <a class="offload" href="https://github.com/RaspAP/raspap-webgui/blob/master/LICENSE">GNU GPL 3.0 license</a>. However, we kindly ask you to respect the following guidelines:<br />
<br />
<ul class="formatter-ul"><li class="formatter-li">Please <strong>don't distribute the source code</strong> of Insiders. You may freely use it for public, private or commercial projects, fork it, mirror it, do whatever you want with it, but please don't release the source code, as it would counteract the sponsorware strategy.</li><li class="formatter-li">If you cancel your subscription, you're removed as a collaborator and will miss out on future updates of Insiders. However, you may <em>use the latest version</em> that's available to you as long as you like. Just remember that <a class="offload" href="https://docs.github.com/en/github/setting-up-and-managing-your-github-user-account/removing-a-collaborator-from-a-personal-repository">GitHub deletes private forks</a>.</li></ul><br />
<br />
[^1]: You may be wondering if the sponsorware model contradicts the ethos of Open Source software. It's true that some features are locked behind a payment, which means they are only accessible after pledging a small amount of money. However, these features are only exclusive until specific funding targets are reached. Making an Open Source project sustainable is exceptionally difficult. Maintainers invest significant time and energy developing software, testing, responding to issues, writing documentation and so on. Too often, this leads to burnout and abandoned projects. The sponsorware model ensures that if you decide to use RaspAP, you can be sure that the project remains healthy, bugs are fixed quickly and new features are added regularly.<br />
<br />
[^2]: It's currently not possible to grant access to each member of an organization, as GitHub only allows for adding users. Thus, after sponsoring, please send an email to <a class="offload" href="mailto:sponsors@raspap.com">sponsors@raspap.com</a>, stating which account should become a collaborator of the Insiders repository. We're working on a solution which will make access to organizations much simpler.<br />
<br />
[^3]: If you cancel your sponsorship, GitHub schedules a cancellation request which will become effective at the end of the billing cycle, which ends at the 22^nd^ of the month for monthly sponsorships. This means that even though you cancel your sponsorship, you will keep your access to Insiders as long as your cancellation isn't effective. All charges are processed by GitHub through Stripe. As we don't receive any information regarding your payment, and GitHub doesn't offer refunds, sponsorships are non-refundable.]]></description>
                <pubDate>Sun, 08 Nov 2026 14:23:29 +0100</pubDate>
                
            </item>
		
	</channel>
</rss>
