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

相关推荐
Baihai IDP2 小时前
从 Llama 1 到 3.1:Llama 模型架构演进详解
人工智能·ai·开源·llm·llama
Sunrisepeak3 小时前
xlings: 跨平台一键安装功能设计与思考 - 多编程环境搭建、工具软件安装、项目依赖管理
程序员·开源·github
Tony聊跨境13 小时前
反向代理服务器的用途是什么?
网络·网络协议·tcp/ip·智能路由器·ip
FreeIPCC14 小时前
电话机器人是什么?
大数据·人工智能·语言模型·机器人·开源·信息与通信
yunmoon0114 小时前
一个开源轻量级的服务器资源监控平台,支持告警推送
开源
我想探知宇宙14 小时前
L1G1000 书生大模型全链路开源开放体系笔记
笔记·开源
xiaoxiongip66620 小时前
HTTP工作原理
网络·网络协议·http·https·ip
顽疲1 天前
springboot vue 开源 会员收银系统 (10) 销单 销单后会员卡余额及库存优化
vue.js·spring boot·开源
FreeIPCC1 天前
如何评估电话机器人的效果?
大数据·人工智能·语言模型·机器人·开源·信息与通信
菜鸟挣扎史1 天前
关于一次开源java spring快速开发平台项目RuoYi部署的记录
java·spring·开源