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)
|
## Installation notes (OpenWrt >= 21.02)
|
||||||
|
|
||||||
opkg update
|
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
|
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.2-r1_all.ipk
|
opkg install /tmp/internet-detector_1.3.3-r1_all.ipk
|
||||||
rm /tmp/internet-detector_1.3.2-r1_all.ipk
|
rm /tmp/internet-detector_1.3.3-r1_all.ipk
|
||||||
/etc/init.d/internet-detector start
|
/etc/init.d/internet-detector start
|
||||||
/etc/init.d/internet-detector enable
|
/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
|
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.2-r1_all.ipk
|
opkg install /tmp/luci-app-internet-detector_1.3.3-r1_all.ipk
|
||||||
rm /tmp/luci-app-internet-detector_1.3.2-r1_all.ipk
|
rm /tmp/luci-app-internet-detector_1.3.3-r1_all.ipk
|
||||||
/etc/init.d/rpcd restart
|
/etc/init.d/rpcd restart
|
||||||
|
|
||||||
i18n-ru:
|
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
|
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.2-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.2-r1_all.ipk
|
rm /tmp/luci-i18n-internet-detector-ru_1.3.3-r1_all.ipk
|
||||||
|
|
||||||
## Screenshots:
|
## Screenshots:
|
||||||
|
|
||||||
@@ -42,9 +42,9 @@ i18n-ru:
|
|||||||
|
|
||||||
**Dependences:** modemmanager.
|
**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
|
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.2-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.2-r1_all.ipk
|
rm /tmp/internet-detector-mod-modem-restart_1.3.3-r1_all.ipk
|
||||||
/etc/init.d/internet-detector restart
|
/etc/init.d/internet-detector restart
|
||||||
|
|
||||||

|

|
||||||
@@ -53,11 +53,9 @@ i18n-ru:
|
|||||||
|
|
||||||
**Dependences:** mailsend.
|
**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
|
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.2-r1_all.ipk
|
opkg install /tmp/internet-detector-mod-email_1.3.3-r1_all.ipk
|
||||||
rm /tmp/internet-detector-mod-email_1.3.2-r1_all.ipk
|
rm /tmp/internet-detector-mod-email_1.3.3-r1_all.ipk
|
||||||
/etc/init.d/internet-detector restart
|
/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
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=internet-detector-mod-email
|
PKG_NAME:=internet-detector-mod-email
|
||||||
PKG_VERSION:=1.3.2
|
PKG_VERSION:=1.3.3
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
PKG_MAINTAINER:=gSpot <https://github.com/gSpotx2f/luci-app-internet-detector>
|
PKG_MAINTAINER:=gSpot <https://github.com/gSpotx2f/luci-app-internet-detector>
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=internet-detector-mod-modem-restart
|
PKG_NAME:=internet-detector-mod-modem-restart
|
||||||
PKG_VERSION:=1.3.2
|
PKG_VERSION:=1.3.3
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
PKG_MAINTAINER:=gSpot <https://github.com/gSpotx2f/luci-app-internet-detector>
|
PKG_MAINTAINER:=gSpot <https://github.com/gSpotx2f/luci-app-internet-detector>
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=internet-detector
|
PKG_NAME:=internet-detector
|
||||||
PKG_VERSION:=1.3.2
|
PKG_VERSION:=1.3.3
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
PKG_MAINTAINER:=gSpot <https://github.com/gSpotx2f/luci-app-internet-detector>
|
PKG_MAINTAINER:=gSpot <https://github.com/gSpotx2f/luci-app-internet-detector>
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ run_instance() {
|
|||||||
config_get enabled "$1" enabled "0"
|
config_get enabled "$1" enabled "0"
|
||||||
if [ $enabled = "1" ]; then
|
if [ $enabled = "1" ]; then
|
||||||
procd_open_instance "$1"
|
procd_open_instance "$1"
|
||||||
procd_set_param command "$PROG" "nodaemon" "$1"
|
procd_set_param command "$PROG" "-a" "nodaemon" "-i" "$1"
|
||||||
procd_close_instance
|
procd_close_instance
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@@ -24,7 +24,7 @@ start_service() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
stop_service() {
|
stop_service() {
|
||||||
$PROG stop
|
$PROG -a stop
|
||||||
}
|
}
|
||||||
|
|
||||||
reload_service() {
|
reload_service() {
|
||||||
|
|||||||
@@ -11,68 +11,88 @@
|
|||||||
(с) 2024 gSpot (https://github.com/gSpotx2f/luci-app-internet-detector)
|
(с) 2024 gSpot (https://github.com/gSpotx2f/luci-app-internet-detector)
|
||||||
--]]
|
--]]
|
||||||
|
|
||||||
|
local getopt = require("posix.unistd").getopt
|
||||||
local InternetDetector = require("internet-detector.main")
|
local InternetDetector = require("internet-detector.main")
|
||||||
|
|
||||||
local function help()
|
local function help()
|
||||||
return string.format(
|
return table.concat({
|
||||||
"Usage: %s daemon <UCI instance> | nodaemon <UCI instance> | debug <UCI instance> | stop | status | inet-status | uipoll | --help",
|
[1] = string.format(
|
||||||
arg[0]
|
"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
|
end
|
||||||
|
|
||||||
local helpArgs = { ["-h"] = true, ["--help"] = true, help = true }
|
local action, instance
|
||||||
if arg[1] == "daemon" then
|
local params = {}
|
||||||
if arg[2] then
|
local last_index = 1
|
||||||
if InternetDetector:setServiceConfig(arg[2]) then
|
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()
|
InternetDetector:daemon()
|
||||||
else
|
else
|
||||||
os.exit(126)
|
os.exit(126)
|
||||||
end
|
end
|
||||||
else
|
elseif action == "nodaemon" then
|
||||||
print(help())
|
if InternetDetector:setServiceConfig(instance) then
|
||||||
os.exit(1)
|
|
||||||
end
|
|
||||||
elseif arg[1] == "nodaemon" then
|
|
||||||
if arg[2] then
|
|
||||||
if InternetDetector:setServiceConfig(arg[2]) then
|
|
||||||
InternetDetector:noDaemon()
|
InternetDetector:noDaemon()
|
||||||
else
|
else
|
||||||
os.exit(126)
|
os.exit(126)
|
||||||
end
|
end
|
||||||
else
|
elseif action == "debug" then
|
||||||
print(help())
|
if InternetDetector:setServiceConfig(instance) then
|
||||||
os.exit(1)
|
|
||||||
end
|
|
||||||
elseif arg[1] == "debug" then
|
|
||||||
if arg[2] then
|
|
||||||
if InternetDetector:setServiceConfig(arg[2]) then
|
|
||||||
InternetDetector.debug = true
|
InternetDetector.debug = true
|
||||||
InternetDetector:noDaemon()
|
InternetDetector:noDaemon()
|
||||||
else
|
else
|
||||||
os.exit(126)
|
os.exit(126)
|
||||||
end
|
end
|
||||||
|
else
|
||||||
|
print("Error! Wrong action [-a]")
|
||||||
|
os.exit(1)
|
||||||
|
end
|
||||||
|
else
|
||||||
|
if params[1] == "S" then
|
||||||
|
print(InternetDetector:status())
|
||||||
|
elseif params[1] == "I" then
|
||||||
|
print(InternetDetector:inetStatus())
|
||||||
|
elseif params[1] == "U" then
|
||||||
|
if InternetDetector:status() == "stoped" then
|
||||||
|
os.exit(126)
|
||||||
|
else
|
||||||
|
InternetDetector:setSIGUSR()
|
||||||
|
print(InternetDetector:inetStatus())
|
||||||
|
end
|
||||||
|
elseif params[1] == "h" then
|
||||||
|
print(help())
|
||||||
else
|
else
|
||||||
print(help())
|
print(help())
|
||||||
os.exit(1)
|
os.exit(1)
|
||||||
end
|
end
|
||||||
elseif arg[1] == "stop" then
|
|
||||||
InternetDetector:stop()
|
|
||||||
elseif arg[1] == "status" then
|
|
||||||
print(InternetDetector:status())
|
|
||||||
elseif arg[1] == "inet-status" then
|
|
||||||
print(InternetDetector:inetStatus())
|
|
||||||
elseif arg[1] == "uipoll" then
|
|
||||||
if InternetDetector:status() == "stoped" then
|
|
||||||
os.exit(126)
|
|
||||||
else
|
|
||||||
InternetDetector:setSIGUSR()
|
|
||||||
print(InternetDetector:inetStatus())
|
|
||||||
end
|
|
||||||
elseif helpArgs[arg[1]] then
|
|
||||||
print(help())
|
|
||||||
else
|
|
||||||
print(help())
|
|
||||||
os.exit(1)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
os.exit(0)
|
os.exit(0)
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=luci-app-internet-detector
|
PKG_NAME:=luci-app-internet-detector
|
||||||
PKG_VERSION:=1.3.2
|
PKG_VERSION:=1.3.3
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
LUCI_TITLE:=LuCI support for internet-detector
|
LUCI_TITLE:=LuCI support for internet-detector
|
||||||
LUCI_DEPENDS:=+internet-detector
|
LUCI_DEPENDS:=+internet-detector
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ local function startUiInstances()
|
|||||||
"instance",
|
"instance",
|
||||||
function(s)
|
function(s)
|
||||||
if s.enabled == "1" then
|
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
|
||||||
end
|
end
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user