mirror of
https://github.com/jokob-sk/NetAlertX.git
synced 2025-12-07 09:36:05 -08:00
Retry support for INTRNT #667
This commit is contained in:
@@ -1,51 +1,74 @@
|
||||
# 📚 Docs for individual plugins
|
||||
# 🔌 Plugins
|
||||
|
||||
>[!NOTE]
|
||||
> Please check this [Plugins debugging guide](https://github.com/jokob-sk/NetAlertX/blob/main/docs/DEBUG_PLUGINS.md) and the corresponding Plugin documentation in the below table if you are facing issues.
|
||||
|
||||
## 🔌 Plugins & 📚 Docs
|
||||
|
||||
| Required | CurrentScan | Unique Prefix | Data source | Type | Link + Docs |
|
||||
|----------|-------------|---------------|--------------------|----------------|---------------------------------------------------------------------|
|
||||
| | | APPRISE | Script | 💬 publisher | 📚[_publisher_apprise](/front/plugins/_publisher_apprise/) |
|
||||
| | Yes | ARPSCAN | Script | 🔍dev scanner | 📚[arp_scan](/front/plugins/arp_scan/) |
|
||||
| | | CSVBCKP | Script | ⚙ system | 📚[csv_backup](/front/plugins/csv_backup/) |
|
||||
| Yes* | | DBCLNP | Script | ⚙ system | 📚[db_cleanup](/front/plugins/db_cleanup/) |
|
||||
| | | DDNS | Script | ⚙ system | 📚[ddns_update](/front/plugins/ddns_update/) |
|
||||
| | Yes | DHCPLSS | Script | 🔍dev scanner | 📚[dhcp_leases](/front/plugins/dhcp_leases/) |
|
||||
| | | DHCPSRVS | Script | ♻ other | 📚[dhcp_servers](/front/plugins/dhcp_servers/) |
|
||||
| | Yes | INTRNT | Script | 🔍dev scanner | 📚[internet_ip](/front/plugins/internet_ip/) |
|
||||
| | | INTRSPD | Script | ♻ other | 📚[internet_speedtest](/front/plugins/internet_speedtest/) |
|
||||
| | | MAINT | Script | ⚙ system | 📚[maintenance](/front/plugins/maintenance/) |
|
||||
| | | MQTT | Script | 💬 publisher | 📚[_publisher_mqtt](/front/plugins/_publisher_mqtt/) |
|
||||
| Yes | | NEWDEV | Template | ⚙ system | 📚[newdev_template](/front/plugins/newdev_template/) |
|
||||
| | | NMAP | Script | ♻ other | 📚[nmap_scan](/front/plugins/nmap_scan/) |
|
||||
| | Yes | NMAPDEV | Script | 🔍dev scanner | 📚[nmap_dev_scan](/front/plugins/nmap_dev_scan/) |
|
||||
| | | NSLOOKUP | Script | ♻ other | 📚[nslookup_scan](/front/plugins/nslookup_scan/) |
|
||||
| Yes | | NTFPRCS | Template | ⚙ system | 📚[notification_processing](/front/plugins/notification_processing/)|
|
||||
| | | NTFY | Script | 💬 publisher | 📚[_publisher_ntfy](/front/plugins/_publisher_ntfy/) |
|
||||
| | | PHOLUS | Script | ♻ other | 📚[pholus_scan](/front/plugins/pholus_scan/) |
|
||||
| | Yes | PIHOLE | External SQLite DB | 🔍dev scanner | 📚[pihole_scan](/front/plugins/pihole_scan/) |
|
||||
| | | PUSHSAFER | Script | 💬 publisher | 📚[_publisher_pushsafer](/front/plugins/_publisher_pushsafer/) |
|
||||
| | | PUSHOVER | Script | 💬 publisher | 📚[_pushover_pushsafer](/front/plugins/_publisher_pushover/) |
|
||||
| Yes | | SETPWD | Template | ⚙ system | 📚[set_password](/front/plugins/set_password/) |
|
||||
| | | SMTP | Script | 💬 publisher | 📚[_publisher_email](/front/plugins/_publisher_email/) |
|
||||
| | Yes | SNMPDSC | Script | 🔍dev scanner | 📚[snmp_discovery](/front/plugins/snmp_discovery/) |
|
||||
| | Yes** | UNDIS | Script | ♻ other | 📚[undiscoverables](/front/plugins/undiscoverables/) |
|
||||
| | Yes | UNFIMP | Script | 🔍dev scanner | 📚[unifi_import](/front/plugins/unifi_import/) |
|
||||
| | | VNDRPDT | Script | ⚙ system | 📚[vendor_update](/front/plugins/vendor_update/) |
|
||||
| | | WEBHOOK | Script | 💬 publisher | 📚[_publisher_webhook](/front/plugins/_publisher_webhook/) |
|
||||
| | | WEBMON | Script | ♻ other | 📚[website_monitor](/front/plugins/website_monitor/) |
|
||||
| N/A | | N/A | SQL query | | N/A, but the External SQLite DB plugins work similarly |
|
||||
## Plugin types
|
||||
|
||||
If you want to discover or import devices into the application enable some of the `🔍 dev scanner` plugins. The next step is to pick a notification plugin, or `💬 publisher` plugin, to get notified about network changes. If you don't see a publisher you'd like to use, look at the [📚_publisher_apprise](/front/plugins/_publisher_apprise/) plugin which is a proxy for over 80 notification services.
|
||||
|
||||
### Enabling plugins
|
||||
|
||||
Plugins can be enabled via Settings, and can be disabled as needed.
|
||||
|
||||
1. Research which plugin you'd like to use below and then load the required plugins in Settings via the `LOADED_PLUGINS` setting.
|
||||
1. Save the changes and review the Settings of the newly loaded plugins.
|
||||
1. Change the `<prefix>_RUN` Setting to the recommended or custom value as per the documentation of the given setting
|
||||
- If using `schedule` on a `🔍 dev scanner` plugin, make sure the schedules are the same across all `🔍 dev scanner` plugins
|
||||
|
||||
### Disabling, Unloading and Ignoring plugins
|
||||
|
||||
1. Change the `<prefix>_RUN` Setting to `disabled` if you want to disable the plugin, but keep the settings
|
||||
1. If you want to speed up the application, you can unload the plugin by unselecting it in the `LOADED_PLUGINS` setting.
|
||||
- Careful, once you save the Settings Unloaded plugin settings will be lost (old `app.conf` files are kept in the `/config` folder)
|
||||
1. You can completely ignore plugins by placing a `ignore_plugin` file into the plugin directory. Ignored plugins won't show up in the `LOADED_PLUGINS` setting.
|
||||
|
||||
|
||||
## Available Plugins
|
||||
|
||||
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 a least some device-detecting plugins enabled, such as `ARPSCAN` or `NMAPDEV`.
|
||||
|
||||
| ID | Type | Description | Required | Data source | Detailed docs |
|
||||
|---------------|----------------|------------------------------|----------|--------------------|---------------------------------------------------------------------|
|
||||
| `APPRISE` | 💬 publisher | Apprise publisher plugin | | Script | [📚_publisher_apprise](/front/plugins/_publisher_apprise/) |
|
||||
| `ARPSCAN` | 🔍 dev scanner | ARP scan plugin | | Script | [📚arp_scan](/front/plugins/arp_scan/) |
|
||||
| `CSVBCKP` | ⚙ system | CSV backup plugin | | Script | [📚csv_backup](/front/plugins/csv_backup/) |
|
||||
| `DBCLNP` | ⚙ system | Database cleanup plugin | Yes* | Script | [📚db_cleanup](/front/plugins/db_cleanup/) |
|
||||
| `DDNS` | ⚙ system | DDNS update plugin | | Script | [📚ddns_update](/front/plugins/ddns_update/) |
|
||||
| `DHCPLSS` | 🔍 dev scanner | DHCP leases plugin | | Script | [📚dhcp_leases](/front/plugins/dhcp_leases/) |
|
||||
| `DHCPSRVS` | ♻ other | DHCP servers plugin | | Script | [📚dhcp_servers](/front/plugins/dhcp_servers/) |
|
||||
| `INTRNT` | 🔍 dev scanner | Internet IP scanner | | Script | [📚internet_ip](/front/plugins/internet_ip/) |
|
||||
| `INTRSPD` | ♻ other | Internet speed test plugin | | Script | [📚internet_speedtest](/front/plugins/internet_speedtest/) |
|
||||
| `MAINT` | ⚙ system | Maintenance plugin | | Script | [📚maintenance](/front/plugins/maintenance/) |
|
||||
| `MQTT` | 💬 publisher | MQTT publisher plugin | | Script | [📚_publisher_mqtt](/front/plugins/_publisher_mqtt/) |
|
||||
| `NEWDEV` | ⚙ system | New device template | Yes | Template | [📚newdev_template](/front/plugins/newdev_template/) |
|
||||
| `NMAP` | ♻ other | Nmap scan plugin | | Script | [📚nmap_scan](/front/plugins/nmap_scan/) |
|
||||
| `NMAPDEV` | 🔍 dev scanner | Nmap device scan plugin | | Script | [📚nmap_dev_scan](/front/plugins/nmap_dev_scan/) |
|
||||
| `NSLOOKUP` | ♻ other | NSLookup scan plugin | | Script | [📚nslookup_scan](/front/plugins/nslookup_scan/) |
|
||||
| `NTFPRCS` | ⚙ system | Notification processing | Yes | Template | [📚notification_processing](/front/plugins/notification_processing/)|
|
||||
| `NTFY` | 💬 publisher | NTFY publisher plugin | | Script | [📚_publisher_ntfy](/front/plugins/_publisher_ntfy/) |
|
||||
| `PHOLUS` | ♻ other | Pholus scan plugin | | Script | [📚pholus_scan](/front/plugins/pholus_scan/) |
|
||||
| `PIHOLE` | 🔍 dev scanner | Pi-hole scan plugin | | SQLite DB | [📚pihole_scan](/front/plugins/pihole_scan/) |
|
||||
| `PUSHSAFER` | 💬 publisher | Pushsafer publisher plugin | | Script | [📚_publisher_pushsafer](/front/plugins/_publisher_pushsafer/) |
|
||||
| `PUSHOVER` | 💬 publisher | Pushover publisher plugin | | Script | [📚_publisher_pushover](/front/plugins/_publisher_pushover/) |
|
||||
| `SETPWD` | ⚙ system | Set password template | Yes | Template | [📚set_password](/front/plugins/set_password/) |
|
||||
| `SMTP` | 💬 publisher | Email publisher plugin | | Script | [📚_publisher_email](/front/plugins/_publisher_email/) |
|
||||
| `SNMPDSC` | 🔍 dev scanner | SNMP discovery plugin | | Script | [📚snmp_discovery](/front/plugins/snmp_discovery/) |
|
||||
| `UNDIS` | ♻ other | Undiscoverables scan plugin | | Script | [📚undiscoverables](/front/plugins/undiscoverables/) |
|
||||
| `UNFIMP` | 🔍 dev scanner | UniFi import plugin | | Script | [📚unifi_import](/front/plugins/unifi_import/) |
|
||||
| `VNDRPDT` | ⚙ system | Vendor update plugin | | Script | [📚vendor_update](/front/plugins/vendor_update/) |
|
||||
| `WEBHOOK` | 💬 publisher | Webhook publisher plugin | | Script | [📚_publisher_webhook](/front/plugins/_publisher_webhook/) |
|
||||
| `WEBMON` | ♻ other | Website monitor plugin | | Script | [📚website_monitor](/front/plugins/website_monitor/) |
|
||||
|
||||
|
||||
|
||||
> \* The database cleanup plugin (`DBCLNP`) is not _required_ but the app will become unusable after a while if not executed.
|
||||
>
|
||||
> \** The Undiscoverables plugin (`UNDIS`) inserts only user-specified dummy devices.
|
||||
|
||||
> [!NOTE]
|
||||
> You soft-disable plugins via Settings or completely ignore plugins by placing a `ignore_plugin` file into the plugin directory. The difference is that ignored plugins don't show up anywhere in the UI (Settings, Device details, Plugins pages). The app skips ignored plugins completely. 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 a least some device-detecting plugins (that insert entries into the `CurrentScan` table) enabled, such as `ARPSCAN` or `PIHOLE`. You can also load/unload Plugins with the `LOADED_PLUGINS` setting.
|
||||
|
||||
> It's recommended to use the same schedule interval for all plugins responsible for discovering new devices.
|
||||
|
||||
## Developing custom plugins
|
||||
|
||||
If you want to develop a custom plugin, please read this [Plugin development guide](/docs/PLUGINS_DEV.md).
|
||||
Reference in New Issue
Block a user