一款由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博客 - 在线工具软件,为开发者提供方便

相关推荐
CoderJia程序员甲2 小时前
MCP 技术完全指南:微软开源项目助力 AI 开发标准化学习
microsoft·ai·开源·ai教程·mcp
星哥说事2 小时前
使用VuePress2.X构建个人知识博客,并且用个人域名部署到GitHub Pages中
开源·github
想用offer打牌5 小时前
想为Seata社区进行贡献?这几点你需要了解😯
后端·开源
何双新10 小时前
第21讲、Odoo 18 配置机制详解
linux·python·开源
说私域17 小时前
定制开发开源AI智能名片驱动下的海报工厂S2B2C商城小程序运营策略——基于社群口碑传播与子市场细分的实证研究
人工智能·小程序·开源·零售
Python私教20 小时前
字节跳动开源图标库:2000+图标一键换肤的魔法
python·开源
何双新20 小时前
第2讲、Odoo深度介绍:开源ERP的领先者
python·开源
OpenTiny社区1 天前
开源之夏·西安电子科技大学站精彩回顾:OpenTiny开源技术下沉校园,点燃高校开发者技术热情
前端·开源
说私域1 天前
内容力重塑品牌增长:开源AI大模型驱动下的智能名片与S2B2C商城赋能抖音生态种草范式
人工智能·小程序·开源·零售
指月小筑1 天前
开源 vGPU 方案:HAMi,实现细粒度 GPU 切分
开源