encrypt overhead fix (33→36, noencrypt_len), mtu default 1280, connmonitor window, total_decrypted for TCP, check.sh

This commit is contained in:
evgeny committed 2026-08-08 16:56:32 +03:00
1 parent 9846599086
commit ca176e1f24
41 files changed
+643 -91

No files matched your search

+34 -6
View File
@@ -7,6 +7,7 @@
#include "soundsettingspage.h"
#include "audiodevicesettingspage.h"
#include "storagesettingspage.h"
#include "connmonitorwindow.h"
#include "../transport/gui_bridge.h"
#include "../../lib/mem.h"
#include "../db/db_manager.h"
@@ -31,7 +32,7 @@ SettingsDialog::SettingsDialog(const QString& configPath, DbManager* db, UtunNod
{
setWindowTitle("Settings");
setMinimumSize(760, 460);
setModal(true);
setWindowModality(Qt::WindowModal);
auto* mainLayout = new QHBoxLayout(this);
mainLayout->setSpacing(0);
@@ -48,6 +49,7 @@ SettingsDialog::SettingsDialog(const QString& configPath, DbManager* db, UtunNod
m_categoryList->addItem("Profile");
m_categoryList->addItem("Storage");
m_categoryList->addItem("Network");
m_categoryList->addItem("Connections");
m_categoryList->addItem("Database");
m_categoryList->addItem("Status");
m_categoryList->addItem("Nodes");
@@ -105,6 +107,22 @@ SettingsDialog::SettingsDialog(const QString& configPath, DbManager* db, UtunNod
m_networkPage = new NetworkSettingsPage(m_pages);
m_pages->addWidget(m_networkPage);
// Connections page — button to open standalone window
{
auto* connPage = new QWidget(m_pages);
auto* connLayout = new QVBoxLayout(connPage);
connLayout->setAlignment(Qt::AlignCenter);
auto* hintLabel = new QLabel("Live ETCP connection monitor\nwith per-link BBR statistics", connPage);
hintLabel->setAlignment(Qt::AlignCenter);
hintLabel->setStyleSheet("font-size: 12px; color: palette(text); padding: 20px;");
connLayout->addWidget(hintLabel);
auto* openBtn = new QPushButton("Open Connection Monitor", connPage);
openBtn->setStyleSheet("QPushButton { padding: 10px 20px; font-size: 13px; }");
connect(openBtn, &QPushButton::clicked, this, &SettingsDialog::onOpenConnMonitor);
connLayout->addWidget(openBtn);
m_pages->addWidget(connPage);
}
// Database page
m_databasePage = new DatabaseSettingsPage(db, m_pages);
m_pages->addWidget(m_databasePage);
@@ -187,11 +205,11 @@ void SettingsDialog::loadProfileFromConfig(const QString& path) {
void SettingsDialog::onCategoryChanged(int row) {
m_pages->setCurrentIndex(row);
if (row == 1) m_storagePage->loadFromDb();
if (row == 3) m_databasePage->refreshStatus();
if (row == 4) m_statusPage->refreshStatus();
if (row == 5) m_nodesPage->refreshNodes();
if (row == 6) m_soundPage->loadFromDb();
if (row == 7) m_audioDevicePage->loadFromDb();
if (row == 4) m_databasePage->refreshStatus();
if (row == 5) m_statusPage->refreshStatus();
if (row == 6) m_nodesPage->refreshNodes();
if (row == 7) m_soundPage->loadFromDb();
if (row == 8) m_audioDevicePage->loadFromDb();
}
void SettingsDialog::onSave() {
@@ -268,3 +286,13 @@ void SettingsDialog::onSave() {
}
accept();
}
void SettingsDialog::onOpenConnMonitor() {
if (m_connMonitorWindow) {
m_connMonitorWindow->raise();
m_connMonitorWindow->activateWindow();
return;
}
m_connMonitorWindow = new ConnMonitorWindow(nullptr);
m_connMonitorWindow->show();
}