External IP Address
2 messages, 16 Mar 2014. Started by Sam Michaels.
Sam Michaels, Wladimir J. van der Laan
Hello devs.
I was poking around in the code for a small project and I came across the function GetMyExternalIP() in net.cpp. The comment says you'd like to phase out the current method.
I threw together exactly what was asked in the comments: it's a site that has PHP echo the IP address. Additionally, it captures the IP, user agent, and time for analysis (a client with the same IP and user agent just updates the entry).
The site for the client is: ip.bitcheck.us. It does a quick search for "Mozilla" in the user agent to redirect browers that go there.
The following information is sent:
--- GET / HTTP/1.1 Host: ip.bitcheck.us User-Agent: /Satoshi:0.8.6/ Connection: close ---
And following is received:
--- HTTP/1.1 200 OK Date: Sun, 16 Mar 2014 05:31:51 GMT Server: Apache mod_fcgid/2.3.10-dev X-Powered-By: Satoshi v1.0 X-Client-Update: yes Content-Length: 9 Connection: close Content-Type: text/html
127.0.0.1 ---
You can look for X-Client-Update to see if the check in was logged. Other information can be passed in the header, too.
Errors are trapped so that it will always display the IP address and any error information is contained in the headers.
Hope you find this useful.
Sam
Sam,
On Sun, Mar 16, 2014 at 8:04 AM, Sam Michaels <sam@samtheham•org> wrote:
Quoted text (8 lines)
> You can look for X-Client-Update to see if the check in was logged. Other > information can be passed in the header, too. > > Errors are trapped so that it will always display the IP address and any > error information is contained in the headers. > > Hope you find this useful. >
Thanks for your effort.
However the current idea is to phase out reliance on centralized external services completely in favor of peer-based address detection.
See https://github.com/bitcoin/bitcoin/pull/3461
Wladimir