> For the complete documentation index, see [llms.txt](https://docs.ipcheck.ing/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ipcheck.ing/developer/ru/welcome.md).

# Добро пожаловать

**MyIP** — это опенсорсный IP-инструментарий: поиск IP по нескольким источникам, тесты подключения, обнаружение WebRTC и DNS-утечек, тест скорости, глобальные тесты задержки и MTR, Whois, DNS-резолвер, проверки цензуры, отпечаток браузера и многое другое — всё в одном приложении, которое можно самостоятельно хостить и которое поставляется как один Docker-образ.

<button type="button" class="button primary" data-action="ask" data-icon="gitbook-assistant">Задайте вопрос…</button>

<button type="button" class="button secondary" data-action="ask" data-query="How do I deploy MyIP with Docker?" data-icon="docker">Развертывание с Docker</button><button type="button" class="button secondary" data-action="ask" data-query="How do I set up MaxMind GeoLite2 for MyIP?" data-icon="database">Настроить MaxMind</button><button type="button" class="button secondary" data-action="ask" data-query="How do I add a new tool to MyIP?" data-icon="wand-magic-sparkles">Добавить новый инструмент</button><button type="button" class="button secondary" data-action="ask" data-query="How do I contribute to MyIP?" data-icon="code-pull-request">Внести вклад</button>

{% hint style="success" icon="globe" %}
**Посмотреть вживую** — официальная инстанция работает на [ipcheck.ing](https://ipcheck.ing). Всё, что вы там видите, вы получите и при самостоятельном хостинге.
{% endhint %}

## С чего начать

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><h3><i class="fa-rocket-launch" style="color:$primary;">:rocket-launch:</i></h3></td><td><h4><strong>Начало работы</strong></h4></td><td>Разверните свою инстанцию с помощью Docker или Node.js.</td><td><a href="/pages/6bd980a8fda96762ae011769916b6fea3bc31da6">/pages/6bd980a8fda96762ae011769916b6fea3bc31da6</a></td></tr><tr><td><h3><i class="fa-sliders" style="color:$success;">:sliders:</i></h3></td><td><h4><strong>Конфигурация</strong></h4></td><td>API-ключи, безопасность, логирование, мониторинг — всё необязательно.</td><td><a href="/pages/b4a5c8c21f4c5b668bb75b1d82f879840c064b68">/pages/b4a5c8c21f4c5b668bb75b1d82f879840c064b68</a></td></tr><tr><td><h3><i class="fa-sitemap" style="color:$warning;">:sitemap:</i></h3></td><td><h4><strong>Архитектура</strong></h4></td><td>Как взаимодействуют фронтенд, бэкенд и уровни данных.</td><td><a href="/pages/1d12f308947d28d6a2a10b0e9776e52afe7aa4f9">/pages/1d12f308947d28d6a2a10b0e9776e52afe7aa4f9</a></td></tr><tr><td><h3><i class="fa-code" style="color:$info;">:code:</i></h3></td><td><h4><strong>Разработка</strong></h4></td><td>Соглашения, i18n, тесты и добавление собственных инструментов.</td><td><a href="/pages/a14387e5b3bd562263da62a811b4d3628df22cd2">/pages/a14387e5b3bd562263da62a811b4d3628df22cd2</a></td></tr><tr><td><h3><i class="fa-code-pull-request" style="color:$danger;">:code-pull-request:</i></h3></td><td><h4><strong>Участие в разработке</strong></h4></td><td>Дисциплина веток, рекомендации по PR и стиль коммитов.</td><td><a href="/pages/c4206d0bd79a74caeaf226130cefcecf3c7f4e45">/pages/c4206d0bd79a74caeaf226130cefcecf3c7f4e45</a></td></tr><tr><td><h3><i class="fa-book-open" style="color:$primary;">:book-open:</i></h3></td><td><h4><strong>Справочник</strong></h4></td><td>Каждая переменная окружения, каждый API-эндпоинт и FAQ.</td><td><a href="/pages/70931d88a1111dae97a01c8f9cb0af1983bd415c">/pages/70931d88a1111dae97a01c8f9cb0af1983bd415c</a></td></tr></tbody></table>

{% columns %}
{% column width="50%" %}

## Разверните за минуты

MyIP поставляется как один Docker-образ, содержащий обе части приложения: **Vue 3** одностраничный фронтенд на **Express 5** бэкендовый API.

Единственное обязательное требование — пара бесплатных **MaxMind GeoLite2** учётных данных — они обеспечивают геолокацию IP и поиск ASN во всём приложении.

{% hint style="warning" icon="triangle-exclamation" %}
**Не пропускайте MaxMind.** Новый контейнер без учётных данных MaxMind запускается нормально, но геолокация IP и значки стран остаются неработающими. Настройка занимает пять минут и ничего не стоит — см. [Настройка MaxMind](/developer/ru/getting-started/maxmind-setup.md).
{% endhint %}

{% hint style="info" icon="server" %}
**Предпочитаете bare metal?** Вы можете запускать MyIP напрямую с Node.js и pnpm, с необязательным управлением процессами через pm2 — см. [Развертывание с Node.js](/developer/ru/getting-started/deploy-with-nodejs.md).
{% endhint %}

<a href="/pages/6bd980a8fda96762ae011769916b6fea3bc31da6" class="button primary" data-icon="rocket-launch">Быстрый старт</a> <a href="/pages/70931d88a1111dae97a01c8f9cb0af1983bd415c" class="button secondary" data-icon="gear">Переменные окружения</a>
{% endcolumn %}

{% column width="50%" %}
{% stepper %}
{% step %}

#### Получить учётные данные MaxMind

Создайте бесплатный [аккаунт GeoLite2](https://www.maxmind.com/en/geolite2/signup) и сгенерируйте лицензионный ключ.
{% endstep %}

{% step %}

#### Запустите контейнер

{% code overflow="wrap" %}

```bash
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" \
  --name myip --restart always \
  jason5ng32/myip:latest
```

{% endcode %}
{% endstep %}

{% step %}

#### Откройте свою инстанцию

Перейдите на `http://localhost:18966` — базы данных GeoLite2 автоматически загружаются примерно через минуту после первого запуска.
{% endstep %}
{% endstepper %}
{% endcolumn %}
{% endcolumns %}

## Популярные страницы

{% columns %}
{% column %}

### Для тех, кто разворачивает

{% content-ref url="/pages/10ec84fb12af13c3310cffb7b83a95dd8c6042fb" %}
[Развертывание с Docker](/developer/ru/getting-started/deploy-with-docker.md)
{% endcontent-ref %}

{% content-ref url="/pages/12b2905ed6935ee25b02faf2bb420bf8d71df819" %}
[Настройка MaxMind (обязательно)](/developer/ru/getting-started/maxmind-setup.md)
{% endcontent-ref %}

{% content-ref url="/pages/f87cfe8664bcf6eef8a0a418ca34c163c1316b7a" %}
[Обратный прокси и домены](/developer/ru/getting-started/reverse-proxy-and-domains.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}

### Для разработчиков

{% content-ref url="/pages/e42650217118157871b5ddaa747b1041fdff111c" %}
[Добавление нового инструмента](/developer/ru/development/adding-a-new-tool.md)
{% endcontent-ref %}

{% content-ref url="/pages/6e05a2e9a2341c63f8d556b80bdfc2b0ca4ba83b" %}
[Источники IP-данных](/developer/ru/architecture/ip-data-sources.md)
{% endcontent-ref %}

{% content-ref url="/pages/80e49103060900b43518da3b91e50532050b223e" %}
[API-эндпоинты](/developer/ru/reference/api-endpoints.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}

### Когда возникли трудности

{% content-ref url="/pages/0471bb4cbd8b013041cad9074a9aef0eac35c2a2" %}
[Часто задаваемые вопросы](/developer/ru/reference/faq.md)
{% endcontent-ref %}

{% content-ref url="/pages/578a41baf6e3f47352a74bf7fef4ac82e2ead22e" %}
[Функции, связанные с IPCheck.ing](/developer/ru/configuration/features-tied-to-ipcheck-ing.md)
{% endcontent-ref %}

{% content-ref url="/pages/949f258c5d0c7d2bc9da9c28b3fb83e5502e3614" %}
[Сообщение о проблемах](/developer/ru/contributing/reporting-issues.md)
{% endcontent-ref %}
{% endcolumn %}
{% endcolumns %}

<h2 align="center">Проект с открытым исходным кодом, создаваемый открыто</h2>

<p align="center">MyIP распространяется под лицензией MIT и размещён на GitHub. Поставьте звезду, форкните его или отправьте свой первый PR.</p>

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><h4><i class="fa-github">:github:</i></h4></td><td><strong>GitHub</strong></td><td>Исходный код, баг-репорты и pull request'ы. Приветствуются вклады любого масштаба.</td><td><a href="https://github.com/jason5ng32/MyIP" class="button secondary">Откройте репозиторий</a></td><td><a href="https://github.com/jason5ng32/MyIP">https://github.com/jason5ng32/MyIP</a></td></tr><tr><td><h4><i class="fa-docker">:docker:</i></h4></td><td><strong>Docker Hub</strong></td><td>Официальный образ, пересобираемый при каждом релизе. Один pull — обе части приложения.</td><td><a href="https://hub.docker.com/r/jason5ng32/myip" class="button secondary">Скачайте образ</a></td><td><a href="https://hub.docker.com/r/jason5ng32/myip">https://hub.docker.com/r/jason5ng32/myip</a></td></tr></tbody></table>

***

Ищете помощь **по использованию** приложения — что делает каждый инструмент, как диагностировать сетевые проблемы, сетевые концепции? Перейдите в **Базу знаний** вместо этого; эти страницы предназначены для тех, кто разворачивает, форкает или участвует в разработке MyIP.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.ipcheck.ing/developer/ru/welcome.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
