DOCS: cleanup

Signed-off-by: jokob-sk <jokob.sk@gmail.com>
This commit is contained in:
jokob-sk
2026-01-15 11:00:28 +11:00
parent 9cff96ed62
commit f2d5e3254f
4 changed files with 12 additions and 34 deletions

View File

@@ -12,7 +12,6 @@ Data sources determine **where the plugin gets its data** and **what format it r
| `app-db-query` | Database Query | Query the NetAlertX database | Result set | Show devices, open ports, recent events |
| `sqlite-db-query` | External DB | Query external SQLite databases | Result set | PiHole database, external logs |
| `template` | Template | Generate values from templates | Values | Initialize default settings |
| `plugin_type` | Metadata | Declare plugin category | Metadata | Classify plugin (scanner, publisher, etc.) |
## Data Source: `script`
@@ -24,7 +23,7 @@ Execute any Linux command or Python script and capture its output.
{
"data_source": "script",
"show_ui": true,
"mapped_to_table": "Plugins_Objects"
"mapped_to_table": "CurrentScan"
}
```
@@ -63,7 +62,7 @@ Execute any Linux command or Python script and capture its output.
- **Always use absolute paths** (e.g., `/app/front/plugins/...`)
- **Use `plugin_helper.py`** for output formatting
- **Add timeouts** via `RUN_TIMEOUT` setting (default: 60s)
- **Log errors** to `/tmp/log/plugins/*.log`
- **Log errors** to `/tmp/log/plugins/<PREFIX>.log`
- **Handle missing dependencies gracefully**
### Output Format
@@ -86,7 +85,7 @@ Query the NetAlertX SQLite database and display results.
{
"data_source": "app-db-query",
"show_ui": true,
"mapped_to_table": "Plugins_Objects"
"mapped_to_table": "CurrentScan"
}
```
@@ -138,33 +137,7 @@ ORDER BY
e.EventDateTime DESC
```
### Common Columns
**Devices Table:**
- `devMac` - Device MAC address
- `devName` - Device name
- `devLastIP` - Last known IP
- `devType` - Device type
- `devStatus` - Online/offline status
- `devVendor` - Hardware vendor
**CurrentScan Table:**
- `cur_MAC` - MAC address
- `cur_IP` - IP address
- `cur_ScanMethod` - How it was discovered
**Nmap_Scan Table:**
- `MAC` - Device MAC
- `Port` - Port number
- `Service` - Service name
- `State` - open/closed/filtered
- `Extra` - Additional notes
**Events Table:**
- `EventType` - Event type
- `EventValue` - Event value
- `EventDateTime` - When it occurred
- `DeviceMac` - Associated device
See the [Database documentation](./DATABASE.md) for a list of common columns.
---

View File

@@ -57,11 +57,13 @@ Plugins communicate with NetAlertX by writing results to a **pipe-delimited log
Watched values are fields that the NetAlertX core monitors for **changes between scans**. When a watched value differs from the previous scan, it can trigger notifications.
**How to use them:**
- `Watched_Value1`: Always required; primary indicator of status/state
- `Watched_Value24`: Optional; use for secondary/tertiary state information
- Leave unused ones as `null`
**Example:**
- Device scanner: `Watched_Value1 = "online"` or `"offline"`
- Port scanner: `Watched_Value1 = "80"` (port number), `Watched_Value2 = "open"` (state)
- Service monitor: `Watched_Value1 = "200"` (HTTP status), `Watched_Value2 = "0.45"` (response time)
@@ -77,6 +79,7 @@ device_name|192.168.1.100|2023-01-02 15:56:30|online|null|null|null|Found on net
```
This allows NetAlertX to:
- Display the object on the device details page
- Send notifications when the parent device is involved
- Link events across plugins
@@ -163,6 +166,7 @@ plugin_objects.write_result_file()
```
The library automatically:
- Validates data types
- Sanitizes string values
- Normalizes MAC addresses

View File

@@ -8,6 +8,7 @@ Learn how to let users configure your plugin via the NetAlertX UI Settings page.
## Overview
Plugin settings allow users to configure:
- **Execution schedule** (when the plugin runs)
- **Runtime parameters** (API keys, URLs, thresholds)
- **Behavior options** (which features to enable/disable)
@@ -59,17 +60,17 @@ Each setting is a JSON object with required and optional properties:
| `default_value` | varies | Initial value shown in UI | `"https://example.com"` |
| `localized` | array | Which properties have translations | `["name", "description"]` |
| `name` | array | Display name in Settings UI (localized) | See [Localized Strings](#localized-strings) |
| `description` | array | Help text in Settings UI (localized) | See [Localized Strings](#localized-strings) |
## Optional Properties
| Property | Type | Description | Example |
|----------|------|-------------|---------|
| `description` | array | Help text in Settings UI (localized) | See [Localized Strings](#localized-strings) |
| `options` | array | Valid values for select/checkbox controls | `["option1", "option2"]` |
| `events` | string | Trigger action button: `"test"` or `"run"` | `"test"` for notifications |
| `maxLength` | number | Character limit for input fields | `100` |
| `readonly` | boolean | Make field read-only | `true` |
| `override_value` | object | Template-based value override (advanced) | See [Templates](#templates) |
| `override_value` | object | Template-based value override (WIP) | Work in Progress |
## Reserved Function Names

View File

@@ -471,7 +471,7 @@ $settingsJSON_DB = json_encode($settings, JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX
<div class="table_cell input-group setting_input ${overriddenByEnv ? "setting_overriden_by_env" : ""} input-group col-xs-12 col-sm-6">
`;
// OVERRIDE
// OVERRIDE (NOT YET IMPLEMENTED)
// surface settings override functionality if the setting is a template that can be overridden with user defined values
// if the setting is a json of the correct structure, handle like a template setting