The integrated DHCP server in Pi-hole should work consistently — it should start at boot, assign IPs to all devices on the network, and keep running without issues. I’m using the latest version of DietPi (v8.26.1) on generic x86 device, with a fresh, clean installation of Pi-hole (non-Docker). Nothing custom, no reverse proxies, just the standard setup.
Actual Behaviour:
After updating to Pi-hole v6, the DHCP server has become completely unreliable. I've already done a full system reinstall (DietPi and Pi-hole from scratch), but the problem persists exactly the same.
Sometimes the DHCP server starts properly, assigns a few IP addresses, and everything looks fine… until it randomly stops. No errors in the web UI, sometimes nothing in the logs, and the service silently dies. At that point, my devices lose their leases, can't get an IP, and I’m left with no network unless I manually restart the service — which only fixes things temporarily.
This behaviour didn’t exist before v6 — the DHCP was rock solid. Right now, I can't trust it to run my network anymore unless I constantly babysit it, which defeats the purpose entirely.
I had already read your thread. Unfortunately, the latest update has caused a significant amount of disruption. The graphical interface has noticeably regressed — we went from a clean and minimal UI for assigning static IPs to the current convoluted mess.
More critically, the entire networking stack appears to be broken. At the moment, I've transitioned to a fully manual setup using isc-dhcp-server, managed via Webmin (which I had to install specifically for this purpose). While it's far from ideal — given that I don’t need the full overhead of Webmin’s feature set — it at least provides reliable control.
Frankly, I hope the developers recognize that version 6, aside from introducing a host of new and rather frustrating bugs, is objectively a step back from version 5 in terms of functionality and reliability.
Sending you a warm salute — and I strongly recommend adopting isc-dhcp-server with Webmin for DHCP management, while keeping Pi-hole strictly for DNS-level ad blocking.
*** [ DIAGNOSING ]: Core version
[✓] Version: v6.0.6
[i] Remotes: origin https://github.com/pi-hole/pi-hole.git (fetch)
origin https://github.com/pi-hole/pi-hole.git (push)
[i] Branch: master
[i] Commit: v6.0.6-0-g0f7803b
*** [ DIAGNOSING ]: Web version
[✓] Version: v6.1
[i] Remotes: origin https://github.com/pi-hole/web.git (fetch)
origin https://github.com/pi-hole/web.git (push)
[i] Branch: master
[i] Commit: v6.1-0-g1eaddca-dirty
[i] Status: M .codespellignore
M .devcontainer/Dockerfile
M .devcontainer/devcontainer.json
M .editorconfig
M .gitattributes
M .github/ISSUE_TEMPLATE.md
M .github/codeql/codeql-config.yml
M .github/dco.yml
M .github/dependabot.yml
M .github/release.yml
M .github/workflows/codeql.yml
M .github/workflows/codespell.yml
M .github/workflows/editorconfig-checker.yml
M .github/workflows/merge-conflict.yml
M .github/workflows/stale.yml
M .github/workflows/stale_pr.yml
M .github/workflows/sync-back-to-dev.yml
M .github/workflows/test.yml
M .gitignore
M CONTRIBUTING.md
M LICENSE
M README.md
M error403.lp
M error404.lp
M gravity.lp
M groups-clients.lp
M groups-domains.lp
M groups-lists.lp
M groups.lp
M img/boxed-bg-dark.png
M img/boxed-bg.png
M img/favicons/android-chrome-192x192.png
M img/favicons/android-chrome-512x512.png
M img/favicons/apple-touch-icon.png
M img/favicons/favicon-16x16.png
M img/favicons/favicon-32x32.png
M img/favicons/favicon.ico
M img/favicons/manifest.json
M img/favicons/mstile-150x150.png
M img/favicons/safari-pinned-tab.svg
M img/logo-bw.svg
M img/logo.svg
M index.lp
M interfaces.lp
M login.lp
M messages.lp
M network.lp
M package-lock.json
M package.json
M postcss.config.js
M queries.lp
M scripts/js/charts.js
M scripts/js/footer.js
M scripts/js/gravity.js
M scripts/js/groups-clients.js
M scripts/js/groups-common.js
M scripts/js/groups-domains.js
M scripts/js/groups-lists.js
M scripts/js/groups.js
M scripts/js/index.js
M scripts/js/interfaces.js
M scripts/js/ip-address-sorting.js
M scripts/js/login.js
M scripts/js/logout.js
M scripts/js/messages.js
M scripts/js/network.js
M scripts/js/queries.js
M scripts/js/search.js
M scripts/js/settings-advanced.js
M scripts/js/settings-api.js
M scripts/js/settings-dhcp.js
M scripts/js/settings-dns-records.js
M scripts/js/settings-dns.js
M scripts/js/settings-privacy.js
M scripts/js/settings-system.js
M scripts/js/settings-teleporter.js
M scripts/js/settings.js
M scripts/js/taillog.js
M scripts/js/utils.js
M scripts/lua/footer.lp
M scripts/lua/header.lp
M scripts/lua/header_authenticated.lp
M scripts/lua/settings_header.lp
M scripts/lua/sidebar.lp
M search.lp
M settings-all.lp
M settings-api.lp
M settings-dhcp.lp
M settings-dns.lp
M settings-dnsrecords.lp
M settings-privacy.lp
M settings-system.lp
M settings-teleporter.lp
M style/pi-hole.css
M style/themes/default-dark.css
M style/themes/default-darker.css
M style/themes/default-light.css
M style/themes/high-contrast-dark.css
M style/themes/high-contrast.css
M style/themes/lcars.css
M taillog.lp
M vendor/LICENSE
M vendor/adminLTE/AdminLTE.min.css
M vendor/adminLTE/adminlte.min.js
M vendor/animate/animate.min.css
M vendor/bootstrap-notify/bootstrap-notify.min.js
M vendor/bootstrap-select/bootstrap-select.min.css
M vendor/bootstrap-select/bootstrap-select.min.js
M vendor/bootstrap-select/bootstrap-select.min.js.map
M vendor/bootstrap-toggle/bootstrap-toggle.min.css
M vendor/bootstrap-toggle/bootstrap-toggle.min.js
M vendor/bootstrap-toggle/bootstrap-toggle.min.js.map
M vendor/bootstrap/css/bootstrap.min.css
M vendor/bootstrap/css/bootstrap.min.css.map
M vendor/bootstrap/fonts/glyphicons-halflings-regular.eot
M vendor/bootstrap/fonts/glyphicons-halflings-regular.svg
M vendor/bootstrap/fonts/glyphicons-halflings-regular.ttf
M vendor/bootstrap/fonts/glyphicons-halflings-regular.woff
M vendor/bootstrap/fonts/glyphicons-halflings-regular.woff2
M vendor/bootstrap/js/bootstrap.min.js
M vendor/bstreeview/bstreeview.min.css
M vendor/bstreeview/bstreeview.min.js
M vendor/chartjs-adapter-moment/chartjs-adapter-moment.js
M vendor/chartjs-adapter-moment/chartjs-adapter-moment.min.js.map
M vendor/chartjs-plugin-deferred/chartjs-plugin-deferred.min.js
M vendor/chartjs-plugin-zoom/chartjs-plugin-zoom.min.js
M vendor/chartjs/chart.umd.js
M vendor/chartjs/chart.umd.js.map
M vendor/datatables-buttons/datatables.buttons.min.css
M vendor/datatables-buttons/datatables.buttons.min.js
M vendor/datatables-select/datatables.select.min.css
M vendor/datatables-select/datatables.select.min.js
M vendor/datatables/datatables.min.css
M vendor/datatables/datatables.min.js
M vendor/daterangepicker/daterangepicker.min.css
M vendor/daterangepicker/daterangepicker.min.js
M vendor/daterangepicker/daterangepicker.min.js.map
M vendor/font-awesome/css/all.min.css
M vendor/font-awesome/webfonts/fa-brands-400.ttf
M vendor/font-awesome/webfonts/fa-brands-400.woff2
M vendor/font-awesome/webfonts/fa-regular-400.ttf
M vendor/font-awesome/webfonts/fa-regular-400.woff2
M vendor/font-awesome/webfonts/fa-solid-900.ttf
M vendor/font-awesome/webfonts/fa-solid-900.woff2
M vendor/font-awesome/webfonts/fa-v4compatibility.ttf
M vendor/font-awesome/webfonts/fa-v4compatibility.woff2
M vendor/fonts/antonio/antonio-v19-latin-100.woff2
M vendor/fonts/antonio/antonio-v19-latin-700.woff2
M vendor/fonts/antonio/antonio-v19-latin-regular.woff2
M vendor/fonts/antonio/antonio.css
M vendor/fonts/source-sans-pro/source-sans-pro-v13-latin-300.woff2
M vendor/fonts/source-sans-pro/source-sans-pro-v13-latin-300italic.woff2
M vendor/fonts/source-sans-pro/source-sans-pro-v13-latin-600.woff2
M vendor/fonts/source-sans-pro/source-sans-pro-v13-latin-600italic.woff2
M vendor/fonts/source-sans-pro/source-sans-pro-v13-latin-700.woff2
M vendor/fonts/source-sans-pro/source-sans-pro-v13-latin-italic.woff2
M vendor/fonts/source-sans-pro/source-sans-pro-v13-latin-regular.woff2
M vendor/fonts/source-sans-pro/source-sans-pro.css
M vendor/fonts/ubuntu-mono/ubuntu-mono-v17-latin-700.woff2
M vendor/fonts/ubuntu-mono/ubuntu-mono-v17-latin-700italic.woff2
M vendor/fonts/ubuntu-mono/ubuntu-mono-v17-latin-italic.woff2
M vendor/fonts/ubuntu-mono/ubuntu-mono-v17-latin-regular.woff2
M vendor/fonts/ubuntu-mono/ubuntu-mono.css
M vendor/hammer/hammer.min.js
M vendor/hammer/hammer.min.js.map
M vendor/icheck/icheck-bootstrap.min.css
M vendor/icheck/icheck-material.min.css
M vendor/jquery-confirm/jquery.confirm.min.js
M vendor/jquery/jquery.min.js
M vendor/jquery/jquery.min.js.map
M vendor/js-warn/js-warn.css
M vendor/moment/moment.min.js
M vendor/moment/moment.min.js.map
M vendor/nprogress/nprogress.min.css
M vendor/nprogress/nprogress.min.js
M vendor/qrious/qrious.min.js
M vendor/qrious/qrious.min.js.map
M vendor/select2/select2.min.css
M vendor/select2/select2.min.js
M vendor/waitMe-js/modernized-waitme-min.js
M vendor/waitMe-js/waitMe.min.css
[i] Diff: diff --git a/.codespellignore b/.codespellignore
old mode 100644
new mode 100755
diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile
old mode 100644
new mode 100755
diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
old mode 100644
new mode 100755
diff --git a/.editorconfig b/.editorconfig
old mode 100644
new mode 100755
diff --git a/.gitattributes b/.gitattributes
old mode 100644
new mode 100755
diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md
old mode 100644
new mode 100755
diff --git a/.github/codeql/codeql-config.yml b/.github/codeql/codeql-config.yml
old mode 100644
new mode 100755
diff --git a/.github/dco.yml b/.github/dco.yml
old mode 100644
new mode 100755
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
old mode 100644
new mode 100755
diff --git a/.github/release.yml b/.github/release.yml
old mode 100644
new mode 100755
diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
old mode 100644
new mode 100755
diff --git a/.github/workflows/codespell.yml b/.github/workflows/codespell.yml
old mode 100644
new mode 100755
diff --git a/.github/workflows/editorconfig-checker.yml b/.github/workflows/editorconfig-checker.yml
old mode 100644
new mode 100755
diff --git a/.github/workflows/merge-conflict.yml b/.github/workflows/merge-conflict.yml
old mode 100644
new mode 100755
diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml
old mode 100644
new mode 100755
diff --git a/.github/workflows/stale_pr.yml b/.github/workflows/stale_pr.yml
old mode 100644
new mode 100755
diff --git a/.github/workflows/sync-back-to-dev.yml b/.github/workflows/sync-back-to-dev.yml
old mode 100644
new mode 100755
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
old mode 100644
new mode 100755
diff --git a/.gitignore b/.gitignore
old mode 100644
new mode 100755
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
old mode 100644
new mode 100755
diff --git a/LICENSE b/LICENSE
old mode 100644
new mode 100755
diff --git a/README.md b/README.md
old mode 100644
new mode 100755
diff --git a/error403.lp b/error403.lp
old mode 100644
new mode 100755
diff --git a/error404.lp b/error404.lp
old mode 100644
new mode 100755
diff --git a/gravity.lp b/gravity.lp
old mode 100644
new mode 100755
diff --git a/groups-clients.lp b/groups-clients.lp
old mode 100644
new mode 100755
diff --git a/groups-domains.lp b/groups-domains.lp
old mode 100644
new mode 100755
diff --git a/groups-lists.lp b/groups-lists.lp
old mode 100644
new mode 100755
diff --git a/groups.lp b/groups.lp
old mode 100644
new mode 100755
diff --git a/img/boxed-bg-dark.png b/img/boxed-bg-dark.png
old mode 100644
new mode 100755
diff --git a/img/boxed-bg.png b/img/boxed-bg.png
old mode 100644
new mode 100755
diff --git a/img/favicons/android-chrome-192x192.png b/img/favicons/android-chrome-192x192.png
old mode 100644
new mode 100755
diff --git a/img/favicons/android-chrome-512x512.png b/img/favicons/android-chrome-512x512.png
old mode 100644
new mode 100755
diff --git a/img/favicons/apple-touch-icon.png b/img/favicons/apple-touch-icon.png
old mode 100644
new mode 100755
diff --git a/img/favicons/favicon-16x16.png b/img/favicons/favicon-16x16.png
old mode 100644
new mode 100755
diff --git a/img/favicons/favicon-32x32.png b/img/favicons/favicon-32x32.png
old mode 100644
new mode 100755
diff --git a/img/favicons/favicon.ico b/img/favicons/favicon.ico
old mode 100644
new mode 100755
diff --git a/img/favicons/manifest.json b/img/favicons/manifest.json
old mode 100644
new mode 100755
diff --git a/img/favicons/mstile-150x150.png b/img/favicons/mstile-150x150.png
old mode 100644
new mode 100755
diff --git a/img/favicons/safari-pinned-tab.svg b/img/favicons/safari-pinned-tab.svg
old mode 100644
new mode 100755
diff --git a/img/logo-bw.svg b/img/logo-bw.svg
old mode 100644
new mode 100755
diff --git a/img/logo.svg b/img/logo.svg
old mode 100644
new mode 100755
diff --git a/index.lp b/index.lp
old mode 100644
new mode 100755
diff --git a/interfaces.lp b/interfaces.lp
old mode 100644
new mode 100755
diff --git a/login.lp b/login.lp
old mode 100644
new mode 100755
diff --git a/messages.lp b/messages.lp
old mode 100644
new mode 100755
diff --git a/network.lp b/network.lp
old mode 100644
new mode 100755
diff --git a/package-lock.json b/package-lock.json
old mode 100644
new mode 100755
diff --git a/package.json b/package.json
old mode 100644
new mode 100755
diff --git a/postcss.config.js b/postcss.config.js
old mode 100644
new mode 100755
diff --git a/queries.lp b/queries.lp
old mode 100644
new mode 100755
diff --git a/scripts/js/charts.js b/scripts/js/charts.js
old mode 100644
new mode 100755
diff --git a/scripts/js/footer.js b/scripts/js/footer.js
old mode 100644
new mode 100755
diff --git a/scripts/js/gravity.js b/scripts/js/gravity.js
old mode 100644
new mode 100755
diff --git a/scripts/js/groups-clients.js b/scripts/js/groups-clients.js
old mode 100644
new mode 100755
diff --git a/scripts/js/groups-common.js b/scripts/js/groups-common.js
old mode 100644
new mode 100755
diff --git a/scripts/js/groups-domains.js b/scripts/js/groups-domains.js
old mode 100644
new mode 100755
diff --git a/scripts/js/groups-lists.js b/scripts/js/groups-lists.js
old mode 100644
new mode 100755
diff --git a/scripts/js/groups.js b/scripts/js/groups.js
old mode 100644
new mode 100755
diff --git a/scripts/js/index.js b/scripts/js/index.js
old mode 100644
new mode 100755
diff --git a/scripts/js/interfaces.js b/scripts/js/interfaces.js
old mode 100644
new mode 100755
diff --git a/scripts/js/ip-address-sorting.js b/scripts/js/ip-address-sorting.js
old mode 100644
new mode 100755
diff --git a/scripts/js/login.js b/scripts/js/login.js
old mode 100644
new mode 100755
diff --git a/scripts/js/logout.js b/scripts/js/logout.js
old mode 100644
new mode 100755
diff --git a/scripts/js/messages.js b/scripts/js/messages.js
old mode 100644
new mode 100755
diff --git a/scripts/js/network.js b/scripts/js/network.js
old mode 100644
new mode 100755
diff --git a/scripts/js/queries.js b/scripts/js/queries.js
old mode 100644
new mode 100755
diff --git a/scripts/js/search.js b/scripts/js/search.js
old mode 100644
new mode 100755
diff --git a/scripts/js/settings-advanced.js b/scripts/js/settings-advanced.js
old mode 100644
new mode 100755
diff --git a/scripts/js/settings-api.js b/scripts/js/settings-api.js
old mode 100644
new mode 100755
diff --git a/scripts/js/settings-dhcp.js b/scripts/js/settings-dhcp.js
old mode 100644
new mode 100755
diff --git a/scripts/js/settings-dns-records.js b/scripts/js/settings-dns-records.js
old mode 100644
new mode 100755
diff --git a/scripts/js/settings-dns.js b/scripts/js/settings-dns.js
old mode 100644
new mode 100755
diff --git a/scripts/js/settings-privacy.js b/scripts/js/settings-privacy.js
old mode 100644
new mode 100755
diff --git a/scripts/js/settings-system.js b/scripts/js/settings-system.js
old mode 100644
new mode 100755
diff --git a/scripts/js/settings-teleporter.js b/scripts/js/settings-teleporter.js
old mode 100644
new mode 100755
diff --git a/scripts/js/settings.js b/scripts/js/settings.js
old mode 100644
new mode 100755
diff --git a/scripts/js/taillog.js b/scripts/js/taillog.js
old mode 100644
new mode 100755
diff --git a/scripts/js/utils.js b/scripts/js/utils.js
old mode 100644
new mode 100755
diff --git a/scripts/lua/footer.lp b/scripts/lua/footer.lp
old mode 100644
new mode 100755
diff --git a/scripts/lua/header.lp b/scripts/lua/header.lp
old mode 100644
new mode 100755
diff --git a/scripts/lua/header_authenticated.lp b/scripts/lua/header_authenticated.lp
old mode 100644
new mode 100755
diff --git a/scripts/lua/settings_header.lp b/scripts/lua/settings_header.lp
old mode 100644
new mode 100755
diff --git a/scripts/lua/sidebar.lp b/scripts/lua/sidebar.lp
old mode 100644
new mode 100755
diff --git a/search.lp b/search.lp
old mode 100644
new mode 100755
diff --git a/settings-all.lp b/settings-all.lp
old mode 100644
new mode 100755
diff --git a/settings-api.lp b/settings-api.lp
old mode 100644
new mode 100755
diff --git a/settings-dhcp.lp b/settings-dhcp.lp
old mode 100644
new mode 100755
diff --git a/settings-dns.lp b/settings-dns.lp
old mode 100644
new mode 100755
diff --git a/settings-dnsrecords.lp b/settings-dnsrecords.lp
old mode 100644
new mode 100755
diff --git a/settings-privacy.lp b/settings-privacy.lp
old mode 100644
new mode 100755
diff --git a/settings-system.lp b/settings-system.lp
old mode 100644
new mode 100755
diff --git a/settings-teleporter.lp b/settings-teleporter.lp
old mode 100644
new mode 100755
diff --git a/style/pi-hole.css b/style/pi-hole.css
old mode 100644
new mode 100755
diff --git a/style/themes/default-dark.css b/style/themes/default-dark.css
old mode 100644
new mode 100755
diff --git a/style/themes/default-darker.css b/style/themes/default-darker.css
old mode 100644
new mode 100755
diff --git a/style/themes/default-light.css b/style/themes/default-light.css
old mode 100644
new mode 100755
diff --git a/style/themes/high-contrast-dark.css b/style/themes/high-contrast-dark.css
old mode 100644
new mode 100755
diff --git a/style/themes/high-contrast.css b/style/themes/high-contrast.css
old mode 100644
new mode 100755
diff --git a/style/themes/lcars.css b/style/themes/lcars.css
old mode 100644
new mode 100755
diff --git a/taillog.lp b/taillog.lp
old mode 100644
new mode 100755
diff --git a/vendor/LICENSE b/vendor/LICENSE
old mode 100644
new mode 100755
diff --git a/vendor/adminLTE/AdminLTE.min.css b/vendor/adminLTE/AdminLTE.min.css
old mode 100644
new mode 100755
diff --git a/vendor/adminLTE/adminlte.min.js b/vendor/adminLTE/adminlte.min.js
old mode 100644
new mode 100755
diff --git a/vendor/animate/animate.min.css b/vendor/animate/animate.min.css
old mode 100644
new mode 100755
diff --git a/vendor/bootstrap-notify/bootstrap-notify.min.js b/vendor/bootstrap-notify/bootstrap-notify.min.js
old mode 100644
new mode 100755
diff --git a/vendor/bootstrap-select/bootstrap-select.min.css b/vendor/bootstrap-select/bootstrap-select.min.css
old mode 100644
new mode 100755
diff --git a/vendor/bootstrap-select/bootstrap-select.min.js b/vendor/bootstrap-select/bootstrap-select.min.js
old mode 100644
new mode 100755
diff --git a/vendor/bootstrap-select/bootstrap-select.min.js.map b/vendor/bootstrap-select/bootstrap-select.min.js.map
old mode 100644
new mode 100755
diff --git a/vendor/bootstrap-toggle/bootstrap-toggle.min.css b/vendor/bootstrap-toggle/bootstrap-toggle.min.css
old mode 100644
new mode 100755
diff --git a/vendor/bootstrap-toggle/bootstrap-toggle.min.js b/vendor/bootstrap-toggle/bootstrap-toggle.min.js
old mode 100644
new mode 100755
diff --git a/vendor/bootstrap-toggle/bootstrap-toggle.min.js.map b/vendor/bootstrap-toggle/bootstrap-toggle.min.js.map
old mode 100644
new mode 100755
diff --git a/vendor/bootstrap/css/bootstrap.min.css b/vendor/bootstrap/css/bootstrap.min.css
old mode 100644
new mode 100755
diff --git a/vendor/bootstrap/css/bootstrap.min.css.map b/vendor/bootstrap/css/bootstrap.min.css.map
old mode 100644
new mode 100755
diff --git a/vendor/bootstrap/fonts/glyphicons-halflings-regular.eot b/vendor/bootstrap/fonts/glyphicons-halflings-regular.eot
old mode 100644
new mode 100755
diff --git a/vendor/bootstrap/fonts/glyphicons-halflings-regular.svg b/vendor/bootstrap/fonts/glyphicons-halflings-regular.svg
old mode 100644
new mode 100755
diff --git a/vendor/bootstrap/fonts/glyphicons-halflings-regular.ttf b/vendor/bootstrap/fonts/glyphicons-halflings-regular.ttf
old mode 100644
new mode 100755
diff --git a/vendor/bootstrap/fonts/glyphicons-halflings-regular.woff b/vendor/bootstrap/fonts/glyphicons-halflings-regular.woff
old mode 100644
new mode 100755
diff --git a/vendor/bootstrap/fonts/glyphicons-halflings-regular.woff2 b/vendor/bootstrap/fonts/glyphicons-halflings-regular.woff2
old mode 100644
new mode 100755
diff --git a/vendor/bootstrap/js/bootstrap.min.js b/vendor/bootstrap/js/bootstrap.min.js
old mode 100644
new mode 100755
diff --git a/vendor/bstreeview/bstreeview.min.css b/vendor/bstreeview/bstreeview.min.css
old mode 100644
new mode 100755
diff --git a/vendor/bstreeview/bstreeview.min.js b/vendor/bstreeview/bstreeview.min.js
old mode 100644
new mode 100755
diff --git a/vendor/chartjs-adapter-moment/chartjs-adapter-moment.js b/vendor/chartjs-adapter-moment/chartjs-adapter-moment.js
old mode 100644
new mode 100755
diff --git a/vendor/chartjs-adapter-moment/chartjs-adapter-moment.min.js.map b/vendor/chartjs-adapter-moment/chartjs-adapter-moment.min.js.map
old mode 100644
new mode 100755
diff --git a/vendor/chartjs-plugin-deferred/chartjs-plugin-deferred.min.js b/vendor/chartjs-plugin-deferred/chartjs-plugin-deferred.min.js
old mode 100644
new mode 100755
diff --git a/vendor/chartjs-plugin-zoom/chartjs-plugin-zoom.min.js b/vendor/chartjs-plugin-zoom/chartjs-plugin-zoom.min.js
old mode 100644
new mode 100755
diff --git a/vendor/chartjs/chart.umd.js b/vendor/chartjs/chart.umd.js
old mode 100644
new mode 100755
diff --git a/vendor/chartjs/chart.umd.js.map b/vendor/chartjs/chart.umd.js.map
old mode 100644
new mode 100755
diff --git a/vendor/datatables-buttons/datatables.buttons.min.css b/vendor/datatables-buttons/datatables.buttons.min.css
old mode 100644
new mode 100755
diff --git a/vendor/datatables-buttons/datatables.buttons.min.js b/vendor/datatables-buttons/datatables.buttons.min.js
old mode 100644
new mode 100755
diff --git a/vendor/datatables-select/datatables.select.min.css b/vendor/datatables-select/datatables.select.min.css
old mode 100644
new mode 100755
diff --git a/vendor/datatables-select/datatables.select.min.js b/vendor/datatables-select/datatables.select.min.js
old mode 100644
new mode 100755
diff --git a/vendor/datatables/datatables.min.css b/vendor/datatables/datatables.min.css
old mode 100644
new mode 100755
diff --git a/vendor/datatables/datatables.min.js b/vendor/datatables/datatables.min.js
old mode 100644
new mode 100755
diff --git a/vendor/daterangepicker/daterangepicker.min.css b/vendor/daterangepicker/daterangepicker.min.css
old mode 100644
new mode 100755
diff --git a/vendor/daterangepicker/daterangepicker.min.js b/vendor/daterangepicker/daterangepicker.min.js
old mode 100644
new mode 100755
diff --git a/vendor/daterangepicker/daterangepicker.min.js.map b/vendor/daterangepicker/daterangepicker.min.js.map
old mode 100644
new mode 100755
diff --git a/vendor/font-awesome/css/all.min.css b/vendor/font-awesome/css/all.min.css
old mode 100644
new mode 100755
diff --git a/vendor/font-awesome/webfonts/fa-brands-400.ttf b/vendor/font-awesome/webfonts/fa-brands-400.ttf
old mode 100644
new mode 100755
diff --git a/vendor/font-awesome/webfonts/fa-brands-400.woff2 b/vendor/font-awesome/webfonts/fa-brands-400.woff2
old mode 100644
new mode 100755
diff --git a/vendor/font-awesome/webfonts/fa-regular-400.ttf b/vendor/font-awesome/webfonts/fa-regular-400.ttf
old mode 100644
new mode 100755
diff --git a/vendor/font-awesome/webfonts/fa-regular-400.woff2 b/vendor/font-awesome/webfonts/fa-regular-400.woff2
old mode 100644
new mode 100755
diff --git a/vendor/font-awesome/webfonts/fa-solid-900.ttf b/vendor/font-awesome/webfonts/fa-solid-900.ttf
old mode 100644
new mode 100755
diff --git a/vendor/font-awesome/webfonts/fa-solid-900.woff2 b/vendor/font-awesome/webfonts/fa-solid-900.woff2
old mode 100644
new mode 100755
diff --git a/vendor/font-awesome/webfonts/fa-v4compatibility.ttf b/vendor/font-awesome/webfonts/fa-v4compatibility.ttf
old mode 100644
new mode 100755
diff --git a/vendor/font-awesome/webfonts/fa-v4compatibility.woff2 b/vendor/font-awesome/webfonts/fa-v4compatibility.woff2
old mode 100644
new mode 100755
diff --git a/vendor/fonts/antonio/antonio-v19-latin-100.woff2 b/vendor/fonts/antonio/antonio-v19-latin-100.woff2
old mode 100644
new mode 100755
diff --git a/vendor/fonts/antonio/antonio-v19-latin-700.woff2 b/vendor/fonts/antonio/antonio-v19-latin-700.woff2
old mode 100644
new mode 100755
diff --git a/vendor/fonts/antonio/antonio-v19-latin-regular.woff2 b/vendor/fonts/antonio/antonio-v19-latin-regular.woff2
old mode 100644
new mode 100755
diff --git a/vendor/fonts/antonio/antonio.css b/vendor/fonts/antonio/antonio.css
old mode 100644
new mode 100755
diff --git a/vendor/fonts/source-sans-pro/source-sans-pro-v13-latin-300.woff2 b/vendor/fonts/source-sans-pro/source-sans-pro-v13-latin-300.woff2
old mode 100644
new mode 100755
diff --git a/vendor/fonts/source-sans-pro/source-sans-pro-v13-latin-300italic.woff2 b/vendor/fonts/source-sans-pro/source-sans-pro-v13-latin-300italic.woff2
old mode 100644
new mode 100755
diff --git a/vendor/fonts/source-sans-pro/source-sans-pro-v13-latin-600.woff2 b/vendor/fonts/source-sans-pro/source-sans-pro-v13-latin-600.woff2
old mode 100644
new mode 100755
diff --git a/vendor/fonts/source-sans-pro/source-sans-pro-v13-latin-600italic.woff2 b/vendor/fonts/source-sans-pro/source-sans-pro-v13-latin-600italic.woff2
old mode 100644
new mode 100755
diff --git a/vendor/fonts/source-sans-pro/source-sans-pro-v13-latin-700.woff2 b/vendor/fonts/source-sans-pro/source-sans-pro-v13-latin-700.woff2
old mode 100644
new mode 100755
diff --git a/vendor/fonts/source-sans-pro/source-sans-pro-v13-latin-italic.woff2 b/vendor/fonts/source-sans-pro/source-sans-pro-v13-latin-italic.woff2
old mode 100644
new mode 100755
diff --git a/vendor/fonts/source-sans-pro/source-sans-pro-v13-latin-regular.woff2 b/vendor/fonts/source-sans-pro/source-sans-pro-v13-latin-regular.woff2
old mode 100644
new mode 100755
diff --git a/vendor/fonts/source-sans-pro/source-sans-pro.css b/vendor/fonts/source-sans-pro/source-sans-pro.css
old mode 100644
new mode 100755
diff --git a/vendor/fonts/ubuntu-mono/ubuntu-mono-v17-latin-700.woff2 b/vendor/fonts/ubuntu-mono/ubuntu-mono-v17-latin-700.woff2
old mode 100644
new mode 100755
diff --git a/vendor/fonts/ubuntu-mono/ubuntu-mono-v17-latin-700italic.woff2 b/vendor/fonts/ubuntu-mono/ubuntu-mono-v17-latin-700italic.woff2
old mode 100644
new mode 100755
diff --git a/vendor/fonts/ubuntu-mono/ubuntu-mono-v17-latin-italic.woff2 b/vendor/fonts/ubuntu-mono/ubuntu-mono-v17-latin-italic.woff2
old mode 100644
new mode 100755
diff --git a/vendor/fonts/ubuntu-mono/ubuntu-mono-v17-latin-regular.woff2 b/vendor/fonts/ubuntu-mono/ubuntu-mono-v17-latin-regular.woff2
old mode 100644
new mode 100755
diff --git a/vendor/fonts/ubuntu-mono/ubuntu-mono.css b/vendor/fonts/ubuntu-mono/ubuntu-mono.css
old mode 100644
new mode 100755
diff --git a/vendor/hammer/hammer.min.js b/vendor/hammer/hammer.min.js
old mode 100644
new mode 100755
diff --git a/vendor/hammer/hammer.min.js.map b/vendor/hammer/hammer.min.js.map
old mode 100644
new mode 100755
diff --git a/vendor/icheck/icheck-bootstrap.min.css b/vendor/icheck/icheck-bootstrap.min.css
old mode 100644
new mode 100755
diff --git a/vendor/icheck/icheck-material.min.css b/vendor/icheck/icheck-material.min.css
old mode 100644
new mode 100755
diff --git a/vendor/jquery-confirm/jquery.confirm.min.js b/vendor/jquery-confirm/jquery.confirm.min.js
old mode 100644
new mode 100755
diff --git a/vendor/jquery/jquery.min.js b/vendor/jquery/jquery.min.js
old mode 100644
new mode 100755
diff --git a/vendor/jquery/jquery.min.js.map b/vendor/jquery/jquery.min.js.map
old mode 100644
new mode 100755
diff --git a/vendor/js-warn/js-warn.css b/vendor/js-warn/js-warn.css
old mode 100644
new mode 100755
diff --git a/vendor/moment/moment.min.js b/vendor/moment/moment.min.js
old mode 100644
new mode 100755
diff --git a/vendor/moment/moment.min.js.map b/vendor/moment/moment.min.js.map
old mode 100644
new mode 100755
diff --git a/vendor/nprogress/nprogress.min.css b/vendor/nprogress/nprogress.min.css
old mode 100644
new mode 100755
diff --git a/vendor/nprogress/nprogress.min.js b/vendor/nprogress/nprogress.min.js
old mode 100644
new mode 100755
diff --git a/vendor/qrious/qrious.min.js b/vendor/qrious/qrious.min.js
old mode 100644
new mode 100755
diff --git a/vendor/qrious/qrious.min.js.map b/vendor/qrious/qrious.min.js.map
old mode 100644
new mode 100755
diff --git a/vendor/select2/select2.min.css b/vendor/select2/select2.min.css
old mode 100644
new mode 100755
diff --git a/vendor/select2/select2.min.js b/vendor/select2/select2.min.js
old mode 100644
new mode 100755
diff --git a/vendor/waitMe-js/modernized-waitme-min.js b/vendor/waitMe-js/modernized-waitme-min.js
old mode 100644
new mode 100755
diff --git a/vendor/waitMe-js/waitMe.min.css b/vendor/waitMe-js/waitMe.min.css
old mode 100644
new mode 100755
Those are not our changes.
*** [ DIAGNOSING ]: Discovering active DHCP servers (takes 6 seconds)
Scanning all your interfaces for DHCP servers and IPv6 routers
Timeout: 6 seconds
* Received 303 bytes from 192.168.1.30 @ eth0
Offered IP address: 192.168.1.130
Server IP address: 192.168.1.30
Relay-agent IP address: N/A
BOOTP server: (empty)
BOOTP file: (empty)
DHCP options:
Message type: DHCPOFFER (2)
server-identifier: 192.168.1.30
lease-time: 3600 ( 1h )
renewal-time: 1800 ( 30m )
rebinding-time: 3150 ( 52m 30s )
netmask: 255.255.255.0
broadcast: 192.168.1.255
dns-server: 192.168.1.30
domain-name: "lan"
ntp-server: 192.168.1.30
router: 192.168.1.1
--- end of options ---
Looks like the DHCP server is doing okay there.
Mar 31 15:58:25 DietPi pihole-FTL[5196]: 2025-03-31 15:58:25.965 BST [5196M] WARNING: copy_file(): Failed to open "/etc/pihole/config_backups/pihole.toml.1" for writing: Permission denied
Mar 31 15:58:26 DietPi pihole-FTL[5196]: 2025-03-31 15:58:25.965 BST [5196M] WARNING: Rotation /etc/pihole/pihole.toml -(COPY)> /etc/pihole/config_backups/pihole.toml.1 failed
Seems to have some permission errors in your directories.