

[](https://github.com/awesome-selfhosted/awesome-selfhosted)



[](https://ipcheck.ing)



[](https://github.com/jason5ng32/MyIP/actions/workflows/ci.yml)
[English](README.md) | [็ฎไฝไธญๆ](README_ZH.md) | [็น้ซไธญๆ](README_ZH-TW.md) | [ะ ัััะบะธะน](README_RU.md) | [Franรงais](README_FR.md) | [Portuguรชs (BR)](README_PT-BR.md) | [Shqip](README_SQ.md) | [เนเธเธข](README_TH.md) | [เคนเคฟเคจเฅเคฆเฅ](README_HI.md) | [Tรผrkรงe](README_TR.md)
An open-source, all-in-one IP toolbox: IP lookup from multiple sources, connectivity tests, WebRTC & DNS-leak detection, speed test, MTR, censorship checks, Whois, and more โ self-hostable with one Docker command.
๐ Demo: [https://ipcheck.ing](https://ipcheck.ing)
Feel free to bookmark the demo or deploy your own.
[](https://hub.docker.com/r/jason5ng32/myip)
## ๐ Features
### ๐ชช Your IP & Identity
* ๐ **IP Cards**: Detects your IPv4 and IPv6 from multiple independent sources side by side โ country, region, city, ASN, organization, and the IP's local time zone.
* ๐ **Query IP**: Looks up the same detailed information for any IP address you're curious about.
* ๐งพ **IP History**: Keeps a local record of the IPs you've been seen with, filterable by type and country โ stored in your browser only.
* ๐ฅ๏ธ **Browser Fingerprint**: Calculates your browser fingerprint in multiple ways and shows what makes you identifiable.
### ๐ต๏ธ Leaks & Privacy
* ๐ฅ **WebRTC Detection**: Reveals the IP address exposed during WebRTC connections โ including whether your browser's privacy hardening is on.
* ๐ **DNS Leak Test**: Shows which DNS endpoints resolve your queries, to evaluate the risk of DNS leaks when using VPNs or proxies.
* ๐ก๏ธ **Ad & Tracker Blocking Test**: Checks what your ad blocker, browser, DNS filter, VPN or router actually blocks โ ad networks, analytics, social trackers, error monitoring, device-maker telemetry, tracking scripts and element hiding.
* ๐ **Security Checklist**: A 258-item personal cybersecurity checklist across 12 areas, with progress saved in your browser.
### ๐ก Network Tests
* ๐ฆ **Connectivity Check**: Tests the reachability of up to 60 sites of your choice, with multi-round minimum-latency results โ plus curated import lists, from country packs to AI, social, streaming, gaming, developer, and more. Based on the results, it signals whether global internet access is currently feasible for you.
* ๐ **Speed Test**: Measures your download, upload, and latency against edge networks.
* โฑ๏ธ **Global Latency Test**: Pings your target from probes all over the world โ pick countries from all available Globalping probes, grouped by continent.
* ๐ **MTR Test**: Runs MTR from globally distributed probes to see the route packets actually take.
* ๐ง **Censorship Check**: Shows where a website is blocked worldwide โ and by what means.
* ๐ **Proxy Rule Test**: Verifies that your proxy software's rule configuration works the way you intended.
### ๐ฆ Lookup & Infrastructure
* ๐ **DNS Resolver**: Resolves a domain through multiple resolvers at once, grouped by country โ an easy way to spot hijacking or contamination.
* ๐ **Whois Search**: Performs Whois lookups for domain names, IP addresses, and AS numbers.
* ๐๏ธ **MAC Lookup**: Identifies the vendor and details behind a physical address.
* ๐งฎ **IP Calculator**: Subnet math, notation conversions and IPv6 interface details for any IP, prefix, range or list, computed locally.
* ๐งพ **Bulk IP Lookup**: Paste IP lists or raw server logs (Nginx, Apache, firewall, CDNโฆ) to geolocate all their IPs at once.
* ๐ฐ๏ธ **ASN Info & Upstream Topology**: Right on each IP card โ AS details, historical announcements for the IP's prefix, and the upstream paths from its ASN to the Tier 1 backbone.
* ๐ **ASN Profile**: The full picture of any AS โ registration with the raw Whois record, global rank and size, traffic and connection quality, where its IPv4 space is used, every announced prefix with its RPKI status, its upstreams, peers and customers, and the internet exchanges and data centers where it is present.
* ๐ถ **Service Status**: Live availability of well-known services โ Claude, OpenAI, GitHub, Cloudflare, and more โ from their official status pages, with recent incidents.
### โจ Platform
* ๐ค **Shareable Reports**: Turn your test results into a diagnostic report โ a read-only link with auto-expiry, AI-ready Markdown, or JSON.
* โจ๏ธ **Curl API**: Get your IP from the terminal with a single `curl` command.
* ๐ **Earth Online**: A panel broadcasting global internet outage events as they happen.
* ๐ **Dark Mode**: Follows your system automatically, with a manual toggle.
* ๐ฒ **PWA**: Installable as an app on your phone and as a Chrome app on your desktop.
* โก **Keyboard Shortcuts**: Every function has one โ press `?` to see the list.
* ๐ค **Multiple Languages**: The UI ships in 6 languages, and adding yours takes one locale pack.
## ๐ How to Use
### Using Docker
One command and you're up:
```bash
docker run -d -p 18966:18966 --name myip --restart always jason5ng32/myip:latest
```
Or click the "Deploy with Docker" button at the top of this page.
### Deploying in a Node Environment
Make sure you have Node.js installed, then clone the code:
```bash
git clone https://github.com/jason5ng32/MyIP.git
```
Install and build. This project uses pnpm โ if you don't have it, install it first (npm ships with Node, so this command always works):
```bash
npm install -g pnpm
pnpm install && pnpm run build
```
Run:
```bash
pnpm start
```
The program will run on port 18966.
## โ๏ธ Configuration
> [!IMPORTANT]
> **MaxMind GeoLite2 credentials are required.** They power IP geolocation and ASN lookups โ without them, the MaxMind source returns 503. They're free: โ [MaxMind Setup](https://docs.ipcheck.ing/developer/getting-started/maxmind-setup)
> [!WARNING]
> **`ALLOWED_DOMAINS` is required on a real domain.** It's the hostname allowlist for the backend API โ without it, every request from a non-localhost domain gets 403. โ [Reverse Proxy & Domains](https://docs.ipcheck.ing/developer/getting-started/reverse-proxy-and-domains)
```bash
docker run -d -p 18966:18966 \
-e MAXMIND_ACCOUNT_ID="YOUR_ACCOUNT_ID" \
-e MAXMIND_LICENSE_KEY="YOUR_LICENSE_KEY" \
-e DATASET_AUTO_UPDATE="true" \
-e ALLOWED_DOMAINS="your-domain.com" \
--name myip --restart always \
jason5ng32/myip:latest
```
Everything else โ optional API keys, security & rate limiting, logging, Sentry, the curl API domains โ is documented in the [Environment Variables reference](https://docs.ipcheck.ing/developer/reference/environment-variables).
## ๐ Documentation
Full guides live in the MyIP Docs Center: **[docs.ipcheck.ing](https://docs.ipcheck.ing)**
* [Developer Guide](https://docs.ipcheck.ing/developer) โ deployment, configuration, architecture, and contributing
* [Knowledge Base](https://docs.ipcheck.ing/knowledge-base) โ how to use every tool, step-by-step network diagnosis, and networking concepts
## ๐ค Contributing
Contributions are welcome! We keep a curated set of beginner-friendly tasks โ each with exact file paths, acceptance criteria, and tests that guide you to a green build:
* ๐ท๏ธ [Good first issues](https://github.com/jason5ng32/MyIP/labels/good%20first%20issue) โ add a DNS resolver from your country, add curated site lists, translate the README into your language, polish translations, and more
* ๐ [TRANSLATING.md](TRANSLATING.md) โ bring the UI to your language: a locale pack plus one registry line, and a **partial translation is a welcome first PR**
* ๐ [CONTRIBUTING.md](CONTRIBUTING.md) โ setup, conventions, and how PRs flow (target the `dev` branch)
## ๐ฉ๐ปโ๐ป Advanced Usage