MyIP README

The project's README from github.com/jason5ng32/MyIP. As one markdown file: README.md.

🧰 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 CI

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

🕵️ Leaks & Privacy

📡 Network Tests

🔦 Lookup & Infrastructure

✨ Platform

📕 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

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

👩🏻‍💻 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

MyIP (jason5ng32/MyIP)

Searching Database…

12.2K ·GitHub
这是什么?MyIP 是一个可自行托管的一体化 IP 工具箱:它能从多个数据源查询你的 IP 和地理位置,检测 WebRTC 与 DNS 泄露,进行 IP 质量和浏览器指纹检查、测速、全球延迟与 MTR 测试、Whois 查询、审查检测等。
这是一个需要我自己部署的应用,还是一个库?它是一个需要你自行运行的自托管 Web 应用(可通过 Docker 或 Node.js 部署),不是命令行工具,也不是库。它提供浏览器界面,后端基于 Node.js。
我该怎么让它跑起来?使用官方 Docker 镜像,一条命令即可部署(或点击 'Deploy with Docker' 按钮);也可以克隆仓库,用 pnpm 安装、构建后再运行。Node 版本会在 18966 端口启动。
使用之前需要配置什么?如果是手动安装,除了 Node.js 和 pnpm 之外,还需要免费的 MaxMind GeoLite2 凭据,因为 IP 地理位置和 ASN 查询都依赖它。
把它部署到正式域名上时有什么需要注意的吗?如果它通过正式域名而不是 localhost 访问,必须把 ALLOWEDDOMAINS 设置为主机名白名单,否则发往后端 API 的所有请求都会被以 403 拒绝。
我能像安装普通应用一样安装它吗?Web 界面可以作为 PWA 安装到手机上,也可以作为 Chrome 应用安装到桌面端;除此之外,它还能部署在任何运行 Docker 或 Node.js 的服务器上。
我的 IP 历史和清单数据会存到哪里去?你的 IP 历史记录和 258 项安全清单的进度只保存在你自己的浏览器中,从不会发送到服务器。
WebRTC 和 DNS 泄露测试具体显示什么?WebRTC 检测会显示 WebRTC 连接时暴露的 IP,以及你的浏览器隐私加固功能是否已开启;DNS 泄露测试则显示哪些 DNS 端点实际解析了你的查询。在使用 VPN 或代理时,这有助于发现泄露。
我能查看某个网站在其他国家是否被封锁吗?可以。审查检测功能会显示某个网站在全球哪些地区被封锁,以及采用的封锁方式。
我能把诊断结果分享给别人吗?可以。可分享报告会把你的结果生成为只读链接,并且会自动过期;另外还支持导出适合 AI 使用的 Markdown 或 JSON 格式。
它不只是检查我自己的连接吧?它还会显示 Claude、OpenAI、GitHub、Cloudflare 等知名服务商的实时服务状态,并提供 'Earth Online' 面板,播报全球互联网的故障事件。
Creator
jason5ng32
Size
778.9 MB
Stars
12.2K
Age
2y
Commits · 90 Days