项目描述

这是一个简单的 WHOIS 代理服务器,使用 Node.js 和 Express 框架构建。它提供了一个 API 端点来查询域名的 WHOIS 信息,并包含以下特性:

  • 使用 node-cache 实现数据缓存
  • 使用 express-rate-limit 实现请求速率限制
  • 提取并返回关键 WHOIS 信息(创建日期、过期日期、注册商)

前置要求

  • Node.js (建议版本 12.x 或更高)
  • npm (通常随Node.js一起安装)

安装

  1. 安装 npm (如果尚未安装):

以下是在不同操作系统上安装Node.js (包含npm) 的命令:

对于 Ubuntu/Debian 系统:

# 更新包列表
sudo apt update

# 安装Node.js和npm
sudo apt install nodejs npm

# 验证安装
node --version
npm --version

对于 CentOS/Fedora 系统:

# 安装Node.js和npm
sudo dnf install nodejs npm

# 或者如果使用较旧的CentOS版本:
# sudo yum install nodejs npm

# 验证安装
node --version
npm --version

对于 macOS (使用Homebrew):

# 安装Homebrew (如果尚未安装)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# 安装Node.js (会自动包含npm)
brew install node

# 验证安装
node --version
npm --version

对于 Windows:

Windows用户通常直接从Node.js官网下载安装程序。但如果您使用包管理器如Chocolatey,可以使用以下命令:

# 使用Chocolatey安装
choco install nodejs

# 验证安装
node --version
npm --version
  1. 下载并设置 whois-proxy.js:

    mkdir -p /root/whois && curl -o /root/whois/whois-proxy.js https://raw.githubusercontent.com/ypq123456789/whois-proxy.js/main/whois-proxy.js && cd /root/whois
    
  2. 安装依赖:

    npm install express whois node-cache express-rate-limit
    

这将安装以下包:

  • express: Web 应用框架
  • whois: WHOIS 查询功能
  • node-cache: 用于实现缓存
  • express-rate-limit: 用于实现速率限制

使用 PM2 运行服务器

  1. 全局安装 PM2:

    npm install -g pm2
    
  2. 使用 PM2 启动服务器:

    pm2 start whois-proxy.js --name "whois-proxy"
    
  3. 查看运行状态:

    pm2 status
    
  4. 查看日志:

    pm2 logs whois-proxy
    
  5. 停止服务器:

    pm2 stop whois-proxy
    
  6. 重启服务器:

    pm2 restart whois-proxy
    

API 使用

发送GET请求到 /whois/:domain 端点,其中 :domain 是您想查询的域名。

例如:

http://x.x.x.x/whois/example.com

其中x.x.x.x是你vps的ip。

你也可以直接在浏览器中输入这一地址,返回结果就是whois查询结果。 image

如果有需要,你也可以绑定自己的域名,并且套上CF的CDN,让自己的服务更加安全。

注意事项

  • 服务器默认在80端口运行。如需更改,请修改代码中的 port 变量。
  • 速率限制设置为每个IP每15分钟100个请求。
  • WHOIS数据默认缓存1小时。

仓库地址

GitHub:https://github.com/ypq123456789/whois-proxy

网站免责声明
一、资源来源与版权

本网站所有资源及文章均源自互联网,经过我们的收集整理后呈现给用户。我们明确声明,本网站不直接参与任何资源的创作或制作过程,仅作为信息的传递者。若您发现本网站上的任何内容侵犯了您的合法权益(包括但不限于版权、商标权、专利权等),请立即通过以下联系方式与我们取得联系。在收到您的反馈并核实情况后,我们将迅速采取相应措施,包括但不限于删除侵权内容,以确保您的合法权益得到及时保护。

二、资源使用与责任

资源鉴别:本网站发布的资源可能包含水印、广告链接或其他引流信息,这是由资源原始来源决定的。我们提醒用户在使用这些资源时,应保持警惕,自行鉴别信息的真实性和适用性,避免受到不必要的干扰或误导。 非商业用途:本网站提供的资源仅供学习、研究及非商业性交流使用。我们鼓励用户尊重原创,支持正版。若您计划将本站资源用于商业目的,请务必先获得合法授权,否则因此产生的一切法律后果将由下载用户自行承担。

三、联系方式

为了更好地服务用户,解决您在使用本网站过程中可能遇到的问题或反馈侵权信息,我们提供了以下联系方式(请将“#”替换为“@”后使用): 联系方式:contact#kukaylib.com

四、免责条款

本网站致力于为用户提供高质量的信息服务,但对于因网络状况、第三方干扰、不可抗力等因素导致的服务中断、数据丢失、信息错误等问题,本网站不承担任何责任。同时,本网站对于用户在使用本站资源过程中可能产生的任何直接、间接、偶然、特殊或惩罚性损失,也不承担任何法律责任。 请用户在使用本网站时,务必遵守相关法律法规及道德准则,自行承担因使用本站资源而产生的所有风险和后果。

五、更新与修订

本网站有权随时更新或修订本免责声明,更新或修订后的免责声明一经发布即具有法律效力。用户应定期访问本页面以了解最新的免责声明内容。 感谢您对本网站的理解与支持!我们将继续努力,为用户提供更加优质、便捷的信息服务。