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

相关推荐
Experience-摆渡1 小时前
一个开源免费的本地AI抠图工具 unbagrnd:断网也能用的背景移除
人工智能·开源
resh_people1 小时前
开源鸿蒙平台 KMP_CMP 三方库「WhatIf」适配全流程
华为·开源·harmonyos
分布式存储与RustFS2 小时前
模型 checkpoint 放对象存储:分片上传、断点续传与残留清理
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
m4Rk_2 小时前
【论文阅读】Agent 记忆机制(81):EMR——用情景记忆避免 Agent 在多步推理中反复绕圈
论文阅读·人工智能·学习·开源·github
金字塔頂の蝸牛3 小时前
每周GitCode开源项目推荐
开源·软件工程·ai编程
weixin_404551245 小时前
开源 LLM 可观测平台深度比较:Langfuse、Phoenix、Helicone、Opik 与 MLflow
开源·llm
302wanger6 小时前
一份用"工程师思维"写的人生指南:472 条建议,每条都标了证据等级
开源
分布式存储与RustFS6 小时前
用RustFS给Harbor当S3存储后端
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
追涨杀跌老能手6 小时前
GD32H759 + RT-Thread 工控实战--第7篇 OSPI Flash
开源·嵌入式
元岳数字人小元7 小时前
数字人源码系统:模块化开发赋能智能场景灵活迭代升级
运维·人工智能·开源·人机交互·交互