Skip to content

๐Ÿงช Your Next-Gen Whois Lookup Tool With Modern UI. Support Domain/IPv4/IPv6/ASN/CIDR Whois Lookup And Powerful Features.

License

Notifications You must be signed in to change notification settings

zmh-program/next-whois-ui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

7cc26de ยท Nov 27, 2024

History

64 Commits
Jul 25, 2024
Oct 1, 2024
Aug 11, 2024
Aug 11, 2024
Jul 25, 2024
Jul 23, 2024
Jul 25, 2024
Jul 25, 2024
Nov 27, 2024
Nov 27, 2024
Nov 27, 2024
Nov 27, 2024
Nov 27, 2024
Nov 27, 2024
Jul 23, 2024
Aug 6, 2024
Aug 11, 2024
Aug 11, 2024
Jul 23, 2024
Jul 23, 2024
Aug 11, 2024

Repository files navigation

๐Ÿงช Next Whois UI

๐Ÿ˜Ž Lightweight & Beautiful Whois Query Tool

English ยท ็ฎ€ไฝ“ไธญๆ–‡ ยท ็น้ซ”ไธญๆ–‡ ยท ะ ัƒััะบะธะน ยท ๆ—ฅๆœฌ่ชž ยท Deutsch

Deploy to Vercel

Deploy to Netlify

๐Ÿ˜Ž Features

No need to say more, just try it out! ๐Ÿฅณ

  1. โœจ Pretty UI: Modern design with Shadcn UI, make you feel comfortable.
  2. ๐Ÿ“ฑ Responsive: Works well on Mobileโœ… / Tabletโœ… / Desktopโœ…, PWA App Support.
  3. ๐ŸŒˆ Multi Theme: Multi theme support (Light & Dark), system theme detection, switch theme as you like.
  4. ๐Ÿš€ Flexible Query: Powered by Next.js, support serverless deployment and fast query.
  5. ๐Ÿ“š Record History: History records are stored in local storage, easy to view and query history.
  6. ๐Ÿ“ก Open API: Simple API for whois query, easy to integrate with other services.
  7. ๐ŸŒ IPv4 & IPv6 Whois: Support IPv4, IPv6, Domain, ASN, CIDR whois query.
  8. ๐Ÿ“ฆ Result Capture: Capture whois result, easy to share and save.
  9. ๐Ÿ“ก Whois Cache: Support whois cache based on Redis, improve query speed.
  10. ๐ŸŒ [WIP] Internationalization: Support multiple languages. (#6)

๐Ÿ‘‰ Create Pull Request

Deploy

1 ๐Ÿš€ Platforms (Recommended)

Vercel / Netlify / Zeabur

2 ๐Ÿณ Docker

docker run -d -p 3000:3000 programzmh/next-whois-ui

3 ๐Ÿ”จ Source Code

git clone https://github.com/zmh-program/next-whois-ui
cd next-whois-ui

npm install -g pnpm
pnpm install
pnpm dev

๐Ÿ“ Envs

SEO

  • NEXT_PUBLIC_SITE_TITLE: Site Title
  • NEXT_PUBLIC_SITE_DESCRIPTION: Site Description
  • NEXT_PUBLIC_SITE_KEYWORDS: Site Keywords

WHOIS

  • NEXT_PUBLIC_HISTORY_LIMIT: History Limit (Default: 6)
  • NEXT_PUBLIC_MAX_WHOIS_FOLLOW: Max Domain Whois Follow (Default: 0)
  • NEXT_PUBLIC_MAX_IP_WHOIS_FOLLOW: Max IP Whois Follow (Default: 5)

CACHE

  • REDIS_HOST: Redis Host (CACHE DISABLED WHEN EMPTY)
  • REDIS_PORT: Redis Port (Default: 6379)
  • REDIS_PASSWORD: Redis Password (OPTIONAL)
  • REDIS_DB: Redis DB (Default: 0)
  • REDIS_CACHE_TTL: Redis Cache TTL Secs (Default: 3600)

๐Ÿ“ API Reference

GET /api/lookup?query=google.com

Response OK (200)
{
  "time": 1.547,
  "status": true,
  "cached": false,
  "result": {
    "domain": "GOOGLE.COM",
    "registrar": "MarkMonitor Inc.",
    "registrarURL": "http://www.markmonitor.com",
    "ianaId": "292",
    "whoisServer": "whois.markmonitor.com",
    "updatedDate": "2019-09-09T15:39:04.000Z",
    "creationDate": "1997-09-15T04:00:00.000Z",
    "expirationDate": "2028-09-14T04:00:00.000Z",
    "status": [
      {
        "status": "clientDeleteProhibited",
        "url": "https://icann.org/epp#clientDeleteProhibited"
      },
      {
        "status": "clientTransferProhibited",
        "url": "https://icann.org/epp#clientTransferProhibited"
      },
      {
        "status": "clientUpdateProhibited",
        "url": "https://icann.org/epp#clientUpdateProhibited"
      },
      {
        "status": "serverDeleteProhibited",
        "url": "https://icann.org/epp#serverDeleteProhibited"
      },
      {
        "status": "serverTransferProhibited",
        "url": "https://icann.org/epp#serverTransferProhibited"
      },
      {
        "status": "serverUpdateProhibited",
        "url": "https://icann.org/epp#serverUpdateProhibited"
      }
    ],
    "nameServers": [
      "NS1.GOOGLE.COM",
      "NS2.GOOGLE.COM",
      "NS3.GOOGLE.COM",
      "NS4.GOOGLE.COM"
    ],
    "registrantOrganization": "Unknown",
    "registrantProvince": "Unknown",
    "registrantCountry": "Unknown",
    "registrantPhone": "+1 2086851750",
    "registrantEmail": "Unknown",
    "rawWhoisContent": "..."
  }
}
Error Response Internal Server Error (500)
{
  "time": 0.609,
  "status": false,
  "error": "No match for domain google.notfound (e.g. domain is not registered)"
}
Error Response Bad Request (400)
{
  "time": -1,
  "status": false,
  "error": "Query is required"
}

๐Ÿง  Tech Stack

  • Next.js
  • Shadcn UI & Tailwind CSS
  • Whois Core Lib (@whois-raw)

๐Ÿ’ช TLDs Support

๐Ÿ‘‰ TLDs Whois Parser Lib Source Code

โค TIP: The Whois Parser for some TLDs may not be currently compatible, thanks for contributing your Pull Request to make this project support more TLDs!

About

๐Ÿงช Your Next-Gen Whois Lookup Tool With Modern UI. Support Domain/IPv4/IPv6/ASN/CIDR Whois Lookup And Powerful Features.

Topics

Resources

License

Stars

Watchers

Forks

Languages