A minimalist IP checker built with Cloudflare Pages + Pages Functions. Clean, fast, and ready to deploy.
Demo: https://ip.uocou.com
- Pure static front-end + serverless APIs:
index.html/public/style.css/public/app.js - Centered card, compact two‑column layout
- Clean visual style with subtle shadows & spacing
- Smooth focus & hover states for inputs and buttons
- Clear page title and landmarks
- Keyboard-friendly focus outlines
- Accessible button and input attributes
- No framework, no build step
- Edge‑side caching for third‑party lookups
- Minimal JavaScript, no external dependencies
- Cloudflare Pages + Pages Functions (no server to maintain)
- Uses Cloudflare Edge info for ASN/Org
- ISP via ipwho.is (with fallback in lookup)
IP | Country
Region/State | City
Postal Code | ASN
ASN Organization | ISP
ASN/ASN Organizationcome from Cloudflare edge (BGP), whileISPcomes from ipwho.is (access/retail brand).
They can differ — this is expected (different data sources/perspectives).
git clone https://github.com/uocou/uocou-chekip.git
cd uocou-chekipBest (with Cloudflare Functions):
npm i -g wrangler
wrangler pages dev .
# usually served at http://127.0.0.1:8788Simplest (UI only; APIs won't work locally):
# with Python
python -m http.server 8000
# or open index.html directly in your browser- Cloudflare Dashboard → Pages → Create a project → Connect to Git → choose this repo
- Build settings:
- Build command: (leave empty)
- Output directory:
/
- After deploy:
https://<your-project>.pages.dev/(Home)https://<your-project>.pages.dev/api/me(Edge JSON)https://<your-project>.pages.dev/api/isp(ISP JSON)https://<your-project>.pages.dev/api/lookup?ip=8.8.8.8(Lookup API)
/api/me: Cloudflare edge metadata only (no third‑party)./api/isp&/api/lookup: use ipwho.is, cached ~120s; lookup falls back to ipapi.co.- To avoid third‑party entirely, remove the ISP card and related API calls.
- Cloudflare Pages / Pages Functions
- HTML + CSS + Vanilla JS
- No frameworks, no bundlers
Licensed under the MIT License. See LICENSE.
