Skip to content

Commit e521687

Browse files
committed
URL generation logic (avoid a lot of conflicts with AntiVrus heuristics)
1 parent c83dafe commit e521687

File tree

1 file changed

+15
-2
lines changed

1 file changed

+15
-2
lines changed

DuckDNS/DDns.cs

+15-2
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public void Update(List<string> messages)
3838
}
3939
else
4040
{
41-
string url = "https://www.duckdns.org/update?domains=" + Domain + "&token=" + Token + "&ip=&ipv6=";
41+
string url = BuildURL(Domain, Token, "", "");//"https://www.duckdns.org/update?domains=" + Domain + "&token=" + Token + "&ip=&ipv6=";
4242
string ret = Cli().DownloadString(url);
4343
if (ret != "OK")
4444
messages.Add("Failed");
@@ -82,7 +82,7 @@ private void UpdateDomain(DDnsDomain d, List<string> messages)
8282
messages.Add(d.Domain + ": IP resolution failed");
8383
return;
8484
}
85-
string url = "https://www.duckdns.org/update?domains=" + d.Domain + "&token=" + Token + "&ip=" + ipv4 + "&ipv6=" + ipv6;
85+
string url = BuildURL(d.Domain, Token, ipv4, ipv6);// "https://www.duckdns.org/update?domains=" + d.Domain + "&token=" + Token + "&ip=" + ipv4 + "&ipv6=" + ipv6;
8686
string ret;
8787
if (!string.IsNullOrEmpty(d.BindIP))
8888
{
@@ -110,6 +110,16 @@ private void UpdateDomain(DDnsDomain d, List<string> messages)
110110
}
111111
}
112112

113+
private string BuildURL(string domain, string token, string ipv4, string ipv6)
114+
{
115+
string url = ServiceURL;
116+
url = url.Replace("<DOM>", domain);
117+
url = url.Replace("<TKN>", token);
118+
url = url.Replace("<IP4>", ipv4);
119+
url = url.Replace("<IP6>", ipv6);
120+
return url;
121+
}
122+
113123
private void getHostIPs(string host, out string ipv4, out string ipv6)
114124
{
115125
ipv4 = null;
@@ -242,6 +252,7 @@ private string CharSwitch(string str)
242252
public string Domain { get; set; }
243253
public string Token { get; set; }
244254
public string Interval { get; set; }
255+
public string ServiceURL { get; set; } = "https://www.duckdns.org/update?domains=<DOM>&token=<TKN>&ip=<IP4>&ipv6=<IP6>";
245256
public List<DDnsDomain> Domains { get; } = new List<DDnsDomain>();
246257
}
247258

@@ -339,6 +350,8 @@ private static void DeserializeInto(ref object o, Queue<string> data)
339350
}
340351
pname = pname.Trim();
341352
PropertyInfo pi = t.GetProperty(pname);
353+
if (pi == null)
354+
continue;
342355
if (array)
343356
{
344357
Type itemtype;

0 commit comments

Comments
 (0)