Welcome to the documentation for openNDS¶
openNDS is a high performance, small footprint Captive Portal, offering by default a simple splash page restricted Internet connection, yet incorporates an API that allows the creation of sophisticated authentication applications.
It is a fork of the NoDogSplash project that in turn was derived originally from the codebase of the Wifi Guard Dog project.
openNDS is released under the GNU General Public License.
- openNDS: https://github.com/openNDS/openNDS
- Original Homepage down: http://kokoro.ucsd.edu/nodogsplash
- Archive: https://web.archive.org/web/20140210131130/http://kokoro.ucsd.edu/nodogsplash
- Wifidog: http://dev.wifidog.org/
- NoDogSplash: https://github.com/nodogsplash/nodogsplash
- GNU GPL: http://www.gnu.org/copyleft/gpl.html
The following describes what openNDS does, how to get it and run it, and how to customize its behavior for your application.
Contents:
- Overview
- What’s New? - ChangeLog
- How openNDS (NDS) works
- Installing openNDS
- The Splash Page Sequence
- Customising openNDS
- Configuration Options
- Enable openNDS
- Use deprecated generic configuration file
- Enable debug output (0-3)
- Firewall Restart hook
- Ndsctl Socket Access
- Local Log Mountpoint
- Maximum number of Local Log Entries
- Login Option
- Allow Preemptive Authentication
- ThemeSpec Path
- Define Custom Parameters
- Define Custom Variables
- Define Custom Images
- Define Custom Files
- Set refresh interval for downloads
- Use outdated libmicrohttpd (MHD)
- Maximum Page Size to be served by MHD
- MHD Unescape callback
- Set the MHD WebRoot
- Set the GatewayInterface
- Set the GatewayPort
- Set the GatewayName
- Set GatewayFQDN
- Set StatusPath
- Set MaxClients
- Client timeouts in minutes
- Set the Checkinterval
- Set Rate Quotas
- Set RateCheckWindow
- Set Volume Quotas
- Enable BinAuth Support.
- Set Fasport
- Set Fasremotefqdn
- Set the Fasremoteip
- Set the Faspath
- Set the Faskey
- Set Security Level: fas_secure_enabled
- Set PreAuth
- Access Control For Authenticated Users
- Access Control For Preauthenticated Users:
- Walled Garden Access For Preauthenticated Users
- User Access to Services On the Router
- MAC Address Access Control List
- Trusted Clients
- Dhcp option 114 Enable - RFC8910
- Packet Marking Compatibility
- Custom Parameters, Variables, Images and files
- Forwarding Authentication Service (FAS)
- Overview
- Using FAS
- Security
- Example FAS Query strings
- Custom Parameters
- Network Zones - Determining the Interface the Client is Connected To
- After Successful Verification by FAS
- Post FAS processing
- BinAuth Post FAS Processing
- Manual Access of NDS Virtual URL
- Running FAS on your openNDS router
- Using a Shared Hosting Server for a Remote FAS
- Using a CDN (Content Delivery Network) Hosted Server for a Remote FAS
- Using the FAS Example Scripts (fas-hid, fas-aes.php and fas-aes-https.php)
- Changing faskey
- ThemeSpec Script Files
- PreAuth Option
- BinAuth Option
- Walled Garden
- Library Utilities
- Using ndsctl
- Data Quotas and Traffic Shaping
- The Error511/Client Status Page
- Frequently Asked Questions
- What’s the difference between versions?
- Can I upgrade from NoDogSplash to openNDS?
- Can I upgrade from v5 to v6
- Can I upgrade from v6 to v7?
- Can I upgrade from v7 to v8?
- Can I upgrade from v8 to v9
- How can I add custom parameters, such as site specific information?
- How can I add custom fields on the login page, such as phone number, car licence plate number etc.?
- Is it possible to display custom info or advertising on the login pages?
- How do I manage client data usage?
- Can I use Traffic Shaping with openNDS?
- Is an https splash page supported?
- Is https capture supported?
- What is CPD / Captive Portal Detection?
- How to Compile openNDS
- Debugging openNDS
- TODO List