# simple-dns-server **Repository Path**: zhReimu/simple-dns-server ## Basic Information - **Project Name**: simple-dns-server - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-28 - **Last Updated**: 2026-02-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Simple DNS Server A lightweight DNS server implemented in TypeScript. ## 项目简介 Simple DNS Server 是一个轻量级的 DNS 服务器实现,使用 TypeScript 编写。该项目提供了基本的 DNS 查询处理功能,支持多种处理器来处理不同的 DNS 查询类型。 ## 功能特性 - **DNS 查询处理**: 支持处理标准的 DNS 查询请求 - **模块化处理器**: 采用处理器工厂模式,支持灵活扩展 - **错误处理**: 内置错误处理器和降级处理机制 - **IPv4 支持**: 支持 IPv4 地址的 DNS 响应 - **域名压缩**: 支持 DNS 协议中的域名压缩机制 ## 项目结构 ``` src/ ├── handler/ # DNS 处理器模块 │ ├── errorHandler.ts # 错误处理 │ ├── fallbackHandler.ts # 降级处理 │ ├── handlerFactory.ts # 处理器工厂 │ ├── handlerSPI.ts # 处理器接口定义 │ ├── inAddrHandler.ts # 反向 DNS 查询处理 │ └── simpleHandler.ts # 简单处理器 ├── server/ │ └── server.ts # DNS 服务器核心实现 ├── utils/ │ └── packetUtils.ts # DNS 数据包工具函数 └── main.ts # 程序入口 ``` ## 技术栈 - **语言**: TypeScript - **包管理**: pnpm ## 安装 ```bash # 安装依赖 pnpm install ``` ## 构建 ```bash # 编译 TypeScript pnpm build ``` ## 运行 ```bash # 启动 DNS 服务器 pnpm start ``` ## 配置 项目支持通过 `.env` 文件进行配置(请根据实际需求创建配置文件)。 ## 许可证 请查看 LICENSE 文件了解具体的开源许可协议。 ## 作者 [zhReimu](https://gitee.com/zhReimu) ## 贡献 欢迎提交 Issue 和 Pull Request!