A simple PHP script to tell a visitor's IP address and more information. Similar to ipecho.net/plain, but better :)
Go to file
Max Mehl d8aba80029 make .git inaccessible via web 2023-06-14 13:39:19 +02:00
.gitignore initial release 2017-01-10 03:44:42 +01:00
.htaccess make .git inaccessible via web 2023-06-14 13:39:19 +02:00
LICENSE initial release 2017-01-10 03:44:42 +01:00
README.md Also allow custom IPs and domains to be looked-up 2017-09-18 23:56:11 +02:00
config.php.sample initial release 2017-01-10 03:44:42 +01:00
favicon.png add html header and favicon 2018-01-05 13:13:06 +01:00
index.php handle case if there is no hostname 2023-05-24 11:08:18 +02:00


IP Returner

A simple PHP script to tell a visitor's IP address and more information. This file is supposed to be on a webserver and can be configured by renaming config.php.sample to config.php.

Plain return

Example: [/][https://ip.nandus.net]

When the script is properly installed, one can visit/curl/wget the website to just receive one's public IP address. This is very useful in combination with other scripts (check out my snap-dyndns packages for example).

max@laptop ~> wget -qO - ip.nandus.net

Detailed return

Example: /myself

Given the location of the script is ip.example.com, you can also receive more information about the HTTP headers or the IP's reverse lookup:

HTTP_USER_AGENT: Mozilla/5.0 (X11; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/50.0
HTTP_HOST: ip4.nandus.net

HOSTNAME: p5B3E4401.dip0.t-ipconnect.de

Additionally you will be given a whois output of your IP.

Custom DNS and IP lookup

Example DNS: /dns/example.com Example IP: /ip/

You can also freely look up any hostname or IP. For domains, this will return a useful list of different DNS records (A, AAAA, NS, MX, TXT, SOA etc).

You will also be given a whois output of the domain or IP.

Ideal domain setup

In order to use IPv4- and IPv6-only domains, you'll have to have control over the DNS nameserver records of your own domain.

  • Set ip.example.com to be IPv4 (A Record) and IPv6 (AAAA Record) of your webserver
  • Set ip4.example.com to only be the IPv4 address
  • Set ip6.example.com to only be the IPv6 address

Make sure that the script is available through all those domains. Now your browser will use the default route for the ip subdomain, and the v4 or v6 route for the respective subdomains ip4 and ip6.