diff --git a/back/app.conf b/back/app.conf index b00fa6f2..b966ea84 100755 --- a/back/app.conf +++ b/back/app.conf @@ -18,7 +18,7 @@ # SCAN_SUBNETS = [ '192.168.1.0/24 --interface=eth1', '192.168.1.0/24 --interface=eth0' ] DISCOVER_PLUGINS=True -SCAN_SUBNETS=['192.168.1.0/24 --interface=eth0'] +SCAN_SUBNETS=['--localnet'] TIMEZONE='Europe/Berlin' LOADED_PLUGINS=['ARPSCAN','CSVBCKP','DBCLNP', 'DIGSCAN', 'INTRNT','MAINT','NEWDEV', 'NBTSCAN', 'NSLOOKUP','NTFPRCS', 'AVAHISCAN', 'SETPWD','SMTP', 'SYNC', 'VNDRPDT', 'WORKFLOWS', 'UI'] diff --git a/docker-compose.yml b/docker-compose.yml index 296f79cd..06e06851 100755 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -53,6 +53,7 @@ services: - ${DEV_LOCATION}/front/plugins.php:/app/front/plugins.php - ${DEV_LOCATION}/front/pluginsCore.php:/app/front/pluginsCore.php - ${DEV_LOCATION}/front/index.php:/app/front/index.php + - ${DEV_LOCATION}/front/initCheck.php:/app/front/initCheck.php - ${DEV_LOCATION}/front/maintenance.php:/app/front/maintenance.php - ${DEV_LOCATION}/front/network.php:/app/front/network.php - ${DEV_LOCATION}/front/presence.php:/app/front/presence.php diff --git a/docs/INITIAL_SETUP.md b/docs/INITIAL_SETUP.md index 8ede12eb..d5fa8afd 100755 --- a/docs/INITIAL_SETUP.md +++ b/docs/INITIAL_SETUP.md @@ -1,42 +1,99 @@ -# ⚙ Initial Setup +# ⚡ Quick Start Guide -## 📁 Configuration Files +Get **NetAlertX** up and running in a few simple steps. -- On first run, the app generates a default `app.conf` and `app.db` if unavailable. -- Preferred method: Use the **Settings UI**. -- If the UI is inaccessible, manually edit [`app.conf`](https://github.com/jokob-sk/NetAlertX/tree/main/back) in `/app/config/`. +> [!TIP] +> Enable additional plugins under **Settings → `LOADED_PLUGINS`**. +> Make sure to **save** your changes and **reload the page** to activate them. +>  --- -## 🖥️ Setting Up Scanners +### 1. Configure Scanner Plugin(s) -- Define networks to scan by entering accessible subnets. -- Default plugin: **ARPSCAN** → Requires at least one valid subnet + interface in `SCAN_SUBNETS`. -- 📖 [Subnet & VLAN setup guide](./SUBNETS.md) (for troubleshooting and advanced scenarios). +**Initial configuration**: `ARPSCAN`, `INTRNT` -### 🔄 PiHole Sync -- If using **PiHole**, devices can be synced automatically. -- 📖 [PiHole configuration guide](./PIHOLE_GUIDE.md). - -### 📦 Bulk Import -> [!NOTE] -> You can bulk-import devices via the [CSV import method](./DEVICES_BULK_EDITING.md). +> [!NOTE] +> `ARPSCAN` and `INTRNT` scan the current network. You can complement them with other `🔍 dev scanner` plugins like `NMAPDEV`, or import devices using `📥 importer` plugins. +> See the [Subnet & VLAN Setup Guide](./SUBNETS.md) and [Remote Networks](./REMOTE_NETWORKS.md) for advanced configurations. --- -## 🌍 Community Guides +### 2. Choose a Publisher Plugin -- Various community-written configuration guides in **Chinese, Korean, German, French**. -- 📖 [Community Guides](./COMMUNITY_GUIDES.md) +**Initial configuration**: `SMTP` -> ⚠️ **Note:** These guides may be outdated. Always refer to the official documentation first. +> [!NOTE] +> Configure your SMTP settings or enable additional `▶️ publisher` plugins to send alerts. +> For more flexibility, try [📚 `_publisher_apprise`](/front/plugins/_publisher_apprise/), which supports over 80 notification services. --- -## 🛠️ Common Issues +### 3. Set Up a Network Topology Diagram -Before creating a new issue: +**Initial configuration**: The app auto-selects a root node (MAC `internet`) and attempts to identify other network devices by vendor or name. -- Check if a similar issue was [already resolved](https://github.com/jokob-sk/NetAlertX/issues?q=is%3Aissue+is%3Aclosed). -- Review [common debugging tips](./DEBUG_TIPS.md). -- Check [Common Issues](./COMMON_ISSUES.md) +> [!NOTE] +> Visualize and manage your network using the [Network Guide](./NETWORK_TREE.md). +> Some plugins (e.g., `UNFIMP`) build the topology automatically, or you can use [Custom Workflows](./WORKFLOWS.md) to generate it based on your own rules. + +--- + +### 4. Configure Notifications + +**Initial configuration**: Notifies on `new_devices`, `down_devices`, and `events` as defined in `NTFPRCS_INCLUDED_SECTIONS`. + +> [!NOTE] +> Notification settings support global, plugin-specific, and per-device rules. +> For fine-tuning, refer to the [Notification Guide](./NOTIFICATIONS.md). + +--- + +### 5. Set Up Workflows + +**Initial configuration**: N/A + +> [!NOTE] +> Automate responses to device status changes, group management, topology updates, and more. +> See the [Workflows Guide](./WORKFLOWS.md) to simplify your network operations. + +--- + +### 6. Backup Your Configuration + +**Initial configuration**: The `CSVBCKP` plugin creates a daily backup to `/config/devices.csv`. + +> [!NOTE] +> For a complete backup strategy, follow the [Backup Guide](./BACKUPS.md). + +--- + +### 7. (Optional) Create Custom Plugins + +**Initial configuration**: N/A + +> [!NOTE] +> Build your own scanner, importer, or publisher plugin. +> See the [Plugin Development Guide](./PLUGINS_DEV.md) and included video tutorials. + +--- + +## 📁 Recommended Guides + +* 📘 [PiHole Setup Guide](./PIHOLE_GUIDE.md) +* 📘 [CSV Import Method](./DEVICES_BULK_EDITING.md) +* 📘 [Community Guides (Chinese, Korean, German, French)](./COMMUNITY_GUIDES.md) + +--- + +## 🛠️ Troubleshooting & Help + +Before opening a new issue: + +* 📘 [Common Issues](./COMMON_ISSUES.md) +* 🧰 [Debugging Tips](./DEBUG_TIPS.md) +* ✅ [Browse resolved GitHub issues](https://github.com/jokob-sk/NetAlertX/issues?q=is%3Aissue+is%3Aclosed) + +--- + +Let me know if you want a condensed README version, separate pages for each section, or UI copy based on this! diff --git a/docs/NAME_RESOLUTION.md b/docs/NAME_RESOLUTION.md index 0f788703..a726c68e 100755 --- a/docs/NAME_RESOLUTION.md +++ b/docs/NAME_RESOLUTION.md @@ -2,6 +2,12 @@ Name resolution in NetAlertX relies on multiple plugins to resolve device names from IP addresses. If you are seeing `(name not found)` as device names, follow these steps to diagnose and fix the issue. +> [!TIP] +> Before proceeding, make sure [Reverse DNS](./REVERSE_DNS.md) is enabled on your network. +> You can control how names are handled and cleaned using the `NEWDEV_NAME_CLEANUP_REGEX` setting. +> To auto-update Fully Qualified Domain Names (FQDN), enable the `REFRESH_FQDN` setting. + + ## Required Plugins For best results, ensure the following name resolution plugins are enabled: diff --git a/docs/REVERSE_DNS.md b/docs/REVERSE_DNS.md index 4f0f1fc5..1f4b3db3 100755 --- a/docs/REVERSE_DNS.md +++ b/docs/REVERSE_DNS.md @@ -2,6 +2,11 @@ If you are running a DNS server, such as **AdGuard**, set up **Private reverse DNS servers** for a better name resolution on your network. Enabling this setting will enable NetAlertX to execute dig and nslookup commands to automatically resolve device names based on their IP addresses. +> [!TIP] +> Before proceeding, ensure that [name resolution plugins](./NAME_RESOLUTION.md) are enabled. +> You can customize how names are cleaned using the `NEWDEV_NAME_CLEANUP_REGEX` setting. +> To auto-update Fully Qualified Domain Names (FQDN), enable the `REFRESH_FQDN` setting. + > Example 1: Reverse DNS `disabled` > diff --git a/front/css/app.css b/front/css/app.css index 202bab03..3b90b3ee 100755 --- a/front/css/app.css +++ b/front/css/app.css @@ -695,6 +695,39 @@ body /* maintenance buttons */ +#file-check-list{ + display: block; +} + +.file-checking .icon-wrap{ + width: 200px; + overflow: hidden; + text-overflow: ellipsis; + display: block; +} + +.file-checking .icon-wrap i{ + position: absolute; + font-size: xx-large; + right: 0; + top: 0; + opacity: 0.2; +} + +.file-checking .file-name-wrap{ + overflow: hidden; + text-overflow: ellipsis; + display: flex; + padding: 5px; +} + +.file-checking{ + display: block; + overflow: hidden; + text-overflow: ellipsis; +} + + .dbtools-button { display: inline-block; width: 160px; @@ -1418,6 +1451,11 @@ input[readonly] { cursor: default; } +.small-box:hover +{ + color: inherit; +} + /* ----------------------------------------------------------------- */ /* Device details */ /* ----------------------------------------------------------------- */ diff --git a/front/devices.php b/front/devices.php index e4c917c6..16c01952 100755 --- a/front/devices.php +++ b/front/devices.php @@ -768,8 +768,8 @@ function initializeDatatable (status) { {width: '30px', targets: [mapIndx(3), mapIndx(10), mapIndx(13), mapIndx(18)] }, {orderData: [mapIndx(12)], targets: mapIndx(8) }, - // Device Name - {targets: [mapIndx(0)], + // Device Name and FQDN + {targets: [mapIndx(0), mapIndx(27)], 'createdCell': function (td, cellData, rowData, row, col) { // console.log(cellData) diff --git a/front/initCheck.php b/front/initCheck.php new file mode 100755 index 00000000..5d1c9dd9 --- /dev/null +++ b/front/initCheck.php @@ -0,0 +1,52 @@ + + +
= lang('Maintenance_InitCheck_QuickSetupGuide');?>
+