mirror of
https://github.com/caiwx86/small-packages.git
synced 2026-09-14 04:14:40 +08:00
update 2026-05-27 23:25:57
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
module("luci.controller.banmac",package.seeall)
|
||||
|
||||
function index()
|
||||
local page = entry({"admin", "services", "banmac"}, cbi("banmac"), _("BanMac"),5)
|
||||
page.dependent = true
|
||||
end
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
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
|
||||
Reference in New Issue
Block a user