feat: added mDNS settings

This commit is contained in:
Yurii
2025-02-15 00:05:10 +03:00
parent 0c778d4c7f
commit bb7c3eeba3
8 changed files with 48 additions and 6 deletions

View File

@@ -55,6 +55,7 @@ protected:
bool webServerEnabled = false;
bool dnsServerEnabled = false;
unsigned long webServerChangeState = 0;
bool mDnsState = false;
#if defined(ARDUINO_ARCH_ESP32)
const char* getTaskName() override {
@@ -874,8 +875,14 @@ protected:
this->startWebServer();
Log.straceln(FPSTR(L_PORTAL_WEBSERVER), F("Started: AP up or STA connected"));
if (MDNS.begin(networkSettings.hostname)) {
MDNS.addService("http", "tcp", 80);
// Enabling mDNS
if (!this->mDnsState && settings.portal.mdns) {
if (MDNS.begin(networkSettings.hostname)) {
MDNS.addService("http", "tcp", 80);
this->mDnsState = true;
Log.straceln(FPSTR(L_PORTAL_WEBSERVER), F("mDNS enabled and service added"));
}
}
#ifdef ARDUINO_ARCH_ESP8266
@@ -886,13 +893,27 @@ protected:
this->stopWebServer();
Log.straceln(FPSTR(L_PORTAL_WEBSERVER), F("Stopped: AP and STA down"));
MDNS.end();
// Disabling mDNS
if (this->mDnsState) {
MDNS.end();
this->mDnsState = false;
Log.straceln(FPSTR(L_PORTAL_WEBSERVER), F("mDNS disabled"));
}
#ifdef ARDUINO_ARCH_ESP8266
::optimistic_yield(1000);
#endif
}
// Disabling mDNS if disabled in settings
if (this->mDnsState && !settings.portal.mdns) {
MDNS.end();
this->mDnsState = false;
Log.straceln(FPSTR(L_PORTAL_WEBSERVER), F("mDNS disabled"));
}
// dns server
if (!this->stateDnsServer() && !network->isConnected() && network->isApEnabled() && this->stateWebServer()) {
this->startDnsServer();