explaingit

jason5ng32/myip

10,353VueAudience · ops devopsComplexity · 3/5Setup · moderate

TLDR

A self-hosted web toolbox that shows your public IP addresses and runs network diagnostics like DNS leak tests, VPN checks, and global latency pings.

Mindmap

mindmap
  root((myip))
    What it does
      Show public IPs
      DNS leak test
      WebRTC check
      Latency pings
    Diagnostics
      Website availability
      Whois lookup
      Censorship check
      MTR tracing
    Setup
      Node.js or Docker
      MaxMind API key
      Dark mode PWA
    Audience
      VPN users
      Network admins
      Privacy conscious
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Check whether your VPN is actually hiding your real IP address and routing DNS correctly.

USE CASE 2

Run a WebRTC leak test to see what IP your browser exposes during video or audio calls.

USE CASE 3

Test whether specific websites like YouTube or Google are reachable from your current network location.

USE CASE 4

Measure latency to servers in different parts of the world to diagnose slow connections.

Tech stack

VueNode.jsDocker

Getting it running

Difficulty · moderate Time to first run · 30min

Requires a free MaxMind account and license key for IP geolocation, without it, country/region info will not display.

In plain English

MyIP is a web-based toolbox that collects a broad set of network and IP diagnostic tools into a single interface. The primary thing it does is show you your public IP address or addresses as seen by different services around the internet, which can differ depending on whether IPv4 or IPv6 is in use and whether you are behind a VPN or proxy. Beyond displaying your IPs, the tool includes a DNS leak test to check whether your DNS queries are being routed correctly when using a VPN, a WebRTC detection check that reveals what IP your browser exposes during video or audio calls, a website availability checker that tests whether specific services like Google or YouTube are reachable from your location, and a global latency test that pings servers in different parts of the world. It also includes MTR testing, which is a more detailed form of network route tracing, as well as Whois lookups, domain DNS resolution from multiple sources, and a censorship check to see whether certain websites are blocked in specific countries. The tool runs as a self-hosted web application. You can deploy it on a machine with Node.js or run it as a container using Docker. A public demo is available at ipcheck.ing if you want to try it before setting up your own instance. It supports dark mode, works as a mobile-optimized progressive web app that can be added to a phone's home screen, and is available in English, Chinese, French, and Turkish. One dependency to be aware of: the IP geolocation features rely on databases from MaxMind, a third-party service. You need to create a free MaxMind account, generate a license key, and provide it as a configuration variable. Without it, the parts of the tool that show country or region information for IP addresses will not work. The Docker version requires this setup in particular because the database files are not bundled.

Copy-paste prompts

Prompt 1
I want to self-host MyIP on a Linux VPS using Docker. Write a docker-compose.yml that sets it up with the MaxMind GeoLite2 database configured via environment variable.
Prompt 2
I have MyIP running locally. Explain what each diagnostic tool on the page does and how to interpret the results when checking if my VPN is working correctly.
Prompt 3
Help me set up a free MaxMind account, generate a license key, and plug it into the MyIP Docker container so IP geolocation works.
Prompt 4
I want to add MyIP to my homelab dashboard. How do I expose it behind a reverse proxy like Nginx or Caddy with HTTPS?
Open on GitHub → Explain another repo

← jason5ng32 on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.