Commit Graph
6891 Commits
Author SHA1 Message Date
Jokob @NetAlertX f669502028 Merge pull request #1858 from mauricio-camayo/fix/sync-hub-node-name
Sync + WIFICANARY: attribute synced detections to their node
v26.10.24
2026-10-23 10:21:22 +09:00
Jokob @NetAlertX 7e8f24aaa7 Merge pull request #1855 from frdmn/fix/mcp-sse-relative-endpoint
fix(mcp): advertise a relative SSE endpoint so clients work behind the /server proxy
2026-10-23 10:02:26 +09:00
Jokob @NetAlertX e9bb6a84bc Merge pull request #1857 from RobinMJD/fix/php-security-alpine-3.24
fix(docker): require patched PHP 8.3 on Alpine 3.24
2026-10-23 10:01:05 +09:00
Mauricio CamayoandClaude Opus 5.5 c263e939fd Address review: docstrings for execute_plugin and new WIFICANARY tests
execute_plugin's leading description comment becomes a docstring, as it
was touched by this PR; the two new check_trusted_aps tests get
docstrings instead of leading comments.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PzCQWQVz9b2UzqLiGp2mPM
2026-10-22 12:29:12 -05:00
Mauricio CamayoandClaude Opus 5.5 ca4e92c32d Sync + WIFICANARY: attribute synced detections to their node
Fixes found running WIFICANARY on a WiFi satellite node that pushes its
detections to a hub with no WiFi of its own.

Synced plugin objects were stored with syncHubNodeName = "decoded"
instead of the node's name. plugin.py took filename.split(".")[2], but by
the time the hub processes the file decode_and_rename_files() has renamed
it to last_result.<PREFIX>.decoded.<NodeName>.<N>.log, so index 2 is the
literal marker. The parsing now lives in
utils.plugin_utils.get_sync_hub_node_name(), next to the function that
produces these names; it keeps node names that contain dots and returns
"" for local result files.

WIFICANARY's absent_baseline_clone was evaluated per trusted_aps entry,
so with a main AP + range extender pair, a weak clone seen while only the
main AP was in range also raised absent_baseline_clone through the
extender's entry, on top of the correct evil_twin. The baseline now
counts as present if any trusted radio for that SSID is visible;
single-entry behaviour is unchanged.

Leaving WIFICANARY_IFACE blank is how such a hub ingests the node's
detections (core processes the synced files after the plugin runs), but
it logged an unconditional "not set - nothing to scan" every cycle. It is
now a verbose "hub-only mode" message, and the node + hub setup is
documented in the setting description and the plugin README.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PzCQWQVz9b2UzqLiGp2mPM
2026-10-22 12:09:53 -05:00
RobinMJD 90b1c081c8 fix(docker): require patched PHP 8.3 on Alpine 3.24
Move the Alpine builder and runner to the supported community repository, require PHP 8.3.36 or newer for the installed runtime components, and keep the Python 3.14 import paths aligned in the generated devcontainer. Add a runtime regression check for CLI, FPM and CGI covering CVE-2026-109618 and CVE-2026-109619.
2026-10-22 00:32:28 +02:00
Jonas Friedmann 68aaeaf527 BE+TESTS: relative MCP SSE endpoint path #1854
The SSE endpoint event advertised the absolute path /mcp/messages, which drops the /server prefix when clients connect through the bundled nginx proxy on port 20211. Clients then POST to /mcp/messages, nginx serves it as a static file and returns 404, so MCP clients can't connect via the proxy. A relative path resolves against whichever SSE URL the client used, so it works both directly and behind the prefix.
2026-10-21 13:07:34 +02:00
anton garcias 32e2ddd322 Translated using Weblate (Catalan)
Currently translated at 99.7% (864 of 866 strings)

Translation: NetAlertX/core
Translate-URL: https://hosted.weblate.org/projects/pialert/core/ca/
2026-10-19 19:51:21 +02:00
Jokob @NetAlertX fe29f5d481 Merge pull request #1849 from Clearmist/patch-1
Fix duplicate content in DOCKER_COMPOSE.md
2026-10-19 07:02:03 +11:00
Clearmist 0149eaaa72 Fix duplicate content in DOCKER_COMPOSE.md
Removed duplicate sentence about configuring docker-compose.
2026-10-18 07:23:57 +00:00
mid 4dcfed9b80 Translated using Weblate (Japanese)
Currently translated at 100.0% (866 of 866 strings)

Translation: NetAlertX/core
Translate-URL: https://hosted.weblate.org/projects/pialert/core/ja/
2026-10-16 11:51:28 +02:00
Safeguard 6da7fa1665 Translated using Weblate (Russian)
Currently translated at 100.0% (866 of 866 strings)

Translation: NetAlertX/core
Translate-URL: https://hosted.weblate.org/projects/pialert/core/ru/
2026-10-16 11:51:25 +02:00
Massimo Pissarello 11280a19c3 Translated using Weblate (Italian)
Currently translated at 100.0% (866 of 866 strings)

Translation: NetAlertX/core
Translate-URL: https://hosted.weblate.org/projects/pialert/core/it/
2026-10-14 02:51:21 +02:00
Jokob @NetAlertX 290ceae0d3 Merge pull request #1843 from netalertx/next_release
Next release
2026-10-14 10:17:24 +11:00
jokob-sk 7795037843 FE: Hardening 2026-10-13 16:54:18 +11:00
Jokob @NetAlertX 90f2714639 Merge pull request #1842 from netalertx/main
Merge pull request #1837 from netalertx/next_release
2026-10-13 08:08:30 +11:00
Jokob @NetAlertX 12794ee111 Merge pull request #1837 from netalertx/next_release
BE+FE: Plugins -> Sources DevDetails tab
2026-10-13 08:07:51 +11:00
jokob-sk 19f6148a92 BE+FE: prevent ghost notifications #1841 2026-10-12 20:32:45 +11:00
jokob-sk fb1596cf94 BE+DOCS: skills + less verbose logging #1840 2026-10-12 09:42:55 +11:00
jokob-sk ce6914beaf FE+TESTS: review fixes 2026-10-10 09:22:04 +11:00
Jokob @NetAlertX bd4b2f14e3 Merge pull request #1839 from netalertx/main
Translated using Weblate (Czech)
2026-10-10 09:09:31 +11:00
jokob-sk a91c3f0957 DOS+BE: skill updates 2026-10-10 09:09:05 +11:00
jokob-sk c25fd5f6af DOS+BE: skill updates + multi ip handling #1831 2026-10-10 08:45:53 +11:00
jokob-sk 59a0bb1e80 FE: more reliable Device Details reload 2026-10-10 08:01:46 +11:00
jokob-sk 1a42bcf8a1 Merge branch 'next_release' of github.com:netalertx/NetAlertX into next_release 2026-10-10 07:54:44 +11:00
jokob-sk f5e66cc6a3 FE+TESTS: review fixes 2026-10-10 07:54:32 +11:00
Pavel Borecki 49cd213164 Translated using Weblate (Czech)
Currently translated at 100.0% (855 of 855 strings)

Translation: NetAlertX/core
Translate-URL: https://hosted.weblate.org/projects/pialert/core/cs/
2026-10-09 07:51:21 +00:00
Jokob @NetAlertX 77bce19345 Merge pull request #1838 from netalertx/main
sync
2026-10-09 09:59:36 +11:00
jokob-sk 1b106cbc32 Review fixes 2026-10-09 09:59:14 +11:00
jokob-sk d88e46b713 FE: Hardening 2026-10-09 09:41:50 +11:00
jokob-sk f37f2c7df7 BE+FE: Plugins -> Sources DevDetails tab 2026-10-09 09:18:04 +11:00
Jokob @NetAlertX 108320e625 Merge pull request #1836 from itwormz/fix/unfimp-ssid
fix(unifi): populate device SSIDs from wireless clients
2026-10-07 07:48:20 +11:00
ssantos 60cbddf28e Translated using Weblate (Portuguese (Portugal))
Currently translated at 94.2% (806 of 855 strings)

Translation: NetAlertX/core
Translate-URL: https://hosted.weblate.org/projects/pialert/core/pt_PT/
2026-10-06 11:51:41 +00:00
Deleted User 89f553a55e Translated using Weblate (Ukrainian)
Currently translated at 90.4% (773 of 855 strings)

Translation: NetAlertX/core
Translate-URL: https://hosted.weblate.org/projects/pialert/core/uk/
2026-10-06 11:51:40 +00:00
anton garcias 56626d01bd Translated using Weblate (Catalan)
Currently translated at 99.2% (849 of 855 strings)

Translation: NetAlertX/core
Translate-URL: https://hosted.weblate.org/projects/pialert/core/ca/
2026-10-06 11:51:39 +00:00
HAMAD ABDULLA e3f71ad6e1 Translated using Weblate (Arabic)
Currently translated at 78.5% (672 of 855 strings)

Translation: NetAlertX/core
Translate-URL: https://hosted.weblate.org/projects/pialert/core/ar/
2026-10-06 11:51:38 +00:00
Pavel Borecki 71fd735876 Translated using Weblate (Czech)
Currently translated at 97.7% (836 of 855 strings)

Translation: NetAlertX/core
Translate-URL: https://hosted.weblate.org/projects/pialert/core/cs/
2026-10-06 11:51:37 +00:00
blomusti 5b54d8f6d5 Translated using Weblate (Turkish)
Currently translated at 52.1% (446 of 855 strings)

Translation: NetAlertX/core
Translate-URL: https://hosted.weblate.org/projects/pialert/core/tr/
2026-10-06 11:51:35 +00:00
onebest1 180a0f5c8e Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 97.5% (834 of 855 strings)

Translation: NetAlertX/core
Translate-URL: https://hosted.weblate.org/projects/pialert/core/zh_Hans/
2026-10-06 11:51:34 +00:00
Adam Stańczyk 5bc8a4e5b2 Translated using Weblate (Polish)
Currently translated at 78.4% (671 of 855 strings)

Translation: NetAlertX/core
Translate-URL: https://hosted.weblate.org/projects/pialert/core/pl/
2026-10-06 11:51:33 +00:00
Alexandre Nascimento 94c0fc7ede Translated using Weblate (Portuguese (Brazil))
Currently translated at 47.6% (407 of 855 strings)

Translation: NetAlertX/core
Translate-URL: https://hosted.weblate.org/projects/pialert/core/pt_BR/
2026-10-06 11:51:31 +00:00
Massimo Pissarello bbdfad63eb Translated using Weblate (Italian)
Currently translated at 100.0% (855 of 855 strings)

Translation: NetAlertX/core
Translate-URL: https://hosted.weblate.org/projects/pialert/core/it/
2026-10-06 11:51:30 +00:00
Marcus Isdahl e6d92463b7 Translated using Weblate (Norwegian Bokmål)
Currently translated at 65.0% (556 of 855 strings)

Translation: NetAlertX/core
Translate-URL: https://hosted.weblate.org/projects/pialert/core/nb/
2026-10-06 11:51:27 +00:00
ButterflyOfFire 0e9933ac13 Translated using Weblate (French)
Currently translated at 97.8% (837 of 855 strings)

Translation: NetAlertX/core
Translate-URL: https://hosted.weblate.org/projects/pialert/core/fr/
2026-10-06 11:51:26 +00:00
Anonymous c5e16ae7f9 Translated using Weblate (Spanish)
Currently translated at 98.1% (839 of 855 strings)

Translation: NetAlertX/core
Translate-URL: https://hosted.weblate.org/projects/pialert/core/es/
2026-10-06 11:51:24 +00:00
Anonymous 0316760e93 Translated using Weblate (German)
Currently translated at 86.0% (736 of 855 strings)

Translation: NetAlertX/core
Translate-URL: https://hosted.weblate.org/projects/pialert/core/de/
2026-10-06 11:51:22 +00:00
Alexander Shevchenko 94164829ff docs(unifi): describe import and test helper functions 2026-10-06 11:38:38 +02:00
Alexander Shevchenko 75e427f805 test(unifi): cover SSID extraction and scan mapping
Cover wireless, wired, missing flags, missing SSIDs, and differing network names. Keep standalone imports valid when real pytz is installed.
2026-10-06 10:36:25 +02:00
Alexander Shevchenko 6b76b8c8ea fix(unifi): import wireless SSIDs into device scans
Read essid instead of the UniFi network name, exclude wired clients, and map the plugin result to scanSSID. Label the imported value as SSID.
2026-10-06 10:36:25 +02:00
Hosted Weblate 97ea3d2796 Merge branch 'origin/main' into Weblate. 2026-10-05 13:49:36 +02:00