create-openclaw-bot 5.1.1 → 5.1.2
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.
- package/CHANGELOG.md +12 -0
- package/CHANGELOG.vi.md +12 -0
- package/README.md +3 -3
- package/README.vi.md +3 -3
- package/cli.js +3 -3
- package/package.json +1 -1
- package/setup.js +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
# Changelog (English)
|
|
2
2
|
|
|
3
3
|
|
|
4
|
+
## [5.1.2] — 2026-04-06
|
|
5
|
+
|
|
6
|
+
### 🐛 Fix Shell Injection: Sync Script Now Uses Base64 Encoding
|
|
7
|
+
|
|
8
|
+
The `node -e "...JSON.stringify(script)..."` approach caused `/bin/sh: Syntax error: "(" unexpected` because `JSON.stringify` produces a double-quoted string that breaks out of the surrounding `node -e "..."` shell argument.
|
|
9
|
+
|
|
10
|
+
- **Fix**: sync script content is now **base64-encoded at compose-generation time** using `Buffer.from(script).toString('base64')`
|
|
11
|
+
- The generated entrypoint becomes: `node -e "require('fs').writeFileSync('/tmp/sync.js',Buffer.from('<b64>','base64').toString())"`
|
|
12
|
+
- Base64 output contains only `[A-Za-z0-9+/=]` — zero shell quoting issues, works in YAML `|` blocks without escaping
|
|
13
|
+
- Applies to all compose generation paths: Docker web wizard (`setup.js` × 2) and Docker CLI (`cli.js` × 2)
|
|
14
|
+
|
|
15
|
+
|
|
4
16
|
## [5.1.1] — 2026-04-06
|
|
5
17
|
|
|
6
18
|
### 🔧 9Router Smart-Route Sync — Stable via API
|
package/CHANGELOG.vi.md
CHANGED
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
# Changelog (Tiếng Việt)
|
|
2
2
|
|
|
3
3
|
|
|
4
|
+
## [5.1.2] — 2026-04-06
|
|
5
|
+
|
|
6
|
+
### 🐛 Fix Shell Injection: Sync Script Dùng Base64
|
|
7
|
+
|
|
8
|
+
Approach node -e JSON.stringify gây lỗi /bin/sh: Syntax error "(" unexpected vì JSON.stringify sinh chuỗi double-quoted phá vỡ shell argument.
|
|
9
|
+
|
|
10
|
+
- **Fix**: nội dung sync script nay được **base64-encode tại thời điểm gen compose** bằng Buffer.from(script).toString base64
|
|
11
|
+
- Entrypoint sinh ra dạng: node -e writeFileSync Buffer.from b64 base64 toString
|
|
12
|
+
- Base64 chỉ chứa [A-Za-z0-9+/=] — không có ký tự đặc biệt, hoạt động đúng trong YAML block
|
|
13
|
+
- Áp dụng cho tất cả luồng gen compose: Docker web wizard (setup.js x2) và Docker CLI (cli.js x2)
|
|
14
|
+
|
|
15
|
+
|
|
4
16
|
## [5.1.1] — 2026-04-06
|
|
5
17
|
|
|
6
18
|
### 🔧 9Router Smart-Route Sync — Ổn định qua API
|
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
# 🦞 OpenClaw Setup
|
|
4
4
|
|
|
5
5
|
<p align="center">
|
|
6
|
-
<a href="https://github.com/tuanminhhole/openclaw-setup/releases"><img src="https://img.shields.io/badge/RELEASE-v5.1.
|
|
6
|
+
<a href="https://github.com/tuanminhhole/openclaw-setup/releases"><img src="https://img.shields.io/badge/RELEASE-v5.1.2-0EA5E9?style=for-the-badge" alt="Version 5.1.2" /></a>
|
|
7
7
|
<a href="https://github.com/tuanminhhole/openclaw-setup?tab=MIT-1-ov-file"><img src="https://img.shields.io/badge/LICENSE-MIT-success?style=for-the-badge" alt="MIT License" /></a>
|
|
8
8
|
<a href="https://www.npmjs.com/package/create-openclaw-bot"><img src="https://img.shields.io/npm/v/create-openclaw-bot?style=for-the-badge&label=CLI&color=2563EB&logo=npm&logoColor=white" alt="NPM Version" /></a>
|
|
9
9
|
<a href="https://github.com/tuanminhhole/openclaw-setup/stargazers"><img src="https://img.shields.io/github/stars/tuanminhhole/openclaw-setup?style=for-the-badge&color=eab308&logo=github&logoColor=white" alt="GitHub Stars" /></a>
|
|
@@ -24,7 +24,7 @@ An interactive **CLI tool** and **Setup Wizard** to deploy your own free AI Bot
|
|
|
24
24
|
|
|
25
25
|
---
|
|
26
26
|
|
|
27
|
-
## 🆕 What's new in v5.1.
|
|
27
|
+
## 🆕 What's new in v5.1.2
|
|
28
28
|
|
|
29
29
|
- 💻 **OS-First Setup** — Step 1 is now choosing your OS (Windows, macOS, Ubuntu, VPS). All scripts, configs, and instructions are generated to match.
|
|
30
30
|
- 🧠 **Gemma 4 — 4 sizes** — `gemma4:e2b` (~4 GB), `gemma4:e4b` (~8 GB), `gemma4:26b` (~18 GB), `gemma4:31b` (~24 GB). Auto-pulled on first launch.
|
|
@@ -112,7 +112,7 @@ Run in your terminal → follow the interactive prompts → startup script is ge
|
|
|
112
112
|
2. Open this repo as your workspace
|
|
113
113
|
3. Paste into chat:
|
|
114
114
|
```
|
|
115
|
-
Read SETUP.md and set up OpenClaw v5.1.
|
|
115
|
+
Read SETUP.md and set up OpenClaw v5.1.2 for me.
|
|
116
116
|
My bot token is X. Use 9Router (no API key).
|
|
117
117
|
My project folder: <YOUR_PATH>
|
|
118
118
|
```
|
package/README.vi.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
# 🦞 OpenClaw Setup
|
|
4
4
|
|
|
5
5
|
<p align="center">
|
|
6
|
-
<a href="https://github.com/tuanminhhole/openclaw-setup/releases"><img src="https://img.shields.io/badge/RELEASE-v5.1.
|
|
6
|
+
<a href="https://github.com/tuanminhhole/openclaw-setup/releases"><img src="https://img.shields.io/badge/RELEASE-v5.1.2-0EA5E9?style=for-the-badge" alt="Version 5.1.2" /></a>
|
|
7
7
|
<a href="https://github.com/tuanminhhole/openclaw-setup?tab=MIT-1-ov-file"><img src="https://img.shields.io/badge/LICENSE-MIT-success?style=for-the-badge" alt="MIT License" /></a>
|
|
8
8
|
<a href="https://www.npmjs.com/package/create-openclaw-bot"><img src="https://img.shields.io/npm/v/create-openclaw-bot?style=for-the-badge&label=CLI&color=2563EB&logo=npm&logoColor=white" alt="NPM Version" /></a>
|
|
9
9
|
<a href="https://github.com/tuanminhhole/openclaw-setup/stargazers"><img src="https://img.shields.io/github/stars/tuanminhhole/openclaw-setup?style=for-the-badge&color=eab308&logo=github&logoColor=white" alt="GitHub Stars" /></a>
|
|
@@ -24,7 +24,7 @@ Công cụ **CLI tương tác** và **Setup Wizard** để tự triển khai Bot
|
|
|
24
24
|
|
|
25
25
|
---
|
|
26
26
|
|
|
27
|
-
## 🆕 Có gì mới trong v5.1.
|
|
27
|
+
## 🆕 Có gì mới trong v5.1.2
|
|
28
28
|
|
|
29
29
|
- 💻 **OS-First Setup** — Bước đầu tiên bây giờ là chọn hệ điều hành của bạn (Windows, macOS, Ubuntu, VPS). Toàn bộ script, cấu hình và hướng dẫn được tạo ra phù hợp với lựa chọn đó.
|
|
30
30
|
- 🧠 **Gemma 4 — 4 kích thước** — `gemma4:e2b` (~4 GB), `gemma4:e4b` (~8 GB), `gemma4:26b` (~18 GB), `gemma4:31b` (~24 GB). Tự pull về khi bot khởi động lần đầu.
|
|
@@ -112,7 +112,7 @@ Chạy lệnh trên trong Terminal → làm theo các prompt tương tác → sc
|
|
|
112
112
|
2. Mở repo này làm workspace
|
|
113
113
|
3. Paste vào chat:
|
|
114
114
|
```
|
|
115
|
-
Read SETUP.md and set up OpenClaw v5.1.
|
|
115
|
+
Read SETUP.md and set up OpenClaw v5.1.2 for me.
|
|
116
116
|
My bot token is X. Use 9Router (no API key).
|
|
117
117
|
My project folder: <THƯ_MỤC_CỦA_BẠN>
|
|
118
118
|
```
|
package/cli.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
1
|
+
#!/usr/bin/env node
|
|
2
2
|
|
|
3
3
|
import { input, select, checkbox, confirm } from '@inquirer/prompts';
|
|
4
4
|
import fs from 'fs-extra';
|
|
@@ -1312,7 +1312,7 @@ ${dependsOn}${extraHosts} ports:
|
|
|
1312
1312
|
- -c
|
|
1313
1313
|
- |
|
|
1314
1314
|
npm install -g 9router
|
|
1315
|
-
node -e "require('fs').writeFileSync('/tmp/sync.js'
|
|
1315
|
+
node -e "require('fs').writeFileSync('/tmp/sync.js',Buffer.from('\${Buffer.from(syncComboScript).toString('base64')}','base64').toString())"
|
|
1316
1316
|
node /tmp/sync.js > /tmp/sync.log 2>&1 &
|
|
1317
1317
|
exec 9router -n -t -l -H 0.0.0.0 -p 20128 --skip-update
|
|
1318
1318
|
environment:
|
|
@@ -1407,7 +1407,7 @@ ${hasBrowserDesktop ? ` extra_hosts:\n - "host.docker.internal:host-gate
|
|
|
1407
1407
|
- -c
|
|
1408
1408
|
- |
|
|
1409
1409
|
npm install -g 9router
|
|
1410
|
-
node -e "require('fs').writeFileSync('/tmp/sync.js'
|
|
1410
|
+
node -e "require('fs').writeFileSync('/tmp/sync.js',Buffer.from('\${Buffer.from(syncComboScript).toString('base64')}','base64').toString())"
|
|
1411
1411
|
node /tmp/sync.js > /tmp/sync.log 2>&1 &
|
|
1412
1412
|
exec 9router -n -t -l -H 0.0.0.0 -p 20128 --skip-update
|
|
1413
1413
|
environment:
|
package/package.json
CHANGED
package/setup.js
CHANGED
|
@@ -1920,7 +1920,7 @@ ${dependsOn}${extraHosts} volumes:
|
|
|
1920
1920
|
- -c
|
|
1921
1921
|
- |
|
|
1922
1922
|
npm install -g 9router
|
|
1923
|
-
node -e "require('fs').writeFileSync('/tmp/sync.js'
|
|
1923
|
+
node -e "require('fs').writeFileSync('/tmp/sync.js',Buffer.from('\${Buffer.from(syncScript).toString('base64')}','base64').toString())"
|
|
1924
1924
|
node /tmp/sync.js > /tmp/sync.log 2>&1 &
|
|
1925
1925
|
exec 9router -n -t -l -H 0.0.0.0 -p 20128 --skip-update
|
|
1926
1926
|
environment:
|
|
@@ -2016,7 +2016,7 @@ ${extraHostsBlock}
|
|
|
2016
2016
|
- -c
|
|
2017
2017
|
- |
|
|
2018
2018
|
npm install -g 9router
|
|
2019
|
-
node -e "require('fs').writeFileSync('/tmp/sync.js'
|
|
2019
|
+
node -e "require('fs').writeFileSync('/tmp/sync.js',Buffer.from('\${Buffer.from(syncScript).toString('base64')}','base64').toString())"
|
|
2020
2020
|
node /tmp/sync.js > /tmp/sync.log 2>&1 &
|
|
2021
2021
|
exec 9router -n -t -l -H 0.0.0.0 -p 20128 --skip-update
|
|
2022
2022
|
environment:
|