WifiDog-ng(中文)
Next generation WifiDog
WifiDog-ng is a very efficient captive portal solution for wireless router which with embedded linux(LEDE/Openwrt) system implemented in Lua.
Keep Watching for More Actions on This Space
- Written in Lua, so development is very efficient
- Use ipset and writing kernel module to implement authentication management instead of using iptables to create firewall rules
- Support roam
- Code structure is concise and understandable
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| enabled | bool | no | 0 | Whether to enable wifidog |
| dhcp_host_white | bool | no | 1 | dhcp mac is whitelist |
| id | string | no | Gateway id. If not set, the mac address of the ifname will be used | |
| interface | Openwrt interface | no | lan | The device belong to the interface to listen by wifidog |
| port | port number | no | 2060 | port to listen by wifidog |
| ssl_port | port number | no | 8443 | ssl port to listen by wifidog |
| ssid | ssid | no | Used for WeChat | |
| checkinterval | seconds | no | 30 | How often the gateway will ping the auth server |
| temppass_time | seconds | no | 30 | Temporary pass time |
| Name | Type | Required | Default |
|---|---|---|---|
| host | string | yes | no |
| port | port number | no | 80 |
| ssl | bool | no | 0 |
| path | string | no | /wifidog |
| login_path | string | no | login |
| portal_path | string | no | portal |
| msg_path | string | no | gw_message.php |
| ping_path | string | no | ping |
| auth_path | string | no | auth |
| Name | Type | Description |
|---|---|---|
| mac | string | A macaddr |
| comment | string | A comment |
| Name | Type | Description |
|---|---|---|
| domain | string | Can be a domain or ipaddr |
| comment | string | A comment |
http://authserver/wifidog/ping?gw_id=xx&sys_uptime=xx&sys_memfree=xx&sys_load=xx&wifidog_uptime=xx
To this the auth server is expected to respond with an http message containing the word "Pong".
http://authserver/wifidog/login?gw_address=xx&gw_port=xx&gw_id=xx&ip=xx&mac=xx&ssid=xx
http://gw_address:gw_port/wifidog/auth?token=xx
http://authserver/wifidog/auth?stage=login&ip=xx&mac=xx&token=xx&incoming=xx&outgoing=xx
The response of the auth server should be "Auth: 1" or "Auth: 0"
http://authserver/wifidog/auth?stage=roam&ip=xx&max=xx
The response of the auth server should be "token=xxxxxxx" or other.
http://gw_address:gw_port/wifidog/temppass?script=startWeChatAuth();
wget "http://lanip:2060/wifidog/ctl?op=kick&mac=0C:1D:AF:C4:DB:FC" -O /dev/null
wget "http://lanip:2060/wifidog/ctl?op=reload" -O /dev/null
ipset list wifidog-ng-mac
If you would like to help making wifidog-ng better, see the CONTRIBUTING.md file.