IP地址無所遁形!試試這個(gè)3k星熱門開源查詢神器!
在日常開發(fā)中,我們經(jīng)常需要查詢IP地址的位置信息,比如:
- 網(wǎng)站統(tǒng)計(jì):統(tǒng)計(jì)用戶的來源地,了解訪問者分布情況;
- 安全防護(hù):根據(jù)IP地址判斷用戶是否來自風(fēng)險(xiǎn)地區(qū),加強(qiáng)安全防護(hù)措施;
- 物聯(lián)網(wǎng)應(yīng)用:根據(jù)IP地址定位設(shè)備,追蹤設(shè)備位置等。
然而,網(wǎng)上提供的類似查詢服務(wù)大多要么需要付費(fèi),要么功能受限,要么使用起來較為復(fù)雜。
今天,我想和大家分享一個(gè)超級(jí)簡單的開源IP地址位置查詢項(xiàng)目 - MyIP[1]。
一、簡介
MyIP是一個(gè)簡潔而實(shí)用的開源IP信息查看器,提供了多種功能,包括IP地址查詢、網(wǎng)絡(luò)連通性檢查、WebRTC連接檢測、DNS泄露檢查、網(wǎng)速測試、MTR測試等等。
使用MyIP,我們可以輕松地查看自己的公網(wǎng)IP地址,并且可以方便地進(jìn)行網(wǎng)絡(luò)診斷或監(jiān)控。
這個(gè)項(xiàng)目的獨(dú)特之處在于,據(jù)作者稱,其中70%的代碼是通過ChatGPT自動(dòng)生成的。這真是令人驚嘆!
目前Github上面收獲了3.3k star。
二、部署方式
該項(xiàng)目提供了3中部署方式。
1.在 Node 環(huán)境部署
確保你系統(tǒng)里已經(jīng)有Node.js環(huán)境。
克隆代碼到本地:
git clone https://github.com/jason5ng32/MyIP.git
安裝依賴:
npm install
運(yùn)行啟動(dòng):
npm start
程序會(huì)運(yùn)行在18966端口,自己可以根據(jù)實(shí)際情況修改的。
2.使用 Vercel
點(diǎn)擊項(xiàng)目頂部的部署到 Vercel 按鈕,即可完成部署。
3.使用docker部署
點(diǎn)擊項(xiàng)目頂部的部署到 Docker 按鈕,即可完成部署,又或者,直接輸入下面的命令:
docker run -d -p 18966:18966 --name myip --restart always jason5ng32/myip:latest
4.環(huán)境變量說明
你可以不添加環(huán)境變量直接使用,但是如果你想使用一些高級(jí)功能,可以添加下面的環(huán)境變量:
變量名 | 是否必須 | 默認(rèn)值 | 說明 |
PORT | 否 | 18966 | 程序運(yùn)行的端口 |
BING_MAP_API_KEY | 否 | "" | Bing 地圖的 API Key,用于展示 IP 所在地的地圖 |
ALLOWED_DOMAINS | 否 | "" | 允許訪問的域名,用逗號(hào)分隔,用于防止后端 API 被濫用 |
IPChecking_API_KEY | 否 | "" | IPCheck.ing 的 API Key,用于獲取精準(zhǔn)的 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 系統(tǒng)的信息 |
VITE_RECAPTCHA_SITE_KEY | 否 | "" | Google reCAPTCHA 的 Site Key,用于在前端顯示 reCAPTCHA 驗(yàn)證 |
RECAPTCHA_SECRET_KEY | 否 | "" | Google reCAPTCHA 的 Secret Key,用于在后端驗(yàn)證 reCAPTCHA 驗(yàn)證 |
三、使用體驗(yàn)
項(xiàng)目主頁:
網(wǎng)絡(luò)連通性測試:
WebRTC測試:
DNS泄露測試:
分流測試:
網(wǎng)速測試:
四、寫到最后
MyIP是一個(gè)簡潔實(shí)用的開源IP信息查看器,它提供了豐富的功能,包括IP地址查詢、網(wǎng)絡(luò)連通性檢查、WebRTC連接檢測、DNS泄露檢查、網(wǎng)速測試、MTR測試等等。通過訪問項(xiàng)目地址,您可以了解更多關(guān)于MyIP的詳細(xì)信息和使用方法。
參考資料:
[1]MyIP: https://github.com/jason5ng32/MyIP