luci-app-banip: release 1.8.5-1
authorDirk Brenken <redacted>
Tue, 7 Apr 2026 17:34:33 +0000 (19:34 +0200)
committerDirk Brenken <redacted>
Tue, 7 Apr 2026 17:34:48 +0000 (19:34 +0200)
* sync with base package

Signed-off-by: Dirk Brenken <redacted>
applications/luci-app-banip/Makefile
applications/luci-app-banip/htdocs/luci-static/resources/view/banip/feeds.js
applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js
applications/luci-app-banip/htdocs/luci-static/resources/view/banip/setreport.js
applications/luci-app-banip/root/usr/share/rpcd/acl.d/luci-app-banip.json

index f9e50b0b9654d4a773f9d8b7eba48f16a40624e2..1760a3c4ba002963af3b3c21e1553b4abb10e0d8 100644 (file)
@@ -6,8 +6,8 @@ include $(TOPDIR)/rules.mk
 LUCI_TITLE:=LuCI support for banIP
 LUCI_DEPENDS:=+luci-base +banip
 
-PKG_VERSION:=1.8.1
-PKG_RELEASE:=3
+PKG_VERSION:=1.8.5
+PKG_RELEASE:=1
 PKG_LICENSE:=Apache-2.0
 PKG_MAINTAINER:=Dirk Brenken <dev@brenken.org>
 
index e1827276b77172298fcb4fc8abff40e7ad89a310..535473e3165d0932c70a70bd8703f991c6dd2fb1 100644 (file)
@@ -232,7 +232,7 @@ return view.extend({
 
                        o = s.option(form.Value, 'rule', _('Rule'));
                        o.value('feed 1', _('<IP-Address>'));
-                       o.value('feed 1 ,', _('<IP-Address><CSV-Seperator>'));
+                       o.value('feed 1 ,', _('<IP-Address><CSV-Separator>'));
                        o.value('feed 13', _('<IP-Address><Space><Netmask>'));
                        o.value('suricata 1', _('<Suricata Syntax>'));
                        o.optional = true;
index 1ee1bed1d341659bf2039a82b5aa3ea3e566ce1b..193a80a03a2ce88ef3f65d025f88d7cad91a17f1 100644 (file)
@@ -62,11 +62,16 @@ return view.extend({
                */
                let parseErrCount = 0;
                poll.add(function () {
-                       return L.resolveDefault(fs.stat('/var/run/banip_runtime.json'), null).then(function (stat) {
+                       return L.resolveDefault(fs.stat('/var/run/banIP/banIP_runtime.json'), null).then(function (stat) {
                                if (!stat) {
                                        return;
                                }
-                               return L.resolveDefault(fs.read_direct('/var/run/banip_runtime.json'), 'null').then(function (res) {
+                               return Promise.all([
+                                       L.resolveDefault(fs.read_direct('/var/run/banIP/banIP_runtime.json'), 'null'),
+                                       L.resolveDefault(fs.exec_direct('/etc/init.d/banip', ['actual']), '')
+                               ]).then(function (results) {
+                                       const res = results[0];
+                                       const actual = results[1]?.trim() || '';
                                        const status = document.getElementById('status');
                                        const buttons = document.querySelectorAll('.cbi-page-actions button');
                                        let info = null;
@@ -90,7 +95,12 @@ return view.extend({
                                                return;
                                        }
                                        if (status && info) {
-                                               status.textContent = `${info.status || '-'} (frontend: ${info.frontend_ver || '-'} / backend: ${info.backend_ver || '-'})`;
+                                               let statusText = info.status || '-';
+                                               if (actual) {
+                                                       statusText += `: ${actual}`;
+                                               }
+                                               statusText += ` (frontend: ${info.frontend_ver || '-'} / backend: ${info.backend_ver || '-'})`;
+                                               status.textContent = statusText;
                                                if (info.status === "processing") {
                                                        buttons.forEach(function (btn) {
                                                                btn.disabled = true;
@@ -597,9 +607,9 @@ return view.extend({
                o.value('error: maximum authentication attempts exceeded', _('sshd failed login'));
                o.value('sshd.*Connection closed by.*\\[preauth\\]', _('sshd closed connection'));
                o.value('SecurityEvent=\\"InvalidAccountID\\".*RemoteAddress=', _('asterisk invalid account'));
-               o.value('received a suspicious remote IP .*', _('nginx suspicious IP'));
                o.value('TLS Error: could not determine wrapping from \\[AF_INET\\]', _('openvpn TLS error'));
                o.value('AdGuardHome.*\\[error\\].*/control/login: from ip', _('AdGuardHome login error'));
+               o.value('received a suspicious remote IP', _('Remote logging Event'));
                o.placeholder = _('-- Please choose (optional) --');
                o.optional = true;
                o.rmempty = true;
index c01268a12ff670499bd63d0c08de4c88a392a5a7..783549c04946736183676b54ad84c0b0b1039a28 100644 (file)
@@ -53,12 +53,12 @@ function handleAction(report, ev) {
                                                                clearInterval(window._banipPoller);
                                                                window._banipPoller = null;
                                                        }
-                                                       L.resolveDefault(fs.write('/var/run/banIP.search', ''), '').then(function () {
+                                                       L.resolveDefault(fs.write('/var/run/banIP/banIP.search', ''), '').then(function () {
                                                                L.resolveDefault(fs.exec_direct('/etc/init.d/banip', ['search', ip]), '').then(function () {
                                                                        let attempts = 0;
                                                                        window._banipPoller = setInterval(function () {
                                                                                attempts++;
-                                                                               L.resolveDefault(fs.read('/var/run/banIP.search'), '').then(function (res) {
+                                                                               L.resolveDefault(fs.read('/var/run/banIP/banIP.search'), '').then(function (res) {
                                                                                        if (res && res.trim()) {
                                                                                                clearInterval(window._banipPoller);
                                                                                                window._banipPoller = null;
@@ -359,12 +359,12 @@ return view.extend({
                                                });
                                                btn.blur();
                                                btn.classList.add('spinning');
-                                               L.resolveDefault(fs.write('/var/run/banIP.report', ''), '').then(function () {
+                                               L.resolveDefault(fs.write('/var/run/banIP/banIP.report', ''), '').then(function () {
                                                        L.resolveDefault(fs.exec_direct('/etc/init.d/banip', ['report', 'gen']), '');
                                                        let attempts = 0;
                                                        let poller = setInterval(function () {
                                                                attempts++;
-                                                               L.resolveDefault(fs.read('/var/run/banIP.report'), '').then(function (res) {
+                                                               L.resolveDefault(fs.read('/var/run/banIP/banIP.report'), '').then(function (res) {
                                                                        if (res && res.trim()) {
                                                                                clearInterval(poller);
                                                                                location.reload();
index 6faf4eb0d72611bcd451b2bee96ab8cd50388ae8..04226bde237f252f15c364c5398cc254951b6976 100644 (file)
                                        "read",
                                        "write"
                                ],
-                               "/var/run/banIP.search": [
+                               "/var/run/banIP/banIP.search": [
                                        "read",
                                        "write"
                                ],
-                               "/var/run/banIP.report": [
+                               "/var/run/banIP/banIP.report": [
                                        "read",
                                        "write"
                                ]
                                "exec"
                        ],
                        "file": {
-                               "/var/run/banip.lock": [
+                               "/var/run/banIP/banIP.lock": [
                                        "read"
                                ],
-                               "/var/run/banip_runtime.json": [
+                               "/var/run/banIP/banIP_runtime.json": [
                                        "read"
                                ],
                                "/usr/sbin/nft -tj list sets": [
@@ -54,6 +54,9 @@
                                "/etc/init.d/banip restart": [
                                        "exec"
                                ],
+                               "/etc/init.d/banip actual": [
+                                       "exec"
+                               ],
                                "/etc/init.d/banip report json": [
                                        "exec"
                                ],
git clone https://git.99rst.org/PROJECT