> 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/zh/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/ab91c2aba5b9b8f1a71313c04e98815c9acbc623">/pages/ab91c2aba5b9b8f1a71313c04e98815c9acbc623</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/1507b043245cab335355c8f39e7d74fe1175df07">/pages/1507b043245cab335355c8f39e7d74fe1175df07</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/e459ba84007c28dd8aeb784610056322fbae9ea3">/pages/e459ba84007c28dd8aeb784610056322fbae9ea3</a></td></tr><tr><td><h3><i class="fa-code" style="color:$info;">:code:</i></h3></td><td><h4><strong>开发</strong></h4></td><td>约定、国际化、测试，以及添加你自己的工具。</td><td><a href="/pages/fb655c6296551f0bd9b6bfb40308e1199df3ef90">/pages/fb655c6296551f0bd9b6bfb40308e1199df3ef90</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/4e047054efe1b5abf35dc39fb07953d3688fe17a">/pages/4e047054efe1b5abf35dc39fb07953d3688fe17a</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 端点，以及常见问题解答。</td><td><a href="/pages/2f48e73177bdfdfa886cdb935ed8a45568077608">/pages/2f48e73177bdfdfa886cdb935ed8a45568077608</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/zh/getting-started/maxmind-setup.md).
{% endhint %}

{% hint style="info" icon="server" %}
**更喜欢裸机部署？** 你可以直接使用 Node.js 和 pnpm 运行 MyIP，并可选使用 pm2 进程管理——参见 [使用 Node.js 部署](/developer/zh/getting-started/deploy-with-nodejs.md).
{% endhint %}

<a href="/pages/ab91c2aba5b9b8f1a71313c04e98815c9acbc623" class="button primary" data-icon="rocket-launch">快速开始</a> <a href="/pages/2f48e73177bdfdfa886cdb935ed8a45568077608" 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/d244d34df4d6788b9e7f9e46dc9b18f5a54bcb15" %}
[使用 Docker 部署](/developer/zh/getting-started/deploy-with-docker.md)
{% endcontent-ref %}

{% content-ref url="/pages/d8fe2a12fb6925eea8dd6c0cee113877edba22f5" %}
[MaxMind 设置（必需）](/developer/zh/getting-started/maxmind-setup.md)
{% endcontent-ref %}

{% content-ref url="/pages/08f25b8aa74be03262399810be4baac5c4d6604e" %}
[反向代理与域名](/developer/zh/getting-started/reverse-proxy-and-domains.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}

### 面向开发者

{% content-ref url="/pages/d5944656dd506190af17c48b63d5eea97ae11fe8" %}
[添加新工具](/developer/zh/development/adding-a-new-tool.md)
{% endcontent-ref %}

{% content-ref url="/pages/2bb19f64c3e618277bddbfc90947d608fb3ac705" %}
[IP 数据源](/developer/zh/architecture/ip-data-sources.md)
{% endcontent-ref %}

{% content-ref url="/pages/da5822dc8e46ff758c8c5d6a5e45c9a0f0009183" %}
[API 端点](/developer/zh/reference/api-endpoints.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}

### 遇到问题时

{% content-ref url="/pages/6a6b300530fb0ea4f227b4c3d94ee899214e296f" %}
[常见问题](/developer/zh/reference/faq.md)
{% endcontent-ref %}

{% content-ref url="/pages/7ca7565317487c6c1259c6c63c164981d850b95f" %}
[与 IPCheck.ing 绑定的功能](/developer/zh/configuration/features-tied-to-ipcheck-ing.md)
{% endcontent-ref %}

{% content-ref url="/pages/3cddc8dd851f5e912809893082af8b0dcecc9dc6" %}
[报告问题](/developer/zh/contributing/reporting-issues.md)
{% endcontent-ref %}
{% endcolumn %}
{% endcolumns %}

<h2 align="center">一个开源项目，在公开环境中构建</h2>

<p align="center">MyIP 采用 MIT 许可证，并托管在 GitHub 上。欢迎给它点 Star、Fork，或提交你的第一份 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>源代码、问题和拉取请求。欢迎各种规模的贡献。</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>官方镜像，每次发布都会重新构建。一次拉取，应用两部分都得到。</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>

***

在寻找帮助 **使用** 应用——每个工具的作用、如何诊断网络问题、网络概念？请前往 **知识库** ；这些页面是为部署、Fork 或为 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/zh/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.
