Не нужно много говорить, просто попробуйте! 🥳
- ✨ Красивый интерфейс: Современный дизайн с Shadcn UI, который делает вас комфортным.
- 📱 Адаптивный дизайн: Работает хорошо на мобильных устройствах✅ / планшетах✅ / настольных компьютерах✅, поддержка PWA приложений.
- 🌈 Много тем: Поддержка нескольких тем (Светлая и Темная), обнаружение системной темы, переключение тем по вашему желанию.
- 🚀 Гибкий поиск: Основан на Next.js, поддержка серверлесс развертывания и быстрой работы.
- 📚 История записей: История записей хранится в локальном хранилище, легко просматривать и искать историю.
- 📡 Открытый API: Простой API для поиска whois, легко интегрируется с другими сервисами.
- 🌍 Поддержка IPv4 и IPv6 Whois: Поддержка поиска whois для IPv4, IPv6, доменов, ASN, CIDR.
- 📦 Сохранение результатов: Сохранение результатов whois, легко делиться и сохранять.
- 📡 Кэширование Whois: Поддержка кэширования whois на основе Redis, улучшение скорости поиска.
- 🌍 [В разработке] Интернационализация: Поддержка нескольких языков. (#6)
docker run -d -p 3000:3000 programzmh/next-whois-ui
git clone https://github.com/zmh-program/next-whois-ui
cd next-whois-ui
npm install -g pnpm
pnpm install
pnpm dev
NEXT_PUBLIC_SITE_TITLE
: Заголовок сайтаNEXT_PUBLIC_SITE_DESCRIPTION
: Описание сайтаNEXT_PUBLIC_SITE_KEYWORDS
: Ключевые слова сайта
NEXT_PUBLIC_HISTORY_LIMIT
: Лимит истории (По умолчанию: 6)NEXT_PUBLIC_MAX_WHOIS_FOLLOW
: Максимальное количество следователей whois для доменов (По умолчанию: 0)NEXT_PUBLIC_MAX_IP_WHOIS_FOLLOW
: Максимальное количество следователей whois для IP (По умолчанию: 5)
REDIS_HOST
: Хост Redis (КЭШИРОВАНИЕ ОТКЛЮЧЕНО, ЕСЛИ ПУСТО)REDIS_PORT
: Порт Redis (По умолчанию: 6379)REDIS_PASSWORD
: Пароль Redis (ОПЦИОНАЛЬНО)REDIS_DB
: База данных Redis (По умолчанию: 0)REDIS_CACHE_TTL
: Время жизни кэша Redis в секундах (По умолчанию: 3600)
GET
/api/lookup?query=google.com
Ответ 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": "..."
}
}
Ошибка ответа Internal Server Error (500)
{
"time": 0.609,
"status": false,
"error": "No match for domain google.notfound (e.g. domain is not registered)"
}
Ошибка ответа Bad Request (400)
{
"time": -1,
"status": false,
"error": "Query is required"
}
- Next.js
- Shadcn UI & Tailwind CSS
- Whois Core Lib (@whois-raw)
👉 Исходный код библиотеки парсера TLDs Whois
❤ Подска��ка: Парсер Whois для некоторых TLDs может быть несовместим в настоящее время, спасибо за ваш вклад Pull Request, чтобы этот проект поддерживал больше TLDs!