docs(i18n): proofread README translations 1-20

This commit is contained in:
j-xiang
2026-07-29 15:29:24 +08:00
parent 46e1e86c76
commit 333b4bcd30
19 changed files with 115 additions and 115 deletions

View File

@@ -2,7 +2,7 @@
[English](README.md) | 中文
`node-addon-landlock-run`记录真源:这是 harness 从 npm 消费的 Landlock「先限制自身、再执行」启动器`packages/sandbox/sandbox-local``packages/bash/bash-sandbox`)。启动器在此处开发,与消费方相邻;独立仓库是打包并发布 npm 包系列的发布镜像。
`node-addon-landlock-run`权威源码位于此处:这是 harness 从 npm 引入并使用的 Landlock「先限制自身、再执行」启动器`packages/sandbox/sandbox-local``packages/bash/bash-sandbox`)。启动器在此处开发,与消费方相邻;独立仓库是打包并发布 npm 包package系列的发布镜像。
## 发布镜像
@@ -17,6 +17,6 @@
1. 先通过常规 harness PR 将启动器更改落地于此;触发 `Landlock Run` 工作流,并确保其所有任务通过。
2. 在镜像 checkout 中替换 `.github/` 以外的所有内容:`git -C <mirror> rm -rq -- . ':!.github'`,然后执行 `git -C <harness> archive HEAD:native/landlock-run | tar -x -C <mirror>`,最后执行 `git -C <mirror> add -A` 并提交。
3. 在镜像中按照其发布清单(`docs/release.md`)操作:`pnpm release:commit <version>` → 合并 → 标记 `vX.Y.Z` → 两阶段 `Release` 工作流(先以 `publish=false` 预演,再从标签以 `publish=true` 发布)。
4. 使用已发布的标签commit 更新上方 manifest元数据清单并在同一更改中提升 harness 消费方的依赖范围。
4. 使用已发布的标签commit 更新上方 manifest元数据清单并在同一更改中上调 harness 消费方的依赖版本范围。
镜像不得分叉:如果更改直接提交到镜像中(例如发布期间的热修复),必须在下次导出前将其移植回此处。
发布镜像不得与此处的权威源码产生分歧:如果更改直接提交到镜像中(例如发布期间的热修复),必须在下次导出前将其移植回此处。

View File

@@ -2,7 +2,7 @@
[English](README.md) | 中文
一个 [Landlock](https://landlock.io/)「先限制自身、再执行」启动器,用于在 Linux 上限制子进程。它以平台预构建 npm 包一个轻量 JS 入口包的形式发布;入口包负责解析二进制文件并遵循其 CLI命令行界面契约。该启动器面向需要在文件系统允许清单下运行不可信命令、但不能限制自身的 agent harness 和其他宿主。
一个 [Landlock](https://landlock.io/)「先限制自身、再执行」启动器,用于在 Linux 上限制子进程。它以平台预构建 npm 包package以及一个轻量 JS 入口包的形式发布;入口包负责解析二进制文件并遵循其 CLI命令行界面契约。该启动器面向需要让不可信命令在文件系统允许清单约束下运行、同时保持自身不受限制的 agent harness(智能体框架)和其他宿主。
第一个工具是 **`landlock-run`**:一个「先限制自身、再执行」的 [Landlock](https://landlock.io/) 启动器(基于原始内核 UAPI 编写,约 300 行 C11并与 musl 静态链接)。它在自身上安装 Landlock 规则集,再 `exec` 被包装的命令;该规则集会跨 `execve` 继承,因此命令及其产生的每个进程都在限制下运行,调用进程仍不受限制。它采用失败闭合:如果内核无法强制执行,则不运行命令并直接退出。
@@ -34,12 +34,12 @@ if (probe(launcher) !== 'unusable') {
}
```
公开 API 有意保持简
公开 API 有意保持简:
- `launcherPath()`:当前宿主启动器的绝对路径(有意不检查是否存在;探测结果才是可用性信号)。
- `probe(launcher?, { timeoutMs? })`:功能性强制执行探测,返回 `'full' | 'partial' | 'unusable'`
- `grantArgs({ readOnly?, readWrite? })`:启动器的授权 argv未授予的一切都被拒绝。
- `LAUNCHER_BIN``LAUNCHER_FAILURE_EXIT` (125):契约常量。
- `LAUNCHER_BIN``LAUNCHER_FAILURE_EXIT`125:契约常量。
完整的二进制契约argv 语法、退出码、报告行)锁定在 [docs/cli-contract.md](docs/cli-contract.md) 中。
@@ -57,4 +57,4 @@ pnpm build:native # this Linux architecture's binaries (apt-get install musl-
pnpm test
```
二进制文件被 git 忽略并且按架构原生构建本地只构建当前机器的版本CI 的每架构 runner 则是记录中的构建者。发布流程详见 [docs/release.md](docs/release.md)。
二进制文件被 git 忽略并且按架构原生构建本地只构建当前机器的版本CI 架构 runner 产出的构建则作为正式发布依据。发布流程详见 [docs/release.md](docs/release.md)。

View File

@@ -2,7 +2,7 @@
[English](README.md) | 中文
用于在 Linux 上限制子进程的 Landlock「先限制自身、再执行」启动器此入口包解析每平台预构建二进制文件,运行功能性强制执行探测,并构建其授权 argv。消费方无需自行拼写启动器标志或解析启动器输出。
用于在 Linux 上限制子进程的 Landlock「先限制自身、再执行」启动器此入口包package定位对应平台预构建二进制文件,运行功能性强制执行探测,并构建其授权 argv。消费方无需自行拼写启动器标志或解析启动器输出。
```js
import { grantArgs, launcherPath, probe } from 'node-addon-landlock-run';
@@ -13,6 +13,6 @@ if (probe(launcher) !== 'unusable') {
}
```
启动器在自身上安装 Landlock 规则集,再 `exec` 被包装的命令;该规则集会跨 `execve` 继承,因此整个进程树都在限制下运行。未授予的一切都被拒绝;启动器失败时以 `125` 退出且不运行命令:始终失败闭合,绝不失败开放。二进制契约锁定在仓库的 `docs/cli-contract.md`C 源码作为 `src/main.c` 随该 tarball 分发,便于审计。
启动器在自身上安装 Landlock 规则集,再 `exec` 被包装的命令;该规则集会跨 `execve` 继承,因此整个进程树都在限制下运行。未授予的一切都被拒绝;启动器失败时以 `125` 退出且不运行命令:采用失败闭合策略,绝不失败时放行。二进制契约锁定在仓库的 `docs/cli-contract.md`C 源码作为 `src/main.c` 随该 tarball 分发,便于审计。
平台包(由 `os`/`cpu` 选择的可选依赖,内部不含 JavaScript`node-addon-landlock-run-linux-x64``node-addon-landlock-run-linux-arm64`。在缺少对应包的宿主上,`launcherPath()` 返回确定且不存在的路径,`probe()` 报告 `'unusable'`;系统有意不提供安装时编译回退。
平台包(由 `os`/`cpu` 选择的可选依赖,内部不含 JavaScript`node-addon-landlock-run-linux-x64``node-addon-landlock-run-linux-arm64`。在缺少对应包的宿主上,`launcherPath()` 返回一个固定但不存在的路径,`probe()` 报告 `'unusable'`;系统有意不提供安装时编译回退。

View File

@@ -2,8 +2,8 @@
[English](README.md) | 中文
面向 linux-arm64 的预构建 `bin/landlock-run` Landlock 启动器:一个 [`node-addon-landlock-run`](https://www.npmjs.com/package/node-addon-landlock-run) 中随包发布的 C 源码原生编译而成的静态 musl 二进制文件不使用交叉工具链。npm 的 `os`/`cpu` 字段在安装时选择此包;入口包将其解析为文件路径。该包不包含 JavaScript也绝不会被导入。
面向 linux-arm64 的预构建 `bin/landlock-run` Landlock 启动器:一个 [`node-addon-landlock-run`](https://www.npmjs.com/package/node-addon-landlock-run) package所附的 C 源码原生编译而成的静态 musl 二进制文件不使用交叉工具链。npm 的 `os`/`cpu` 字段在安装时选择此包;入口包将其定位到文件路径。该包不包含 JavaScript也绝不会被导入。
该二进制文件被 git 忽略,并通过 `files` 列表进入 npm tarball如果文件缺失或 ELF 架构错误,`prepack` 门禁会拒绝打包,发布流水线则会按字节打包二进制文件锁定到其来源 CI 构建。静态 musl 链接使同一个二进制文件同时适用于 glibc 和 musl 发行版,因此名称中没有 libc 后缀。
该二进制文件被 git 忽略,并通过 `files` 列表进入 npm tarball如果文件缺失或 ELF 架构错误,`prepack` 门禁会拒绝打包,发布流水线则会按字节核验打包二进制文件其来源 CI 构建产物一致。静态 musl 链接使同一个二进制文件同时适用于 glibc 和 musl 发行版,因此名称中没有 libc 后缀。
同级包:`node-addon-landlock-run-linux-x64`

View File

@@ -2,8 +2,8 @@
[English](README.md) | 中文
面向 linux-x64 的预构建 `bin/landlock-run` Landlock 启动器:一个 [`node-addon-landlock-run`](https://www.npmjs.com/package/node-addon-landlock-run) 中随包发布的 C 源码原生编译而成的静态 musl 二进制文件不使用交叉工具链。npm 的 `os`/`cpu` 字段在安装时选择此包;入口包将其解析为文件路径。该包不包含 JavaScript也绝不会被导入。
面向 linux-x64 的预构建 `bin/landlock-run` Landlock 启动器:一个 [`node-addon-landlock-run`](https://www.npmjs.com/package/node-addon-landlock-run) package所附的 C 源码原生编译而成的静态 musl 二进制文件不使用交叉工具链。npm 的 `os`/`cpu` 字段在安装时选择此包;入口包将其定位到文件路径。该包不包含 JavaScript也绝不会被导入。
该二进制文件被 git 忽略,并通过 `files` 列表进入 npm tarball如果文件缺失或 ELF 架构错误,`prepack` 门禁会拒绝打包,发布流水线则会按字节打包二进制文件锁定到其来源 CI 构建。静态 musl 链接使同一个二进制文件同时适用于 glibc 和 musl 发行版,因此名称中没有 libc 后缀。
该二进制文件被 git 忽略,并通过 `files` 列表进入 npm tarball如果文件缺失或 ELF 架构错误,`prepack` 门禁会拒绝打包,发布流水线则会按字节核验打包二进制文件其来源 CI 构建产物一致。静态 musl 链接使同一个二进制文件同时适用于 glibc 和 musl 发行版,因此名称中没有 libc 后缀。
同级包:`node-addon-landlock-run-linux-arm64`