CLI 速查
magiclock 的每一个子命令和参数,都在这一页。
一切都是同一个命令:magiclock <子命令> [选项]。magiclock --version 打印已安装版本;直接执行 magiclock 打印帮助。
activate
认证并把这台机器纳入账号——幂等,可以放心重复执行。
| 参数 | 含义 |
|---|---|
--server URL | 授权服务器地址(依次回退到已保存的会话、$MAGICLOCK_SERVER)。 |
--token TOKEN | Bearer 令牌(依次回退到已保存的会话、$MAGICLOCK_TOKEN)。 |
--with-token | 无人值守模式:从 $MAGICLOCK_TOKEN 或标准输入读取一个门户铸造的令牌。 |
--no-browser | 需要登录时打印链接 + 验证码,而不是打开浏览器。 |
status
查看这台机器的账号与激活状态。
| 参数 | 含义 |
|---|---|
--offline | 跳过与服务器的实时往返,只根据本地状态汇报。 |
protect
把一个 .py 文件(或一整个目录,递归处理)加密成带闸门的 .pya。
shell
magiclock protect PATH [-o OUT] [--remove]
[--trial | --expires-in DURATION | --expires-at DATE]
[--lock-passphrase | --no-bind-machine [--passphrase | --emit-key]]| 参数 | 含义 |
|---|---|
PATH | 要保护的 .py 文件,或要递归保护的目录(.venv、venv、__pycache__、.git、dist、build 会被自动跳过)。 |
-o, --out | 输出路径(目录模式下是输出根目录)。 |
--remove | 加密后删除明文 .py 文件。 |
--trial | 固定 48 小时自毁——用于演示。 |
--expires-in DURATION | 一段时长后停止解密(如 30d)。 |
--expires-at DATE | 到指定日期后停止解密(如 2026-12-31)。 |
--lock-passphrase | 二因子锁:这台机器加上一个口令。 |
--no-bind-machine | 便携产物——不绑定机器。 |
--passphrase | 配合 --no-bind-machine:用口令解锁(读取 $MAGICLOCK_PASSPHRASE,否则交互式提示)。 |
--emit-key | 配合 --no-bind-machine:打印一个生成好的密钥用于带外分发,而不是用口令。 |
--trial/--expires-in/--expires-at 彼此互斥;--lock-passphrase 与 --no-bind-machine 一组参数互斥。
protect-model
把一个模型或任意资源加密成 .enc 信封。有效期、--lock-passphrase、便携相关参数与 protect 相同,另外还有:
| 参数 | 默认值 | 含义 |
|---|---|---|
PATH | — | 要加密的文件。 |
-o, --out | <path>.enc | 输出路径。 |
--feature NAME | ai_model | 解锁这个产物所需的授权能力。 |
--remove | 关闭 | 加密后删除明文文件。 |
build
把应用编译成原生二进制,授权闸门自动插入每一个模块。完整流程见编译强档。
| 参数 | 默认值 | 含义 |
|---|---|---|
entry | — | 入口 .py 文件。 |
-o, --output-dir | dist | 构建输出目录。 |
--source-root | 入口文件所在目录 | 要扫描/转换的项目根目录。 |
--module | 开启 | 编译成单文件原生扩展。 |
--standalone | — | 改为编译成自包含的应用目录,与 --module 互斥。 |
--no-compile | 关闭 | 只做扫描 + 注入 + 内嵌,跳过原生编译。 |
--keep-tmp | 关闭 | 保留中间转换目录。 |
--model PATH | 无 | 加密并打包一个模型(可重复)。 |
--model-lock-passphrase | 关闭 | 给打包的模型加二因子锁(需要至少一个 --model)。 |
--model-trial / --model-expires-in / --model-expires-at | 无 | 打包模型的有效期——彼此互斥。 |
run
运行一个 .py 或 .pya,闸门检查随之进行。
| 参数 | 默认值 | 含义 |
|---|---|---|
entry | — | 要运行的文件。 |
--app-version | 1.0.0 | 应用版本,会与你授权设置的 max_app_version 做比对。 |
--passphrase | 关闭 | 提示输入解密口令(或读取 $MAGICLOCK_PASSPHRASE)——用于便携或二因子产物。 |
--key KEY | — | 便携产物的解密密钥(base64),或读取 $MAGICLOCK_DECRYPT_KEY。 |
deactivate
把这台机器从你的账号中移除。
| 参数 | 含义 |
|---|---|
--local-only | 只清空本地凭据,不释放席位、不通知服务器吊销。 |
--server URL | 用于释放请求的服务器地址。 |
--token TOKEN | 用于释放请求的 Bearer 令牌。 |
completion
打印 shell 自动补全脚本。
shell
magiclock completion bash > /etc/bash_completion.d/magiclock
magiclock completion zsh > "${fpath[1]}/_magiclock"