一款由AI编写,简洁而实用的开源IP信息查看器

大家好,今天给大家分享一款用于查询和显示用户当前 IP 地址的轻量级项目MyIP。

MyIP提供了多种功能,包括IP地址查询、网络连通性检查、WebRTC连接检测、DNS泄露检查、网速测试、MTR测试等等。

使用MyIP,我们可以轻松地查看自己的公网IP地址,并且可以方便地进行网络诊断或监控。

项目介绍

MyIP独特之处在于,据作者称,其中70%的代码是通过ChatGPT自动生成的,这显示了AI技术在自动化代码生成方面的潜力。

安装使用

在 Node 环境部署

确保你系统里已经有 Node.js 环境。

克隆代码:

复制代码
git clone https://github.com/jason5ng32/MyIP.git

安装与编译:

复制代码
npm install && npm run build

运行:

复制代码
npm start

程序会运行在 18966 端口。

使用 Docker

直接输入下面的命令:

复制代码
docker run -d -p 18966:18966 --name myip --restart always jason5ng32/myip:latest

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml文件

复制代码
version: '3'

services:
  myip:
    image: jason5ng32/myip
    container_name: myip
    restart: unless-stopped
    ports:
      - 18966:18966

然后执行下面的命令

复制代码
# 新建文件夹 myip 
mkdir -p /volume1/docker/myip

# 进入 myip 目录
cd /volume1/docker/myip

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

📚 环境变量

你可以不添加环境变量直接使用,但是如果你想使用一些高级功能,可以添加下面的环境变量:

变量名 是否必须 默认值 说明
BACKEND_PORT 否 "11966" 程序后端部分的运行端口
FRONTEND_PORT 否 "18966" 程序前端部分的运行端口
SECURITY_RATE_LIMIT 否 "0" 控制每 60 分钟一个 IP 可以对后端服务器请求的次数(设置为 0 则为不限制)
SECURITY_DELAY_AFTER 否 "0" 控制每 20 分钟一个 IP 的前 X 次请求不受速度限制,超过 X 次后会逐次增加延迟
SECURITY_BLACKLIST_LOG_FILE_PATH 否 "logs/blacklist-ip.log" 路径设置。记录由 SECURITY_RATE_LIMIT 开启后,触发限制的 IP 列表
BING_MAP_API_KEY 否 "" Bing 地图的 API Key,用于展示 IP 所在地的地图
ALLOWED_DOMAINS 否 "" 允许访问的域名,用逗号分隔,用于防止后端 API 被滥用
IPCHECKING_API_KEY 否 "" IPCheck.ing 的 API Key,用于获取精准的 IP 归属地信息
IPINFO_API_TOKEN 否 "" IPInfo.io 的 API Token,用于通过 IPInfo.io 获取 IP 归属地信息
IPAPIIS_API_KEY 否 "" IPAPI.is 的 API Key,用于通过 IPAPI.is 获取 IP 归属地信息
KEYCDN_USER_AGENT 否 "" 使用 KeyCDN 时的域名,需包含 https 前缀。用于通过 KeyCDN 获取 IP 归属地信息
CLOUDFLARE_API 否 "" Cloudflare 的 API Key,用于通过 Cloudflare 获取 AS 系统的信息
MAC_LOOKUP_API_KEY 否 "" MAC 查询的 API Key,用于通过 MAC Lookup 获取 MAC 地址的归属信息

在 Node 环境里使用环境变量

创建环境变量:

复制代码
cp .env.example .env

修改 .env 里的内容,比如:

复制代码
BACKEND_PORT=11966
FRONTEND_PORT=18966
BING_MAP_API_KEY="YOUR_KEY_HERE"
ALLOWED_DOMAINS="example.com"
IPCHECKING_API="YOUR_KEY_HERE"

然后重新启动后端服务。

在 Docker 里使用环境变量

你可以在运行 Docker 的时候,添加环境变量,比如:

复制代码
docker run -d -p 18966:18966 \
  -e BING_MAP_API_KEY="YOUR_KEY_HERE" \
  -e ALLOWED_DOMAINS="example.com" \
  -e IPCHECKING_API="YOUR_TOKEN_HERE" \
  --name myip \
  jason5ng32/myip:latest

使用说明

在线体验地址:https://ipcheck.ing

  • IP信息查询
  • 网络连通性查询
  • WebRTC 测试
  • 高级工具

项目地址

复制代码
https://github.com/jason5ng32/MyIP

一款由AI编写,简洁而实用的开源IP信息查看器 - BTool博客 - 在线工具软件,为开发者提供方便

相关推荐
冬奇Lab4 小时前
一天一个开源项目(第249篇):Hallmark —— 一个拒绝“AI 味”的设计 Skill,用 48 套材质主题和浏览器 Linter 约束编程助手
人工智能·开源·资讯
用户579450770617 小时前
BaoCode,你不是读不懂 Claude Code,是终端不让你读懂
开源
SL_staff7 小时前
运维救火实战:钉钉API变更致薪资计算中断,如何用可视化逻辑引擎5分钟热修复
java·开源·全栈
weh9607 小时前
受够了同事之间的拌嘴,所以我做了一个多Agent协同平台
开源
阿哲CZ7 小时前
AI 重建 3D 的开源项目,我跑通了:它把自己的误差写进了 JSON
开源
wflynn8 小时前
GitHub 日榜趋势速报 | 2026-10-26
开源·github
JPower_mr.g9 小时前
SmartCall v1.0.9 发布:智能体知识库上线,让 AI 客服先查资料再回答
java·ide·人工智能·macos·架构·开源·xcode
SL_staff9 小时前
破除执行黑箱:用目标地图、资源热力图与健康度看板构建可下钻的执行事实链
java·开源·全栈
分布式存储与RustFS10 小时前
GPU 在空转等数据?PyTorch 训练集进 RustFS 的三种接法
云原生·开源·对象存储·分布式存储·s3·rustfs·性能基准