packages/net/wifidog-ng/files/wifidog-ng.init
Jianhui Zhao c4d3c5e79b wifidog-ng: Update to 1.3.0
be35e54 Optimized by use ipset
2dcc126 Optimize kernel module code
08231b4 Remove url param of login api
bf7b435 Support compile kernel module on ubuntu for test
ffca07a Optimize kernel module
b03c757 Optimize code

Signed-off-by: Jianhui Zhao <jianhuizhao329@gmail.com>
2018-03-25 14:50:16 +08:00

46 lines
836 B
Bash
Executable file

#!/bin/sh /etc/rc.common
USE_PROCD=1
START=95
BIN=/usr/bin/wifidog-ng
parse_whitelist() {
local cfg="$1"
local domain mac
uci_validate_section wifidog-ng whitelist "${1}" \
'domain:list(host)' \
'mac:list(macaddr)'
[ $? -ne 0 ] && {
echo "validation failed" >&2
exit 1
}
for m in $mac; do
echo "!$m" > /proc/wifidog-ng/term
done
}
start_service() {
modprobe wifidog-ng
ipset create wifidog-ng-mac hash:mac
ipset create wifidog-ng-ip hash:ip timeout 10000
config_load wifidog-ng
config_foreach parse_whitelist whitelist
procd_open_instance
procd_set_param command $BIN
procd_set_param respawn
procd_close_instance
}
stop_service() {
rmmod wifidog-ng
ipset destroy wifidog-ng-mac
ipset destroy wifidog-ng-ip
}