Next-Whois:现代化开箱即用的免费开源Whois查询工具,支持Docker一键部署
本期将介绍一款集成了现代化用户界面、开放API接口与高效缓存支持的免费开源Whois查询工具。该工具基于Docker容器技术,能够实现一键快速部署,极大地方便了个人用户与开发者的使用。
此项目名为 zmh-program/next-whois(简称 Next-Whois),其核心是采用 Next.js 框架构建的新一代网络信息查询解决方案。它不仅提供了一个设计美观、能够自适应不同屏幕尺寸的响应式Web界面,使用户可以便捷地查询域名、IP地址等资源的WHOIS与RDAP注册信息,还对外提供了标准的API接口,便于开发者将其集成到自身的自动化流程或其他服务系统中。在功能支持方面,它全面覆盖了IPv4地址、IPv6地址、域名、自治系统号以及CIDR网段等多种查询类型,并内置了基于Redis的缓存机制,有效提升了重复查询的响应速度,从整体架构到细节体验都体现了现代Web应用的设计理念。

核心应用场景
Next-Whois 工具主要面向最终用户,在多种日常与专业场景下均能发挥重要作用。
- 域名注册状态查询:快速检查一个域名是否已被注册,并获取其注册商、注册日期、到期时间等关键信息。
- 安全风险识别:辅助识别潜在的诈骗网址或钓鱼网站,通过查询域名的注册信息判断其可信度。
- 服务器与网络运维:在购置服务器或部署网络服务时,查询相关IP地址的归属、所属自治系统等信息,辅助进行网络规划与问题排查。
- 商业与竞争分析:开展业务时,用于查询竞争对手网站的域名信息、服务器IP来源,或分析特定在线服务的后台架构。
- 风险规避辅助:帮助普通用户快速了解一个陌生网站的背景,判断其是否存在潜在风险,即通俗所说的“查查这个网址是干什么的”。
- 网络诊断辅助:作为网站连通性测试、反向代理设置排查等网络调试工作中的辅助信息查询工具。
- 简易信息溯源:为用户提供一个简化版的“网页身份证查询”工具,使其能够轻松获取网络资源的基础注册信息。
主要功能特性
- 现代化交互界面:采用当前流行的 Shadcn UI 设计风格,界面简洁美观,交互流畅直观。
- 全平台响应式设计:完美适配从手机、平板到桌面电脑的各种设备屏幕,并支持作为渐进式Web应用安装使用。
- 个性化主题切换:支持亮色与暗色两种视觉主题,并能自动检测并匹配操作系统当前的主题设置。
- 高效灵活的查询:基于 Next.js 框架,支持无服务器部署模式,能够实现更快的查询响应速度。
- 本地历史记录:自动在用户本地浏览器中保存查询历史,方便随时回溯和再次查看过往的查询结果。
- 开放的API接口:提供了简单易用的 whois 查询 REST API,方便与其他软件系统或自动化脚本进行集成。
- 全面的查询支持:强大的查询引擎支持对 IPv4、IPv6、域名、自治系统号以及CIDR格式的网络段进行 Whois 信息查询。
- 便捷的结果分享:支持将查询得到的结果页面生成可分享的链接或进行保存,便于协作与记录。
- 智能结果缓存:支持通过 Redis 数据库对查询结果进行缓存,显著减少对公共 whois 服务器的重复请求,提升查询效率。
- 多语言国际化:界面支持多种语言,能够服务于更广泛的全球用户群体。
- 先进的协议支持:优先使用现代的RDAP协议进行查询,在无法获取RDAP信息时会自动回退至传统的WHOIS协议,确保查询成功率。
详细部署流程
以下将以在威联通 NAS 上部署为例,详细说明如何使用 Docker Compose 来一键部署 Next-Whois 服务。项目作者提供了最简化的部署命令:
docker run -d -p 3000:3000 programzmh/next-whois-ui
为了获得更稳定、可配置性更强的部署体验,建议采用以下 Docker Compose 配置方案:
services:
next-whois:
image: programzmh/next-whois-ui:latest
container_name: whois
restart: always
ports:
- "9191:3000" # 将容器内部的3000端口映射到主机的9191端口
environment:
# WHOIS 查询行为配置
- NEXT_PUBLIC_HISTORY_LIMIT=20 # 本地历史记录最大保存数量(设为-1表示无限制)
- NEXT_PUBLIC_MAX_WHOIS_FOLLOW=2 # 查询域名时,Whois服务器“跳转跟随”的最大层数,用于避免循环查询
- NEXT_PUBLIC_MAX_IP_WHOIS_FOLLOW=5 # 查询IP时,Whois最大跟随层数(一般保持默认值5即可)
# Redis缓存配置(如果不配置Redis,则缓存功能将被禁用)
- REDIS_HOST=redis # Redis服务的主机地址(如果使用独立容器,此处可填写容器服务名)
- REDIS_PORT=6379 # Redis服务的端口号
- REDIS_PASSWORD= # Redis访问密码,如果没有密码则留空
- REDIS_DB=0 # 使用的Redis数据库编号
- REDIS_CACHE_TTL=3600 # 缓存条目的有效时间,单位为秒
# 可选的Moz API配置(用于获取域名权威度等扩展信息,非必需)
- MOZ_ACCESS_ID=xxxx
- MOZ_SECRET_KEY=xxxx
# 网站自定义信息配置
- NEXT_PUBLIC_SITE_TITLE=羊刀仙 Whois 查询 # 显示在浏览器标签页和页面上的标题
- NEXT_PUBLIC_SITE_DESCRIPTION=一个基于 Next Whois 的现代化域名/IP/ASN 查询平台 # 网站描述,可用于SEO
- NEXT_PUBLIC_SITE_KEYWORDS=Whois,RDAP,域名查询,IP查询,ASN查询,羊刀仙 # 网站关键词
值得注意的是,官方提供的 programzmh/next-whois-ui 镜像是已经构建好的静态文件产物。如果您希望对界面或功能进行深度定制,可以克隆项目的GitHub仓库源码,修改配置后自行构建Docker镜像进行部署。
关于更详细的API接口文档和使用说明,建议直接在GitHub上搜索项目仓库 zmh-program/next-whois 进行查阅。
部署时,在威联通的 Container Station 应用中,选择“创建应用程序”,将上述 Docker Compose 配置内容粘贴到编辑框中,即可启动服务。

实际使用展示
按照上述配置完成部署后,在浏览器中输入 你的NAS的IP地址:9191 即可访问部署好的 Next-Whois 查询界面。

例如,查询百度(baidu.com)的域名信息,工具会清晰地展示注册商、注册日期、到期时间、域名服务器等详细数据。

再查询一个个人域名,同样可以快速获得其完整的 whois 注册信息。

结语
总的来说,Next-Whois 是一款功能全面、部署简便、界面友好的现代化网络信息查询工具。无论是对于需要频繁进行域名/IP信息查证的网络管理员、安全研究人员,还是对于偶尔需要了解网站背景的普通互联网用户,它都能提供高效可靠的帮助。有兴趣的读者完全可以按照本文的指引,在自己的NAS、云服务器或本地开发环境中快速部署一个专属的查询服务。希望本次分享能为大家带来便利。