ifconfig.io完整入门如何用一条命令秒查公网IP极速自托管IP查询服务全解析【免费下载链接】ifconfig.io项目地址: https://gitcode.com/gh_mirrors/if/ifconfig.ioifconfig.io 是一款专为「纯速度」设计的开源自托管公网IP查询服务用 Go 语言编写单台服务器即可扛住 18,000 次/秒的查询请求而内存占用仅约 50MB。它受 ifconfig.me 启发却更快、更轻适合个人、团队或运维人员快速部署一套属于自己的 IP 查询工具。一、为什么选择 ifconfig.io⚡市面上查询公网 IP 的服务很多但大多数都偏「重」。ifconfig.io 把性能放在第一位几个关键数据足以说明它的实力18,000 请求/秒单服务器即可轻松应对高并发查询约 50MB 内存资源占用极低一台小 VPS 就能跑平均响应 42ms官方压测中10,000 个客户端同时发起 90,000 请求/秒依然稳定⚙️零内存分配设计基于 Go 的 gin 框架精心调优每个请求几乎不产生额外内存分配让垃圾回收GC压力降到最低核心逻辑集中在 main.go 这一个文件中页面模板位于templates/index.html整个项目结构极简阅读和维护成本都很低。二、一条命令秒查公网IPcurl 的魔法部署好服务后最惊艳的用法就是「一条命令出结果」。假设你的服务域名为ifconfig.example.comcurl ifconfig.example.com终端会直接返回你的公网 IP没有任何多余内容。这是怎么做到的关键在于命令行工具智能识别。服务会检查请求的 User-Agent如果发现是curl、Wget、PowerShell、ddclient、Mikrotik等命令行客户端就直接输出纯 IP 文本如果是浏览器访问则渲染完整的网页面板含 IP、远程主机名、国家代码、User Agent 等全部连接信息。这种设计让同一个服务同时满足两类场景️人用浏览器打开看到整洁的 IP 查询面板脚本用curl / crontab / 路由器 / 自动化脚本直接拿到干净的 IP 字符串三、端点全清单不只是查IP ifconfig.io 把一次 HTTP 请求中能拿到的信息都做成了独立端点非常适合自动化集成端点返回内容典型用途/ip公网 IP 地址脚本获取出口IP/host远程主机名DNS 反解结果/port客户端端口号连接调试/uaUser-Agent识别访问来源/langAccept-Language客户端语言偏好/encoding内容编码传输协商调试/method请求方法GET/POST 等/mimeAccept MIME 类型客户端类型判断/referer来源页面流量分析/forwardedX-Forwarded-For代理链路排查/country_code国家代码地域识别/headers全部请求头调试请求细节/all全部字段默认 YAML一次拿全/porttest/端口远程端口连通性网络端口探测进阶技巧大部分端点都支持.json和.js后缀例如/all.json返回 JSON 格式/all.js返回 JavaScript 变量赋值格式方便直接嵌入前端或后端脚本。四、一键部署最快 Docker Compose 方法 项目已内置完整的部署文件跟着下面三步走即可上线第 1 步克隆仓库git clone https://gitcode.com/gh_mirrors/if/ifconfig.io第 2 步准备 docker-compose 配置项目根目录自带docker-compose.yml也可以用社区镜像快速搭建version: 3.4 services: ifconfig: image: georgyo/ifconfig.io ports: - 8080:8080第 3 步启动服务docker compose up -d启动后访问http://你的服务器IP:8080就能看到熟悉的 IP 查询页面。生产环境建议配合反向代理Nginx 等加上域名和 HTTPS 证书。 镜像构建过程定义在Dockerfile中先在 Alpine 环境中编译 Go 程序最终产出基于 scratch 的极简生产镜像体积非常小。五、环境变量把你的服务变成自己的样子 通过环境变量即可深度定制服务行为全部在main.go的初始化逻辑中读取默认值也清晰可查变量默认值作用HOSTNAMEifconfig.io页面头部显示的地址文本CMD_PROTOCOL空curl 示例中的协议前缀如https://HOST/PORT空 /8080监听地址与 HTTP 端口PROXY_PROTOCOL_ADDR空开启 PROXY Protocol 监听FORWARD_IP_HEADERCF-Connecting-IP用于读取真实 IP 的请求头COUNTRY_CODE_HEADERCF-IPCountry用于读取国家码的请求头TLS0是否启用 TLS1 开启TLSPORT8443HTTPS 监听端口TLSCERT/TLSKEY—证书与私钥路径重点说明默认的CF-Connecting-IP请求头是专门为 Cloudflare 用户准备的——当你的服务器藏在 Cloudflare 后面时真实 IP 会由该请求头传递服务能自动读取到访客的真实公网 IP。如果你用的是 Nginx 反代把它改成X-Forwarded-For即可。六、高级部署systemd 与 Nix ️不用 Docker 也没问题项目同时提供了两套方案systemdweb-service.systemd单元文件已就绪将二进制放到/opt/ifconfig.io/server并配置好服务即可自带故障自动重启Restarton-failureNix提供flake.nix、default.nix和shell.nixNix 用户可以nix build或nix develop直接构建与开发七、常见问题 FAQ ❓Q放在 Cloudflare 后面查出来的 IP 是 CDN 节点的吗A不会。服务默认读取CF-Connecting-IP请求头来还原真实 IP这正是默认值这样设计的原因。Q/all 返回的格式能改吗A可以。默认是 YAML访问/all.json或/all.js分别获得 JSON 与 JavaScript 格式。Q/porttest 是什么A它会从客户端 IP 发起 TCP 连接测试返回true/false常用于排查端口连通性问题例如curl 域名/porttest/22。Q能扛多高并发A官方实测单服务器 18,000 请求/秒起步在中等配置硬件上支持 10,000 客户端发起 90,000 请求/秒平均响应 42ms。八、总结极简但强大的IP查询方案 ifconfig.io 证明了「小而快」同样可以很强大一个主文件、一个模板、一个 Docker 镜像就构成了一个每秒上万次查询的公网 IP 查询服务。✅ 一条curl命令秒查公网 IP✅ Docker 三分钟完成自托管部署✅ 14 个端点覆盖 IP、主机名、国家码、请求头等全维度信息✅ 默认适配 Cloudflare反代场景改一个环境变量即可如果你想拥有完全自主、极速响应的 IP 查询能力ifconfig.io 是最值得尝试的选择之一。【免费下载链接】ifconfig.io项目地址: https://gitcode.com/gh_mirrors/if/ifconfig.io创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考