Nehonix-Team/XyPriss
GitHub: Nehonix-Team/XyPriss
融合 Go 原生引擎与 TypeScript 的企业级安全 Web 框架,兼顾极致性能与开发效率。
Stars: 8 | Forks: 4

**企业级 Node.js Web 框架**
[](https://badge.fury.io/js/xypriss)
[](https://www.typescriptlang.org/)
[](https://dll.nehonix.com/licenses/NOSL)
[](https://nehonix.com)
[](https://www.jsdelivr.com/package/npm/xypriss)
[快速开始](https://xypriss.nehonix.com/docs/QUICK_START) • [文档](https://xypriss.nehonix.com/docs/) • [示例](https://xypriss.nehonix.com/docs/EXAMPLES) • [API 参考](https://xypriss.nehonix.com/docs/api-reference)
## 概述
XyPriss 是一个**企业级混合 Web 框架**,它将编译型原生二进制文件的极致性能与 **TypeScript** 的生产力和灵活性完美结合。它专为既需要运行速度又需要开发效率的团队设计,无需在两者之间做出妥协。
### 跨平台基础
XyPriss 为所有主要平台提供了预编译的原生二进制文件。无需额外的工具链、编译器或运行时依赖。
| 操作系统 | 架构 | 状态 |
| ----------- | ----------------------- | --------- |
| **Linux** | x86_64 (AMD64) | 支持 |
| **Linux** | aarch64 (ARM64) | 支持 |
| **Windows** | x86_64 (AMD64) | 支持 |
| **Windows** | aarch64 (ARM64) | 支持 |
| **macOS** | x86_64 (Intel) | 支持 |
| **macOS** | aarch64 (Apple Silicon) | 支持 |
### 架构
XyPriss 的核心是 **XHSC (XyPriss Hyper-System Core)** —— 这是一个原生引擎,负责底层 HTTP 网络、高速 radix 路由、文件系统操作、实时系统遥测和进程间通信。XHSC 采用 Go 语言编写,以确保最大的可移植性,并作为每个平台的单个静态链接二进制文件发布,具有零外部依赖。
该框架采用分层架构:
1. **XHSC (原生引擎):** 处理 HTTP/S 协议栈、高级 radix 路由、文件系统 I/O、进程监控和实时硬件遥测。它是所有传入流量和系统操作的高速网关。
2. **Node.js Runtime:** 提供企业级的应用层,开发者可以使用 TypeScript 定义业务逻辑、安全中间件和数据处理管道。
3. **XFPM (XyPriss Fast Package Manager):** 一个高性能、Rust 驱动的包管理器,专为 XyPriss 生态系统优化。提供超快的依赖解析、解压和缓存功能。[了解更多关于 XFPM 的信息](https://xypriss.nehonix.com/docs/xfpm?kw=XFPM%20is%20the%20high-performance)。
这种分离允许每一层在其最佳领域运行:编译型原生代码用于性能关键路径,TypeScript 用于快速应用开发。
### 核心特性
- **XHSC 原生引擎** — 静态链接的系统核心,支持多核集群、IPC 桥接和高精度硬件遥测,跨所有支持的平台。
- **XEMS 会话安全** — 由专用原生 Golang sidecar 驱动的 AES-256-GCM 加密内存会话存储。提供不透明 token、每次请求的原子轮换、沙箱命名空间和可选的硬件绑定持久化 —— 零外部依赖。
- **安全优先架构** — 包含 12 个以上的内置安全中间件模块,包括 CSRF 防护、XSS 防护和智能速率限制。
- **高级 Radix 路由** — 超快路由系统,能够以微秒级延迟处理复杂的路径匹配。
- **实时系统智能** — 直接从应用层原生访问 CPU、内存、磁盘、网络、电池和进程指标。
- **文件系统引擎** — 高性能文件操作,包括递归复制、目录同步、内容哈希、重复检测和实时文件监控。
- **文件上传管理** — 生产级 multipart/form-data 处理,具有自动验证和错误处理功能。
- **环境安全盾** — 军用级敏感变量保护。通过原生 Proxy 屏蔽直接的 `process.env` 访问,以防止意外泄露,强制使用安全的、类型化的 API。
- **内置 DotEnv 加载器** — 零依赖、超快的 `.env` 解析器,自动支持 `.env`、`.env.local` 和 `.private/.env`。
- **可扩展插件系统** — 基于权限的插件架构,具有生命周期钩子和安全控制。
- **原生生产集成** — 为通过 [XyNginC](https://github.com/Nehonix-Team/xynginc) 进行自动化部署和 SSL 管理而构建。
- **多服务器支持** — 运行具有隔离配置和安全策略的多个服务器实例。
我们强烈建议使用 **XyPriss CLI (`xyp`)** 以获得最快、最可靠的开发体验。
请参阅 [**安装指南**](https://xypriss.nehonix.com/docs/installation?q=install%20xfpm&kw=This%20document%20provides%20step-by-step%20in) 获取详细的平台特定说明。
### 快速安装
```
curl -sL https://xypriss.nehonix.com/install.js | node
```
安装完成后,您可以以超高性能管理您的项目依赖:
```
# 在你的项目中安装 XyPriss
xyp install xypriss
```
或者,使用标准包管理器:
```
xfpm i xypriss
# 或
yarn add xypriss
```
如需额外的安全功能:
```
xfpm install xypriss-security
```
## 快速开始
### 使用 CLI
```
xfpm init
cd my-app
xfpm dev # or xyp dev (both are the same)
```
### 手动设置
```
import { createServer } from "xypriss";
const app = createServer({
server: { port: 3000 },
security: { enabled: true },
});
app.get("/", (req, res) => {
res.json({ message: "Hello from XyPriss" });
});
app.start();
```
**[完整快速开始指南](https://xypriss.nehonix.com/docs/QUICK_START)**
## 文档
### 入门
- [快速开始指南](https://xypriss.nehonix.com/docs/QUICK_START) - 安装和基本设置
- [XFPM 指南](https://xypriss.nehonix.com/docs/xfpm) - 使用 XyPriss Fast Package Manager
- [示例](https://xypriss.nehonix.com/docs/EXAMPLES) - 实用代码示例
- [功能概述](https://xypriss.nehonix.com/docs/FEATURES_OVERVIEW) - 全面功能列表
### 安全
- [安全概述](./docs/security/SECURITY.md) - 安全功能和最佳实践
- [**XEMS — 安全会话与临时存储**](./docs/XEMS_TUTORIAL.md) - AES-256-GCM 加密会话、OTP 流程、token 轮换
- [基于路由的安全](./docs/security/ROUTE_BASED_SECURITY.md) - 每个路由的安全策略
- [请求签名认证](./docs/security/request-signature-auth.md) - API 密钥认证
- [CORS 配置](./docs/security/advanced-cors-regexp.md) - 支持 RegExp 模式的高级 CORS
### 插件系统
- [插件开发](https://xypriss.nehonix.com/docs/PLUGIN_DEVELOPMENT_GUIDE) - 创建插件
- [插件钩子](https://xypriss.nehonix.com/docs/PLUGIN_CORE_HOOKS) - 可用的生命周期钩子
- [插件权限](https://xypriss.nehonix.com/docs/PLUGIN_PERMISSIONS) - 安全和权限
- [控制台拦截钩子](https://xypriss.nehonix.com/docs/CONSOLE_INTERCEPT_HOOK) - 控制台监控
### 高级主题
- [XJson API](./docs/XJSON_API.md) - 高级 JSON 序列化
- [集群](./docs/bun-clustering.md) - 多 worker 扩展
- [性能调优](./docs/cluster-performance-tuning.md) - 优化策略
**[查看所有文档](./docs/)**
## 安全
XyPriss 的构建以安全为基本设计原则。该框架实施了多层保护,并遵循安全 Web 应用程序开发的行业最佳实践。
### XEMS — 加密内存存储
[XEMS](https://github.com/Nehonix-Team/XyPriss-XEMS) 是内置的会话安全层。与基于 cookie 的 JWT 不同,XEMS 将所有会话数据**存储在原生 Go sidecar 进程内的服务器端**,并使用 AES-256-GCM 进行加密。客户端仅持有一个随机的不透明 token。
```
import { createServer, xems } from "xypriss";
const app = createServer({
server: {
xems: {
enable: true, // Enable the XEMS middleware
ttl: "15m", // Session lifetime
autoRotation: true, // Rotate token on every request
gracePeriod: 1000, // ms the old token stays valid (concurrent requests)
},
},
});
// Login — create an encrypted session
app.post("/auth/login", async (req, res) => {
// ... verify credentials
await res.xLink({ userId: user.id, role: user.role }); // session created
res.json({ success: true });
});
// Protected route — session auto-decrypted
app.get("/profile", (req, res) => {
if (!req.session) return res.status(401).json({ error: "Unauthorized" });
res.json({ user: req.session }); // { userId, role }
});
```
**[完整 XEMS 指南 →](./docs/XEMS_TUTORIAL.md)**
### 环境安全盾
XyPriss 实施了 **严格环境安全盾** 来保护您的机密信息并强制执行编码最佳实践。默认情况下,XyPriss 屏蔽对非必要变量的 `process.env` 直接访问,以防止第三方库意外暴露或日志调试遗留问题。
#### 1. 零依赖加载器
不需要 `dotenv` 或其他外部包。XyPriss 自动从以下位置加载变量:
1. `.env`
2. `.env.local`
3. `.private/.env` (优先级最高)
#### 2. 安全盾实际运作
标准系统变量(如 `PATH`、`USER`、`NODE_ENV`)被列入白名单以确保系统稳定性,但您的自定义应用程序变量受到保护。
```
// ❌ Blocked & Masked (returns undefined + Security Warning)
const secret = process.env.DATABASE_PASSWORD;
// ✅ Official & Secure Way
const secret = __sys__.__env__.get("DATABASE_PASSWORD");
```
#### 3. 官方配置
对于项目配置,请使用 `XYPRISS_` 前缀以绕过内部框架变量的安全盾:
- `XYPRISS_PORT`
- `XYPRISS_HOST`
- `XYPRISS_REDIS_URL`
**[了解更多关于环境安全的信息 →](./docs/ENVIRONMENT_SHIELD.md)**
### 安全披露政策
虽然我们维持严格的安全标准,但我们承认可能存在漏洞。我们鼓励负责任地披露安全问题。
**如果您发现安全漏洞,请通过电子邮件报告:**
**电子邮件:** [support@team.nehonix.com](mailto:support@team.nehonix.com)
**请勿针对安全漏洞公开提 GitHub issue。**
我们承诺:
- 在 48 小时内确认收到您的报告
- 定期提供我们的进展更新
- 致谢负责任披露漏洞的研究人员
非常感谢您在维护 XyPriss 安全方面的协助。
### 多服务器安全隔离
在多服务器模式下,XyPriss 强制执行严格的进程和内存隔离。配置中定义的每个服务器都运行自己专用的 XEMS sidecar。这可以防止服务之间的会话泄露(例如,您的公共 API 无法访问您管理仪表板的会话)。
要在分布式设置中与正确的存储交互:
- **Web 认证:** 使用 `res.xLink()` (自动)。
- **直接访问:** 使用 `req.app.xems` 或 `xems.forApp(req.app)`。
### 资源
- **文档** - [完整指南和 API 参考](https://xypriss.nehonix.com/docs/)
- **GitHub Discussions** - [社区问答和功能讨论](https://github.com/Nehonix-Team/XyPriss/discussions)
- **Issue Tracker** - [Bug 报告和功能请求](https://github.com/Nehonix-Team/XyPriss/issues)
- **安全** - [报告漏洞](mailto:support@team.nehonix.com)
- **网站** - [了解更多关于 Nehonix](https://nehonix.com)
## 许可证
XyPriss 基于 [Nehonix OSL (Nehonix OSL (NOSL)) License](https://dll.nehonix.com/licenses/NOSL) 授权。
## 致谢
### 由 Nehonix 团队开发
XyPriss 由 [Nehonix](https://github.com/Nehonix-Team) 及其 [贡献者](https://github.com/Nehonix-Team/XyPriss/graphs/contributors) 维护。
[](https://nehonix.com)
[](https://github.com/Nehonix-Team)
标签:API开发, MITM代理, Nehonix, Node.js框架, Rust, Syscall, TypeScript, Web开发, 中间件, 企业级Web框架, 原生二进制, 可视化界面, 后端开发, 安全插件, 微服务架构, 日志审计, 混合开发框架, 网络流量审计, 自动化攻击