先附上链接:https://github.com/yigehaozi/To-Reach-All-Easily
**To Reach All Easily 是一个源码公开的域名信息查询界面,支持 WHOIS 查询、批量后缀检测、查询会话、本地历史记录和查询结果分享。
**
项目使用 React、TypeScript、Vite、Tailwind CSS、Zustand 构建,并提供一个轻量 Node 静态服务,用于托管 dist/、处理 SPA fallback,并将同源 /api/* 请求代理到默认上游 https://yisi.yun 或你自定义的上游服务。

功能特性
单域名 WHOIS 查询与结构化结果展示。
批量 TLD 检测,按通用后缀、国家地区后缀、新后缀和 IDN 后缀分组。
本地查询历史和会话式查询导航。
内置 API 文档页和可运行请求示例。
基于本地 JSON 文件存储的查询结果分享链接。
PWA 注册与桌面/移动端响应式布局。
当前业务能力
当前版本面向域名信息查询和开放 API 接入场景,重点提供:

域名 WHOIS 查询结果的结构化展示。
批量后缀可用性检测和分组汇总。
查询过程进度提示、结果分享和本地历史记录。
面向开发者的 API 文档、在线测试和 API Key 申请入口。
环境要求
Node.js 20 或更新版本。
pnpm 9 或更新版本。
如需真实查询结果,需要可用的 WHOIS/API 上游服务。
快速开始
pnpm install
cp .env.example .env.local
pnpm dev
打开终端输出的本地 Vite 地址即可访问。

界面可以在没有真实凭据的情况下启动,但实时查询需要配置你自己的上游访问参数。

API Key 申请
如需使用默认上游 https://yisi.yun,请前往 https://yisi.yun/api-docs 申请 API Key。获取后将 Key 写入 .env.local 的 UPSTREAM_API_KEY。

环境变量
本地开发时复制 .env.example 为 .env.local。

变量 是否必需 说明
UPSTREAM_API_ORIGIN 可选 Vite 代理和 server.mjs 使用的服务端上游 API 地址,默认 https://yisi.yun。
UPSTREAM_API_KEY 取决于上游 如果上游需要认证,会作为 x-api-key 请求头转发。
VITE_PUBLIC_API_BASE 可选 API 文档页展示的公开 Base URL,默认 https://yisi.yun。
VITE_API_BASE 可选 浏览器侧 API Base 覆盖项。留空时使用同源 /api/*。
HOST 可选 server.mjs 监听 Host,默认 127.0.0.1。
PORT 可选 server.mjs 监听端口,默认 3002。
ONEFOUR_SHARE_TTL_SECONDS 可选 分享结果有效期,单位秒,默认 7200。
ONEFOUR_SHARE_STORAGE_DIR 可选 分享 JSON 文件存储目录,默认 .onefour-share-data。
不要提交 .env、.env.local、生产凭据或复制来的服务商密钥。

常用命令
pnpm dev # 启动 Vite 开发服务器
pnpm check # TypeScript 类型检查
pnpm lint # ESLint 检查
pnpm build # 构建生产资源
pnpm preview # 预览 Vite 构建产物
pnpm start:prod # 使用 server.mjs 托管 dist
生产构建
pnpm install --frozen-lockfile
pnpm build
HOST=127.0.0.1 PORT=3002 node server.mjs
server.mjs 会托管 dist/、处理 SPA fallback 路由,并把同源 /api/* 请求代理到 UPSTREAM_API_ORIGIN。

上游 API 契约
当前界面默认期望上游提供以下路由:

GET /api/lookup?query=example.com
GET /api/lookup/stream?query=example.com
GET /api/supported-tlds?status=enabled&limit=10000
POST /api/bulk-dns-check
GET /api/bulk-dns-check/stream?query=example
如果你的上游响应结构不同,请调整 src/utils/api.ts、serverGateway.js 和 src/utils/ 下的展示映射逻辑。

项目结构
src/
├── components/ # 布局、查询结果、会话和通用 UI 组件
├── hooks/ # PWA、主题、历史记录和 WHOIS hooks
├── lib/ # 通用工具
├── pages/ # 路由页面
├── store/ # Zustand 状态
├── types/ # TypeScript 类型
└── utils/ # API、存储、格式化和查询辅助逻辑
安全与贡献
请不要通过公开 GitHub Issues 报告安全问题,详见 SECURITY.md。贡献流程见 CONTRIBUTING.md。

许可证
本项目使用自定义 Source-Available License,详见 LICENSE。

允许个人、学习、研究、评估和其他非商业用途。
商业使用必须事先获得作者书面批准。
禁止出售包含本代码、修改版代码或本代码实质部分的软件。