Skip to content
 
 

Latest commit

 

History

1,768 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧰 MyIP - A Better IP Toolbox

IPCheck.ing Banner

jason5ng32%2FMyIP | Trendshift

Mentioned in Awesome Self Hosted

GitHub Repo stars GitHub forks Docker Pulls

Website PWA

CodeQL Docker Build and Push

English | 简体中文 | 繁體中文 | Русский | Français | Português (BR)

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

Feel free to bookmark the demo or deploy your own.

Deploy with Docker

👀 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.
  • 📋 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 and IP addresses.
  • 🗄️ MAC Lookup: Identifies the vendor and details behind a physical address.
  • 🛰️ ASN Info & Upstream Topology: Shows AS details, historical announcements for an IP prefix, and the upstream paths from an ASN to the Tier 1 backbone.
  • 📶 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:

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:

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):

npm install -g pnpm
pnpm install && pnpm run build

Run:

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

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

docker run -d -p 18966:18966 \
  -e MAXMIND_ACCOUNT_ID="YOUR_ACCOUNT_ID" \
  -e MAXMIND_LICENSE_KEY="YOUR_LICENSE_KEY" \
  -e MAXMIND_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.

📖 Documentation

Full guides live in the MyIP Docs Center: docs.ipcheck.ing

  • Developer Guide — deployment, configuration, architecture, and contributing
  • 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 — add a DNS resolver from your country, add curated site lists, translate the README into your language, polish translations, and more
  • 🌐 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 — setup, conventions, and how PRs flow (target the dev branch)

👩🏻‍💻 Advanced Usage

Proxy rules for checking your real IP and your proxy IP at the same time

If you're using a proxy for internet access, consider adding this rule to your proxy configuration (modify it according to your client). This setup lets you check both your real IP and the IP when using the proxy:

# IP Testing
IP-CIDR,1.0.0.2/32,Proxy,no-resolve
IP-CIDR6,2606:4700:4700::1111/128,Proxy,no-resolve
DOMAIN,4.ipcheck.ing,DIRECT
DOMAIN,6.ipcheck.ing,DIRECT
# Rule Testing
DOMAIN,ptest-1.ipcheck.ing,Proxy1
DOMAIN,ptest-2.ipcheck.ing,Proxy2
DOMAIN,ptest-3.ipcheck.ing,Proxy3
DOMAIN,ptest-4.ipcheck.ing,Proxy4
DOMAIN,ptest-5.ipcheck.ing,Proxy5
DOMAIN,ptest-6.ipcheck.ing,Proxy6
DOMAIN,ptest-7.ipcheck.ing,Proxy7
DOMAIN,ptest-8.ipcheck.ing,Proxy8

💖 Sponsors

As an open source project, I'm very grateful to the following sponsors for their support:

1Password

Greptile

Sentry

GitBook

v.ps

Cloudflare Project Alexandria

📄 License

MIT © Jason Ng

About

The best IP Toolbox. Easy to check what's your IPs, IP geolocation, check for DNS leaks, examine WebRTC connections, speed test, ping test, MTR test, check website availability, whois search and more! || 🇨🇳 可能是最好用的IP工具箱。轻松检查你的 IP,IP 地理位置,检查DNS泄漏,检查 WebRTC 连接,速度测试,ping 测试,MTR测试,检查网站可用性,查询 Whois 信息等等。

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages