# 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.snapdns.eu] 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 ~> curl -Ls ip.snapdns.eu 91.62.68.1 ``` ## Detailed return Example: [/detailed](https://ip4.snapdns.eu/detailed) 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.snapdns.eu 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.snapdns.eu/dns/example.com) * Example IP: [/ip/8.8.8.8](https://ip.snapdns.eu/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. ## 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`.