mirror of
https://github.com/caiwx86/small-packages.git
synced 2026-07-29 01:41:51 +08:00
48 lines
1.5 KiB
Lua
48 lines
1.5 KiB
Lua
m = Map("banmac", translate("BanMac"))
|
|
|
|
local banlist = m:section(TypedSection, "banlist", translate("log"))
|
|
banlist.anonymous = true
|
|
|
|
local bmdetails = "/etc/banmaclog"
|
|
local BMNXFS = require "nixio.fs"
|
|
bmd = banlist:option(TextValue, "details")
|
|
bmd.rows = 6
|
|
bmd.wrap = "off"
|
|
bmd.cfgvalue = function(self, section)
|
|
return BMNXFS.readfile(bmdetails) or ""
|
|
end
|
|
bmd.write = function(self, section, value)
|
|
BMNXFS.writefile(bmdetails, value:gsub("\r\n", "\n"))
|
|
end
|
|
|
|
s = m:section(TypedSection, "banmac", "")
|
|
s.anonymous = false
|
|
s.addremove = true
|
|
|
|
s:tab("banmactab", translate("BanMac Menu"))
|
|
|
|
banlist_mac = s:taboption("banmactab", Value, "banlist_mac", translate("MAC address"))
|
|
banlist_mac.rmempty = true
|
|
banlist_mac.datatype = "macaddr"
|
|
luci.sys.net.mac_hints(function(mac, name)
|
|
banlist_mac:value(mac, "%s (%s)" %{ mac, name })
|
|
end)
|
|
|
|
ban_mac = s:taboption("banmactab", Button, "ban_mac", translate("One-Click BAN"))
|
|
ban_mac.rmempty = false
|
|
ban_mac.inputstyle = "apply"
|
|
function ban_mac.write(self, section)
|
|
luci.util.exec("cp /usr/banmac/ban.sh /tmp/ban_OO!%!OO" ..section.. "_.sh >/dev/null 2>&1 &")
|
|
luci.util.exec("/tmp/ban_OO!%!OO" ..section.. "_.sh >/dev/null 2>&1 &")
|
|
end
|
|
|
|
unban_mac = s:taboption("banmactab", Button, "unban_mac", translate("One-Click UnBAN"))
|
|
unban_mac.rmempty = false
|
|
unban_mac.inputstyle = "apply"
|
|
function unban_mac.write(self, section)
|
|
luci.util.exec("cp /usr/banmac/unban.sh /tmp/unban_OO!%!OO" ..section.. "_.sh >/dev/null 2>&1 &")
|
|
luci.util.exec("/tmp/unban_OO!%!OO" ..section.. "_.sh >/dev/null 2>&1 &")
|
|
end
|
|
|
|
return m
|