diff --git a/SecureDNSClient/Forms/FormMain.Designer.cs b/SecureDNSClient/Forms/FormMain.Designer.cs
index 0ec5cff..2374a0a 100644
--- a/SecureDNSClient/Forms/FormMain.Designer.cs
+++ b/SecureDNSClient/Forms/FormMain.Designer.cs
@@ -198,6 +198,7 @@ private void InitializeComponent()
this.NotifyIconMain = new System.Windows.Forms.NotifyIcon(this.components);
this.CustomContextMenuStripIcon = new CustomControls.CustomContextMenuStrip();
this.CustomGroupBoxStatus = new CustomControls.CustomGroupBox();
+ this.CustomRichTextBoxStatusGoodbyeDPI = new CustomControls.CustomRichTextBox();
this.CustomRichTextBoxStatusProxyRequests = new CustomControls.CustomRichTextBox();
this.CustomRichTextBoxStatusLocalDoHLatency = new CustomControls.CustomRichTextBox();
this.CustomRichTextBoxStatusLocalDoH = new CustomControls.CustomRichTextBox();
@@ -206,7 +207,7 @@ private void InitializeComponent()
this.CustomRichTextBoxStatusIsProxySet = new CustomControls.CustomRichTextBox();
this.CustomRichTextBoxStatusIsSharing = new CustomControls.CustomRichTextBox();
this.CustomRichTextBoxStatusIsDNSSet = new CustomControls.CustomRichTextBox();
- this.CustomRichTextBoxStatusIsDPIActive = new CustomControls.CustomRichTextBox();
+ this.CustomRichTextBoxStatusProxyDpiBypass = new CustomControls.CustomRichTextBox();
this.CustomRichTextBoxStatusIsConnected = new CustomControls.CustomRichTextBox();
this.CustomRichTextBoxStatusWorkingServers = new CustomControls.CustomRichTextBox();
this.SplitContainerMain = new System.Windows.Forms.SplitContainer();
@@ -422,7 +423,7 @@ private void InitializeComponent()
this.CustomLabelSSLFragmentSize.Location = new System.Drawing.Point(296, 95);
this.CustomLabelSSLFragmentSize.Name = "CustomLabelSSLFragmentSize";
this.CustomLabelSSLFragmentSize.RoundedCorners = 0;
- this.CustomLabelSSLFragmentSize.Size = new System.Drawing.Size(104, 17);
+ this.CustomLabelSSLFragmentSize.Size = new System.Drawing.Size(102, 15);
this.CustomLabelSSLFragmentSize.TabIndex = 10;
this.CustomLabelSSLFragmentSize.Text = "SSL fragment size:";
//
@@ -553,7 +554,7 @@ private void InitializeComponent()
this.CustomLabelDPIModes.Location = new System.Drawing.Point(25, 70);
this.CustomLabelDPIModes.Name = "CustomLabelDPIModes";
this.CustomLabelDPIModes.RoundedCorners = 0;
- this.CustomLabelDPIModes.Size = new System.Drawing.Size(77, 17);
+ this.CustomLabelDPIModes.Size = new System.Drawing.Size(75, 15);
this.CustomLabelDPIModes.TabIndex = 3;
this.CustomLabelDPIModes.Text = "Select mode:";
//
@@ -619,7 +620,7 @@ private void InitializeComponent()
this.CustomTabControlSecureDNS.SelectedIndex = 0;
this.CustomTabControlSecureDNS.Size = new System.Drawing.Size(686, 365);
this.CustomTabControlSecureDNS.TabIndex = 0;
- this.CustomTabControlSecureDNS.Tag = 3;
+ this.CustomTabControlSecureDNS.Tag = 0;
//
// TabPageCheck
//
@@ -896,7 +897,7 @@ private void InitializeComponent()
this.CustomLabelHTTPProxyHandleRequests.Location = new System.Drawing.Point(200, 55);
this.CustomLabelHTTPProxyHandleRequests.Name = "CustomLabelHTTPProxyHandleRequests";
this.CustomLabelHTTPProxyHandleRequests.RoundedCorners = 0;
- this.CustomLabelHTTPProxyHandleRequests.Size = new System.Drawing.Size(97, 17);
+ this.CustomLabelHTTPProxyHandleRequests.Size = new System.Drawing.Size(95, 15);
this.CustomLabelHTTPProxyHandleRequests.TabIndex = 39;
this.CustomLabelHTTPProxyHandleRequests.Text = "Handle requests:";
//
@@ -951,7 +952,7 @@ private void InitializeComponent()
this.CustomLabelPDpiFragDelay.Location = new System.Drawing.Point(240, 220);
this.CustomLabelPDpiFragDelay.Name = "CustomLabelPDpiFragDelay";
this.CustomLabelPDpiFragDelay.RoundedCorners = 0;
- this.CustomLabelPDpiFragDelay.Size = new System.Drawing.Size(121, 17);
+ this.CustomLabelPDpiFragDelay.Size = new System.Drawing.Size(119, 15);
this.CustomLabelPDpiFragDelay.TabIndex = 35;
this.CustomLabelPDpiFragDelay.Text = "Fragment delay (ms):";
//
@@ -1035,7 +1036,7 @@ private void InitializeComponent()
this.CustomLabelPDpiDpiInfo1.Location = new System.Drawing.Point(50, 140);
this.CustomLabelPDpiDpiInfo1.Name = "CustomLabelPDpiDpiInfo1";
this.CustomLabelPDpiDpiInfo1.RoundedCorners = 0;
- this.CustomLabelPDpiDpiInfo1.Size = new System.Drawing.Size(109, 17);
+ this.CustomLabelPDpiDpiInfo1.Size = new System.Drawing.Size(107, 15);
this.CustomLabelPDpiDpiInfo1.TabIndex = 30;
this.CustomLabelPDpiDpiInfo1.Text = "If data length is <=";
//
@@ -1075,7 +1076,7 @@ private void InitializeComponent()
this.CustomLabelPDpiDpiInfo2.Location = new System.Drawing.Point(218, 140);
this.CustomLabelPDpiDpiInfo2.Name = "CustomLabelPDpiDpiInfo2";
this.CustomLabelPDpiDpiInfo2.RoundedCorners = 0;
- this.CustomLabelPDpiDpiInfo2.Size = new System.Drawing.Size(112, 17);
+ this.CustomLabelPDpiDpiInfo2.Size = new System.Drawing.Size(110, 15);
this.CustomLabelPDpiDpiInfo2.TabIndex = 27;
this.CustomLabelPDpiDpiInfo2.Text = "set fragment size to";
//
@@ -1142,7 +1143,7 @@ private void InitializeComponent()
this.CustomLabelPDpiDpiInfo3.Location = new System.Drawing.Point(50, 180);
this.CustomLabelPDpiDpiInfo3.Name = "CustomLabelPDpiDpiInfo3";
this.CustomLabelPDpiDpiInfo3.RoundedCorners = 0;
- this.CustomLabelPDpiDpiInfo3.Size = new System.Drawing.Size(164, 17);
+ this.CustomLabelPDpiDpiInfo3.Size = new System.Drawing.Size(162, 15);
this.CustomLabelPDpiDpiInfo3.TabIndex = 18;
this.CustomLabelPDpiDpiInfo3.Text = "else chunk data into n pieces:";
//
@@ -1189,7 +1190,7 @@ private void InitializeComponent()
this.CustomLabelHTTPProxyPort.Location = new System.Drawing.Point(25, 55);
this.CustomLabelHTTPProxyPort.Name = "CustomLabelHTTPProxyPort";
this.CustomLabelHTTPProxyPort.RoundedCorners = 0;
- this.CustomLabelHTTPProxyPort.Size = new System.Drawing.Size(101, 17);
+ this.CustomLabelHTTPProxyPort.Size = new System.Drawing.Size(99, 15);
this.CustomLabelHTTPProxyPort.TabIndex = 15;
this.CustomLabelHTTPProxyPort.Text = "HTTP Proxy. Port:";
//
@@ -1205,7 +1206,7 @@ private void InitializeComponent()
this.CustomLabelShareInfo.Location = new System.Drawing.Point(25, 10);
this.CustomLabelShareInfo.Name = "CustomLabelShareInfo";
this.CustomLabelShareInfo.RoundedCorners = 0;
- this.CustomLabelShareInfo.Size = new System.Drawing.Size(423, 23);
+ this.CustomLabelShareInfo.Size = new System.Drawing.Size(421, 21);
this.CustomLabelShareInfo.TabIndex = 14;
this.CustomLabelShareInfo.Text = "Share to other devices on the same network. (Experimental)";
//
@@ -1302,7 +1303,7 @@ private void InitializeComponent()
this.CustomLabelInfoDPIModes.Location = new System.Drawing.Point(25, 15);
this.CustomLabelInfoDPIModes.Name = "CustomLabelInfoDPIModes";
this.CustomLabelInfoDPIModes.RoundedCorners = 0;
- this.CustomLabelInfoDPIModes.Size = new System.Drawing.Size(149, 40);
+ this.CustomLabelInfoDPIModes.Size = new System.Drawing.Size(147, 38);
this.CustomLabelInfoDPIModes.TabIndex = 20;
this.CustomLabelInfoDPIModes.Text = "Light: MTN-AST-ASK\r\nMedium: MCI-SHT";
//
@@ -1373,7 +1374,7 @@ private void InitializeComponent()
this.CustomLabelDPIModesGoodbyeDPI.Location = new System.Drawing.Point(25, 130);
this.CustomLabelDPIModesGoodbyeDPI.Name = "CustomLabelDPIModesGoodbyeDPI";
this.CustomLabelDPIModesGoodbyeDPI.RoundedCorners = 0;
- this.CustomLabelDPIModesGoodbyeDPI.Size = new System.Drawing.Size(120, 17);
+ this.CustomLabelDPIModesGoodbyeDPI.Size = new System.Drawing.Size(118, 15);
this.CustomLabelDPIModesGoodbyeDPI.TabIndex = 15;
this.CustomLabelDPIModesGoodbyeDPI.Text = "Goodbye DPI modes:";
//
@@ -3134,6 +3135,7 @@ private void InitializeComponent()
// CustomGroupBoxStatus
//
this.CustomGroupBoxStatus.BorderColor = System.Drawing.Color.Blue;
+ this.CustomGroupBoxStatus.Controls.Add(this.CustomRichTextBoxStatusGoodbyeDPI);
this.CustomGroupBoxStatus.Controls.Add(this.CustomRichTextBoxStatusProxyRequests);
this.CustomGroupBoxStatus.Controls.Add(this.CustomRichTextBoxStatusLocalDoHLatency);
this.CustomGroupBoxStatus.Controls.Add(this.CustomButtonToggleLogView);
@@ -3143,7 +3145,7 @@ private void InitializeComponent()
this.CustomGroupBoxStatus.Controls.Add(this.CustomRichTextBoxStatusIsProxySet);
this.CustomGroupBoxStatus.Controls.Add(this.CustomRichTextBoxStatusIsSharing);
this.CustomGroupBoxStatus.Controls.Add(this.CustomRichTextBoxStatusIsDNSSet);
- this.CustomGroupBoxStatus.Controls.Add(this.CustomRichTextBoxStatusIsDPIActive);
+ this.CustomGroupBoxStatus.Controls.Add(this.CustomRichTextBoxStatusProxyDpiBypass);
this.CustomGroupBoxStatus.Controls.Add(this.CustomRichTextBoxStatusIsConnected);
this.CustomGroupBoxStatus.Controls.Add(this.CustomRichTextBoxStatusWorkingServers);
this.CustomGroupBoxStatus.Dock = System.Windows.Forms.DockStyle.Fill;
@@ -3155,6 +3157,41 @@ private void InitializeComponent()
this.CustomGroupBoxStatus.TabStop = false;
this.CustomGroupBoxStatus.Text = "Status";
//
+ // CustomRichTextBoxStatusGoodbyeDPI
+ //
+ this.CustomRichTextBoxStatusGoodbyeDPI.AcceptsTab = false;
+ this.CustomRichTextBoxStatusGoodbyeDPI.AutoWordSelection = false;
+ this.CustomRichTextBoxStatusGoodbyeDPI.BackColor = System.Drawing.Color.DimGray;
+ this.CustomRichTextBoxStatusGoodbyeDPI.Border = false;
+ this.CustomRichTextBoxStatusGoodbyeDPI.BorderColor = System.Drawing.Color.Blue;
+ this.CustomRichTextBoxStatusGoodbyeDPI.BorderSize = 1;
+ this.CustomRichTextBoxStatusGoodbyeDPI.BulletIndent = 0;
+ this.CustomRichTextBoxStatusGoodbyeDPI.Cursor = System.Windows.Forms.Cursors.Default;
+ this.CustomRichTextBoxStatusGoodbyeDPI.DetectUrls = true;
+ this.CustomRichTextBoxStatusGoodbyeDPI.EnableAutoDragDrop = false;
+ this.CustomRichTextBoxStatusGoodbyeDPI.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
+ this.CustomRichTextBoxStatusGoodbyeDPI.ForeColor = System.Drawing.Color.White;
+ this.CustomRichTextBoxStatusGoodbyeDPI.HideSelection = true;
+ this.CustomRichTextBoxStatusGoodbyeDPI.Location = new System.Drawing.Point(5, 290);
+ this.CustomRichTextBoxStatusGoodbyeDPI.MaxLength = 2147483647;
+ this.CustomRichTextBoxStatusGoodbyeDPI.MinimumSize = new System.Drawing.Size(0, 15);
+ this.CustomRichTextBoxStatusGoodbyeDPI.Multiline = false;
+ this.CustomRichTextBoxStatusGoodbyeDPI.Name = "CustomRichTextBoxStatusGoodbyeDPI";
+ this.CustomRichTextBoxStatusGoodbyeDPI.ReadOnly = true;
+ this.CustomRichTextBoxStatusGoodbyeDPI.RightMargin = 0;
+ this.CustomRichTextBoxStatusGoodbyeDPI.ScrollBars = System.Windows.Forms.ScrollBars.None;
+ this.CustomRichTextBoxStatusGoodbyeDPI.ScrollToBottom = false;
+ this.CustomRichTextBoxStatusGoodbyeDPI.SelectionColor = System.Drawing.Color.White;
+ this.CustomRichTextBoxStatusGoodbyeDPI.SelectionLength = 0;
+ this.CustomRichTextBoxStatusGoodbyeDPI.SelectionStart = 0;
+ this.CustomRichTextBoxStatusGoodbyeDPI.ShortcutsEnabled = true;
+ this.CustomRichTextBoxStatusGoodbyeDPI.Size = new System.Drawing.Size(170, 23);
+ this.CustomRichTextBoxStatusGoodbyeDPI.TabIndex = 0;
+ this.CustomRichTextBoxStatusGoodbyeDPI.Texts = "GoodbyeDPI: Inactive";
+ this.CustomRichTextBoxStatusGoodbyeDPI.UnderlinedStyle = false;
+ this.CustomRichTextBoxStatusGoodbyeDPI.WordWrap = false;
+ this.CustomRichTextBoxStatusGoodbyeDPI.ZoomFactor = 1F;
+ //
// CustomRichTextBoxStatusProxyRequests
//
this.CustomRichTextBoxStatusProxyRequests.AcceptsTab = false;
@@ -3170,7 +3207,7 @@ private void InitializeComponent()
this.CustomRichTextBoxStatusProxyRequests.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
this.CustomRichTextBoxStatusProxyRequests.ForeColor = System.Drawing.Color.White;
this.CustomRichTextBoxStatusProxyRequests.HideSelection = true;
- this.CustomRichTextBoxStatusProxyRequests.Location = new System.Drawing.Point(5, 240);
+ this.CustomRichTextBoxStatusProxyRequests.Location = new System.Drawing.Point(5, 215);
this.CustomRichTextBoxStatusProxyRequests.MaxLength = 2147483647;
this.CustomRichTextBoxStatusProxyRequests.MinimumSize = new System.Drawing.Size(0, 15);
this.CustomRichTextBoxStatusProxyRequests.Multiline = false;
@@ -3345,7 +3382,7 @@ private void InitializeComponent()
this.CustomRichTextBoxStatusIsProxySet.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
this.CustomRichTextBoxStatusIsProxySet.ForeColor = System.Drawing.Color.White;
this.CustomRichTextBoxStatusIsProxySet.HideSelection = true;
- this.CustomRichTextBoxStatusIsProxySet.Location = new System.Drawing.Point(5, 265);
+ this.CustomRichTextBoxStatusIsProxySet.Location = new System.Drawing.Point(5, 240);
this.CustomRichTextBoxStatusIsProxySet.MaxLength = 2147483647;
this.CustomRichTextBoxStatusIsProxySet.MinimumSize = new System.Drawing.Size(0, 15);
this.CustomRichTextBoxStatusIsProxySet.Multiline = false;
@@ -3380,7 +3417,7 @@ private void InitializeComponent()
this.CustomRichTextBoxStatusIsSharing.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
this.CustomRichTextBoxStatusIsSharing.ForeColor = System.Drawing.Color.White;
this.CustomRichTextBoxStatusIsSharing.HideSelection = true;
- this.CustomRichTextBoxStatusIsSharing.Location = new System.Drawing.Point(5, 215);
+ this.CustomRichTextBoxStatusIsSharing.Location = new System.Drawing.Point(5, 190);
this.CustomRichTextBoxStatusIsSharing.MaxLength = 2147483647;
this.CustomRichTextBoxStatusIsSharing.MinimumSize = new System.Drawing.Size(0, 15);
this.CustomRichTextBoxStatusIsSharing.Multiline = false;
@@ -3435,40 +3472,40 @@ private void InitializeComponent()
this.CustomRichTextBoxStatusIsDNSSet.WordWrap = false;
this.CustomRichTextBoxStatusIsDNSSet.ZoomFactor = 1F;
//
- // CustomRichTextBoxStatusIsDPIActive
- //
- this.CustomRichTextBoxStatusIsDPIActive.AcceptsTab = false;
- this.CustomRichTextBoxStatusIsDPIActive.AutoWordSelection = false;
- this.CustomRichTextBoxStatusIsDPIActive.BackColor = System.Drawing.Color.DimGray;
- this.CustomRichTextBoxStatusIsDPIActive.Border = false;
- this.CustomRichTextBoxStatusIsDPIActive.BorderColor = System.Drawing.Color.Blue;
- this.CustomRichTextBoxStatusIsDPIActive.BorderSize = 1;
- this.CustomRichTextBoxStatusIsDPIActive.BulletIndent = 0;
- this.CustomRichTextBoxStatusIsDPIActive.Cursor = System.Windows.Forms.Cursors.Default;
- this.CustomRichTextBoxStatusIsDPIActive.DetectUrls = true;
- this.CustomRichTextBoxStatusIsDPIActive.EnableAutoDragDrop = false;
- this.CustomRichTextBoxStatusIsDPIActive.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
- this.CustomRichTextBoxStatusIsDPIActive.ForeColor = System.Drawing.Color.White;
- this.CustomRichTextBoxStatusIsDPIActive.HideSelection = true;
- this.CustomRichTextBoxStatusIsDPIActive.Location = new System.Drawing.Point(5, 190);
- this.CustomRichTextBoxStatusIsDPIActive.MaxLength = 2147483647;
- this.CustomRichTextBoxStatusIsDPIActive.MinimumSize = new System.Drawing.Size(0, 15);
- this.CustomRichTextBoxStatusIsDPIActive.Multiline = false;
- this.CustomRichTextBoxStatusIsDPIActive.Name = "CustomRichTextBoxStatusIsDPIActive";
- this.CustomRichTextBoxStatusIsDPIActive.ReadOnly = true;
- this.CustomRichTextBoxStatusIsDPIActive.RightMargin = 0;
- this.CustomRichTextBoxStatusIsDPIActive.ScrollBars = System.Windows.Forms.ScrollBars.None;
- this.CustomRichTextBoxStatusIsDPIActive.ScrollToBottom = false;
- this.CustomRichTextBoxStatusIsDPIActive.SelectionColor = System.Drawing.Color.White;
- this.CustomRichTextBoxStatusIsDPIActive.SelectionLength = 0;
- this.CustomRichTextBoxStatusIsDPIActive.SelectionStart = 0;
- this.CustomRichTextBoxStatusIsDPIActive.ShortcutsEnabled = true;
- this.CustomRichTextBoxStatusIsDPIActive.Size = new System.Drawing.Size(170, 23);
- this.CustomRichTextBoxStatusIsDPIActive.TabIndex = 0;
- this.CustomRichTextBoxStatusIsDPIActive.Texts = "Is DPI Active: Yes";
- this.CustomRichTextBoxStatusIsDPIActive.UnderlinedStyle = false;
- this.CustomRichTextBoxStatusIsDPIActive.WordWrap = false;
- this.CustomRichTextBoxStatusIsDPIActive.ZoomFactor = 1F;
+ // CustomRichTextBoxStatusProxyDpiBypass
+ //
+ this.CustomRichTextBoxStatusProxyDpiBypass.AcceptsTab = false;
+ this.CustomRichTextBoxStatusProxyDpiBypass.AutoWordSelection = false;
+ this.CustomRichTextBoxStatusProxyDpiBypass.BackColor = System.Drawing.Color.DimGray;
+ this.CustomRichTextBoxStatusProxyDpiBypass.Border = false;
+ this.CustomRichTextBoxStatusProxyDpiBypass.BorderColor = System.Drawing.Color.Blue;
+ this.CustomRichTextBoxStatusProxyDpiBypass.BorderSize = 1;
+ this.CustomRichTextBoxStatusProxyDpiBypass.BulletIndent = 0;
+ this.CustomRichTextBoxStatusProxyDpiBypass.Cursor = System.Windows.Forms.Cursors.Default;
+ this.CustomRichTextBoxStatusProxyDpiBypass.DetectUrls = true;
+ this.CustomRichTextBoxStatusProxyDpiBypass.EnableAutoDragDrop = false;
+ this.CustomRichTextBoxStatusProxyDpiBypass.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
+ this.CustomRichTextBoxStatusProxyDpiBypass.ForeColor = System.Drawing.Color.White;
+ this.CustomRichTextBoxStatusProxyDpiBypass.HideSelection = true;
+ this.CustomRichTextBoxStatusProxyDpiBypass.Location = new System.Drawing.Point(5, 265);
+ this.CustomRichTextBoxStatusProxyDpiBypass.MaxLength = 2147483647;
+ this.CustomRichTextBoxStatusProxyDpiBypass.MinimumSize = new System.Drawing.Size(0, 15);
+ this.CustomRichTextBoxStatusProxyDpiBypass.Multiline = false;
+ this.CustomRichTextBoxStatusProxyDpiBypass.Name = "CustomRichTextBoxStatusProxyDpiBypass";
+ this.CustomRichTextBoxStatusProxyDpiBypass.ReadOnly = true;
+ this.CustomRichTextBoxStatusProxyDpiBypass.RightMargin = 0;
+ this.CustomRichTextBoxStatusProxyDpiBypass.ScrollBars = System.Windows.Forms.ScrollBars.None;
+ this.CustomRichTextBoxStatusProxyDpiBypass.ScrollToBottom = false;
+ this.CustomRichTextBoxStatusProxyDpiBypass.SelectionColor = System.Drawing.Color.White;
+ this.CustomRichTextBoxStatusProxyDpiBypass.SelectionLength = 0;
+ this.CustomRichTextBoxStatusProxyDpiBypass.SelectionStart = 0;
+ this.CustomRichTextBoxStatusProxyDpiBypass.ShortcutsEnabled = true;
+ this.CustomRichTextBoxStatusProxyDpiBypass.Size = new System.Drawing.Size(170, 23);
+ this.CustomRichTextBoxStatusProxyDpiBypass.TabIndex = 0;
+ this.CustomRichTextBoxStatusProxyDpiBypass.Texts = "Proxy DPI Bypass: Inactive";
+ this.CustomRichTextBoxStatusProxyDpiBypass.UnderlinedStyle = false;
+ this.CustomRichTextBoxStatusProxyDpiBypass.WordWrap = false;
+ this.CustomRichTextBoxStatusProxyDpiBypass.ZoomFactor = 1F;
//
// CustomRichTextBoxStatusIsConnected
//
@@ -3760,7 +3797,7 @@ private void InitializeComponent()
private CustomControls.CustomGroupBox CustomGroupBoxStatus;
private CustomControls.CustomRichTextBox CustomRichTextBoxStatusIsConnected;
private CustomControls.CustomRichTextBox CustomRichTextBoxStatusWorkingServers;
- private CustomControls.CustomRichTextBox CustomRichTextBoxStatusIsDPIActive;
+ private CustomControls.CustomRichTextBox CustomRichTextBoxStatusProxyDpiBypass;
private CustomControls.CustomRichTextBox CustomRichTextBoxStatusIsDNSSet;
private CustomControls.CustomRichTextBox CustomRichTextBoxStatusIsSharing;
private CustomControls.CustomButton CustomButtonConnectAll;
@@ -3846,5 +3883,6 @@ private void InitializeComponent()
private CustomControls.CustomLabel CustomLabelHTTPProxyHandleRequests;
private SplitContainer SplitContainerMain;
private SplitContainer SplitContainerTop;
+ private CustomControls.CustomRichTextBox CustomRichTextBoxStatusGoodbyeDPI;
}
}
\ No newline at end of file
diff --git a/SecureDNSClient/Forms/FormMain.cs b/SecureDNSClient/Forms/FormMain.cs
index b059f4b..1740906 100644
--- a/SecureDNSClient/Forms/FormMain.cs
+++ b/SecureDNSClient/Forms/FormMain.cs
@@ -26,6 +26,8 @@ public partial class FormMain : Form
private bool IsDNSConnected = false;
private bool IsDoHConnected = false;
private bool IsDPIActive = false;
+ private bool IsProxyDPIActive = false;
+ private bool IsGoodbyeDPIActive = false;
private bool IsDNSSet = false;
private bool IsSharing = false;
private bool IsProxySet = false;
@@ -401,12 +403,15 @@ private void UpdateBools()
// Update bool IsProxySet
IsProxySet = UpdateBoolIsProxySet();
+ // Update bool IsProxyDPIActive
+ IsProxyDPIActive = (HTTPProxy != null && HTTPProxy.IsRunning && HTTPProxy.IsDpiActive);
+
+ // Update bool IsGoodbyeDPIActive
+ IsGoodbyeDPIActive = ProcessManager.FindProcessByID(PIDGoodbyeDPI);
+
// Update bool IsDPIActive
- if (ProcessManager.FindProcessByID(PIDGoodbyeDPI) ||
- (HTTPProxy != null && HTTPProxy.IsRunning && HTTPProxy.IsDpiActive))
- IsDPIActive = true;
- else
- IsDPIActive = false;
+ IsDPIActive = (IsProxyDPIActive || IsGoodbyeDPIActive);
+
};
updateBoolsTimer.Start();
}
@@ -615,12 +620,19 @@ private void UpdateStatus()
this.InvokeIt(() => CustomRichTextBoxStatusIsDNSSet.AppendText("Is DNS Set: ", ForeColor));
this.InvokeIt(() => CustomRichTextBoxStatusIsDNSSet.AppendText(textDNS, colorDNS));
- // Update Status IsDpiActive
- string textDPI = IsDPIActive ? "Yes" : "No";
- Color colorDPI = IsDPIActive ? Color.MediumSeaGreen : Color.IndianRed;
- this.InvokeIt(() => CustomRichTextBoxStatusIsDPIActive.ResetText());
- this.InvokeIt(() => CustomRichTextBoxStatusIsDPIActive.AppendText("Is DPI Active: ", ForeColor));
- this.InvokeIt(() => CustomRichTextBoxStatusIsDPIActive.AppendText(textDPI, colorDPI));
+ // Update Status IsProxyDPIActive
+ string textProxyDPI = IsProxyDPIActive ? "Active" : "Inactive";
+ Color colorProxyDPI = IsProxyDPIActive ? Color.MediumSeaGreen : Color.IndianRed;
+ this.InvokeIt(() => CustomRichTextBoxStatusProxyDpiBypass.ResetText());
+ this.InvokeIt(() => CustomRichTextBoxStatusProxyDpiBypass.AppendText("Proxy DPI Bypass: ", ForeColor));
+ this.InvokeIt(() => CustomRichTextBoxStatusProxyDpiBypass.AppendText(textProxyDPI, colorProxyDPI));
+
+ // Update Status IsGoodbyeDPIActive
+ string textGoodbyeDPI = IsGoodbyeDPIActive ? "Active" : "Inactive";
+ Color colorGoodbyeDPI = IsGoodbyeDPIActive ? Color.MediumSeaGreen : Color.IndianRed;
+ this.InvokeIt(() => CustomRichTextBoxStatusGoodbyeDPI.ResetText());
+ this.InvokeIt(() => CustomRichTextBoxStatusGoodbyeDPI.AppendText("GoodbyeDPI: ", ForeColor));
+ this.InvokeIt(() => CustomRichTextBoxStatusGoodbyeDPI.AppendText(textGoodbyeDPI, colorGoodbyeDPI));
// Update Status IsSharing
string textSharing = IsSharing ? "Yes" : "No";
@@ -977,7 +989,7 @@ private async Task CheckServers()
// Warn users to deactivate DPI before checking servers
if (IsDPIActive)
{
- string msg = "It's better to not check servers while DPI is active.\nStart checking servers?";
+ string msg = "It's better to not check servers while DPI Bypass is active.\nStart checking servers?";
var resume = CustomMessageBox.Show(msg, "DPI is active", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
if (resume == DialogResult.No) return;
}
@@ -2301,6 +2313,7 @@ void HTTPProxy_OnErrorOccurred(object? sender, EventArgs e)
{
// Update bool
IsSharing = false;
+ IsProxyDPIActive = false;
// Write deactivated message to log
string msgDiactivated = $"HTTP Proxy Server deactivated.{NL}";
@@ -2424,7 +2437,7 @@ private async void ApplyPDpiChanges()
int fragmentDelay = int.Parse(CustomNumericUpDownPDpiFragDelay.Value.ToString());
DPIBypass.Mode bypassMode = enableDpiBypass ? DPIBypass.Mode.Program : DPIBypass.Mode.Disable;
- IsDPIActive = DPIBypassProgram.DPIBypassMode == DPIBypass.Mode.Program;
+ IsProxyDPIActive = DPIBypassProgram.DPIBypassMode == DPIBypass.Mode.Program;
DPIBypassProgram.Set(bypassMode, dataLength, fragmentSize, fragmentChunks, fragmentDelay);
DPIBypassProgram.DontChunkTheBiggestRequest = dontChunkBigdata;
@@ -2434,7 +2447,7 @@ private async void ApplyPDpiChanges()
// Check DPI Works
if (CustomCheckBoxPDpiEnableDpiBypass.Checked && HTTPProxy.IsRunning)
{
- IsDPIActive = true;
+ IsProxyDPIActive = true;
Task.Delay(100).Wait();
// Get and check blocked domain is valid
bool isBlockedDomainValid = SecureDNS.IsBlockedDomainValid(CustomTextBoxSettingCheckDPIHost, CustomRichTextBoxLog, out string blockedDomain);
@@ -2552,8 +2565,8 @@ private async void DPIBasic()
// Update Groupbox Status
UpdateStatus();
- // Set DPI Active true
- IsDPIActive = true;
+ // Set IsGoodbyeDPIActive true
+ IsGoodbyeDPIActive = true;
// Go to SetDNS Tab if it's not already set
if (ConnectAllClicked && !IsDNSSet)
@@ -2763,8 +2776,8 @@ private async void DPIAdvanced()
// Update Groupbox Status
UpdateStatus();
- // Set DPI Active true
- IsDPIActive = true;
+ // Set IsGoodbyeDPIActive true
+ IsGoodbyeDPIActive = true;
// Go to SetDNS Tab if it's not already set
if (ConnectAllClicked && !IsDNSSet)
@@ -2802,6 +2815,9 @@ private void DPIDeactive()
}
else
{
+ // Set IsGoodbyeDPIActive False
+ IsGoodbyeDPIActive = false;
+
string msgDC = "DPI bypass deactivated." + NL;
this.InvokeIt(() => CustomRichTextBoxLog.AppendText(msgDC, Color.LightGray));
}
@@ -2834,7 +2850,7 @@ private async Task CheckDPIWorks(string host, int timeoutSec = 30) //Default tim
string url = $"https://{host}/";
Uri uri = new(url, UriKind.Absolute);
- if (HTTPProxy != null && HTTPProxy.IsRunning && HTTPProxy.IsDpiActive && IsSharing)
+ if (IsProxyDPIActive)
{
string proxyScheme = $"http://{IPAddress.Loopback}:{LastProxyPort}";
using SocketsHttpHandler socketsHttpHandler = new();
@@ -2909,7 +2925,7 @@ void msgFailed(HttpResponseMessage r)
{
// Write activate DPI first to log
string msgDPI1 = $"DPI Check: ";
- string msgDPI2 = $"Activate DPI to check.{NL}";
+ string msgDPI2 = $"Activate DPI Bypass to check.{NL}";
this.InvokeIt(() => CustomRichTextBoxLog.AppendText(msgDPI1, Color.LightGray));
this.InvokeIt(() => CustomRichTextBoxLog.AppendText(msgDPI2, Color.IndianRed));
StopWatchCheckDPIWorks.Stop();
diff --git a/SecureDNSClient/MsmhTools/HTTPProxyServer/HTTPProxyServer.cs b/SecureDNSClient/MsmhTools/HTTPProxyServer/HTTPProxyServer.cs
index ea87c5e..71db7e1 100644
--- a/SecureDNSClient/MsmhTools/HTTPProxyServer/HTTPProxyServer.cs
+++ b/SecureDNSClient/MsmhTools/HTTPProxyServer/HTTPProxyServer.cs
@@ -69,6 +69,7 @@ public HTTPProxyServer()
{
// Captive Portal
BlackList.Add("ipv6.msftconnecttest.com:80");
+ BlackList.Add("msedge.b.tlu.dl.delivery.mp.microsoft.com:80");
BlackList.Add("detectportal.firefox.com:80");
BlackList.Add("gstatic.com:80");
}
diff --git a/SecureDNSClient/Properties/PublishProfiles/FolderProfile.pubxml.user b/SecureDNSClient/Properties/PublishProfiles/FolderProfile.pubxml.user
index 4454e58..d1b4123 100644
--- a/SecureDNSClient/Properties/PublishProfiles/FolderProfile.pubxml.user
+++ b/SecureDNSClient/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -4,6 +4,6 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
-->
- True|2023-06-02T12:45:42.7452611Z;True|2023-05-30T17:58:01.2450123+04:30;True|2023-05-29T20:36:32.5291896+04:30;True|2023-05-29T20:18:12.2031439+04:30;True|2023-05-29T19:44:46.0704739+04:30;True|2023-05-27T17:25:56.0498058+04:30;True|2023-05-27T14:50:19.0862471+04:30;True|2023-05-26T00:33:02.8133052+04:30;True|2023-05-26T00:22:55.5762345+04:30;True|2023-05-19T21:55:55.2053137+04:30;True|2023-05-04T21:14:13.1959990+04:30;True|2023-05-03T18:38:41.0925495+04:30;True|2023-05-03T18:22:56.1278337+04:30;True|2023-04-07T19:23:03.7575436+04:30;True|2023-04-07T19:01:53.8374192+04:30;True|2023-04-07T18:56:48.3465035+04:30;True|2023-02-23T19:42:36.6931238+03:30;True|2023-02-21T23:02:29.4417103+03:30;True|2023-02-21T22:58:29.4403662+03:30;True|2023-02-21T22:48:24.4128535+03:30;True|2023-02-21T22:27:17.9388815+03:30;True|2023-02-20T17:48:08.6532315+03:30;True|2023-02-16T01:42:22.8837631+03:30;True|2023-02-16T01:39:16.7954793+03:30;True|2023-02-15T21:24:18.8085514+03:30;True|2023-02-15T21:18:04.1969211+03:30;True|2023-02-15T21:15:01.3739223+03:30;True|2023-02-08T06:22:33.0414550+03:30;True|2023-02-08T05:20:18.9270105+03:30;True|2023-02-08T05:15:17.5374116+03:30;True|2023-02-08T05:03:44.0882459+03:30;True|2023-02-08T04:53:40.5516012+03:30;True|2023-02-08T02:23:19.0633758+03:30;
+ True|2023-06-02T16:21:04.1304394Z;True|2023-06-02T20:25:56.5067353+04:30;True|2023-06-02T20:22:14.1787902+04:30;True|2023-06-02T17:15:42.7452611+04:30;True|2023-05-30T17:58:01.2450123+04:30;True|2023-05-29T20:36:32.5291896+04:30;True|2023-05-29T20:18:12.2031439+04:30;True|2023-05-29T19:44:46.0704739+04:30;True|2023-05-27T17:25:56.0498058+04:30;True|2023-05-27T14:50:19.0862471+04:30;True|2023-05-26T00:33:02.8133052+04:30;True|2023-05-26T00:22:55.5762345+04:30;True|2023-05-19T21:55:55.2053137+04:30;True|2023-05-04T21:14:13.1959990+04:30;True|2023-05-03T18:38:41.0925495+04:30;True|2023-05-03T18:22:56.1278337+04:30;True|2023-04-07T19:23:03.7575436+04:30;True|2023-04-07T19:01:53.8374192+04:30;True|2023-04-07T18:56:48.3465035+04:30;True|2023-02-23T19:42:36.6931238+03:30;True|2023-02-21T23:02:29.4417103+03:30;True|2023-02-21T22:58:29.4403662+03:30;True|2023-02-21T22:48:24.4128535+03:30;True|2023-02-21T22:27:17.9388815+03:30;True|2023-02-20T17:48:08.6532315+03:30;True|2023-02-16T01:42:22.8837631+03:30;True|2023-02-16T01:39:16.7954793+03:30;True|2023-02-15T21:24:18.8085514+03:30;True|2023-02-15T21:18:04.1969211+03:30;True|2023-02-15T21:15:01.3739223+03:30;True|2023-02-08T06:22:33.0414550+03:30;True|2023-02-08T05:20:18.9270105+03:30;True|2023-02-08T05:15:17.5374116+03:30;True|2023-02-08T05:03:44.0882459+03:30;True|2023-02-08T04:53:40.5516012+03:30;True|2023-02-08T02:23:19.0633758+03:30;
\ No newline at end of file
diff --git a/SecureDNSClient/SecureDNSClient.csproj b/SecureDNSClient/SecureDNSClient.csproj
index 0a2ac9b..21aa6f4 100644
--- a/SecureDNSClient/SecureDNSClient.csproj
+++ b/SecureDNSClient/SecureDNSClient.csproj
@@ -9,7 +9,7 @@
app.manifest
MSasanMH
SDC - Secure DNS Client
- $(VersionPrefix)2.1.4
+ $(VersionPrefix)2.1.5
SecureDNSClient.png
SecureDNSClientMulti.ico
diff --git a/SecureDNSClientPortable/Properties/PublishProfiles/FolderProfile.pubxml.user b/SecureDNSClientPortable/Properties/PublishProfiles/FolderProfile.pubxml.user
index af8170c..e3ab23d 100644
--- a/SecureDNSClientPortable/Properties/PublishProfiles/FolderProfile.pubxml.user
+++ b/SecureDNSClientPortable/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -4,6 +4,6 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
-->
- True|2023-06-02T12:44:48.5208600Z;True|2023-05-30T17:57:19.0001069+04:30;True|2023-05-29T20:17:44.2223328+04:30;True|2023-05-29T19:43:15.8911213+04:30;True|2023-05-27T17:25:27.9631407+04:30;True|2023-05-27T14:50:40.9938592+04:30;True|2023-05-26T00:22:04.4226759+04:30;True|2023-05-19T21:55:03.6988953+04:30;True|2023-05-04T21:13:44.0531282+04:30;True|2023-05-03T18:20:58.6158351+04:30;True|2023-04-07T19:22:18.1443242+04:30;True|2023-04-07T19:01:23.1687551+04:30;True|2023-04-07T18:56:25.8534493+04:30;True|2023-02-23T19:42:03.7111255+03:30;True|2023-02-21T22:26:35.4429594+03:30;True|2023-02-20T17:47:25.0792312+03:30;True|2023-02-16T01:42:37.6467629+03:30;True|2023-02-15T22:16:38.0474815+03:30;True|2023-02-15T21:50:25.4952184+03:30;True|2023-02-15T21:49:01.8562159+03:30;
+ True|2023-06-02T16:20:27.6325136Z;True|2023-06-02T20:25:16.8004627+04:30;True|2023-06-02T20:21:33.2641926+04:30;True|2023-06-02T17:14:48.5208600+04:30;True|2023-05-30T17:57:19.0001069+04:30;True|2023-05-29T20:17:44.2223328+04:30;True|2023-05-29T19:43:15.8911213+04:30;True|2023-05-27T17:25:27.9631407+04:30;True|2023-05-27T14:50:40.9938592+04:30;True|2023-05-26T00:22:04.4226759+04:30;True|2023-05-19T21:55:03.6988953+04:30;True|2023-05-04T21:13:44.0531282+04:30;True|2023-05-03T18:20:58.6158351+04:30;True|2023-04-07T19:22:18.1443242+04:30;True|2023-04-07T19:01:23.1687551+04:30;True|2023-04-07T18:56:25.8534493+04:30;True|2023-02-23T19:42:03.7111255+03:30;True|2023-02-21T22:26:35.4429594+03:30;True|2023-02-20T17:47:25.0792312+03:30;True|2023-02-16T01:42:37.6467629+03:30;True|2023-02-15T22:16:38.0474815+03:30;True|2023-02-15T21:50:25.4952184+03:30;True|2023-02-15T21:49:01.8562159+03:30;
\ No newline at end of file
diff --git a/SecureDNSClientPortable/SecureDNSClientPortable.csproj b/SecureDNSClientPortable/SecureDNSClientPortable.csproj
index 38f4c25..379b865 100644
--- a/SecureDNSClientPortable/SecureDNSClientPortable.csproj
+++ b/SecureDNSClientPortable/SecureDNSClientPortable.csproj
@@ -7,7 +7,7 @@
true
enable
SecureDNSClientMulti.ico
- $(VersionPrefix)2.1.4
+ $(VersionPrefix)2.1.5
MSasanMH
app.manifest