External IP Address

External IP Address
2014-03-16 10:22 ` Wladimir
  
From: Sam Michaels @ 2014-03-16  7:04 UTC (permalink / raw)
  To: bitcoin-development

[-- Attachment #1: Type: text/plain, Size: 1211 bytes --]

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

[-- Attachment #2: Type: text/html, Size: 1765 bytes --]

 permalink raw reply	[|nested]
2014-03-16  7:04 [Bitcoin-development] External IP Address Sam Michaels

  
From: Wladimir @ 2014-03-16 10:22 UTC (permalink / raw)
  To: Sam Michaels;  Bitcoin Dev

[-- Attachment #1: Type: text/plain, Size: 586 bytes --]

Sam,

On Sun, Mar 16, 2014 at 8:04 AM, Sam Michaels <sam@samtheham•org> wrote:

> 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

[-- Attachment #2: Type: text/html, Size: 1240 bytes --]

 permalink raw reply	[|nested]