Skip to content

Commit 0d84c3c

Browse files
committed
chore: quickstart startup flow
1 parent 08a7cca commit 0d84c3c

10 files changed

Lines changed: 914 additions & 438 deletions

File tree

docs/getting-started.md

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ Release 中的主要二进制如下:
2121
首次启动可使用交互式向导:
2222

2323
```bash
24-
./malice_network_linux_amd64 --quickstart
24+
./malice-network_linux_amd64 --quickstart
2525
```
2626

2727
向导会生成初始化所需的核心配置:
@@ -35,19 +35,25 @@ Release 中的主要二进制如下:
3535

3636
### 直接启动
3737

38-
已从 `server/config.example.yaml` 复制出本地 `config.yaml`,可直接启动:
38+
已有 `config.yaml`,或者让程序自动生成默认配置后,可直接启动:
3939

4040
```bash
41-
./malice_network_linux_amd64 -i <public-ip>
41+
./malice-network_linux_amd64 -i <public-ip>
4242
```
4343

44+
默认启动时的初始化行为:
45+
46+
- 如果配置文件不存在,且当前是交互终端,程序会先询问是否进入 quickstart 向导
47+
- 如果配置文件不存在,且当前不是交互终端,程序会直接写入默认 `config.yaml` 并继续正常启动
48+
- 如果显式传入 `--quickstart`,则直接进入向导模式,而不是等默认启动时再判断
49+
4450
常用参数:
4551

4652
- `-c, --config`: 指定配置文件路径,默认是 `config.yaml`
4753
- `-i, --ip`: 覆盖配置里的外网 IP
4854
- `--server-only`: 只启动 server
4955
- `--listener-only`: 只启动 listener
50-
- `--quickstart`: 仅在配置文件不存在时运行初始化向导
56+
- `--quickstart`: 显式进入交互式初始化向导
5157
- `--debug`: 打开 debug 日志
5258

5359
### 首次启动生成的文件
@@ -58,6 +64,13 @@ Release 中的主要二进制如下:
5864
- `admin_<server-ip>.auth`: client 登录凭证
5965
- `listener.auth`: 默认 listener 的 mTLS 凭证
6066

67+
如果你使用安装脚本并跳过了 `systemd`,推荐在安装目录中手动启动:
68+
69+
```bash
70+
cd /opt/iom/malice-network
71+
./malice-network_linux_amd64 -i <public-ip>
72+
```
73+
6174
## 3. 登录 Client
6275

6376
`admin_<server-ip>.auth` 放到 client 可访问的位置后执行:

docs/operations/deployment.md

Lines changed: 29 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,9 @@ sudo -E bash install.sh
3737

3838
脚本会提示输入:
3939

40-
1. 安装路径(默认 `/iom`):
40+
1. 安装路径(默认 `/opt/iom`):
4141
```
42-
Please input the base directory for the installation [default: /iom]:
42+
Please input the base directory for the installation [default: /opt/iom]:
4343
```
4444

4545
2. IP 地址(自动检测):
@@ -48,11 +48,22 @@ sudo -E bash install.sh
4848
```
4949

5050
**安装脚本自动完成:**
51-
1. 检查并安装 Docker
52-
2. 下载并安装 Malice-Network 服务端及客户端
53-
3. 下载并安装 Malefic 源码及工具
54-
4. 拉取 Docker 镜像(约 8.21GB):`ghcr.io/chainreactors/malefic-builder:latest`
55-
5. 配置并启动服务(基于 systemd)
51+
1. 检查基础依赖(`curl``unzip`
52+
2. 下载并安装 Malice Network 服务端及客户端
53+
3. 下载 `malefic.zip`,并解压到 `./malefic/source_code`
54+
4. 拉取 Docker 镜像:`ghcr.io/chainreactors/malefic-builder:latest`
55+
5. 可选配置并启动 systemd 服务;如跳过,则输出手动启动命令
56+
57+
**安装完成后的工作目录结构:**
58+
59+
```text
60+
<base-dir>/malice-network/
61+
├── malice-network_linux_amd64
62+
├── malice_network_linux_amd64 -> malice-network_linux_amd64
63+
├── iom_linux_amd64
64+
└── malefic/
65+
└── source_code/
66+
```
5667

5768
### 下载 Release 部署
5869

@@ -61,16 +72,18 @@ Windows 或 macOS 系统部署 Server,从 [Releases](https://github.com/chainr
6172
- `iom_*` - Client 端
6273
- `malice_network_*` - Server 端
6374

75+
如果你使用安装脚本,脚本会把 Linux 服务端二进制归一命名为 `malice-network_linux_amd64`;如果你是手动下载 release,请按实际文件名执行。
76+
6477
启动 Server:
6578

6679
```bash
67-
./malice_network_linux_amd64
80+
./malice-network_linux_amd64
6881
```
6982

7083
指定 IP 启动(Client 可访问的 IP,如公网 IP):
7184

7285
```bash
73-
./malice_network_linux_amd64 -i 123.123.123.123
86+
./malice-network_linux_amd64 -i 123.123.123.123
7487
```
7588

7689
### Server 启动参数
@@ -136,6 +149,13 @@ Listener 和编译配置详见 [listeners.md](server/listeners.md) 和 [build.md
136149
137150
## 启动 Client
138151
152+
如果安装时跳过了 systemd,可手动启动:
153+
154+
```bash
155+
cd /opt/iom/malice-network
156+
./malice-network_linux_amd64 -i <server-ip>
157+
```
158+
139159
Server 启动后生成两个配置文件:
140160
- `listener.auth` - Listener 凭证
141161
- `admin_[server_ip].auth` - Client 登录凭证

docs/server/index.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ Server 是 malice-network 的控制核心,职责包括:
3232
| `./malice-network --server-only` | 仅启动 Server,不启动 Listener |
3333
| `./malice-network --listener-only` | 仅启动 Listener,独立部署时使用 |
3434
| `./malice-network --daemon` | 以守护进程模式运行 |
35-
| `./malice-network --quickstart` | 交互式配置向导,引导完成初始配置 |
35+
| `./malice-network --quickstart` | 显式进入交互式配置向导,引导完成初始配置 |
3636

3737
| 参数 | 说明 |
3838
|------|------|
@@ -41,6 +41,12 @@ Server 是 malice-network 的控制核心,职责包括:
4141
| `--debug` | 开启 debug 日志 |
4242
| `--opsec` | 启用 OPSEC 模式 |
4343

44+
当默认启动时,如果配置文件不存在:
45+
46+
- 交互终端会先提示是否进入 quickstart
47+
- 非交互环境会直接生成默认配置并继续启动
48+
- 只有显式传入 `--quickstart` 时,才会强制进入向导
49+
4450
!!! tip "部署指南"
4551
完整的部署流程见 [部署操作指南](../operations/deployment.md)
4652

docs/server/quickstart.md

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
- `malice_network_darwin_arm64` — macOS Apple Silicon
1313
- `malice_network_windows_amd64.exe` — Windows x86_64
1414

15+
如果你使用安装脚本,脚本会把 Linux 服务端二进制归一命名为 `malice-network_linux_amd64`。如果你是手动下载 release,请按实际下载下来的文件名执行。
16+
1517
!!! tip "网络问题"
1618
国内服务器下载 GitHub release 可能超时,建议配置代理:
1719
```bash
@@ -22,12 +24,18 @@
2224
## 首次启动
2325

2426
```bash
25-
./malice-network -i <公网IP>
27+
./malice-network_linux_amd64 -i <公网IP>
2628
```
2729

2830
!!! important "IP 设置"
2931
`-i` 参数需要设置为 Client 可访问到的 IP 地址。公网服务器设置为公网 IP,内网环境设置为内网 IP。
3032

33+
如果当前还没有配置文件,默认启动会按下面的规则处理:
34+
35+
- **交互终端**:先提示你是否进入 quickstart 向导
36+
- **非交互环境**(比如 systemd、无 PTY 的脚本环境):直接生成默认 `config.yaml`,然后继续正常启动
37+
- **显式传入 `--quickstart`**:直接进入向导模式
38+
3139
首次启动后,Server 会自动完成:
3240

3341
1. 生成默认配置文件 `config.yaml`
@@ -46,25 +54,31 @@
4654
首次使用或需要重新配置时,可以使用交互式向导:
4755

4856
```bash
49-
./malice-network --quickstart
57+
./malice-network_linux_amd64 --quickstart
5058
```
5159

5260
向导会引导完成 IP、端口、构建源等基础配置。
5361

62+
注意:
63+
64+
- `--quickstart` 是显式入口,不依赖“配置文件是否存在”来触发
65+
- quickstart 基于 TUI,适合交互式终端,不适合 systemd 这类无 PTY 环境
66+
- 如果目标配置文件已经存在,quickstart 不会覆盖原文件
67+
5468
## 使用安装脚本(Linux)
5569

56-
!!! info "安装脚本会自动完成 Docker 安装、Server/Client 下载、构建镜像拉取和 systemd 配置"
70+
!!! info "安装脚本会自动完成 Docker 安装、Server/Client 下载、malefic.zip 解压,并可选配置 systemd"
5771

5872
```bash
5973
curl -L "https://raw.githubusercontent.com/chainreactors/malice-network/master/install.sh" | sudo bash
6074
```
6175

6276
安装脚本会交互式询问:
6377

64-
- **安装路径**:默认 `/iom`
78+
- **安装路径**:默认 `/opt/iom`
6579
- **IP 地址**:自动检测,可手动修改
6680

67-
安装完成后 Server 会以 systemd 服务运行
81+
安装完成后,脚本会询问是否安装并启动 systemd 服务;如果跳过,会直接输出手动启动命令。使用 systemd 时,服务端会走默认启动路径,不会自动进入 quickstart 向导
6882

6983
## 防火墙配置
7084

@@ -99,11 +113,11 @@ pipeline # 查看 Pipeline 列表
99113

100114
| 模式 | 命令 | 场景 |
101115
|------|------|------|
102-
| 标准启动 | `./malice-network -i <ip>` | Server + Listener 一起运行 |
103-
| 仅 Server | `./malice-network --server-only` | Listener 独立部署时 |
104-
| 仅 Listener | `./malice-network --listener-only` | 独立 Listener 节点 |
105-
| 守护进程 | `./malice-network --daemon` | 后台运行 |
106-
| 交互向导 | `./malice-network --quickstart` | 首次配置 |
116+
| 标准启动 | `./malice-network_linux_amd64 -i <ip>` | Server + Listener 一起运行 |
117+
| 仅 Server | `./malice-network_linux_amd64 --server-only` | Listener 独立部署时 |
118+
| 仅 Listener | `./malice-network_linux_amd64 --listener-only` | 独立 Listener 节点 |
119+
| 守护进程 | `./malice-network_linux_amd64 --daemon` | 后台运行 |
120+
| 交互向导 | `./malice-network_linux_amd64 --quickstart` | 首次配置 |
107121

108122
## 下一步
109123

0 commit comments

Comments
 (0)