A simple PHP script to tell a visitor's IP address and more information. Similar to ipecho.net/plain, but better :)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

57 lines
2.0 KiB

5 years ago
# 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]
5 years ago
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
91.62.68.1
```
## Detailed return
Example: [/myself](https://ip4.nandus.net/myself)
5 years ago
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:
```
REMOTE_ADDR: 91.62.68.1
HTTP_X_FORWARDED_FOR: 91.62.68.1
HTTP_USER_AGENT: Mozilla/5.0 (X11; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/50.0
HTTP_CLIENT_IP:
HTTP_X_FORWARDED:
HTTP_FORWARDED_FOR:
HTTP_FORWARDED:
HTTP_HOST: ip4.nandus.net
HTTP_URI:
HOSTNAME: p5B3E4401.dip0.t-ipconnect.de
IPv4 REVERSE LOOKUP: 91.62.68.1
```
Additionally you will be given a whois output of your IP.
## Custom DNS and IP lookup
Example DNS: [/dns/example.com](https://ip.nandus.net/dns/example.com)
Example IP: [/ip/8.8.8.8](https://ip.nandus.net/ip/8.8.8.8)
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.
5 years ago
## 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`.