IP地址无所遁形!试试这个3k星热门开源查询神器!

在日常开发中,我们经常需要查询IP地址的位置信息,比如:

  • 网站统计:统计用户的来源地,了解访问者分布情况;
  • 安全防护:根据IP地址判断用户是否来自风险地区,加强安全防护措施;
  • 物联网应用:根据IP地址定位设备,追踪设备位置等。

然而,网上提供的类似查询服务大多要么需要付费,要么功能受限,要么使用起来较为复杂。

今天,我想和大家分享一个超级简单的开源IP地址位置查询项目 - MyIP。

简介

MyIP是一个简洁而实用的开源IP信息查看器,提供了多种功能,包括IP地址查询、网络连通性检查、WebRTC连接检测、DNS泄露检查、网速测试、MTR测试等等。

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

这个项目的独特之处在于,据作者称,其中70%的代码是通过ChatGPT自动生成的。这真是令人惊叹!

目前Github上面收获了3.3k star。

部署方式

该项目提供了3中部署方式

在 Node 环境部署

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

  1. 克隆代码到本地
git clone https://github.com/jason5ng32/MyIP.git
  1. 安装依赖
npm install
  1. 运行启动
npm start

程序会运行在18966端口,自己可以根据实际情况修改的。

使用 Vercel

点击项目顶部的部署到 Vercel 按钮,即可完成部署。

使用docker部署

点击项目顶部的部署到 Docker 按钮,即可完成部署,又或者,直接输入下面的命令:

docker run -d -p 18966:18966 --name myip --restart always jason5ng32/myip:latest

环境变量说明

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

变量名是否必须默认值说明
PORT18966程序运行的端口
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 归属地信息
KEYCDN_USER_AGENT“”KeyCDN 的 User Agent,用于通过 KeyCDN 获取 IP 归属地信息
CLOUDFLARE_API“”Cloudflare 的 API Key,用于通过 Cloudflare 获取 AS 系统的信息
VITE_RECAPTCHA_SITE_KEY“”Google reCAPTCHA 的 Site Key,用于在前端显示 reCAPTCHA 验证
RECAPTCHA_SECRET_KEY“”Google reCAPTCHA 的 Secret Key,用于在后端验证 reCAPTCHA 验证

使用体验

  1. 项目主页

  1. 网络连通性测试

  1. WebRTC测试

  1. DNS泄露测试

  1. 分流测试

  1. 网速测试

写到最后

MyIP是一个简洁实用的开源IP信息查看器,它提供了丰富的功能,包括IP地址查询、网络连通性检查、WebRTC连接检测、DNS泄露检查、网速测试、MTR测试等等。
通过访问项目地址,您可以了解更多关于MyIP的详细信息和使用方法。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

13.7 Map 接口(血干JAVA系列)

这里写目录标题 13.7.1 Map接口简介13.7.2 Map.Entry接口简介13.7.3 Map接口的常用子类1.新的子类:HashMap2.相关操作实例(1)实例操作1——向集合中增加和取出内容【例13.26】增加和取得内容 (2)实例操作2------------ 判断指定的key或value是否存在【例13.27】判断…

VMware16如何克隆虚拟机

目录 克隆虚拟机方式一(在Windows上复制粘贴)克隆虚拟机方式二(使用VM的克隆操作 克隆之前需要关机)修改克隆机的IP和主机名虚拟机快照虚拟机的迁移和删除 克隆虚拟机方式一(在Windows上复制粘贴) 直接拷贝一份你已经安装好的虚拟机 复制到目的主机上 然后用VM就能打开它 甚至…

索引覆盖和索引下推

索引覆盖和索引下推 索引覆盖(Covering Index): 在数据库查询优化中,当一个索引包含了SQL查询语句所需要的全部列时,数据库可以直接使用索引来获取所有数据,而无需回表访问实际的数据行,这就实…

egg.js学习记录

1.创建egg项目并启动后端服务器 pnpm create egg //创建项目 //选择simple就行 pnpm i //下载插件 pnpm run dev //运行项目 2.安装跨域依赖和数据库依赖 pnpm i egg-cors //跨域依赖 pnpm i egg-mysql //数据库依赖 pnpm i egg-scripts //部署 3.修改配置…

全视智慧机构养老解决方案,以科技守护长者安全

2024年2月28日凌晨1时许,在上海浦东大道的一家养护院四楼杂物间内发生了一起火灾事故。尽管火势不大,过火面积仅为2平方米,但这场小火却造成了1人死亡和3人受伤的悲剧。这一事件再次提醒我们,养老院作为老年人聚集的场所&#xff…

敏捷开发精准估算

估算并非易事。对软件开发人员来说,估算堪称是最难的工作之一。估算必须考虑所有能帮助产品负责人做出影响整个团队和业务决策的因素。因此,从开发到高管都为它焦头烂额也不足为奇,但这种做法是错误的。敏捷估算并不是什么性命攸关的大事&…

人人站CMS后台登不进去解决方案(已解决)

公司有一个网站使用的是人人站CMS,最近发现后台登录不进去,有以下报错 发生以下错误: file get contents(http://www.rrzcms.com/Public/cms/config/config.ison): failed to open stream: HTTP reguest failed! 请求的URL导致内部服务器错误。 如果您反…

win11文件共享失败的问题

前言 windows 11连接公司内部服务器报错,报错如下: 因为文件共享不安全,所以你不能连接到文件共享。此共享需要过时的SMB1协议,而此协议是不安全的,可能会使你的系统遭受攻击。你的系统需要SMB2或更高版本。有关如何解…

JavaScript进阶:js的一些学习笔记-2

文章目录 1. 构造函数1. 实例成员、静态成员2. 内置的构造函数 1. 构造函数 构造函数是一种特殊的函数,主要用来创建对象。通过构造函数可以快速创建多个类似的对象 创建对象的三种方式 const obj1 {username:liuze}; // 方法1 const obj2 new Object(); obj2.u…

C语言下使用SQL语言

需头文件&#xff1a;#include<sqlite.h>---需下载 1.sqlite3_open int sqlite3_open( const char *filename, /* Database filename (UTF-8) */ sqlite3 **ppDb /* OUT: SQLite db handle */ ); 功能: 打开数据库文件(…

188基于matlab的AR模型参数估计

基于matlab的AR模型参数估计&#xff0c;burg法和ule-Walker法估计信号&#xff0c;并输出估计误差。程序已调通&#xff0c;可直接运行。 188 AR模型参数估计 burg法和ule-Walker法 (xiaohongshu.com)

展厅设计中灯光的要点都是什么

1、白炽灯 白炽灯也就是普通普通白炽灯泡白炽灯有显色性强&#xff0c;开灯即亮&#xff0c;明暗可调&#xff0c;结构简单&#xff0c;造价低等优点&#xff0c;但缺点是使用寿命短&#xff0c;光效较低展厅设计中常使用于走道和其他部位。 2、卤钨灯 充气白炽灯填充气体中含有…

【数理统计实验(三)】假设检验的R实现

&#x1f349;CSDN小墨&晓末:https://blog.csdn.net/jd1813346972 个人介绍: 研一&#xff5c;统计学&#xff5c;干货分享          擅长Python、Matlab、R等主流编程软件          累计十余项国家级比赛奖项&#xff0c;参与研究经费10w、40w级横向 文…

【linux中cd指令使用】cd进入与退出路径

【linux中cd指令使用】cd如何进入与退出路径 1、cd进入指定路径&#xff0c;比如我要进入下面这个路径中去运行setup.py文件&#xff0c;如果我不跳转到该路径下直接运行&#xff0c;会报错找不到该文件 cd空格路径&#xff0c;即可跳转到该路径 cd /public2/xxx/tiny-cuda…

鸿蒙不再适合JS语言开发

ArkTS是鸿蒙生态的应用开发语言。它在保持TypeScript&#xff08;简称TS&#xff09;基本语法风格的基础上&#xff0c;对TS的动态类型特性施加更严格的约束&#xff0c;引入静态类型。同时&#xff0c;提供了声明式UI、状态管理等相应的能力&#xff0c;让开发者可以以更简洁、…

Pytorch入门-Transforms

文章目录 ComposeToTensorNormalizeResize 在PyTorch中&#xff0c;transforms是一个用于图像预处理和数据增强的模块&#xff0c;通常与torchvision库一起使用。torchvision提供了大量预先定义的transforms&#xff0c;它们可以方便地应用于图像数据&#xff0c;以进行预处理或…

突破内网限制,自由访问 NAS:网络穿透方案大合集! | 开源日报 No.199

anderspitman/awesome-tunneling Stars: 12.2k License: NOASSERTION awesome-tunneling 是一个列出 ngrok 替代方案和其他类似 ngrok 的隧道软件和服务的项目&#xff0c;重点是自托管。 主要面向自托管者和开发人员。提供注册域名并将记录自动指向运行隧道的服务器。自动设…

疯狂数钞票H5游戏

移动端微信h5 <template><div class"container" id"container"><div class"regBag"></div><div class"moneyBox"><transitionv-for"(item,index) in showImgList":key"index"…

这个班要不还是别上了吧。

先不提代码写得对不对。咱就是说&#xff0c;打印语句都出不来&#xff0c;搞个chuanchuan哟。 &#xff08;谁能给我解释一下。。&#x1f643;&#xff09;

Linux命令-cupsenable命令(启动指定的打印机)

说明 cupsenable命令 用于启动指定的打印机。 语法 cupsenable(选项)(参数)选项 -E&#xff1a;当连接到服务器时强制使用加密&#xff1b; -U&#xff1a;指定连接服务器时使用的用户名&#xff1b; -u&#xff1a;指定打印任务所属的用户&#xff1b; -h&#xff1a;指定…