ApFree WiFiDog
A High-Performance Captive Portal Solution for HTTP(S) on OpenWrt
🌍 English | 🇨🇳 中文 | 📑 Auth Server API
📖 Introduction
ApFree WiFiDog is an open-source, high-performance captive portal for HTTP and HTTPS, tailored for the OpenWrt platform.
It provides secure authentication, high concurrency handling, and flexible rule management for Wi-Fi networks.
🎬 Introduction Video
🚀 Features
- Stable – API-based iptables integration, thread-safe.
- Fast – Built with libevent2 + epoll, far outperforms original WiFiDog.
- Secure – Full HTTPS redirection support.
- Real-time – Long connection support (WebSocket, MQTT).
- Flexible – Local + Cloud authentication, splash page mode.
- Dynamic Rules – Manage MAC, IP, domains without restart.
- eBPF Support – Traffic control & DPI via eBPF.
- Active Community – Fast responses and continuous updates.
📦 Installation
On OpenWrt (latest):
apk update
apk add apfree-wifidog
On older OpenWrt:
opkg update
opkg install apfree-wifidog
👉 For LuCI Web Interface, see LuCI Integration.
🖥️ LuCI Integration
- ApFree WiFiDog provides a LuCI Web UI via
luci-app-apfree-wifidog.
- Integrated in the luci repo.
💡 Recommended: use chawrt,
which bundles ApFree WiFiDog + LuCI for a ready-to-use OpenWrt firmware.
⚙️ Basic Usage Example
1. Cloud Authentication Mode
- Requires external auth server.
- Configure via LuCI:
Auth Server (Hostname, Port, Path) + Gateway Interface.
- Enable WebSocket Support for real-time status.
2. Local Authentication (Splash Page)
- No external auth server needed.
- Configure LuCI:
Gateway Interface + Redirect URL (welcome / terms page).
- Simple click-to-continue or custom splash page.
🛠️ Troubleshooting
Logs
- Check via:
logread
- Increase debug level in
wifidogx.conf → DaemonLogLevel 7.
Common Issues
- No redirection → check
GatewayInterface, firewall rules, DNS.
- Sites blocked → update trusted domains via
wdctlx show domain.
- Device issues → check MAC lists (
wdctlx show mac).
Useful wdctlx Commands
wdctlx status client # Show authenticated clients
wdctlx show domain # Show trusted domains
wdctlx add domain example.com
wdctlx apfree user_list # List online users
🔬 Technical Overview
- Event-driven architecture (
libevent2) for massive concurrency.
- Firewall integration via
iptables (with nftables support).
- Auth flow: Redirect → Auth Server → Firewall update → Internet access.
📑 See Auth Server API for protocol details.
🤝 Contributing
We welcome contributions!
评论