xypriss 9.6.96 → 9.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. package/README.md +55 -22
  2. package/dist/cjs/src/index.js +0 -19
  3. package/dist/cjs/src/index.js.map +1 -1
  4. package/dist/cjs/src/middleware/built-in/BuiltInMiddleware.js +4 -4
  5. package/dist/cjs/src/middleware/built-in/BuiltInMiddleware.js.map +1 -1
  6. package/dist/cjs/src/middleware/built-in/security/HoneypotTarpit.js +510 -0
  7. package/dist/cjs/src/middleware/built-in/security/HoneypotTarpit.js.map +1 -0
  8. package/dist/cjs/src/middleware/built-in/security/SQLInjectionDetector.js +113 -34
  9. package/dist/cjs/src/middleware/built-in/security/SQLInjectionDetector.js.map +1 -1
  10. package/dist/cjs/src/middleware/built-in/security/UriNormalizer.js +413 -0
  11. package/dist/cjs/src/middleware/built-in/security/UriNormalizer.js.map +1 -0
  12. package/dist/cjs/src/middleware/built-in/security/XyPrissCors.js +98 -0
  13. package/dist/cjs/src/middleware/built-in/security/XyPrissCors.js.map +1 -0
  14. package/dist/cjs/src/middleware/built-in/security/XyPrissHPP.js +52 -0
  15. package/dist/cjs/src/middleware/built-in/security/XyPrissHPP.js.map +1 -0
  16. package/dist/cjs/src/middleware/safe-json-middleware.js +0 -82
  17. package/dist/cjs/src/middleware/safe-json-middleware.js.map +1 -1
  18. package/dist/cjs/src/middleware/security-middleware.js +7 -4
  19. package/dist/cjs/src/middleware/security-middleware.js.map +1 -1
  20. package/dist/cjs/src/plugins/builtin/xems/XemsBuiltinPlugin.js +33 -10
  21. package/dist/cjs/src/plugins/builtin/xems/XemsBuiltinPlugin.js.map +1 -1
  22. package/dist/cjs/src/plugins/builtin/xems/XemsPlugin.js +34 -3
  23. package/dist/cjs/src/plugins/builtin/xems/XemsPlugin.js.map +1 -1
  24. package/dist/cjs/src/plugins/const/OFFICIAL_PLUGINS.js +1 -1
  25. package/dist/cjs/src/plugins/const/OFFICIAL_PLUGINS.js.map +1 -1
  26. package/dist/cjs/src/plugins/const/XyprissTempDir.js +72 -9
  27. package/dist/cjs/src/plugins/const/XyprissTempDir.js.map +1 -1
  28. package/dist/cjs/src/plugins/core/XPluginManager.js +1 -1
  29. package/dist/cjs/src/plugins/core/XPluginManager.js.map +1 -1
  30. package/dist/cjs/src/plugins/core/manager/PluginHookRunner.js +3 -2
  31. package/dist/cjs/src/plugins/core/manager/PluginHookRunner.js.map +1 -1
  32. package/dist/cjs/src/plugins/core/manager/PluginInterceptor.js +4 -4
  33. package/dist/cjs/src/plugins/core/manager/PluginInterceptor.js.map +1 -1
  34. package/dist/cjs/src/plugins/core/manager/PluginLoader.js +46 -7
  35. package/dist/cjs/src/plugins/core/manager/PluginLoader.js.map +1 -1
  36. package/dist/cjs/src/plugins/core/manager/PluginManagement.js +1 -0
  37. package/dist/cjs/src/plugins/core/manager/PluginManagement.js.map +1 -1
  38. package/dist/cjs/src/plugins/core/manager/PluginRegistry.js +16 -9
  39. package/dist/cjs/src/plugins/core/manager/PluginRegistry.js.map +1 -1
  40. package/dist/cjs/src/plugins/core/manager/PluginSecurity.js +87 -0
  41. package/dist/cjs/src/plugins/core/manager/PluginSecurity.js.map +1 -1
  42. package/dist/cjs/src/server/FastServer/ComponentManager.js +2 -1
  43. package/dist/cjs/src/server/FastServer/ComponentManager.js.map +1 -1
  44. package/dist/cjs/src/server/FastServer/index.js +18 -2
  45. package/dist/cjs/src/server/FastServer/index.js.map +1 -1
  46. package/dist/cjs/src/server/ServerFactory.js +8 -13
  47. package/dist/cjs/src/server/ServerFactory.js.map +1 -1
  48. package/dist/cjs/src/server/components/fastapi/RedirectManager.js +8 -58
  49. package/dist/cjs/src/server/components/fastapi/RedirectManager.js.map +1 -1
  50. package/dist/cjs/src/server/components/fastapi/upload/FileUploadManager.js +1 -1
  51. package/dist/cjs/src/server/components/fastapi/upload/FileUploadManager.js.map +1 -1
  52. package/dist/cjs/src/server/components/multi-server/MultiServerManager.js +13 -1
  53. package/dist/cjs/src/server/components/multi-server/MultiServerManager.js.map +1 -1
  54. package/dist/cjs/src/server/core/HttpServer.js +22 -0
  55. package/dist/cjs/src/server/core/HttpServer.js.map +1 -1
  56. package/dist/cjs/src/server/core/XHSCBridge/EngineManager.js +33 -2
  57. package/dist/cjs/src/server/core/XHSCBridge/EngineManager.js.map +1 -1
  58. package/dist/cjs/src/server/core/XHSCBridge/cmd/buildSecurityArgs.js +1 -1
  59. package/dist/cjs/src/server/core/XHSCBridge/cmd/buildSecurityArgs.js.map +1 -1
  60. package/dist/cjs/src/server/core/XyLifecycleManager.js +3 -2
  61. package/dist/cjs/src/server/core/XyLifecycleManager.js.map +1 -1
  62. package/dist/cjs/src/server/core/XyModuleManager.js +2 -1
  63. package/dist/cjs/src/server/core/XyModuleManager.js.map +1 -1
  64. package/dist/cjs/src/server/core/XyServerCreator.js +1 -0
  65. package/dist/cjs/src/server/core/XyServerCreator.js.map +1 -1
  66. package/dist/cjs/src/shared/logger/Logger.js.map +1 -1
  67. package/dist/cjs/src/shared/logger/quickLogger.js +162 -0
  68. package/dist/cjs/src/shared/logger/quickLogger.js.map +1 -0
  69. package/dist/cjs/src/xhsc/PathApi.js +44 -3
  70. package/dist/cjs/src/xhsc/PathApi.js.map +1 -1
  71. package/dist/cjs/src/xhsc/System.js +2 -0
  72. package/dist/cjs/src/xhsc/System.js.map +1 -1
  73. package/dist/cjs/src/xhsc/UtilsApi.js +52 -0
  74. package/dist/cjs/src/xhsc/UtilsApi.js.map +1 -0
  75. package/dist/cjs/src/xhsc/XyPrissRunner.js +30 -2
  76. package/dist/cjs/src/xhsc/XyPrissRunner.js.map +1 -1
  77. package/dist/cjs/src/xhsc/fs/FSCore.js +148 -0
  78. package/dist/cjs/src/xhsc/fs/FSCore.js.map +1 -1
  79. package/dist/cjs/src/xhsc/fs/FileHandle.js +112 -0
  80. package/dist/cjs/src/xhsc/fs/FileHandle.js.map +1 -0
  81. package/dist/cjs/src/xhsc/ipc/XHSCDirectIPC.js +134 -0
  82. package/dist/cjs/src/xhsc/ipc/XHSCDirectIPC.js.map +1 -0
  83. package/dist/cjs/src/xhsc/utils/ArrayUtils.js +67 -0
  84. package/dist/cjs/src/xhsc/utils/ArrayUtils.js.map +1 -0
  85. package/dist/cjs/src/xhsc/utils/AsyncUtils.js +582 -0
  86. package/dist/cjs/src/xhsc/utils/AsyncUtils.js.map +1 -0
  87. package/dist/cjs/src/xhsc/utils/DateUtils.js +959 -0
  88. package/dist/cjs/src/xhsc/utils/DateUtils.js.map +1 -0
  89. package/dist/cjs/src/xhsc/utils/FunctionUtils.js +29 -0
  90. package/dist/cjs/src/xhsc/utils/FunctionUtils.js.map +1 -0
  91. package/dist/cjs/src/xhsc/utils/IdUtils.js +22 -0
  92. package/dist/cjs/src/xhsc/utils/IdUtils.js.map +1 -0
  93. package/dist/cjs/src/xhsc/utils/NumberUtils.js +79 -0
  94. package/dist/cjs/src/xhsc/utils/NumberUtils.js.map +1 -0
  95. package/dist/cjs/src/xhsc/utils/ObjectUtils.js +141 -0
  96. package/dist/cjs/src/xhsc/utils/ObjectUtils.js.map +1 -0
  97. package/dist/cjs/src/xhsc/utils/StringUtils.js +145 -0
  98. package/dist/cjs/src/xhsc/utils/StringUtils.js.map +1 -0
  99. package/dist/cjs/src/xhsc/utils/ValidationUtils.js +49 -0
  100. package/dist/cjs/src/xhsc/utils/ValidationUtils.js.map +1 -0
  101. package/dist/cjs/src/xhsc.js +5 -3
  102. package/dist/cjs/src/xhsc.js.map +1 -1
  103. package/dist/esm/src/index.js +0 -2
  104. package/dist/esm/src/index.js.map +1 -1
  105. package/dist/esm/src/middleware/built-in/BuiltInMiddleware.js +4 -4
  106. package/dist/esm/src/middleware/built-in/BuiltInMiddleware.js.map +1 -1
  107. package/dist/esm/src/middleware/built-in/security/HoneypotTarpit.js +508 -0
  108. package/dist/esm/src/middleware/built-in/security/HoneypotTarpit.js.map +1 -0
  109. package/dist/esm/src/middleware/built-in/security/SQLInjectionDetector.js +113 -34
  110. package/dist/esm/src/middleware/built-in/security/SQLInjectionDetector.js.map +1 -1
  111. package/dist/esm/src/middleware/built-in/security/UriNormalizer.js +391 -0
  112. package/dist/esm/src/middleware/built-in/security/UriNormalizer.js.map +1 -0
  113. package/dist/esm/src/middleware/built-in/security/XyPrissCors.js +96 -0
  114. package/dist/esm/src/middleware/built-in/security/XyPrissCors.js.map +1 -0
  115. package/dist/esm/src/middleware/built-in/security/XyPrissHPP.js +50 -0
  116. package/dist/esm/src/middleware/built-in/security/XyPrissHPP.js.map +1 -0
  117. package/dist/esm/src/middleware/safe-json-middleware.js +1 -79
  118. package/dist/esm/src/middleware/safe-json-middleware.js.map +1 -1
  119. package/dist/esm/src/middleware/security-middleware.js +7 -4
  120. package/dist/esm/src/middleware/security-middleware.js.map +1 -1
  121. package/dist/esm/src/plugins/builtin/xems/XemsBuiltinPlugin.js +33 -10
  122. package/dist/esm/src/plugins/builtin/xems/XemsBuiltinPlugin.js.map +1 -1
  123. package/dist/esm/src/plugins/builtin/xems/XemsPlugin.js +34 -3
  124. package/dist/esm/src/plugins/builtin/xems/XemsPlugin.js.map +1 -1
  125. package/dist/esm/src/plugins/const/OFFICIAL_PLUGINS.js +1 -1
  126. package/dist/esm/src/plugins/const/OFFICIAL_PLUGINS.js.map +1 -1
  127. package/dist/esm/src/plugins/const/XyprissTempDir.js +70 -9
  128. package/dist/esm/src/plugins/const/XyprissTempDir.js.map +1 -1
  129. package/dist/esm/src/plugins/core/XPluginManager.js +1 -1
  130. package/dist/esm/src/plugins/core/XPluginManager.js.map +1 -1
  131. package/dist/esm/src/plugins/core/manager/PluginHookRunner.js +3 -2
  132. package/dist/esm/src/plugins/core/manager/PluginHookRunner.js.map +1 -1
  133. package/dist/esm/src/plugins/core/manager/PluginInterceptor.js +4 -4
  134. package/dist/esm/src/plugins/core/manager/PluginInterceptor.js.map +1 -1
  135. package/dist/esm/src/plugins/core/manager/PluginLoader.js +46 -7
  136. package/dist/esm/src/plugins/core/manager/PluginLoader.js.map +1 -1
  137. package/dist/esm/src/plugins/core/manager/PluginManagement.js +1 -0
  138. package/dist/esm/src/plugins/core/manager/PluginManagement.js.map +1 -1
  139. package/dist/esm/src/plugins/core/manager/PluginRegistry.js +16 -9
  140. package/dist/esm/src/plugins/core/manager/PluginRegistry.js.map +1 -1
  141. package/dist/esm/src/plugins/core/manager/PluginSecurity.js +87 -0
  142. package/dist/esm/src/plugins/core/manager/PluginSecurity.js.map +1 -1
  143. package/dist/esm/src/server/FastServer/ComponentManager.js +2 -1
  144. package/dist/esm/src/server/FastServer/ComponentManager.js.map +1 -1
  145. package/dist/esm/src/server/FastServer/index.js +18 -2
  146. package/dist/esm/src/server/FastServer/index.js.map +1 -1
  147. package/dist/esm/src/server/ServerFactory.js +8 -1
  148. package/dist/esm/src/server/ServerFactory.js.map +1 -1
  149. package/dist/esm/src/server/components/fastapi/RedirectManager.js +8 -58
  150. package/dist/esm/src/server/components/fastapi/RedirectManager.js.map +1 -1
  151. package/dist/esm/src/server/components/fastapi/upload/FileUploadManager.js +1 -1
  152. package/dist/esm/src/server/components/fastapi/upload/FileUploadManager.js.map +1 -1
  153. package/dist/esm/src/server/components/multi-server/MultiServerManager.js +13 -1
  154. package/dist/esm/src/server/components/multi-server/MultiServerManager.js.map +1 -1
  155. package/dist/esm/src/server/core/HttpServer.js +22 -0
  156. package/dist/esm/src/server/core/HttpServer.js.map +1 -1
  157. package/dist/esm/src/server/core/XHSCBridge/EngineManager.js +33 -2
  158. package/dist/esm/src/server/core/XHSCBridge/EngineManager.js.map +1 -1
  159. package/dist/esm/src/server/core/XHSCBridge/cmd/buildSecurityArgs.js +1 -1
  160. package/dist/esm/src/server/core/XHSCBridge/cmd/buildSecurityArgs.js.map +1 -1
  161. package/dist/esm/src/server/core/XyLifecycleManager.js +3 -2
  162. package/dist/esm/src/server/core/XyLifecycleManager.js.map +1 -1
  163. package/dist/esm/src/server/core/XyModuleManager.js +2 -1
  164. package/dist/esm/src/server/core/XyModuleManager.js.map +1 -1
  165. package/dist/esm/src/server/core/XyServerCreator.js +1 -0
  166. package/dist/esm/src/server/core/XyServerCreator.js.map +1 -1
  167. package/dist/esm/src/shared/logger/Logger.js.map +1 -1
  168. package/dist/esm/src/shared/logger/quickLogger.js +160 -0
  169. package/dist/esm/src/shared/logger/quickLogger.js.map +1 -0
  170. package/dist/esm/src/xhsc/PathApi.js +44 -3
  171. package/dist/esm/src/xhsc/PathApi.js.map +1 -1
  172. package/dist/esm/src/xhsc/System.js +2 -0
  173. package/dist/esm/src/xhsc/System.js.map +1 -1
  174. package/dist/esm/src/xhsc/UtilsApi.js +50 -0
  175. package/dist/esm/src/xhsc/UtilsApi.js.map +1 -0
  176. package/dist/esm/src/xhsc/XyPrissRunner.js +30 -2
  177. package/dist/esm/src/xhsc/XyPrissRunner.js.map +1 -1
  178. package/dist/esm/src/xhsc/fs/FSCore.js +148 -0
  179. package/dist/esm/src/xhsc/fs/FSCore.js.map +1 -1
  180. package/dist/esm/src/xhsc/fs/FileHandle.js +110 -0
  181. package/dist/esm/src/xhsc/fs/FileHandle.js.map +1 -0
  182. package/dist/esm/src/xhsc/ipc/XHSCDirectIPC.js +113 -0
  183. package/dist/esm/src/xhsc/ipc/XHSCDirectIPC.js.map +1 -0
  184. package/dist/esm/src/xhsc/utils/ArrayUtils.js +65 -0
  185. package/dist/esm/src/xhsc/utils/ArrayUtils.js.map +1 -0
  186. package/dist/esm/src/xhsc/utils/AsyncUtils.js +580 -0
  187. package/dist/esm/src/xhsc/utils/AsyncUtils.js.map +1 -0
  188. package/dist/esm/src/xhsc/utils/DateUtils.js +957 -0
  189. package/dist/esm/src/xhsc/utils/DateUtils.js.map +1 -0
  190. package/dist/esm/src/xhsc/utils/FunctionUtils.js +27 -0
  191. package/dist/esm/src/xhsc/utils/FunctionUtils.js.map +1 -0
  192. package/dist/esm/src/xhsc/utils/IdUtils.js +20 -0
  193. package/dist/esm/src/xhsc/utils/IdUtils.js.map +1 -0
  194. package/dist/esm/src/xhsc/utils/NumberUtils.js +77 -0
  195. package/dist/esm/src/xhsc/utils/NumberUtils.js.map +1 -0
  196. package/dist/esm/src/xhsc/utils/ObjectUtils.js +139 -0
  197. package/dist/esm/src/xhsc/utils/ObjectUtils.js.map +1 -0
  198. package/dist/esm/src/xhsc/utils/StringUtils.js +143 -0
  199. package/dist/esm/src/xhsc/utils/StringUtils.js.map +1 -0
  200. package/dist/esm/src/xhsc/utils/ValidationUtils.js +47 -0
  201. package/dist/esm/src/xhsc/utils/ValidationUtils.js.map +1 -0
  202. package/dist/esm/src/xhsc.js +6 -5
  203. package/dist/esm/src/xhsc.js.map +1 -1
  204. package/dist/index.d.ts +1881 -232
  205. package/package.json +119 -137
package/README.md CHANGED
@@ -3,11 +3,10 @@
3
3
 
4
4
  **Enterprise-Grade Node.js Web Framework**
5
5
 
6
- [![npm version](https://badge.fury.io/js/xypriss.svg)](https://badge.fury.io/js/xypriss)
6
+ [![Version](https://badge.fury.io/js/xypriss.svg)](https://xypriss.nehonix.com)
7
7
  [![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?style=flat&logo=typescript&logoColor=white)](https://www.typescriptlang.org/)
8
8
  [![License: Nehonix OSL (NOSL)](https://img.shields.io/badge/License-Nehonix%20OSL%20%28NOSL%29-blue.svg)](https://dll.nehonix.com/licenses/NOSL)
9
9
  [![Powered by Nehonix](https://img.shields.io/badge/Powered%20by-Nehonix-blue?style=flat&logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEyIDJMMTMuMDkgOC4yNkwyMCA5TDEzLjA5IDE1Ljc0TDEyIDIyTDEwLjkxIDE1Ljc0TDQgOUwxMC45MSA4LjI2TDEyIDJaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K)](https://nehonix.com)
10
- [![](https://data.jsdelivr.com/v1/package/npm/xypriss/badge)](https://www.jsdelivr.com/package/npm/xypriss)
11
10
 
12
11
  [Quick Start](https://xypriss.nehonix.com/docs/QUICK_START) • [Documentation](https://xypriss.nehonix.com/docs/) • [Examples](https://xypriss.nehonix.com/docs/EXAMPLES) • [API Reference](https://xypriss.nehonix.com/docs/api-reference)
13
12
 
@@ -23,11 +22,11 @@
23
22
  XyPriss is an **Enterprise-Grade Hybrid Web Framework** that combines the raw performance of compiled native binaries with the productivity and flexibility of **TypeScript**. It is designed for teams that require both operational speed and developer velocity, without compromise.
24
23
 
25
24
  > [!NOTE]
26
- > 🛡️ **Security Briefing:** XyPriss enforces "Secure by Default" architecture. Core variables are protected by a native **[Environment Security Shield](./docs/ENVIRONMENT_SHIELD.md)** that blocks direct `process.env` access to prevent leakage, alongside a built-in, zero-dependency storage system (**XEMS**) and high-speed Go-powered networking (**XHSC**).
25
+ > **Security Briefing:** XyPriss enforces a "Secure by Default" architecture. Core variables are protected by a native **[Environment Security Shield](./docs/ENVIRONMENT_SHIELD.md)** that blocks direct `process.env` access to prevent leakage. This is complemented by a built-in, zero-dependency storage system (**XEMS**), high-speed Go-powered networking (**XHSC**), and a **Zero-Trust Plugin Security** layer.
27
26
 
28
27
  ### Cross-Platform Foundation
29
28
 
30
- XyPriss ships pre-compiled native binaries for all major platforms. No additional toolchains, compilers, or runtime dependencies are required.
29
+ XyPriss provides pre-compiled native binaries for all major platforms. No additional toolchains, compilers, or runtime dependencies are required.
31
30
 
32
31
  | OS | Architecture | Status |
33
32
  | ----------- | ----------------------- | --------- |
@@ -46,7 +45,7 @@ The framework operates on a layered architecture:
46
45
 
47
46
  1. **XHSC (Native Engine):** Handles the HTTP/S stack, advanced radix routing, filesystem I/O, process monitoring, and real-time hardware telemetry. It acts as the high-speed gateway for all incoming traffic and system operations.
48
47
  2. **Node.js Runtime:** Provides the enterprise-ready application layer where developers define business logic, security middleware, and data processing pipelines using TypeScript.
49
- 3. **XFPM (XyPriss Fast Package Manager):** A high-performance, Rust-powered package manager optimized for the XyPriss ecosystem. Provides ultra-fast dependency resolution, extraction, and caching. [Learn more about XFPM](https://xypriss.nehonix.com/docs/xfpm?kw=XFPM%20is%20the%20high-performance).
48
+ 3. **XFPM (XyPriss Fast Package Manager):** A high-performance, Go-powered package manager optimized for the XyPriss ecosystem. Provides ultra-fast dependency resolution, extraction, and caching. [Learn more about XFPM](https://github.com/Nehonix-Team/XFMP).
50
49
 
51
50
  This separation allows each layer to operate in its optimal domain: compiled native code for performance-critical paths, TypeScript for rapid application development.
52
51
 
@@ -60,7 +59,7 @@ This separation allows each layer to operate in its optimal domain: compiled nat
60
59
  - **Filesystem Engine & Binary Streaming** — High-performance filesystem operations, duplicate detection, and robust **Zero-Copy Ranged Streaming** via `res.sendFile()`, optimized for media delivery and large assets.
61
60
  - **File Upload Management** — Production-ready multipart/form-data handling with automatic validation, error handling, and the `getMimes()` helper for extension-to-mime mapping.
62
61
  - **Environment Security Shield** — Military-grade protection for sensitive variables. Direct `process.env` access is masked via a native Proxy to prevent accidental leakage, forcing the use of secure, typed APIs.
63
- - **Built-in DotEnv Loader** — Zero-dependency, ultra-fast `.env` parser with automatic support for `.env`, `.env.local`, and `.private/.env`.
62
+ - **Built-in DotEnv Loader** — Zero-dependency, ultra-fast `.env` parser with automatic support for `.env`, `.env.local`.
64
63
  - **Extensible Plugin System** — Permission-based plugin architecture with lifecycle hooks and strict security controls (sandboxed restricted instances).
65
64
  - **Application Immutability** — Global protection against runtime hijacking. The `App` instance is locked via Proxy after creation to prevent unauthorized property mutations or deletions.
66
65
  - **Native Production Integration** — Built for automated deployments and SSL management via [XyNginC](https://github.com/Nehonix-Team/xynginc).
@@ -82,16 +81,11 @@ Once installed, you can manage your project dependencies with ultra-high perform
82
81
 
83
82
  ```bash
84
83
  # Install XyPriss in your project
85
- xyp install xypriss
84
+ xfpm install xypriss
86
85
  ```
87
86
 
88
- Alternatively, using standard package managers:
89
-
90
- ```bash
91
- xfpm i xypriss
92
- # or
93
- yarn add xypriss
94
- ```
87
+ > [!IMPORTANT]
88
+ > **XFPM Exclusivity**: All XyPriss projects MUST use `xfpm` for dependency management. Other package managers are not supported and will break the security chain.
95
89
 
96
90
  For additional security features:
97
91
 
@@ -153,16 +147,17 @@ app.start();
153
147
  ### Security
154
148
 
155
149
  - [Security Overview](./docs/security/SECURITY.md) - Security features and best practices
156
- - [**XEMS — Secure Sessions & Temporary Storage**](./docs/XEMS_TUTORIAL.md) - AES-256-GCM encrypted sessions, OTP flows, token rotation
150
+ - [**XEMS — Modular Technical Suite**](./docs/security/xems/README.md) - Deep dive into sidecar architecture, encryption, and configuration
151
+ - [**XEMS — Basic Tutorial**](./docs/XEMS_TUTORIAL.md) - High-level introduction to sessions and OTP flows
157
152
  - [Route-Based Security](./docs/security/ROUTE_BASED_SECURITY.md) - Per-route security policies
158
153
  - [Request Signature Auth](./docs/security/request-signature-auth.md) - API key authentication
159
154
  - [CORS Configuration](./docs/security/advanced-cors-regexp.md) - Advanced CORS with RegExp patterns
160
155
 
161
156
  ### Plugin System
162
157
 
163
- - [Plugin Development Guide](./docs/plugins/PLUGIN_SYSTEM_GUIDE.md) - **Recommended**: Comprehensive guide to the modular architecture.
158
+ - [Plugin Development Guide](./docs/plugins/PLUGIN_SYSTEM_GUIDE.md) - Recommended: Comprehensive guide to the modular architecture.
164
159
  - [Plugin API Reference](./docs/plugins/plugins.md) - Detailed interface and hook reference.
165
- - [Plugin Permissions](./docs/plugins/PLUGIN_PERMISSIONS.md) - Security and permissions (Capabilty-Based).
160
+ - [Plugin Permissions](./docs/plugins/PLUGIN_PERMISSIONS.md) - Security and permissions (Capability-Based).
166
161
  - [Built-in Plugins](./docs/plugins/BUILTIN_PLUGINS.md) - Official XEMS, Route Optimization, and Maintenance plugins.
167
162
  - [Console Intercept Hook](./docs/CONSOLE_INTERCEPT_HOOK.md) - Console monitoring.
168
163
 
@@ -180,6 +175,34 @@ app.start();
180
175
 
181
176
  XyPriss is built with security as a fundamental design principle. The framework implements multiple layers of protection and follows industry best practices for secure web application development.
182
177
 
178
+ ### Native URI Normalization & Anti-ReDoS Engine
179
+
180
+ XyPriss intercepts every request at the lowest level to enforce strict security normalizations before routing occurs:
181
+
182
+ - **Path Traversal Protection**: Eradicates directory climbing (`..`, `//`) and bypasses utilizing complex double-encodings (e.g., `%252E%252E`).
183
+ - **Input Sanitization**: Automatically normalizes Unicode segments (NFC), strips dangerous null bytes, and removes invisible control characters.
184
+ - **Anti-ReDoS Sandbox**: All internal Regex evaluations run securely inside an isolated Node.js `vm` context with an adaptive execution timeout. This guarantees that complex Regex attacks (ReDoS) are cleanly aborted and cannot freeze the main event loop.
185
+
186
+ ### Dynamic Honeypot Tarpit
187
+
188
+ XyPriss features a built-in Honeypot Tarpit designed to instantly neutralize connections from malicious botnets, vulnerability scanners, and automated exploit frameworks. Operating at the earliest phase of the request handling lifecycle, it drops malicious probes before routing, regex matching, or session loading occur.
189
+
190
+ - **Logic**: Analyzes paths across 6 distinct normalization and signature stages.
191
+ - **Immediate Neutralization**: Drops connection softly via lightweight `403 Forbidden` response to avoid terminating Keep-Alive sockets on reverse proxies.
192
+ - **Configurable Control**: Enabled automatically, easily configurable from `ServerOptions`.
193
+
194
+ ```typescript
195
+ import { createServer } from "xypriss";
196
+
197
+ const app = createServer({
198
+ security: {
199
+ honeypotTarpit: false, // Allows you to opt-out if needed
200
+ },
201
+ });
202
+ ```
203
+
204
+ **[Read the Honeypot Tarpit documentation for detailed internal logic and capabilities →](./docs/security/HONEYPOT_TARPIT.md)**
205
+
183
206
  ### XEMS — Encrypted Memory Store
184
207
 
185
208
  [XEMS](https://github.com/Nehonix-Team/XyPriss-XEMS) is the built-in session security layer. Unlike cookie-based JWT, XEMS stores all session data **server-side inside a native Go sidecar process**, encrypted with AES-256-GCM. The client only ever holds a random opaque token.
@@ -212,7 +235,7 @@ app.get("/profile", (req, res) => {
212
235
  });
213
236
  ```
214
237
 
215
- **[Full XEMS Guide →](./docs/XEMS_TUTORIAL.md)**
238
+ **[Full XEMS Technical Guide →](./docs/security/xems/README.md)** | **[Tutorial →](./docs/XEMS_TUTORIAL.md)**
216
239
 
217
240
  ### Application Immutability
218
241
 
@@ -221,12 +244,23 @@ To prevent runtime hijacking and ensure system-wide stability, XyPriss implement
221
244
  - **Blocked Actions**: Any attempt to add, modify, or delete properties from the `app` instance will throw a fatal `[XyPriss Security]` error.
222
245
  - **Reasoning**: This ensures that security middleware, core handlers, and framework configurations cannot be tampered with after initialization.
223
246
 
224
- ### Plugin Security & Configuration Access
247
+ ### Zero-Trust Plugin Security
248
+
249
+ XyPriss implements a Zero-Trust security model for its plugin ecosystem, ensuring decentralized identity and portable integrity verification.
250
+
251
+ - **Decentralized Identity**: Every plugin author generates a unique Ed25519 identity key. No centralized authority is required.
252
+ - **Portable Integrity**: Plugins are cryptographically signed (SHA-256 + Ed25519). The signature travels with the package, allowing offline verification.
253
+ - **Deep Audit Engine**: The XHSC core performs a mandatory, high-performance security audit upon engine startup, verifying every plugin against pinned author keys.
254
+ - **Author Key Pinning**: Trusted authors are pinned within the project configuration (`xypriss.config.jsonc`), preventing unauthorized plugin execution or "Evil Upgrades."
255
+
256
+ **[Read the Plugin Signature Specification for detailed security mechanics →](./docs/plugins/PLUGIN_SIGNATURE_SPEC.md)**
257
+
258
+ ### Plugin Permissions
225
259
 
226
- XyPriss uses a **Capability-Based Security Model** for plugins. Each plugin operates within its own restricted server instance.
260
+ XyPriss uses a Capability-Based Security Model for plugins. Each plugin operates within its own restricted server instance.
227
261
 
228
262
  - **Zero-Trust Configs**: By default, plugins cannot access `server.app.configs`. Accessing this property will return `undefined`.
229
- - **Explicit Permissions**: Privileged access to the full server configuration must be explicitly granted via the `PLG.SECURITY.ACCESS_CONFIGS` permission in the `pluginPermissions` configuration.
263
+ - **Explicit Permissions**: Privileged access to the full server configuration must be explicitly granted via the `PLG.SECURITY.ACCESS_CONFIGS` permission.
230
264
 
231
265
  **[Learn more about Plugin Permissions →](./docs/plugins/PLUGIN_PERMISSIONS.md)**
232
266
 
@@ -240,7 +274,6 @@ No need for `dotenv` or other external packages. XyPriss automatically loads var
240
274
 
241
275
  1. `.env`
242
276
  2. `.env.local`
243
- 3. `.private/.env` (Priority)
244
277
 
245
278
  #### 2. The Shield in Action
246
279
 
@@ -19,8 +19,6 @@ var getIp = require('./utils/getIp.js');
19
19
  var ProjectDiscovery = require('./utils/ProjectDiscovery.js');
20
20
  var XemsPlugin = require('./plugins/builtin/xems/XemsPlugin.js');
21
21
  var getMime = require('./utils/getMime.js');
22
- var xyprissSecurity = require('xypriss-security');
23
- var safeJsonMiddleware = require('./middleware/safe-json-middleware.js');
24
22
  var FiUp = require('./FiUp.js');
25
23
 
26
24
  /***************************************************************************
@@ -90,23 +88,6 @@ exports.identifyProjectRoot = ProjectDiscovery.identifyProjectRoot;
90
88
  exports.xems = XemsPlugin.xems;
91
89
  exports.getMime = getMime.getMime;
92
90
  exports.getMimes = getMime.getMimes;
93
- Object.defineProperty(exports, "XyPriStringify", {
94
- enumerable: true,
95
- get: function () { return xyprissSecurity.XyPriStringify; }
96
- });
97
- Object.defineProperty(exports, "fastStringify", {
98
- enumerable: true,
99
- get: function () { return xyprissSecurity.fastStringify; }
100
- });
101
- Object.defineProperty(exports, "safeStringify", {
102
- enumerable: true,
103
- get: function () { return xyprissSecurity.safeStringify; }
104
- });
105
- exports.createCircularRefDebugger = safeJsonMiddleware.createCircularRefDebugger;
106
- exports.createSafeJsonMiddleware = safeJsonMiddleware.createSafeJsonMiddleware;
107
- exports.safeJsonStringify = safeJsonMiddleware.safeJsonStringify;
108
- exports.sendSafeJson = safeJsonMiddleware.sendSafeJson;
109
- exports.setupSafeJson = safeJsonMiddleware.setupSafeJson;
110
91
  exports.initializeFileUpload = FiUp.initializeFileUpload;
111
92
  exports.uploadAny = FiUp.uploadAny;
112
93
  exports.uploadArray = FiUp.uploadArray;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/index.ts"],"sourcesContent":[null],"names":["configLoader","XyPrissRouter"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;AAsBiF;AACjF;AAEA;AACA;AAqBA;AACA,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE;IACnCA,yBAAY,CAAC,qBAAqB,EAAE;AACxC;AA+BA;;AAEG;SACa,MAAM,GAAA;IAClB,OAAO,IAAIC,sBAAa,CAAC;AACrB,QAAA,aAAa,EAAE,KAAK;AACpB,QAAA,WAAW,EAAE,KAAK;AAClB,QAAA,MAAM,EAAE,KAAK;AAChB,KAAA,CAAC;AACN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/index.ts"],"sourcesContent":[null],"names":["configLoader","XyPrissRouter"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;AAsBiF;AACjF;AAEA;AACA;AAqBA;AACA,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE;IACnCA,yBAAY,CAAC,qBAAqB,EAAE;AACxC;AA+BA;;AAEG;SACa,MAAM,GAAA;IAClB,OAAO,IAAIC,sBAAa,CAAC;AACrB,QAAA,aAAa,EAAE,KAAK;AACpB,QAAA,WAAW,EAAE,KAAK;AAClB,QAAA,MAAM,EAAE,KAAK;AAChB,KAAA,CAAC;AACN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  var helmet = require('helmet');
4
- var cors = require('cors');
5
- var hpp = require('hpp');
4
+ var XyPrissCors = require('./security/XyPrissCors.js');
5
+ var XyPrissHPP = require('./security/XyPrissHPP.js');
6
6
  var xss = require('xss');
7
7
  var morgan = require('morgan');
8
8
  var compression = require('xypriss-compression-pluging');
@@ -175,7 +175,7 @@ class BuiltInMiddleware {
175
175
  config.origin = this.createAdvancedOriginFunction(validOrigins);
176
176
  }
177
177
  }
178
- return cors(config);
178
+ return XyPrissCors.xyprissCors(config);
179
179
  }
180
180
  /**
181
181
  * Create an advanced origin function that supports strings, RegExp, and wildcards
@@ -313,7 +313,7 @@ class BuiltInMiddleware {
313
313
  whitelist: ["tags", "categories"], // Allow arrays for these parameters
314
314
  };
315
315
  const config = mergeWithDefaults.mergeWithDefaults(defaultOptions, options);
316
- return hpp(config);
316
+ return XyPrissHPP.xyprissHPP(config);
317
317
  }
318
318
  /**
319
319
  * Get XSS protection middleware
@@ -1 +1 @@
1
- {"version":3,"file":"BuiltInMiddleware.js","sources":["../../../../../src/middleware/built-in/BuiltInMiddleware.ts"],"sourcesContent":[null],"names":["mergeWithDefaults","shouldCompress","Logger","doubleCsrf","BrowserOnlyProtector","TerminalOnlyProtector","MobileOnlyProtector","RequestSignatureProtector"],"mappings":"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"}
1
+ {"version":3,"file":"BuiltInMiddleware.js","sources":["../../../../../src/middleware/built-in/BuiltInMiddleware.ts"],"sourcesContent":[null],"names":["mergeWithDefaults","cors","shouldCompress","Logger","doubleCsrf","hpp","BrowserOnlyProtector","TerminalOnlyProtector","MobileOnlyProtector","RequestSignatureProtector"],"mappings":"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"}