diff --git a/.claude/skills/plugin-readme/SKILL.md b/.claude/skills/plugin-readme/SKILL.md index f39b66c55..a746e0a27 100644 --- a/.claude/skills/plugin-readme/SKILL.md +++ b/.claude/skills/plugin-readme/SKILL.md @@ -44,5 +44,5 @@ Before concluding a plugin has no attribution to record, grep its script for a c ## Reference -- Repo-wide plugin catalog with icon/type legend: `docs/PLUGINS.md` +- Repo-wide plugin catalog with icon/type legend: `docs/PLUGINS_OVERVIEW.md` - Full plugin authoring reference (settings schema, execution phases, data contract): `docs/PLUGINS_DEV.md` and the `plugin-development` skill. diff --git a/.gemini/skills/plugin-readme/plugin-readme-skill.md b/.gemini/skills/plugin-readme/plugin-readme-skill.md index 9c3104ae7..32f53efef 100644 --- a/.gemini/skills/plugin-readme/plugin-readme-skill.md +++ b/.gemini/skills/plugin-readme/plugin-readme-skill.md @@ -44,5 +44,5 @@ Before concluding a plugin has no attribution to record, grep its script for a c ## Reference -- Repo-wide plugin catalog with icon/type legend: `docs/PLUGINS.md` +- Repo-wide plugin catalog with icon/type legend: `docs/PLUGINS_OVERVIEW.md` - Full plugin authoring reference (settings schema, execution phases, data contract): `docs/PLUGINS_DEV.md` and the `plugin-development` skill. diff --git a/.gemini/skills/settings/SKILL.md b/.gemini/skills/settings/SKILL.md index 0c21ce339..6f6f999b5 100644 --- a/.gemini/skills/settings/SKILL.md +++ b/.gemini/skills/settings/SKILL.md @@ -409,4 +409,4 @@ Before submitting a PR, verify: - https://docs.netalertx.com/PLUGINS_DEV_SETTINGS/ - https://docs.netalertx.com/SETTINGS_SYSTEM/ -- https://docs.netalertx.com/PLUGINS/ \ No newline at end of file +- https://docs.netalertx.com/PLUGINS_OVERVIEW/ \ No newline at end of file diff --git a/.github/skills/plugin-readme/SKILL.md b/.github/skills/plugin-readme/SKILL.md index 5ac732ea6..22e075901 100644 --- a/.github/skills/plugin-readme/SKILL.md +++ b/.github/skills/plugin-readme/SKILL.md @@ -44,5 +44,5 @@ Before concluding a plugin has no attribution to record, grep its script for a c ## Reference -- Repo-wide plugin catalog with icon/type legend: `docs/PLUGINS.md` +- Repo-wide plugin catalog with icon/type legend: `docs/PLUGINS_OVERVIEW.md` - Full plugin authoring reference (settings schema, execution phases, data contract): `docs/PLUGINS_DEV.md` and the `plugin-run-development` skill. diff --git a/.github/workflows/mkdocs.yml b/.github/workflows/mkdocs.yml index e33d6c742..10839b760 100755 --- a/.github/workflows/mkdocs.yml +++ b/.github/workflows/mkdocs.yml @@ -28,7 +28,8 @@ jobs: mkdocs-github-admonitions-plugin==0.1.1 \ mkdocs-glightbox \ mkdocs-gen-files==0.6.1 \ - mkdocs-literate-nav==0.6.3 + mkdocs-literate-nav==0.6.3 \ + mkdocs-redirects==1.2.3 - name: Build MkDocs run: mkdocs build diff --git a/README.md b/README.md index 6fb9140d5..ecf2b2274 100755 --- a/README.md +++ b/README.md @@ -76,14 +76,14 @@ For Home Assistant users: [Click here to add NetAlertX](https://my.home-assistan For other install methods, check the [installation docs](#documentation) --- -### || [Docker guide](https://docs.netalertx.com/DOCKER_INSTALLATION) || [Releases](https://github.com/netalertx/NetAlertX/releases) || [Docs](https://docs.netalertx.com/) || [Plugins](https://docs.netalertx.com/PLUGINS) || [Website](https://netalertx.com) +### || [Docker guide](https://docs.netalertx.com/DOCKER_INSTALLATION) || [Releases](https://github.com/netalertx/NetAlertX/releases) || [Docs](https://docs.netalertx.com/) || [Plugins](https://docs.netalertx.com/PLUGINS_OVERVIEW) || [Website](https://netalertx.com) --- ## Features ### Discovery & Asset Intelligence -Continuous monitoring for unauthorized asset discovery, connection state changes, and IP address management (IPAM) drift. Discovery & scan methods include: **arp-scan**, **Pi-hole - DB import**, **Pi-hole - DHCP leases import**, **Generic DHCP leases import**, **UNIFI controller import**, **SNMP-enabled router import**. Check the [Plugins](https://docs.netalertx.com/PLUGINS#readme) docs for a full list of avaliable plugins. +Continuous monitoring for unauthorized asset discovery, connection state changes, and IP address management (IPAM) drift. Discovery & scan methods include: **arp-scan**, **Pi-hole - DB import**, **Pi-hole - DHCP leases import**, **Generic DHCP leases import**, **UNIFI controller import**, **SNMP-enabled router import**. Check the [Plugins](https://docs.netalertx.com/PLUGINS_OVERVIEW#readme) docs for a full list of avaliable plugins. ### Notification gateways @@ -92,7 +92,7 @@ Send notifications to more than 80+ services, including Telegram via [Apprise](h ### Integrations and Plugins Feed your data and device changes into [Home Assistant](https://docs.netalertx.com/HOME_ASSISTANT), read [API endpoints](https://docs.netalertx.com/API), or use [Webhooks](https://docs.netalertx.com/WEBHOOK_N8N) to setup custom automation flows. You can also -build your own scanners with the [Plugin system](https://docs.netalertx.com/PLUGINS#readme) in as little as [15 minutes](https://www.youtube.com/watch?v=cdbxlwiWhv8). +build your own scanners with the [Plugin system](https://docs.netalertx.com/PLUGINS_OVERVIEW#readme) in as little as [15 minutes](https://www.youtube.com/watch?v=cdbxlwiWhv8). ### Workflows diff --git a/docs/ADVISORY_MULTI_NETWORK.md b/docs/ADVISORY_MULTI_NETWORK.md index d346d70df..7c06684e7 100644 --- a/docs/ADVISORY_MULTI_NETWORK.md +++ b/docs/ADVISORY_MULTI_NETWORK.md @@ -7,7 +7,7 @@ Effective multi-network monitoring starts with understanding how NetAlertX "sees * **A. Understand Network Accessibility:** Local ARP-based scanning (**ARPSCAN**) only discovers devices on directly accessible subnets due to Layer 2 limitations. It cannot traverse VPNs or routed borders without specific configuration. * **B. Plan Subnet & Scan Interfaces:** Explicitly configure each accessible segment in `SCAN_SUBNETS` with the corresponding interfaces. * **C. Remote & Inaccessible Networks:** For networks unreachable via ARP, use these strategies: -* **Alternate Plugins:** Supplement discovery with [SNMPDSC](https://docs.netalertx.com/PLUGINS/?h=SNMPDSC#available-plugins) or [DHCP lease imports](https://docs.netalertx.com/PLUGINS/?h=DHCPLSS#available-plugins). +* **Alternate Plugins:** Supplement discovery with [SNMPDSC](https://docs.netalertx.com/PLUGINS_OVERVIEW/?h=SNMPDSC#available-plugins) or [DHCP lease imports](https://docs.netalertx.com/PLUGINS_OVERVIEW/?h=DHCPLSS#available-plugins). * **Sync Hub for MSP & Multi-Site Deployments:** Run secondary NetAlertX instances on isolated networks and aggregate data using the **SYNC plugin**. Use the [`SYNC_BEHAVIOR`](https://docs.netalertx.com/plugins/sync#hub-device-write-behavior-sync_behavior) setting on the hub to control whether the hub inherits device config from nodes or manages it independently. * **Manual Entry:** For static assets where only ICMP (ping) status is needed. @@ -110,7 +110,7 @@ Don't let a massive device list overwhelm you. Use the [Multi-edit features](./D As your environment grows, tuning the underlying engine is vital to maintain a snappy UI and reliable discovery cycles. * **Plugin Scheduling:** Avoid "Scan Storms" by staggering plugin execution. Running intensive tasks like `NMAP` or `MASS_DNS` simultaneously can spike CPU and cause database locks. -* **Database Health:** Large-scale monitoring generates massive event logs. Use the **[DBCLNP (Database Cleanup)](https://docs.netalertx.com/PLUGINS/?h=dbclnp#available-plugins)** plugin to prune old records and keep the SQLite database performant. +* **Database Health:** Large-scale monitoring generates massive event logs. Use the **[DBCLNP (Database Cleanup)](https://docs.netalertx.com/PLUGINS_OVERVIEW/?h=dbclnp#available-plugins)** plugin to prune old records and keep the SQLite database performant. * **Resource Management:** For high-device counts, consider increasing the memory limit for the container and utilizing `tmpfs` for temporary files to reduce SD card/disk I/O bottlenecks. * Enable the `DEEP_SLEEP` setting. diff --git a/docs/API_OLD.md b/docs/API_OLD.md index c5f229e76..d5719473c 100755 --- a/docs/API_OLD.md +++ b/docs/API_OLD.md @@ -153,7 +153,7 @@ You can access the following files: | `table_devices.json` | All of the available Devices detected by the app. | | `table_plugins_events.json` | The list of the unprocessed (pending) notification events (plugins_events DB table). | | `table_plugins_history.json` | The list of notification events history. | - | `table_plugins_objects.json` | The content of the plugins_objects table. Find more info on the [Plugin system here](https://docs.netalertx.com/PLUGINS)| + | `table_plugins_objects.json` | The content of the plugins_objects table. Find more info on the [Plugin system here](https://docs.netalertx.com/PLUGINS_OVERVIEW)| | `language_strings.json` | The content of the language_strings table, which in turn is loaded from the plugins `config.json` definitions. | | `table_custom_endpoint.json` | A custom endpoint generated by the SQL query specified by the `API_CUSTOM_SQL` setting. | | `table_settings.json` | The content of the settings table. | diff --git a/docs/DEVICE_MANAGEMENT.md b/docs/DEVICE_MANAGEMENT.md index 658edc584..1f2616e05 100755 --- a/docs/DEVICE_MANAGEMENT.md +++ b/docs/DEVICE_MANAGEMENT.md @@ -13,7 +13,7 @@ The Main Info section is where most of the device identifiable information is st - **MAC**: MAC addres of the device. Not editable, unless creating a new dummy device. - **Last IP**: IP addres of the device. Not editable, unless creating a new dummy device. - - **Name**: Friendly device name. Autodetected via various 🆎 Name discovery [plugins](https://docs.netalertx.com/PLUGINS). The app attaches `(IP match)` if the name is discovered via an IP match and not MAC match which could mean the name could be incorrect as IPs might change. + - **Name**: Friendly device name. Autodetected via various 🆎 Name discovery [plugins](https://docs.netalertx.com/PLUGINS_OVERVIEW). The app attaches `(IP match)` if the name is discovered via an IP match and not MAC match which could mean the name could be incorrect as IPs might change. - **Icon**: Partially autodetected. Select an existing or [add a custom icon](./ICONS.md). You can also auto-apply the same icon on all devices of the same type. - **Owner**: Device owner (The list is self-populated with existing owners and you can add custom values). - **Type**: Select a device type from the dropdown list (`Smartphone`, `Tablet`, diff --git a/docs/DOCKER_INSTALLATION.md b/docs/DOCKER_INSTALLATION.md index f2231ae32..b3f8d6424 100644 --- a/docs/DOCKER_INSTALLATION.md +++ b/docs/DOCKER_INSTALLATION.md @@ -7,7 +7,7 @@ # NetAlertX - Network Visibility & Asset Intelligence Framework --- -### || [Docker guide](https://docs.netalertx.com/DOCKER_INSTALLATION) || [Releases](https://github.com/netalertx/NetAlertX/releases) || [Docs](https://docs.netalertx.com/) || [Plugins](https://docs.netalertx.com/PLUGINS) || [Website](https://netalertx.com) +### || [Docker guide](https://docs.netalertx.com/DOCKER_INSTALLATION) || [Releases](https://github.com/netalertx/NetAlertX/releases) || [Docs](https://docs.netalertx.com/) || [Plugins](https://docs.netalertx.com/PLUGINS_OVERVIEW) || [Website](https://netalertx.com) --- @@ -22,7 +22,7 @@ Head to [https://netalertx.com/](https://netalertx.com/) for more gifs and scree ## 📕 Basic Usage > [!WARNING] -> You will have to run the container on the `host` network and specify `SCAN_SUBNETS` unless you use other [plugin scanners](https://docs.netalertx.com/PLUGINS). The initial scan can take a few minutes, so please wait 5-10 minutes for the initial discovery to finish. +> You will have to run the container on the `host` network and specify `SCAN_SUBNETS` unless you use other [plugin scanners](https://docs.netalertx.com/PLUGINS_OVERVIEW). The initial scan can take a few minutes, so please wait 5-10 minutes for the initial discovery to finish. ```bash docker run -d --rm \ @@ -57,7 +57,7 @@ See alternative [docker-compose examples](https://docs.netalertx.com/DOCKER_COMP | `PGID` |Runtime GID override | `20211` | | `PORT` |Port of the web interface | `20211` | | `LISTEN_ADDR` |Set the specific IP Address for the listener address for the nginx webserver (web interface). This could be useful when using multiple subnets to hide the web interface from all untrusted networks. | `0.0.0.0` | -|`LOADED_PLUGINS` | Default [plugins](https://docs.netalertx.com/PLUGINS) to load. Plugins cannot be loaded with `APP_CONF_OVERRIDE`, you need to use this variable instead and then specify the plugins settings with `APP_CONF_OVERRIDE`. | `["PIHOLE","ASUSWRT"]` | +|`LOADED_PLUGINS` | Default [plugins](https://docs.netalertx.com/PLUGINS_OVERVIEW) to load. Plugins cannot be loaded with `APP_CONF_OVERRIDE`, you need to use this variable instead and then specify the plugins settings with `APP_CONF_OVERRIDE`. | `["PIHOLE","ASUSWRT"]` | |`APP_CONF_OVERRIDE` | JSON override for settings (except `LOADED_PLUGINS`). | `{"SCAN_SUBNETS":"['192.168.1.0/24 --interface=eth1']","GRAPHQL_PORT":"20212"}` | |`ALWAYS_FRESH_INSTALL` | ⚠ If `true` will delete the content of the `/db` & `/config` folders. For testing purposes. Can be coupled with [watchtower](https://github.com/containrrr/watchtower) to have an always freshly installed `netalertx`/`netalertx-dev` image. | `true` | @@ -74,7 +74,7 @@ See alternative [docker-compose examples](https://docs.netalertx.com/DOCKER_COMP | ✅ | `/etc/localtime:/etc/localtime:ro` | Ensuring the timezone is the same as on the server. | | | `:/tmp/log` | Logs folder useful for debugging if you have issues setting up the container | | | `:/tmp/api` | The [API endpoint](https://docs.netalertx.com/API) containing static (but regularly updated) json and other files. Path configurable via `NETALERTX_API` environment variable. | -| | `:/app/server/plugins//ignore_plugin` | Map a file `ignore_plugin` to ignore a plugin. Plugins can be soft-disabled via settings. More in the [Plugin docs](https://docs.netalertx.com/PLUGINS). | +| | `:/app/server/plugins//ignore_plugin` | Map a file `ignore_plugin` to ignore a plugin. Plugins can be soft-disabled via settings. More in the [Plugin docs](https://docs.netalertx.com/PLUGINS_OVERVIEW). | | | `:/etc/resolv.conf` | Use a custom `resolv.conf` file for [better name resolution](https://docs.netalertx.com/REVERSE_DNS). | ### Folder structure diff --git a/docs/FIX_OFFLINE_DETECTION.md b/docs/FIX_OFFLINE_DETECTION.md index cecdead06..c785d8f98 100755 --- a/docs/FIX_OFFLINE_DETECTION.md +++ b/docs/FIX_OFFLINE_DETECTION.md @@ -55,7 +55,7 @@ A combined approach greatly improves detection robustness: * `ICMP` (ping) * `NMAPDEV` (nmap) -This hybrid strategy increases reliability, especially for down detection and alerting. See [other plugins](./PLUGINS.md) that might be compatible with your setup. See benefits and drawbacks of individual scan methods in their respective docs. +This hybrid strategy increases reliability, especially for down detection and alerting. See [other plugins](./PLUGINS_OVERVIEW.md) that might be compatible with your setup. See benefits and drawbacks of individual scan methods in their respective docs. ## Results diff --git a/docs/NAME_RESOLUTION.md b/docs/NAME_RESOLUTION.md index a726c68e8..79ed85638 100755 --- a/docs/NAME_RESOLUTION.md +++ b/docs/NAME_RESOLUTION.md @@ -19,7 +19,7 @@ For best results, ensure the following name resolution plugins are enabled: You can check which plugins are active in your _Settings_ section and enable any that are missing. -There are other plugins that can supply device names as well, but they rely on bespoke hardware and services. See [Plugins overview](./PLUGINS.md) for details and look for plugins with name discovery (🆎) features. +There are other plugins that can supply device names as well, but they rely on bespoke hardware and services. See [Plugins overview](./PLUGINS_OVERVIEW.md) for details and look for plugins with name discovery (🆎) features. ## Checking Logs diff --git a/docs/PERFORMANCE.md b/docs/PERFORMANCE.md index 1d510f7ca..adb192c3c 100755 --- a/docs/PERFORMANCE.md +++ b/docs/PERFORMANCE.md @@ -147,7 +147,7 @@ To improve performance, you can reduce or disable change log tracking. Use the ` On devices with slower I/O, you can improve performance by storing temporary files (and optionally the database) in memory using `tmpfs`. > [!WARNING] -> Storing the **database** in `tmpfs` is generally discouraged. Use this only if device data and historical records are not required to persist. If needed, you can pair this setup with the `SYNC` plugin to store important persistent data on another node. See the [Plugins docs](./PLUGINS.md) for details. +> Storing the **database** in `tmpfs` is generally discouraged. Use this only if device data and historical records are not required to persist. If needed, you can pair this setup with the `SYNC` plugin to store important persistent data on another node. See the [Plugins docs](./PLUGINS_OVERVIEW.md) for details. Using `tmpfs` reduces disk writes and speeds up I/O, but **all data stored in memory will be lost on restart**. diff --git a/docs/PIHOLE_GUIDE.md b/docs/PIHOLE_GUIDE.md index 7a7e30d6b..b7a487f27 100755 --- a/docs/PIHOLE_GUIDE.md +++ b/docs/PIHOLE_GUIDE.md @@ -1,6 +1,6 @@ # Integration with Pi-hole -NetAlertX includes four plugins for integrating with an existing Pi-hole installation. The first plugin imports devices through the Pi-hole v6 API, the second parses the `dhcp.leases` file generated by Pi-hole, the third reads the Pi-hole SQLite database directly, and the fourth flags devices with a blocked-query spike (a common malware/compromised-device signature) and, alongside that, imports devices from one or two Pi-hole v6 instances at once. You can use any of these approaches individually or combine them with each other and other [plugins](/docs/PLUGINS.md). +NetAlertX includes four plugins for integrating with an existing Pi-hole installation. The first plugin imports devices through the Pi-hole v6 API, the second parses the `dhcp.leases` file generated by Pi-hole, the third reads the Pi-hole SQLite database directly, and the fourth flags devices with a blocked-query spike (a common malware/compromised-device signature) and, alongside that, imports devices from one or two Pi-hole v6 instances at once. You can use any of these approaches individually or combine them with each other and other [plugins](/docs/PLUGINS_OVERVIEW.md). ## Approach 1: `PIHOLEAPI` Plugin - Import devices directly from the Pi-hole v6 API @@ -93,4 +93,4 @@ No changes are required - this plugin only talks to Pi-hole's API, the same as ` --- -Explore other [plugins](/docs/PLUGINS.md) to discover additional information about your network, or learn how to scan [remote networks](./REMOTE_NETWORKS.md). +Explore other [plugins](/docs/PLUGINS_OVERVIEW.md) to discover additional information about your network, or learn how to scan [remote networks](./REMOTE_NETWORKS.md). diff --git a/docs/PLUGINS.md b/docs/PLUGINS_OVERVIEW.md old mode 100755 new mode 100644 similarity index 98% rename from docs/PLUGINS.md rename to docs/PLUGINS_OVERVIEW.md index 90bd45c9f..7afcd1b82 --- a/docs/PLUGINS.md +++ b/docs/PLUGINS_OVERVIEW.md @@ -12,7 +12,7 @@ NetAlertX supports additional plugins to extend its functionality, each with its > ![Loaded plugins settings](./img/PLUGINS/enable_plugin.gif) 1. Pick your `🔍 dev scanner` plugin (e.g. `ARPSCAN` or `NMAPDEV`), or import devices into the application with an `📥 importer` plugin. (See **Enabling plugins** below) -2. Pick a `▶️ publisher` plugin, if you want to send notifications. If you don't see a publisher you'd like to use, look at the [📚_publisher_apprise](https://docs.netalertx.com/PLUGINS/?h=APPRISE#available-plugins) plugin which is a proxy for over 80 notification services. +2. Pick a `▶️ publisher` plugin, if you want to send notifications. If you don't see a publisher you'd like to use, look at the [📚_publisher_apprise](https://docs.netalertx.com/PLUGINS_OVERVIEW/?h=APPRISE#available-plugins) plugin which is a proxy for over 80 notification services. 3. Setup your [Network topology diagram](./NETWORK_TREE.md) 4. Fine-tune [Notifications](./NOTIFICATIONS.md) 5. Setup [Workflows](./WORKFLOWS.md) @@ -43,7 +43,7 @@ NetAlertX supports additional plugins to extend its functionality, each with its Device-detecting plugins insert values into the `CurrentScan` database table. The plugins that are not required are safe to ignore, however, it makes sense to have at least some device-detecting plugins enabled, such as `ARPSCAN` or `NMAPDEV`. -The **Plugin docs** links below open each plugin's README rendered as part of this site (see the [Plugins reference](./plugins/) section) - generated automatically from `server/plugins//README.md`. +The **Plugin docs** links below open each plugin's README rendered as part of this site (see the [Plugins reference](./plugins/index.md) section) - generated automatically from `server/plugins//README.md`. | ID | Plugin docs | Type | Description | Features | Required | | --------------- | ------------------------------------------------------------------------------------------------------------------ | -------- | ----------------------------------------- | -------- | -------- | diff --git a/docs/README.md b/docs/README.md index f87abad31..6f9926f40 100755 --- a/docs/README.md +++ b/docs/README.md @@ -36,7 +36,7 @@ There is also an in-app Help / FAQ section that should be answering frequently a - [Better name resolution with Reverse DNS](./REVERSE_DNS.md) - [Network treemap configuration](./NETWORK_TREE.md) - [Backups](./BACKUPS.md) -- [Plugins overview](/docs/PLUGINS.md) +- [Plugins overview](/docs/PLUGINS_OVERVIEW.md) #### 🐛 Debugging help & tips diff --git a/docs/REMOTE_NETWORKS.md b/docs/REMOTE_NETWORKS.md index 523d594ec..70877fe24 100755 --- a/docs/REMOTE_NETWORKS.md +++ b/docs/REMOTE_NETWORKS.md @@ -54,7 +54,7 @@ The following workarounds should work for most complex network setups. ### Workaround: Supplementing Plugins -Using supplementing plugins that employ alternate discovery methods is one of the easiest ways to extend your scan coverage. Protocols used by the `SNMPDSC` or `DHCPLSS` plugins are widely supported on different routers and can be effective as workarounds. Check the [plugins list](./PLUGINS.md) to find a plugin that works with your router and network setup. +Using supplementing plugins that employ alternate discovery methods is one of the easiest ways to extend your scan coverage. Protocols used by the `SNMPDSC` or `DHCPLSS` plugins are widely supported on different routers and can be effective as workarounds. Check the [plugins list](./PLUGINS_OVERVIEW.md) to find a plugin that works with your router and network setup. ### Workaround: Multiple NetAlertX Instances if you have servers in all networks diff --git a/docs/SETTINGS_SYSTEM.md b/docs/SETTINGS_SYSTEM.md index 0991da46d..5cda0580b 100755 --- a/docs/SETTINGS_SYSTEM.md +++ b/docs/SETTINGS_SYSTEM.md @@ -32,7 +32,7 @@ The App generates two `app.conf` entries for every setting (Since version 23.8+) > [!NOTE] > This is the preferred way adding settings going forward. I'll be likely migrating all app settings into plugin-based settings. -Plugin settings are loaded dynamically from the `config.json` of individual plugins. If a setting isn't defined in the `app.conf` file, it is initialized via the `default_value` property of a setting from the `config.json` file. Check the [Plugins documentation](https://docs.netalertx.com/PLUGINS#-setting-object-structure), section `⚙ Setting object structure` for details on the structure of the setting. +Plugin settings are loaded dynamically from the `config.json` of individual plugins. If a setting isn't defined in the `app.conf` file, it is initialized via the `default_value` property of a setting from the `config.json` file. Check the [Plugins documentation](https://docs.netalertx.com/PLUGINS_OVERVIEW#-setting-object-structure), section `⚙ Setting object structure` for details on the structure of the setting. ![Screen 1][screen1] diff --git a/docs/SYNOLOGY_GUIDE.md b/docs/SYNOLOGY_GUIDE.md index c87cd2a71..136d5bb90 100755 --- a/docs/SYNOLOGY_GUIDE.md +++ b/docs/SYNOLOGY_GUIDE.md @@ -80,7 +80,7 @@ volumes: ![Build](./img/SYNOLOGY/09_Run_and_build.png) 10. Navigate to `:20211` (or your custom port). -11. Read the [Subnets](./SUBNETS.md) and [Plugins](/docs/PLUGINS.md) docs to complete your setup. +11. Read the [Subnets](./SUBNETS.md) and [Plugins](/docs/PLUGINS_OVERVIEW.md) docs to complete your setup. ## Solving permission issues diff --git a/docs/WEBHOOK_N8N.md b/docs/WEBHOOK_N8N.md index b337abe27..dfe83e48b 100755 --- a/docs/WEBHOOK_N8N.md +++ b/docs/WEBHOOK_N8N.md @@ -1,7 +1,7 @@ ### Create a simple n8n workflow > [!NOTE] -> You need to enable the `WEBHOOK` plugin first in order to follow this guide. See the [Plugins guide](./PLUGINS.md) for details. +> You need to enable the `WEBHOOK` plugin first in order to follow this guide. See the [Plugins guide](./PLUGINS_OVERVIEW.md) for details. N8N can be used for more advanced conditional notification use cases. For example, you want only to get notified if two out of a specified list of devices is down. Or you can use other plugins to process the notifiations further. The below is a simple example of sending an email on a webhook. diff --git a/docs/WEBHOOK_SECRET.md b/docs/WEBHOOK_SECRET.md index 65e269af2..6edccb681 100755 --- a/docs/WEBHOOK_SECRET.md +++ b/docs/WEBHOOK_SECRET.md @@ -5,7 +5,7 @@ > [!NOTE] -> You need to enable the `WEBHOOK` plugin first in order to follow this guide. See the [Plugins guide](./PLUGINS.md) for details. +> You need to enable the `WEBHOOK` plugin first in order to follow this guide. See the [Plugins guide](./PLUGINS_OVERVIEW.md) for details. ## How does the signing work? diff --git a/docs/WHERE_NETALERTX_FITS.md b/docs/WHERE_NETALERTX_FITS.md index 5f3dd7150..70cee8844 100644 --- a/docs/WHERE_NETALERTX_FITS.md +++ b/docs/WHERE_NETALERTX_FITS.md @@ -31,7 +31,7 @@ Depending on your configuration, it can collect information including: Because discovery runs continuously, your inventory stays up to date automatically. -Learn more about the available discovery methods in the [Plugins](./PLUGINS.md) documentation. +Learn more about the available discovery methods in the [Plugins](./PLUGINS_OVERVIEW.md) documentation. --- @@ -48,7 +48,7 @@ NetAlertX continuously records changes such as: * IP address changes * Hostname changes * Vendor identification -* Open port changes (via the `NMAP` [plugin](./PLUGINS.md)) +* Open port changes (via the `NMAP` [plugin](./PLUGINS_OVERVIEW.md)) * Devices returning after long periods offline * Configuration updates @@ -182,7 +182,7 @@ Others rely on: NetAlertX is built around a plugin architecture that allows multiple discovery sources to work together, improving accuracy while remaining flexible. -See the complete list in [Plugins](./PLUGINS.md). +See the complete list in [Plugins](./PLUGINS_OVERVIEW.md). --- @@ -309,6 +309,6 @@ Instead, it complements these tools by providing continuous awareness of the dev Now that you understand where NetAlertX fits, continue with one of the following guides: * **[Installation](INSTALLATION.md)** — Install NetAlertX on your platform. -* **[Plugins](./PLUGINS.md)** — Configure device discovery. +* **[Plugins](./PLUGINS_OVERVIEW.md)** — Configure device discovery. * **[Features](FEATURES.md)** — Explore everything NetAlertX can do. * **[API](API.md)** — Integrate NetAlertX with your own applications. \ No newline at end of file diff --git a/docs/gen_plugin_pages.py b/docs/gen_plugin_pages.py index cde25e204..3cbb6d850 100644 --- a/docs/gen_plugin_pages.py +++ b/docs/gen_plugin_pages.py @@ -145,7 +145,7 @@ def generated_note(source_rel_to_repo): index_file.write("# Plugins reference\n\n") index_file.write( "Generated automatically from each plugin's `README.md`. " - "See [Plugins](../PLUGINS.md) for the type/feature legend.\n\n" + "See [Plugins](../PLUGINS_OVERVIEW.md) for the type/feature legend.\n\n" ) for title, doc_path in index_entries: index_file.write(f"- [{title}]({doc_path})\n") diff --git a/front/pluginsCore.php b/front/pluginsCore.php index dff24b945..ac9b57df6 100755 --- a/front/pluginsCore.php +++ b/front/pluginsCore.php @@ -11,7 +11,7 @@
- +