Skip to content

Commit 556d104

Browse files
authored
Merge pull request #1638 from netalertx/main
sync
2 parents f428f45 + eafbcd5 commit 556d104

6 files changed

Lines changed: 637 additions & 7 deletions

File tree

docs/DOCKER_INSTALLATION.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ docker run -d --rm --network=host \
3636

3737
> Runtime UID/GID: The image defaults to a service user `netalertx` (UID/GID 20211). A separate readonly lock owner also uses UID/GID 20211 for 004/005 immutability. You can override the runtime UID/GID at build (ARG) or run (`--user` / compose `user:`) but must align writable mounts (`/data`, `/tmp*`) and tmpfs `uid/gid` to that choice.
3838
39-
See alternative [docked-compose examples](https://docs.netalertx.com/DOCKER_COMPOSE).
39+
See alternative [docker-compose examples](https://docs.netalertx.com/DOCKER_COMPOSE).
4040

4141
### Default ports
4242

docs/PLUGINS.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ Device-detecting plugins insert values into the `CurrentScan` database table. T
6262
| `INTRNT` | [internet_ip](https://github.com/netalertx/NetAlertX/tree/main/front/plugins/internet_ip/) | 🔍 | Internet IP scanner | | |
6363
| `INTRSPD` | [internet_speedtest](https://github.com/netalertx/NetAlertX/tree/main/front/plugins/internet_speedtest/) || Internet speed test | | |
6464
| `IPNEIGH` | [ipneigh](https://github.com/netalertx/NetAlertX/tree/main/front/plugins/ipneigh/) | 🔍 | Scan ARP (IPv4) and NDP (IPv6) tables | | |
65+
| `KEALSS` | [kea_api](https://github.com/netalertx/NetAlertX/tree/main/front/plugins/kea_api/) | 🔍/🆎 | Pull lease data from the Kea DHCP API | | |
6566
| `LUCIRPC` | [luci_import](https://github.com/netalertx/NetAlertX/tree/main/front/plugins/luci_import/) | 🔍 | Import connected devices from OpenWRT | | |
6667
| `MAINT` | [maintenance](https://github.com/netalertx/NetAlertX/tree/main/front/plugins/maintenance/) || Maintenance of logs, etc. | | |
6768
| `MQTT` | [_publisher_mqtt](https://github.com/netalertx/NetAlertX/tree/main/front/plugins/_publisher_mqtt/) | ▶️ | MQTT for synching to Home Assistant | | |

front/php/templates/language/ca_ca.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,8 @@
6666
"CustProps_cant_remove": "No es pot eliminar, es necessita una propietat mínim.",
6767
"DAYS_TO_KEEP_EVENTS_description": "Això és una configuració de manteniment. Especifica el nombre de dies que es conservaran els esdeveniments. Els esdeveniments antics s'esborraran periòdicament. També aplica als esdeveniments dels Connectors (Plugins).",
6868
"DAYS_TO_KEEP_EVENTS_name": "Esborrar esdeveniments més vells de",
69-
"DEEP_SLEEP_description": "",
70-
"DEEP_SLEEP_name": "",
69+
"DEEP_SLEEP_description": "Redueix l'ús de la CPU ampliant els temps d'espera inactiu entre els cicles de processament. Quan està activat, les exploracions es poden retardar fins a 1 minut i la interfície d'usuari pot ser menys sensible.",
70+
"DEEP_SLEEP_name": "Son profund",
7171
"DISCOVER_PLUGINS_description": "Desactiva aquesta opció per accelerar la inicialització i l'estalvi de configuració. Quan està desactivat, els connectors no es descobreixen, i no podeu afegir nous connectors a la configuració <code>LOADED_PLUGINS</code>.",
7272
"DISCOVER_PLUGINS_name": "Descobreix els plugins",
7373
"DevDetail_Children_Title": "Relacions filles",
@@ -141,7 +141,7 @@
141141
"DevDetail_SessionTable_Duration": "Durada",
142142
"DevDetail_SessionTable_IP": "IP",
143143
"DevDetail_SessionTable_Order": "Ordre",
144-
"DevDetail_Shortcut_CurrentStatus": "Estat actual",
144+
"DevDetail_Shortcut_CurrentStatus": "Estat",
145145
"DevDetail_Shortcut_DownAlerts": "Aturar alertes",
146146
"DevDetail_Shortcut_Presence": "Presència",
147147
"DevDetail_Shortcut_Sessions": "Sessions",
@@ -250,7 +250,7 @@
250250
"Device_TableHead_NetworkSite": "Network Site",
251251
"Device_TableHead_Owner": "Propietari",
252252
"Device_TableHead_ParentRelType": "Tipus de relació",
253-
"Device_TableHead_Parent_MAC": "Node pare de xarxa",
253+
"Device_TableHead_Parent_MAC": "Node pare",
254254
"Device_TableHead_Port": "Port",
255255
"Device_TableHead_PresentLastScan": "Presència",
256256
"Device_TableHead_ReqNicsOnline": "Requereix NICs En línia",
@@ -346,7 +346,7 @@
346346
"Gen_LockedDB": "ERROR - DB podria estar bloquejada - Fes servir F12 Eines desenvolupament -> Consola o provar-ho més tard.",
347347
"Gen_NetworkMask": "Màscara de xarxa",
348348
"Gen_New": "Nou",
349-
"Gen_No_Data": "",
349+
"Gen_No_Data": "Sense dades",
350350
"Gen_Offline": "Fora de línia",
351351
"Gen_Okay": "Ok",
352352
"Gen_Online": "En línia",
@@ -808,4 +808,4 @@
808808
"settings_system_label": "Sistema",
809809
"settings_update_item_warning": "Actualitza el valor sota. Sigues curós de seguir el format anterior. <b>No hi ha validació.</b>",
810810
"test_event_tooltip": "Deseu els canvis primer abans de comprovar la configuració."
811-
}
811+
}

front/plugins/kea_api/README.md

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
## Overview
2+
3+
A plugin allowing for importing devices from the Kea DHCP API.
4+
https://www.isc.org/kea/
5+
6+
And specifically:
7+
https://kea.readthedocs.io/en/kea-2.6.3/api.html#lease4-get-all
8+
9+
10+
### Usage
11+
12+
To enable the API, first you want to add something like this to your main kea configuration (this is for debian 13):
13+
14+
```json
15+
"control-socket": {
16+
"socket-type": "unix",
17+
"socket-name": "/run/kea/kea4-ctrl-socket"
18+
},
19+
20+
"hooks-libraries": [
21+
{
22+
"library": "/usr/lib/x86_64-linux-gnu/kea/hooks/libdhcp_lease_cmds.so"
23+
}
24+
],
25+
```
26+
27+
28+
And you need to install kea-ctrl-agent, with a config that looks something like this:
29+
30+
```json
31+
{
32+
"Control-agent": {
33+
"http-host": "127.0.0.1",
34+
"http-port": 8000,
35+
36+
"authentication": {
37+
"type": "basic",
38+
"realm": "Kea Control Agent",
39+
"directory": "/etc/kea",
40+
"clients": [
41+
{
42+
"user": "kea-api",
43+
"password-file": "kea-api-password"
44+
}
45+
]
46+
},
47+
"control-sockets": {
48+
"dhcp4": {
49+
"socket-type": "unix",
50+
"socket-name": "/run/kea/kea4-ctrl-socket"
51+
}
52+
},
53+
"loggers": [
54+
{
55+
"name": "kea-ctrl-agent",
56+
"output-options": [
57+
{
58+
"output": "stdout",
59+
"pattern": "%-5p %m\n"
60+
}
61+
],
62+
"severity": "INFO",
63+
"debuglevel": 0
64+
}
65+
]
66+
}
67+
}
68+
```
69+
70+
You will need to configure the plugin with the URL to the API, and the username and password configured above (from kea-api-password file in the example)
71+
72+
73+
#### Required Settings
74+
75+
These settings are required, besides the common device scanner settings:
76+
77+
- **Kea Control Agent URL** (`KEALSS_URL`): The full URL, including port number, to the Kea API.
78+
- Default: `http://127.0.0.1:8000`
79+
- This mirrors what you set up in the kea-ctrl-agent configuration.
80+
81+
- **Basic Auth Username** (`KEALSS_USER`): The user to use for authenticating with the Kea API.
82+
- Default: `kea-api`
83+
- This mirrors what you set up in the kea-ctrl-agent configuration.
84+
85+
- **Basic Auth Password** (`KEALSS_PASS`): The password to use for authenticating with the Kea API.
86+
- This mirrors what you set up in the kea-ctrl-agent configuration.
87+
- When using a password file, it should be the content of the password file.
88+
89+
90+
### Notes
91+
92+
- This was tested on a basic Debian 13 install.
93+
- When you install kea-ctrl-agent, it should ask you about creating a password.
94+
- It's possible to run kea-ctrl-agent without password, but it's not recommended and at the moment we don't support that.
95+
- I may provide some minimal support, if you ask nicely :)
96+
97+
- Version: 1.0.0
98+
- Author: `void-spark`
99+
- Release Date: `11/05/2026`

0 commit comments

Comments
 (0)