mirror of
https://github.com/gSpotx2f/luci-app-internet-detector.git
synced 2025-12-06 11:36:49 +03:00
Luaposix getopt for positional arguments
This commit is contained in:
32
README.md
32
README.md
@@ -15,22 +15,22 @@ Internet-detector is an application for checking the availability of the Interne
|
||||
## Installation notes (OpenWrt >= 21.02)
|
||||
|
||||
opkg update
|
||||
wget --no-check-certificate -O /tmp/internet-detector_1.3.2-r1_all.ipk https://github.com/gSpotx2f/packages-openwrt/raw/master/current/internet-detector_1.3.2-r1_all.ipk
|
||||
opkg install /tmp/internet-detector_1.3.2-r1_all.ipk
|
||||
rm /tmp/internet-detector_1.3.2-r1_all.ipk
|
||||
wget --no-check-certificate -O /tmp/internet-detector_1.3.3-r1_all.ipk https://github.com/gSpotx2f/packages-openwrt/raw/master/current/internet-detector_1.3.3-r1_all.ipk
|
||||
opkg install /tmp/internet-detector_1.3.3-r1_all.ipk
|
||||
rm /tmp/internet-detector_1.3.3-r1_all.ipk
|
||||
/etc/init.d/internet-detector start
|
||||
/etc/init.d/internet-detector enable
|
||||
|
||||
wget --no-check-certificate -O /tmp/luci-app-internet-detector_1.3.2-r1_all.ipk https://github.com/gSpotx2f/packages-openwrt/raw/master/current/luci-app-internet-detector_1.3.2-r1_all.ipk
|
||||
opkg install /tmp/luci-app-internet-detector_1.3.2-r1_all.ipk
|
||||
rm /tmp/luci-app-internet-detector_1.3.2-r1_all.ipk
|
||||
wget --no-check-certificate -O /tmp/luci-app-internet-detector_1.3.3-r1_all.ipk https://github.com/gSpotx2f/packages-openwrt/raw/master/current/luci-app-internet-detector_1.3.3-r1_all.ipk
|
||||
opkg install /tmp/luci-app-internet-detector_1.3.3-r1_all.ipk
|
||||
rm /tmp/luci-app-internet-detector_1.3.3-r1_all.ipk
|
||||
/etc/init.d/rpcd restart
|
||||
|
||||
i18n-ru:
|
||||
|
||||
wget --no-check-certificate -O /tmp/luci-i18n-internet-detector-ru_1.3.2-r1_all.ipk https://github.com/gSpotx2f/packages-openwrt/raw/master/current/luci-i18n-internet-detector-ru_1.3.2-r1_all.ipk
|
||||
opkg install /tmp/luci-i18n-internet-detector-ru_1.3.2-r1_all.ipk
|
||||
rm /tmp/luci-i18n-internet-detector-ru_1.3.2-r1_all.ipk
|
||||
wget --no-check-certificate -O /tmp/luci-i18n-internet-detector-ru_1.3.3-r1_all.ipk https://github.com/gSpotx2f/packages-openwrt/raw/master/current/luci-i18n-internet-detector-ru_1.3.3-r1_all.ipk
|
||||
opkg install /tmp/luci-i18n-internet-detector-ru_1.3.3-r1_all.ipk
|
||||
rm /tmp/luci-i18n-internet-detector-ru_1.3.3-r1_all.ipk
|
||||
|
||||
## Screenshots:
|
||||
|
||||
@@ -42,9 +42,9 @@ i18n-ru:
|
||||
|
||||
**Dependences:** modemmanager.
|
||||
|
||||
wget --no-check-certificate -O /tmp/internet-detector-mod-modem-restart_1.3.2-r1_all.ipk https://github.com/gSpotx2f/packages-openwrt/raw/master/current/internet-detector-mod-modem-restart_1.3.2-r1_all.ipk
|
||||
opkg install /tmp/internet-detector-mod-modem-restart_1.3.2-r1_all.ipk
|
||||
rm /tmp/internet-detector-mod-modem-restart_1.3.2-r1_all.ipk
|
||||
wget --no-check-certificate -O /tmp/internet-detector-mod-modem-restart_1.3.3-r1_all.ipk https://github.com/gSpotx2f/packages-openwrt/raw/master/current/internet-detector-mod-modem-restart_1.3.3-r1_all.ipk
|
||||
opkg install /tmp/internet-detector-mod-modem-restart_1.3.3-r1_all.ipk
|
||||
rm /tmp/internet-detector-mod-modem-restart_1.3.3-r1_all.ipk
|
||||
/etc/init.d/internet-detector restart
|
||||
|
||||

|
||||
@@ -53,11 +53,9 @@ i18n-ru:
|
||||
|
||||
**Dependences:** mailsend.
|
||||
|
||||
wget --no-check-certificate -O /tmp/internet-detector-mod-email_1.3.2-r1_all.ipk https://github.com/gSpotx2f/packages-openwrt/raw/master/current/internet-detector-mod-email_1.3.2-r1_all.ipk
|
||||
opkg install /tmp/internet-detector-mod-email_1.3.2-r1_all.ipk
|
||||
rm /tmp/internet-detector-mod-email_1.3.2-r1_all.ipk
|
||||
wget --no-check-certificate -O /tmp/internet-detector-mod-email_1.3.3-r1_all.ipk https://github.com/gSpotx2f/packages-openwrt/raw/master/current/internet-detector-mod-email_1.3.3-r1_all.ipk
|
||||
opkg install /tmp/internet-detector-mod-email_1.3.3-r1_all.ipk
|
||||
rm /tmp/internet-detector-mod-email_1.3.3-r1_all.ipk
|
||||
/etc/init.d/internet-detector restart
|
||||
|
||||

|
||||
|
||||
## [OpenWrt 19.07](https://github.com/gSpotx2f/luci-app-internet-detector/tree/19.07)
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=internet-detector-mod-email
|
||||
PKG_VERSION:=1.3.2
|
||||
PKG_VERSION:=1.3.3
|
||||
PKG_RELEASE:=1
|
||||
PKG_MAINTAINER:=gSpot <https://github.com/gSpotx2f/luci-app-internet-detector>
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=internet-detector-mod-modem-restart
|
||||
PKG_VERSION:=1.3.2
|
||||
PKG_VERSION:=1.3.3
|
||||
PKG_RELEASE:=1
|
||||
PKG_MAINTAINER:=gSpot <https://github.com/gSpotx2f/luci-app-internet-detector>
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=internet-detector
|
||||
PKG_VERSION:=1.3.2
|
||||
PKG_VERSION:=1.3.3
|
||||
PKG_RELEASE:=1
|
||||
PKG_MAINTAINER:=gSpot <https://github.com/gSpotx2f/luci-app-internet-detector>
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ run_instance() {
|
||||
config_get enabled "$1" enabled "0"
|
||||
if [ $enabled = "1" ]; then
|
||||
procd_open_instance "$1"
|
||||
procd_set_param command "$PROG" "nodaemon" "$1"
|
||||
procd_set_param command "$PROG" "-a" "nodaemon" "-i" "$1"
|
||||
procd_close_instance
|
||||
fi
|
||||
}
|
||||
@@ -24,7 +24,7 @@ start_service() {
|
||||
}
|
||||
|
||||
stop_service() {
|
||||
$PROG stop
|
||||
$PROG -a stop
|
||||
}
|
||||
|
||||
reload_service() {
|
||||
|
||||
@@ -11,68 +11,88 @@
|
||||
(с) 2024 gSpot (https://github.com/gSpotx2f/luci-app-internet-detector)
|
||||
--]]
|
||||
|
||||
local getopt = require("posix.unistd").getopt
|
||||
local InternetDetector = require("internet-detector.main")
|
||||
|
||||
local function help()
|
||||
return string.format(
|
||||
"Usage: %s daemon <UCI instance> | nodaemon <UCI instance> | debug <UCI instance> | stop | status | inet-status | uipoll | --help",
|
||||
arg[0]
|
||||
)
|
||||
return table.concat({
|
||||
[1] = string.format(
|
||||
"Usage: %s -a daemon -i <UCI instance> | -a nodaemon -i <UCI instance> | -a debug -i <UCI instance> | -a stop | -S | -I | -U | -h",
|
||||
arg[0]),
|
||||
[2] = " -a ARG action: daemon | nodaemon | debug | stop",
|
||||
[3] = " -i ARG instance: UCI instance name",
|
||||
[4] = " -S status",
|
||||
[5] = " -I inet status",
|
||||
[6] = " -U uipoll",
|
||||
[7] = " -h print this help text"
|
||||
}, "\n")
|
||||
end
|
||||
|
||||
local helpArgs = { ["-h"] = true, ["--help"] = true, help = true }
|
||||
if arg[1] == "daemon" then
|
||||
if arg[2] then
|
||||
if InternetDetector:setServiceConfig(arg[2]) then
|
||||
local action, instance
|
||||
local params = {}
|
||||
local last_index = 1
|
||||
for r, optarg, optind in getopt(arg, "a:i:SIUh") do
|
||||
if r == "?" then
|
||||
print("Error! Unrecognized option")
|
||||
os.exit(1)
|
||||
end
|
||||
last_index = optind
|
||||
if r == "a" then
|
||||
action = optarg
|
||||
elseif r == "i" then
|
||||
instance = optarg
|
||||
else
|
||||
params[#params + 1] = r
|
||||
end
|
||||
end
|
||||
if action == "stop" then
|
||||
InternetDetector:stop()
|
||||
elseif action then
|
||||
if not instance then
|
||||
print("Error! Instance not specified [-i]")
|
||||
os.exit(1)
|
||||
end
|
||||
if action == "daemon" then
|
||||
if InternetDetector:setServiceConfig(instance) then
|
||||
InternetDetector:daemon()
|
||||
else
|
||||
os.exit(126)
|
||||
end
|
||||
else
|
||||
print(help())
|
||||
os.exit(1)
|
||||
end
|
||||
elseif arg[1] == "nodaemon" then
|
||||
if arg[2] then
|
||||
if InternetDetector:setServiceConfig(arg[2]) then
|
||||
elseif action == "nodaemon" then
|
||||
if InternetDetector:setServiceConfig(instance) then
|
||||
InternetDetector:noDaemon()
|
||||
else
|
||||
os.exit(126)
|
||||
end
|
||||
else
|
||||
print(help())
|
||||
os.exit(1)
|
||||
end
|
||||
elseif arg[1] == "debug" then
|
||||
if arg[2] then
|
||||
if InternetDetector:setServiceConfig(arg[2]) then
|
||||
elseif action == "debug" then
|
||||
if InternetDetector:setServiceConfig(instance) then
|
||||
InternetDetector.debug = true
|
||||
InternetDetector:noDaemon()
|
||||
else
|
||||
os.exit(126)
|
||||
end
|
||||
else
|
||||
print(help())
|
||||
print("Error! Wrong action [-a]")
|
||||
os.exit(1)
|
||||
end
|
||||
elseif arg[1] == "stop" then
|
||||
InternetDetector:stop()
|
||||
elseif arg[1] == "status" then
|
||||
else
|
||||
if params[1] == "S" then
|
||||
print(InternetDetector:status())
|
||||
elseif arg[1] == "inet-status" then
|
||||
elseif params[1] == "I" then
|
||||
print(InternetDetector:inetStatus())
|
||||
elseif arg[1] == "uipoll" then
|
||||
elseif params[1] == "U" then
|
||||
if InternetDetector:status() == "stoped" then
|
||||
os.exit(126)
|
||||
else
|
||||
InternetDetector:setSIGUSR()
|
||||
print(InternetDetector:inetStatus())
|
||||
end
|
||||
elseif helpArgs[arg[1]] then
|
||||
elseif params[1] == "h" then
|
||||
print(help())
|
||||
else
|
||||
else
|
||||
print(help())
|
||||
os.exit(1)
|
||||
end
|
||||
end
|
||||
|
||||
os.exit(0)
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=luci-app-internet-detector
|
||||
PKG_VERSION:=1.3.2
|
||||
PKG_VERSION:=1.3.3
|
||||
PKG_RELEASE:=1
|
||||
LUCI_TITLE:=LuCI support for internet-detector
|
||||
LUCI_DEPENDS:=+internet-detector
|
||||
|
||||
@@ -49,7 +49,7 @@ local function startUiInstances()
|
||||
"instance",
|
||||
function(s)
|
||||
if s.enabled == "1" then
|
||||
os.execute(string.format("%s daemon %s", appExec, s[".name"]))
|
||||
os.execute(string.format("%s -a daemon -i %s", appExec, s[".name"]))
|
||||
end
|
||||
end
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user