【免费下载链接】ARTEXX
ARTEX,AI 自主渗透测试系统。百度 agent+ 攻防挑战赛冠军项目。
ARTEXX(Autumn-27/ARTEX)是一款开源的 AI 自主渗透测试系统,采用 Go 单体后端内嵌 Next.js 前端的架构,只需一个端口(默认:8787)即可同时提供页面、REST API 和实时事件流(SSE)。这篇文章带你完成 ARTEXX 生产级部署的三件核心事:Nginx 反向代理(HTTPS 只开放 443)、SSE 关键配置(解决活动流一直转圈的经典问题),以及一键更新与自动回滚机制,全程不需要登录服务器改代码。
部署完成后的效果预览:
部署架构速览:为什么一个端口就够了
理解架构是正确配置反向代理的前提。ARTEXX 的部署模型非常简洁:
| 组成部分 | 说明 |
|---|---|
| 前端 + API + SSE | 同一 Go 端口(默认:8787)提供,Next.js 静态产物被go:embed内嵌进单二进制 |
| 流量录制代理 | 独立端口127.0.0.1:8788,仅绑定本机,公网无需开放 |
| PostgreSQL | 数据库,数据卷pgdata持久化 |
| 数据目录 | ./data(jwt.key / SQLite 等)、./skills,升级时全部保留 |
关键设计:前端的实时活动流默认走同源地址(见 web/src/lib/api.ts 中sseUrl的实现),页面从https://你的域名/加载,事件流就连接https://你的域名/api/...——这正是"公网只开 443、8787 留在内网"能成立的原因。
Docker Compose 编排见 docker-compose.yml,可关注其中8788端口刻意绑定在127.0.0.1上。
一键安装:3 条命令落地
🚀 首次部署用仓库自带的一键安装脚本最省心:
git clone https://gitcode.com/gh_mirrors/ar/ARTEXX cd ARTEXX ./install.sh脚本会引导你二选一:
- ① 全部 Docker(推荐):填一个 Postgres 密码(可回车随机)→ 自动写
.env→docker compose up -d,自动拉起artex与postgres:16-alpine两个容器。 - ② 本地编译运行:生成
config.json→ Go 编译出内嵌前端的单二进制./artex→ 用 start.sh 守护启动。
装好后访问http://localhost:8787,首次进入/setup设置管理员密码。数据库迁移无需手动执行——artex每次启动会幂等重跑schema.sql,"重启即迁移"。
⚠️ 一键更新功能依赖守护脚本重启程序,本地运行时请通过
start.sh(Windows 为start.bat)启动,直接裸跑./artex不会自动拉起。
Nginx 反向代理配置:HTTPS 只开放 443
生产环境建议公网只开 443,把8787留在内网。一份可直接套用的 Nginx 配置如下:
server { listen 443 ssl; server_name your.domain.com; # ssl_certificate / ssl_certificate_key ... location / { proxy_pass http://127.0.0.1:8787; proxy_set_header Host $host; proxy_set_header X-Forwarded-Proto $scheme; # SSE 关键项:关缓冲、长超时、HTTP/1.1 proxy_buffering off; proxy_cache off; proxy_read_timeout 3600s; proxy_http_version 1.1; proxy_set_header Connection ""; } }SSE 关键配置:为什么活动流会一直转圈
SSE(Server-Sent Events)是长连接 + 持续推送模型:ARTEXX 的引擎每一步探索活动、后端日志、更新进度都靠它实时推到浏览器。默认开启缓冲的 Nginx 会把事件"攒"在缓冲区里迟迟不发给浏览器,表现就是活动流一直转圈、日志页不动——连接是通的,但一个事件都收不到。
逐项理解上面 5 个关键指令:
| 指令 | 作用 | 漏配的症状 |
|---|---|---|
proxy_buffering off | 关闭响应缓冲,事件即时透传 | 活动流一直转圈(最常见) |
proxy_cache off | 明确禁用缓存 | 偶发事件"迟到" |
proxy_read_timeout 3600s | 长连接保持 1 小时不断开 | 任务跑一会儿流就断了 |
proxy_http_version 1.1+Connection "" | 用 HTTP/1.1 且清除 Connection 头 | 与后端长连接握手异常 |
后端其实也在帮你兜底:SSE 响应头里带了X-Accel-Buffering: no(见 server/server.go),标准 Nginx 会自动关闭缓冲;但显式写出上面的配置仍是生产环境的双保险,也能防住 CDN 层或其他中间代理的缓冲。
另外两个常见坑:
8788不要加进反向代理:流量录制代理仅本机使用,公网暴露反而扩大攻击面。NEXT_PUBLIC_SSE_BASE一般不用配:它只在 SSE 需要走与页面不同来源(如独立子域)时才在构建期设置(next build时固化进静态包,容器运行时再设无效)。同源部署留空即可。
一键更新与自动回滚:升级不怕坏
ARTEXX 的自更新链路把"最容易出错的一环"——换二进制——做成了全自动且有兜底(核心逻辑在 selfupdate/selfupdate.go 与 selfupdate/bootstrap.go):
下载发布包 → 比对 SHA256 → -h 冒烟测试 → 暂存 artex.new → 守护脚本重启换装 ↓ 任一步失败 丢弃暂存件,继续跑当前版本(不会留下坏程序)页面一键更新(推荐)
进入系统配置 → 版本与更新卡片(server/update.go 提供/api/update/check、/api/update/apply、/api/update/rollback接口),无需登录服务器:
- 点「检查更新」→ 发现新版本后点「更新到 v0.x.x」;
- 进度条实时显示下载百分比,暂存完成后页面自动轮询
/api/health,等版本号真正变化后自动刷新; - 若新版连续 3 次启动失败,系统自动回滚到
artex.old(失败版本留作artex.failed供排查)。
升级状态可随时在后台日志中查证:
必须知道的 4 个更新细节
- 更新会中断正在运行的任务(更新即重启),请在空闲时进行;
- 随时可手动回退:卡片上有「回滚到上一版本」,上一版本常驻为
artex.old;注意数据库结构不会回退; - Docker 下只换程序、不换镜像:镜像里的 playwright / nmap 等工具链不会跟着升级,要连镜像一起升级请执行
docker compose pull artex && docker compose up -d artex; - 需要代理访问 GitHub 时,在系统配置页填「全局代理」即可,更新链路会走它,且只从 GitHub 域名下载并强制 HTTPS。
服务器端更新脚本
更喜欢命令行?仓库提供了 update.sh 一键更新脚本:
cd ARTEXX ./update.sh可选git pull拉最新代码后二选一:① Docker 更新(docker compose pull artex+up -d,可指定镜像 tag,Postgres 固定不动)或② 本地编译更新(重建前端静态产物 → 重编译./artex,完成后重启进程生效)。
部署后验证清单 ✅
按顺序走一遍,5 分钟确认部署无死角:
- 打开
https://你的域名/,完成/setup管理员设置; - 进入任意任务详情页,活动流实时跳动、日志页持续刷新——这是 SSE 配置正确的直接证据;
- 用
curl -i https://你的域名/api/health确认返回 200 且带版本号; - 「系统配置 → 版本与更新」卡片显示当前版本号,能查到最新 Release;
- 检查
./data与 Postgres 数据卷pgdata已持久化,备份策略就绪后再投入长期运行。
🔒 提醒:ARTEXX 仅供个人学习、代码研究与本地隔离环境中的技术验证使用,请勿对任何线上系统发起实际测试。更多功能细节(拦截审批、通知推送、资产同步等)可参阅仓库根目录的 CHANGELOG.md。
【免费下载链接】ARTEXX
ARTEX,AI 自主渗透测试系统。百度 agent+ 攻防挑战赛冠军项目。
相关推荐
Nametag生产环境部署完全指南:邮件配置、OIDC单点登录、反向代理与Redis关键设置
Nametag生产环境部署完全指南:邮件配置、OIDC单点登录、反向代理与Redis关键设置 Nametag 是一款开源的个人关系管理工具(Personal R
生产级One API部署:Nginx反向代理终极配置指南
生产级One API部署:Nginx反向代理终极配置指南 你是否还在为One API生产环境部署的稳定性和安全性发愁?本文将提供一套完整的Nginx反向代理配置
后端API网关LLM 网关大模型一键部署PentestGPT:AI驱动的渗透测试自动化神器
一键部署PentestGPT:AI驱动的渗透测试自动化神器 PentestGPT是一款革命性的AI驱动渗透测试工具,利用先进的大语言模型技术实现自动化渗透测试。
人工智能AI Agent自主智能体渗透测试网络安全应用安全
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考