Nostr Nak

🔑 Nostr 协议 CLI 封装工具

Nostr 协议命令行工具 nak 的封装技能,支持查询与发布事件,需配合伪终端使用。

收藏
5.4k
安装
1.5k
版本
1.0.1
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

nostr-nak 是对 Nostr Army Knife (nak) CLI 工具的通用封装,用于在 Nostr 去中心化社交网络协议上执行事件查询与发布操作。关键特性如下:

PTY 强制要求:nak 在非交互式环境中因 stdout 缓冲会挂起,必须使用 script -q -c "nak ..." /dev/null | cat 包装命令以强制伪终端。

中继逻辑:

  • 默认使用发现中继:wss://relay.damus.io、wss://relay.primal.net、wss://relay.nostr.band
  • 用户指定中继时覆盖默认,仅使用指定中继

身份操作:

  • 查询:npub... 或 hex 公钥配合 -a 参数
  • 发帖:nsec... 或 hex 私钥配合 --sec 参数

典型场景:

  • 按作者获取最新笔记(Kind 1):nak req -k 1 -a <npub> <relays> -l 5
  • 发布文本笔记:管道输入至 nak event --sec <nsec> <relays>
  • 查询特定 Kind 事件:配合 -k 参数

NIP/Kind 发现:遇未知 Kind 时,必须查阅 github.com/nostr-protocol/nips 或 nostrhub.io 验证规范,禁止臆断标签含义。

显著优点

  • 直接对接 Nostr 协议原生 CLI,功能完整无阉割
  • 支持标准 relay 发现机制,降低配置负担
  • 明确定义密钥使用边界(公钥查询/私钥发帖)

潜在缺点与局限性

  • 强制依赖 `script` 命令:PTY 包装增加调用复杂度,跨平台兼容性受限(部分环境无 script)
  • 无内置密钥管理:用户需自行确保 nsec 不泄露,无加密存储或内存擦除机制
  • 协议理解门槛:需熟悉 Nostr 的 Kind 系统、标签结构及中继模型
  • 调试困难:PTY 包装可能掩盖原始错误输出

适合人群

  • 熟悉 Nostr 协议的开发者与高级用户
  • 需要自动化脚本操作 Nostr 事件的技术用户
  • 愿意承担密钥管理责任的自托管场景

常规风险

| 风险类型 | 说明 |
|---------|------|
| 密钥泄露 | `nsec` 通过命令行参数传递,可能被 shell 历史、进程列表记录 |
| 中继不可信 | 默认中继为公共基础设施,存在审查或数据收集可能 |
| 协议变更 | NIP 草案状态,Kind 含义可能演进,需持续跟踪规范 |
| 执行环境 | `script` 命令在某些容器/受限环境中不可用,导致技能失效 |

Nostr Nak 内容

手动下载zip · 1.6 kB
manifest.jsonapplication/json
请选择文件