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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3249743.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

微软成为PostgreSQL主要贡献者

微软对PostgreSQL贡献的很多新功能都来自于客户在使用微软Azure上的PostgreSQL管理实例数据库,所以这些新功能都来自于真实的客户需求 微软贡献的这些新功能都是比较实用的功能 在这里,【真实的客户需求】要突出一下,因为现在很多社区贡献者…

电脑屏幕录制怎么弄?分享3个简单的电脑录屏方法

在信息爆炸的时代,屏幕上的每一个画面都可能成为我们生活中不可或缺的记忆。作为一名年轻男性,我对于录屏软件的需求可以说是既挑剔又实际。今天,我就为大家分享一下我近期体验的三款录屏软件:福昕录屏大师、转转大师录屏大师和OB…

DMA空闲中断实现接收不定长数据(基于HAL库)

DMA空闲中断实现接收不定长数据(基于HAL库-F103ZET6): 第一步正常配置Cubemx: 1 时钟:SYS: 2 LED: 我这里判断它进入的是哪个中断 第二步串口及DMA基础配置: 1 串口设置: 开启中断&#xff…

新文件覆盖旧文件还能复原吗?八大excel文档修复软件免费

新文件覆盖旧文件还能复原吗?文件操作失误,尤其是新文件意外覆盖旧文件的情况时有发生,面对文件被覆盖的情况,我们不仅需要冷静应对,更需要掌握一系列有效的恢复策略。本文将深入探讨八种免费方法,旨在帮助…

将达梦数据库的JDBC驱动包 DmJdbcDriver18.jar 安装到本地 Maven 仓库

项目打包报错:Failure to find com.dameng:DmJdbcDriver18:jar:8.1.3.12 in http://maven.aliyun.com/nexus/content/groups/public 解决方式如下: 从 https://eco.dameng.com/download/ 中下载 达梦JDBC 驱动包,如下 JDK 1.8 对应的 JDBC…

免费恢复软件有哪些?电脑免费使用的 5 大数据恢复软件

您是否在发现需要的文件时不小心删除了回收站中的文件?您一定对误操作感到后悔。文件永远消失了吗?还有机会找回它们吗?当然有!您可以查看这篇文章,挑选 5 款功能强大的免费数据恢复软件,用于 Windows 和 M…

【iOS】——编译链接和动态链接器

前言 计算机语言分为机器语言:汇编语言,高级语言。 可以将高级语言分为两种:1,编译语言和解释型语言(直译式语言)。 编译型语言(一次性翻译) 编译型语言的程序只要经过编译器编译之…

Spring如何管理Mapper

目录 一、背景二、猜测三、源码查看步骤1、创建MapperScannerConfigurer.java2、MapperScan注解3、MapperScannerRegistrar执行registerBeanDefinitions方法4、MapperScannerConfigurer执行postProcessBeanDefinitionRegistry方法5、执行doscan6、设置beanClass7、使用jdk生成代…

sql常见50道查询练习题

sql常见50道查询练习题 1. 表创建1.1 表创建1.2 数据插入 2. 简单查询例题(3题)2.1 查询"李"姓老师的数量2.2 查询男生、女生人数2.3 查询名字中含有"风"字的学生信息 3. 日期相关例题(6题)3.1 查询各学生的年龄3.2 查询本周过生日的…

解决:Linux上SVN 1.12版本以上无法直接存储明文密码

问题:今天在Linux机器上安装了SVN,作为客户端使用,首次执行SVN相关操作,输入账号密码信息后,后面再执行SVN相关操作(比如"svn update")还是每次都需要输入密码。 回想以前在首次输入…

Typora 1.5.8 版本安装下载教程 (轻量级 Markdown 编辑器),图文步骤详解,免费领取

文章目录 软件介绍软件下载安装步骤激活步骤 软件介绍 Typora是一款基于Markdown语法的轻量级文本编辑器,它的主要目标是为用户提供一个简洁、高效的写作环境。以下是Typora的一些主要特点和功能: 实时预览:Typora支持实时预览功能&#xff0…

云监控(华为) | 实训学习day3(10)

实现数据的增删改查 SpringBoot框架模式 向送外卖一样理解 写程序 1、准备食材(java bean) 2、菜谱(pojo接口->预制->sql 语句) 3、service处理 4、controller 派送 5、用户请求->页面 一、Spring Boot实现增加 第一步:食材(表),用户增加,这里还是用户…

使用Python和Pandas进行数据分析:入门与实践

目录 引言 准备工作 安装Python与Pandas 导入Pandas库 Pandas基础 数据结构 创建Series和DataFrame 读取数据 数据探索 查看数据 数据清洗 数据可视化 实战案例:分析销售数据 引言 在当今数据驱动的时代,数据分析已成为各行各业不可或缺的…

如何高效定制视频扩散模型?卡内基梅隆提出VADER:通过奖励梯度进行视频扩散对齐

论文链接:https://arxiv.org/pdf/2407.08737 git链接:https://vader-vid.github.io/ 亮点直击: 引入奖励模型梯度对齐方法:VADER通过利用奖励模型的梯度,对多种视频扩散模型进行调整和对齐,包括文本到视频和…

机器学习的持续交付-CD4ML 端到端自动化构建部署机器学习应用

机器学习的持续交付-CD4ML 端到端自动化构建部署机器学习应用 原文:Continuous Delivery for Machine Learning - CD4ML 关键字:持续部署、持续交付、机器学习、CD4ML 作者:Danilo Sato, Arif Wider, Christoph Windheuser 译者:周…

synergy配置

今天介绍一个电脑同步软件synergy。 我们开发时一般会用两套设备,如果使用两套键盘操作起来会很麻烦,这个软件就是解决这个问题,可以使用一套键盘同时操作两台电脑,另一台作为客户端被控制。 安装 在两台电脑上各自下载安装syne…

55 TCP协议

目录 协议段格式确认应答(ACK)机制序号标志位超时重传连接管理机制延迟应答捎带应答流量控制滑动窗口拥塞控制面向字节流粘包问题异常情况小结文件和socket的关系基于tcp应用层协议udp和tcp对比udp实现可靠传输 全称为“传输控制协议(Transm…

【BUG】已解决:note: This is an issue with the package mentioned above,not pip.

已解决:note: This is an issue with the package mentioned above,not pip. 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页,我是博主英杰,211科班出身,就职于医疗科技公司,热衷…

ELK 8.14版本搭建

1.架构图 2.基础环境准备: 2.1 关闭防火墙和selinux [rootlocalhost ~]# setenforce 0 [rootlocalhost ~]# sed -i s/SELINUXenforcing/SELINUXdisabled/g /etc/selinux/config [rootlocalhost ~]# cat /etc/selinux/config # This file controls the state of SEL…

手机恢复回收站清空的照片,3个方法与注意事项【小米/华为/vivo】

你们是否曾遭遇过这样的困境:清空回收站后,突然发现其中有几张非常重要的照片?那种懊悔与焦虑,简直可以写成一部“手机用户的心酸史”。这篇文章来拯救你啦!恢复回收站清空的照片的方法可不少,究竟是哪3个方…