What is my IP address?

This is the address the internet sees when you connect: your router's, your operator's, or your VPN's, not the one of your computer on your local network.

From a terminal

The same address, as plain text:

curl https://r-no.fr/ip/my-ip/address

Transparency

Unlike the other tools of this site, this one has to ask the server: your browser does not know the address under which the internet sees it.

The one request
The page asks /ip/my-ip/address, on this same site. The server answers with the address the request came from, as plain text, and nothing else. This page's Content Security Policy allows no other destination (connect-src 'self') and no form submission.
What the server keeps
Every website receives your IP address with each request: that is how the answer finds its way back. Like every request to this site, this one is recorded in the server's access logs: your IP address, the date and time, the address requested and your browser's name. These logs are used to run and secure the server, and are never shared. For now they have no automatic retention limit; a log rotation is being set up. The answer itself is marked as not cacheable.
Where the address comes from
The reverse proxy in front of the site records the address of the connection it receives, and passes it on in a header that it rewrites itself: a visitor cannot make the page display another address by sending that header. Every deployment checks this too.
Code that runs here
  • app.js: asks for the address and displays it. Written for R-no Toolbox, not minified, no third-party library. 2.9 kB
    SHA-256 0bdd0f02a6924e63252a9581388c835c01ee389d747642987ff8910a366c14b0
  • textes.js: the French text of this page. It only defines texts, with no logic. 4.3 kB
    SHA-256 96118596952e1ec27b9c6458547a1ac17d63bdb22f69fde9dfa11c9e5c4bc0c7
  • /commun/langue.js: the language switcher, the same on every page of the site. It reads and writes only the language choice. 5.7 kB
    SHA-256 a41e6774538ae00aa6535d4ac2e7b482dd9134c7dcd2e0d9a1bf41b35b673ae7
  • On the server side, /ip/my-ip/address is a few lines of nginx configuration: the rule, the plain-text type, and no caching.
What is stored
No cookie, nothing in the address. Only your language choice, if you make one, is kept in this tab's sessionStorage until you close it.
Check it yourself
Download the script and compare its fingerprint with the one above:
curl -s https://r-no.fr/ip/my-ip/app.js | shasum -a 256
Limits
This site is reachable over IPv4 only for now: you will see your IPv4 address, even if your connection also has IPv6. No location, operator or reverse DNS name is shown: that would need a database or further lookups.
Source repository
The R-no Toolbox repository is private. The files listed above and the nginx rule described are the complete tool.