diff --git a/README.md b/README.md index 5adf1b0..7d4da8e 100644 --- a/README.md +++ b/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 ![](https://github.com/gSpotx2f/luci-app-internet-detector/blob/master/screenshots/04.jpg) @@ -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 ![](https://github.com/gSpotx2f/luci-app-internet-detector/blob/master/screenshots/05.jpg) - -## [OpenWrt 19.07](https://github.com/gSpotx2f/luci-app-internet-detector/tree/19.07) diff --git a/internet-detector-mod-email/Makefile b/internet-detector-mod-email/Makefile index 34700e7..7ca482f 100644 --- a/internet-detector-mod-email/Makefile +++ b/internet-detector-mod-email/Makefile @@ -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 diff --git a/internet-detector-mod-modem-restart/Makefile b/internet-detector-mod-modem-restart/Makefile index 21b6c0c..407fc6d 100644 --- a/internet-detector-mod-modem-restart/Makefile +++ b/internet-detector-mod-modem-restart/Makefile @@ -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 diff --git a/internet-detector/Makefile b/internet-detector/Makefile index 93d1ee6..eb411f7 100644 --- a/internet-detector/Makefile +++ b/internet-detector/Makefile @@ -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 diff --git a/internet-detector/files/etc/init.d/internet-detector b/internet-detector/files/etc/init.d/internet-detector index a9c062b..2e2c7e2 100755 --- a/internet-detector/files/etc/init.d/internet-detector +++ b/internet-detector/files/etc/init.d/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() { diff --git a/internet-detector/files/usr/bin/internet-detector b/internet-detector/files/usr/bin/internet-detector index c495970..c3ec1b9 100755 --- a/internet-detector/files/usr/bin/internet-detector +++ b/internet-detector/files/usr/bin/internet-detector @@ -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 | nodaemon | debug | stop | status | inet-status | uipoll | --help", - arg[0] - ) + return table.concat({ + [1] = string.format( + "Usage: %s -a daemon -i | -a nodaemon -i | -a debug -i | -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("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 print(help()) os.exit(1) 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 os.exit(0) diff --git a/luci-app-internet-detector/Makefile b/luci-app-internet-detector/Makefile index 4c01cac..46a0574 100644 --- a/luci-app-internet-detector/Makefile +++ b/luci-app-internet-detector/Makefile @@ -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 diff --git a/luci-app-internet-detector/root/usr/libexec/rpcd/luci.internet-detector b/luci-app-internet-detector/root/usr/libexec/rpcd/luci.internet-detector index 2274633..824767d 100755 --- a/luci-app-internet-detector/root/usr/libexec/rpcd/luci.internet-detector +++ b/luci-app-internet-detector/root/usr/libexec/rpcd/luci.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 )