diff options
Diffstat (limited to 'applications/luci-app-wol/luasrc')
-rw-r--r-- | applications/luci-app-wol/luasrc/controller/wol.lua | 6 | ||||
-rw-r--r-- | applications/luci-app-wol/luasrc/model/cbi/wol.lua | 106 |
2 files changed, 0 insertions, 112 deletions
diff --git a/applications/luci-app-wol/luasrc/controller/wol.lua b/applications/luci-app-wol/luasrc/controller/wol.lua deleted file mode 100644 index 43ab84ab2a..0000000000 --- a/applications/luci-app-wol/luasrc/controller/wol.lua +++ /dev/null @@ -1,6 +0,0 @@ -module("luci.controller.wol", package.seeall) - -function index() - entry({"admin", "services", "wol"}, form("wol"), _("Wake on LAN"), 90) - entry({"mini", "services", "wol"}, form("wol"), _("Wake on LAN"), 90) -end diff --git a/applications/luci-app-wol/luasrc/model/cbi/wol.lua b/applications/luci-app-wol/luasrc/model/cbi/wol.lua deleted file mode 100644 index 43b87dda9c..0000000000 --- a/applications/luci-app-wol/luasrc/model/cbi/wol.lua +++ /dev/null @@ -1,106 +0,0 @@ --- Copyright 2010 Jo-Philipp Wich <jow@openwrt.org> --- Licensed to the public under the Apache License 2.0. - -local utl = require "luci.util" -local sys = require "luci.sys" -local ipc = require "luci.ip" -local fs = require "nixio.fs" - -m = SimpleForm("wol", translate("Wake on LAN"), - translate("Wake on LAN is a mechanism to remotely boot computers in the local network.")) - -m.submit = translate("Wake up host") -m.reset = false - - -local has_ewk = fs.access("/usr/bin/etherwake") -local has_wol = fs.access("/usr/bin/wol") - - -s = m:section(SimpleSection) - -if has_ewk and has_wol then - bin = s:option(ListValue, "binary", translate("WoL program"), - translate("Sometimes only one of the two tools works. If one fails, try the other one")) - - bin:value("/usr/bin/etherwake", "Etherwake") - bin:value("/usr/bin/wol", "WoL") -end - -if has_ewk then - iface = s:option(ListValue, "iface", translate("Network interface to use"), - translate("Specifies the interface the WoL packet is sent on")) - - if has_wol then - iface:depends("binary", "/usr/bin/etherwake") - end - - iface:value("", translate("Broadcast on all interfaces")) - - for _, e in ipairs(sys.net.devices()) do - if e ~= "lo" then iface:value(e) end - end -end - - -host = s:option(Value, "mac", translate("Host to wake up"), - translate("Choose the host to wake up or enter a custom MAC address to use")) - -sys.net.mac_hints(function(mac, name) - host:value(mac, "%s (%s)" %{ mac, name }) -end) - -if has_ewk then - broadcast = s:option(Flag, "broadcast", - translate("Send to broadcast address")) - if has_wol then - broadcast:depends("binary", "/usr/bin/etherwake") - end -end - -function host.write(self, s, val) - local host = luci.http.formvalue("cbid.wol.1.mac") - local mac = ipc.checkmac(host) - if mac then - local cmd - local util = luci.http.formvalue("cbid.wol.1.binary") or ( - has_ewk and "/usr/bin/etherwake" or "/usr/bin/wol" - ) - - if util == "/usr/bin/etherwake" then - local iface = luci.http.formvalue("cbid.wol.1.iface") - local broadcast = luci.http.formvalue("cbid.wol.1.broadcast") - cmd = "%s -D%s %s %q 2>&1" %{ - util, (iface ~= "" and " -i %s" % utl.shellquote(iface) or ""), - (broadcast == "1" and " -b" or ""), mac - } - else - cmd = "%s -v %q" %{ util, mac } - end - - local msg = "<p><strong>%s</strong><br /><br /><code>%s<br /><br />" %{ - translate("Starting WoL utility:"), utl.pcdata(cmd) - } - - local p = io.popen(cmd .. " 2>&1") - if p then - while true do - local l = p:read("*l") - if l then - if #l > 100 then l = l:sub(1, 100) .. "..." end - msg = msg .. l .. "<br />" - else - break - end - end - p:close() - end - - msg = msg .. "</code></p>" - - m.message = msg - end -end - - -return m |