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.1K ·GitHub
Что это такое?MyIP — это универсальный набор инструментов для работы с IP, который можно развернуть на своём сервере. Он проверяет ваш IP и геолокацию по нескольким источникам, тестирует утечки WebRTC и DNS, проводит проверки качества IP и отпечатка браузера, измеряет скорость, задержку по всему миру и маршрут MTR, выполняет Whois-запросы, проверяет блокировки и многое другое.
Это библиотека или приложение, которое я разворачиваю сам?Это самостоятельно размещаемое веб-приложение, которое вы запускаете сами (через Docker или Node.js). Это не CLI-инструмент и не библиотека: оно отдаёт браузерный интерфейс и работает на бэкенде на Node.
Как его запустить?Разверните официальный образ Docker одной командой (или нажмите кнопку 'Deploy with Docker'), либо клонируйте репозиторий, установите зависимости через pnpm, соберите проект и запустите его. Версия на Node стартует на порту 18966.
Что нужно настроить перед использованием?Помимо Node.js и pnpm для ручной установки, понадобятся бесплатные учётные данные MaxMind GeoLite2, так как они обеспечивают геолокацию IP и поиск по ASN.
Есть ли подводные камни при публикации на настоящем домене?Если сервис доступен по настоящему домену, а не по localhost, нужно задать ALLOWEDDOMAINS как список разрешённых имён хостов, иначе все запросы к API бэкенда будут отклоняться с ошибкой 403.
Можно ли установить его как обычное приложение?Веб-интерфейс можно установить как PWA на телефон и как приложение Chrome на компьютер. Кроме того, его можно разместить на любом сервере, где работает Docker или Node.js.
Куда попадают история моих IP и данные чек-листа?История IP и прогресс по чек-листу безопасности из 258 пунктов хранятся только в вашем браузере и никогда не отправляются на сервер.
Что именно показывают тесты утечек WebRTC и DNS?WebRTC Detection показывает IP, который раскрывается при WebRTC-соединениях, и включена ли защита конфиденциальности в вашем браузере. DNS Leak Test показывает, какие DNS-серверы реально обрабатывают ваши запросы. Это полезно для выявления утечек при использовании VPN или прокси.
Можно ли проверить, заблокирован ли сайт в других странах?Да, проверка блокировок показывает, в каких странах мира заблокирован нужный сайт и каким способом.
Можно ли поделиться результатами диагностики с кем-то другим?Да, отчёты для шаринга превращают результаты в ссылку только для чтения с автоматическим истечением срока действия, а также поддерживают экспорт в Markdown или JSON, удобный для ИИ.
Умеет ли он делать что-то кроме проверки моего соединения?Он также показывает статус сервисов в реальном времени для известных провайдеров, таких как Claude, OpenAI, GitHub и Cloudflare, и содержит панель 'Earth Online', которая транслирует события глобальных сбоев интернета.
Creator
jason5ng32
Size
779.2 MB
Stars
12.1K
Age
2y
Commits · 90 Days