From 11c6766095b419f726068c6dfb17f667bf80f5c3 Mon Sep 17 00:00:00 2001 From: orignal Date: Sun, 1 Oct 2017 17:53:28 -0400 Subject: [PATCH] correct addresses to detect own IP --- src/net.cpp | 69 ++++++++++++++++++++++++----------------------------- 1 file changed, 31 insertions(+), 38 deletions(-) diff --git a/src/net.cpp b/src/net.cpp index b7fba40..3b28f75 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -377,45 +377,38 @@ bool GetMyExternalIP(CNetAddr& ipRet) // replacements, we should ask for volunteers to put this simple // php file on their web server that prints the client IP: // - if (nHost == 1) - { - addrConnect = CService("91.198.22.70", 80); // checkip.dyndns.org - - if (nLookup == 1) - { - CService addrIP("checkip.dyndns.org", 80, true); - if (addrIP.IsValid()) - addrConnect = addrIP; - } - - pszGet = "GET / HTTP/1.1\r\n" - "Host: checkip.dyndns.org\r\n" - "User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)\r\n" - "Connection: close\r\n" - "\r\n"; - - pszKeyword = "Address:"; - } - else if (nHost == 2) - { - addrConnect = CService("74.208.43.192", 80); // www.showmyip.com - - if (nLookup == 1) - { - CService addrIP("www.showmyip.com", 80, true); - if (addrIP.IsValid()) - addrConnect = addrIP; - } - - pszGet = "GET /simple/ HTTP/1.1\r\n" - "Host: www.showmyip.com\r\n" - "User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)\r\n" - "Connection: close\r\n" - "\r\n"; - - pszKeyword = NULL; // Returns just IP address - } + switch(nHost) { + case 1 : + addrConnect = CService("66.171.248.178", 80); // whatismyipaddress.com has a bot too + if (nLookup == 1) { + CService addrIP("bot.whatismyipaddress.com", 80, true); + if (addrIP.IsValid()) + addrConnect = addrIP; + } + pszGet = "GET / HTTP/1.1\r\n" + "Host: bot.whatismyipaddress.com\r\n" + "User-Agent: Mozilla/4.0\r\n" + "Connection: close\r\n" + "\r\n"; + pszKeyword = NULL; + break; + case 2 : + addrConnect = CService("216.146.43.71", 80); // checkip.dyndns.org + if (nLookup == 1) { + CService addrIP("checkip.dyndns.org", 80, true); + if (addrIP.IsValid()) + addrConnect = addrIP; + } + pszGet = "GET / HTTP/1.1\r\n" + "Host: checkip.dyndns.org\r\n" + "User-Agent: Mozilla/4.0\r\n" + "Connection: close\r\n" + "\r\n"; + pszKeyword = "Address:"; + break; + } + if (GetMyExternalIP2(addrConnect, pszGet, pszKeyword, ipRet)) return true; }