diff --git a/DuckDNS/FAbout.Designer.cs b/DuckDNS/FAbout.Designer.cs
index 2118548..41d0648 100644
--- a/DuckDNS/FAbout.Designer.cs
+++ b/DuckDNS/FAbout.Designer.cs
@@ -31,7 +31,7 @@ private void InitializeComponent()
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FAbout));
this.pbLogo = new System.Windows.Forms.PictureBox();
this.label1 = new System.Windows.Forms.Label();
- this.label2 = new System.Windows.Forms.Label();
+ this.lbVersion = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.linkLabel1 = new System.Windows.Forms.LinkLabel();
this.label4 = new System.Windows.Forms.Label();
@@ -55,7 +55,7 @@ private void InitializeComponent()
//
this.pbLogo.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.pbLogo.Image = ((System.Drawing.Image)(resources.GetObject("pbLogo.Image")));
- this.pbLogo.Location = new System.Drawing.Point(190, 114);
+ this.pbLogo.Location = new System.Drawing.Point(157, 114);
this.pbLogo.Name = "pbLogo";
this.pbLogo.Size = new System.Drawing.Size(92, 83);
this.pbLogo.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
@@ -74,17 +74,17 @@ private void InitializeComponent()
this.label1.TabIndex = 1;
this.label1.Text = "A Simple DuckDNS Updater";
//
- // label2
+ // lbVersion
//
- this.label2.AutoSize = true;
- this.label2.BackColor = System.Drawing.Color.Transparent;
- this.label2.Font = new System.Drawing.Font("Calibri", 14F);
- this.label2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(248)))), ((int)(((byte)(223)))));
- this.label2.Location = new System.Drawing.Point(284, 42);
- this.label2.Name = "label2";
- this.label2.Size = new System.Drawing.Size(48, 23);
- this.label2.TabIndex = 2;
- this.label2.Text = "v 2.1";
+ this.lbVersion.AutoSize = true;
+ this.lbVersion.BackColor = System.Drawing.Color.Transparent;
+ this.lbVersion.Font = new System.Drawing.Font("Calibri", 14F);
+ this.lbVersion.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(248)))), ((int)(((byte)(223)))));
+ this.lbVersion.Location = new System.Drawing.Point(284, 42);
+ this.lbVersion.Name = "lbVersion";
+ this.lbVersion.Size = new System.Drawing.Size(19, 23);
+ this.lbVersion.TabIndex = 2;
+ this.lbVersion.Text = "v";
//
// label3
//
@@ -129,7 +129,7 @@ private void InitializeComponent()
this.lbBy.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(33)))), ((int)(((byte)(33)))), ((int)(((byte)(33)))));
this.lbBy.Location = new System.Drawing.Point(5, 221);
this.lbBy.Name = "lbBy";
- this.lbBy.Size = new System.Drawing.Size(463, 65);
+ this.lbBy.Size = new System.Drawing.Size(398, 65);
this.lbBy.TabIndex = 7;
this.lbBy.Text = "by XWolfOverride, with the collaboration of GitHub Users:\r\nfullbanner, bugfix on " +
"startup link\r\nHenrique Mendoça, IPv6 support\r\nIgnacio - Innovo, UI with Material" +
@@ -143,10 +143,10 @@ private void InitializeComponent()
this.pHeader.Controls.Add(this.pTitleBar);
this.pHeader.Controls.Add(this.label1);
this.pHeader.Controls.Add(this.label4);
- this.pHeader.Controls.Add(this.label2);
+ this.pHeader.Controls.Add(this.lbVersion);
this.pHeader.Location = new System.Drawing.Point(1, 1);
this.pHeader.Name = "pHeader";
- this.pHeader.Size = new System.Drawing.Size(470, 100);
+ this.pHeader.Size = new System.Drawing.Size(405, 100);
this.pHeader.TabIndex = 11;
//
// pTitleBar
@@ -157,7 +157,7 @@ private void InitializeComponent()
this.pTitleBar.Controls.Add(this.button1);
this.pTitleBar.Location = new System.Drawing.Point(0, 0);
this.pTitleBar.Name = "pTitleBar";
- this.pTitleBar.Size = new System.Drawing.Size(470, 27);
+ this.pTitleBar.Size = new System.Drawing.Size(405, 27);
this.pTitleBar.TabIndex = 12;
this.pTitleBar.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pTitleBar_MouseMove);
//
@@ -169,7 +169,7 @@ private void InitializeComponent()
this.button1.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F);
this.button1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(33)))), ((int)(((byte)(33)))), ((int)(((byte)(33)))));
this.button1.Image = global::DuckDNS.Properties.Resources.close;
- this.button1.Location = new System.Drawing.Point(440, 2);
+ this.button1.Location = new System.Drawing.Point(375, 2);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(28, 23);
this.button1.TabIndex = 2;
@@ -186,7 +186,7 @@ private void InitializeComponent()
this.panel2.Controls.Add(this.button4);
this.panel2.Location = new System.Drawing.Point(12, 12);
this.panel2.Name = "panel2";
- this.panel2.Size = new System.Drawing.Size(113, 23);
+ this.panel2.Size = new System.Drawing.Size(48, 23);
this.panel2.TabIndex = 10;
//
// button3
@@ -196,7 +196,7 @@ private void InitializeComponent()
this.button3.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.button3.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F);
this.button3.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(33)))), ((int)(((byte)(33)))), ((int)(((byte)(33)))));
- this.button3.Location = new System.Drawing.Point(49, 2);
+ this.button3.Location = new System.Drawing.Point(-16, 2);
this.button3.Name = "button3";
this.button3.Size = new System.Drawing.Size(28, 18);
this.button3.TabIndex = 1;
@@ -210,7 +210,7 @@ private void InitializeComponent()
this.button2.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.button2.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F);
this.button2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(33)))), ((int)(((byte)(33)))), ((int)(((byte)(33)))));
- this.button2.Location = new System.Drawing.Point(80, 1);
+ this.button2.Location = new System.Drawing.Point(15, 1);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(28, 21);
this.button2.TabIndex = 2;
@@ -235,7 +235,7 @@ private void InitializeComponent()
this.panelFooter.Anchor = System.Windows.Forms.AnchorStyles.Bottom;
this.panelFooter.Controls.Add(this.label3);
this.panelFooter.Controls.Add(this.linkLabel1);
- this.panelFooter.Location = new System.Drawing.Point(128, 306);
+ this.panelFooter.Location = new System.Drawing.Point(95, 306);
this.panelFooter.Name = "panelFooter";
this.panelFooter.Size = new System.Drawing.Size(217, 19);
this.panelFooter.TabIndex = 12;
@@ -245,7 +245,7 @@ private void InitializeComponent()
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
this.BackColor = System.Drawing.Color.White;
- this.ClientSize = new System.Drawing.Size(472, 326);
+ this.ClientSize = new System.Drawing.Size(407, 326);
this.Controls.Add(this.panelFooter);
this.Controls.Add(this.pHeader);
this.Controls.Add(this.panel2);
@@ -273,7 +273,7 @@ private void InitializeComponent()
private System.Windows.Forms.PictureBox pbLogo;
private System.Windows.Forms.Label label1;
- private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.Label lbVersion;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.LinkLabel linkLabel1;
private System.Windows.Forms.Label label4;
diff --git a/DuckDNS/FAbout.cs b/DuckDNS/FAbout.cs
index 728b66b..14eb342 100644
--- a/DuckDNS/FAbout.cs
+++ b/DuckDNS/FAbout.cs
@@ -15,6 +15,7 @@ public partial class FAbout : Form
private FAbout()
{
InitializeComponent();
+ lbVersion.Text = "v "+Program.VERSION;
}
public static void Execute()
diff --git a/DuckDNS/Program.cs b/DuckDNS/Program.cs
index 252d47f..fddb14d 100644
--- a/DuckDNS/Program.cs
+++ b/DuckDNS/Program.cs
@@ -6,6 +6,8 @@ namespace DuckDNS
{
static class Program
{
+ public const string VERSION = "2.2";
+
///
/// The main entry point for the application.
///
diff --git a/README.md b/README.md
index d68e511..8e3bae8 100644
--- a/README.md
+++ b/README.md
@@ -6,15 +6,17 @@ This updater tries to be easy to use and ready for advanced users.
Download on the [Releases page](https://github.com/XWolfOverride/DuckDNS/releases).
## Easy mode
-![](res/cap/21-main.png)
-
-Initial screen.
+| ![](res/cap/21-main.png) |
+|:--:|
+| *Initial screen.* |
The first time the updater opens shows this screen where you can set the token and the domain.
Get both data from your Duck DNS account webpage:
-![](res/cap/DuckDNS-page.png)
+| ![](res/cap/DuckDNS-page.png) |
+|:--:|
+| *DuckDNS account page* |
Set the update interval from the list or write your own.
@@ -43,29 +45,27 @@ Click with the secondary mouse button will show a menu with tree options:
## Advanced mode
-Advanced mode is only available through Multi domains edition.
+Advanced mode is only available activating the multiple domains mode.
| ![](res/cap/21-advanced.png) |
|:--:|
| *Main screen in advanced mode.* |
-
-| ![](res/cap/21-advanced.png) |
-| *Main screen in advanced mode.* |
-
For more configuration options use the gear button and enable the multi domains mode.
-![](res/cap/21-settings.png)
+| ![](res/cap/21-settings.png) |
+|:--:|
+| *Settings screen.* |
-Settings screen.
+Activating it will pass the simple configuration to a domain register with the default options.
-Add and remove domains in the list with the buttons at the bottom left and double click for edition.
+Add and remove domains in the list with the buttons at the bottom left and double click in the domian for edition.
## Domain item edition
-![](res/cap/21-edition.png)
-
-Domain editor screen.
+| ![](res/cap/21-edition.png) |
+|:--:|
+| *Domain editor screen.* |
In this screen you can edit the domain name and the IP resolution technique.
@@ -93,4 +93,16 @@ In this screen you can edit the domain name and the IP resolution technique.
The url path can be a file path useful for local programs.
-### Domain item edition
+## IP / NIC binding (V2.2)
+
+When editing an item in V2.2 a new section will be swohn allowing user to bind the call to an specific IP or NIC.
+Useful when the computer have more than one connections to internet and a specific domain need to be resolved to specific connection.
+
+| ![](res/cap/22-bind.png) |
+|:--:|
+| *Domain editor screen in v2.2.* |
+
+Use the drop down on the Bind to IP field to select the desired IP, whis IP can not be the external one and is shown here for refernece,
+when using server resolution the external IP of this nic will be used instead.
+
+Selecting "" the binding logics will not be executed for the specific domain and the update call can be routed for any of the available internet connections.
diff --git a/res/cap/22-bind.png b/res/cap/22-bind.png
new file mode 100644
index 0000000..e15ccb7
Binary files /dev/null and b/res/cap/22-bind.png differ