Skip to content
 
 

Latest commit

 

History

1,577 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

👉 Demo: https://ipcheck.ing

Feel free to bookmark the demo or deploy your own.

Deploy with Docker

👀 Main Features

  • 🛜 View Your IPs: Detects and displays your local IPs, sourcing from multiple IPv4 and IPv6 providers.
  • 🔍 Search IP Information: Provides a tool for querying information about any IP address.
  • 🕵️ IP Information: Presents detailed information for all IP addresses, including country, region, ASN, geographic location, and more.
  • 🛰️ ASN History & Upstream Topology: View historical AS announcements for an IP prefix, and visualize the upstream paths from an ASN to the Tier 1 backbone networks.
  • 🚦 Availability Check: Tests the accessibility of various websites, such as Google, GitHub, YouTube, ChatGPT, and others.
  • 📡 Service Status: Shows the live availability of well-known services (Claude, OpenAI, GitHub, Cloudflare, and more) from their official status pages, with per-service status and recent incidents.
  • 🚥 WebRTC Detection: Identifies the IP address used during WebRTC connections.
  • 🛑 DNS Leak Test: Shows DNS endpoint data to evaluate the risk of DNS leaks when using VPNs or proxies.
  • 🚀 Speed Test:Test your network speed with edge networks.
  • 🚏 Proxy Rule Testing: Test the rule settings of proxy software to ensure their correctness.
  • ⏱️ Global Latency Test: Performe lantency tests on servers located in different regions around the world.
  • 🚉 MTR Test: Perform MTR tests on servers located in different regions around the world.
  • 🔦 DNS Resolver: Performs DNS resolution of a domain name from multiple sources and obtains real-time resolution results that can be used for contamination determination.
  • 🚧 Censorship Check: Check if a website is blocked in some countries.
  • 📓 Whois Search: Perform whois information search for domain names or IP addresses
  • 📀 MAC Lookup: Query information of a physical address
  • 🖥️ Browser Fingerprints:Multiple ways to caculate your browser fingerprint
  • 📋 Cybersecurity Checklist:A comprehensive cybersecurity checklist with a total of 258 items

💪 Also

  • 🌗 Dark Mode: Automatically toggles between dark and daylight modes based on system settings, with an option for manual switching.
  • 📲 PWA Supported:Can be added as a desktop app on your phone as well as a Chrome app on your computer.
  • ⌨️ Keyboard Shortcuts: Supports keyboard shortcuts for all functions, press ? to view the shortcut list.
  • 🌍 Based on availability test results, it indicates whether global internet access is currently feasible.
  • 🇺🇸 🇨🇳 🇷🇺 🇫🇷 English, Chinese, Russian, French support.

📕 How to Use

Deploying in a Node Environment

Make sure you have Node.js installed.

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.

Using Docker

Click the 'Deploy to Docker' button at the top to complete the deployment. Or, use the following shell:

docker run -d -p 18966:18966 --name myip --restart always jason5ng32/myip:latest

📖 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

⚙️ Configuration

Two settings matter before anything else:

  • MaxMind GeoLite2 (required) — free credentials that power IP geolocation and ASN lookups. Without them, the MaxMind source returns 503. → MaxMind Setup
  • ALLOWED_DOMAINS (required on a real domain) — 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.

👩🏻‍💻 Advanced Usage

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 a open source project, I'm very grateful to the following sponsors for their support:

1Password

Greptile

Sentry

GitBook

Cloudflare Project Alexandria

About

A better IP Toolbox. It allows you to view local IP, IP information after using a proxy, check for DNS leaks, examine WebRTC connections, and test website availability. || 🇨🇳 一个更好的 IP 工具箱。可以查看本机IP、挂代理后的IP信息、检查 DNS 泄露、检查 WebRTC 连接、测试网站可用性等。

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages