5 个版本
0.3.3 | 2022 年 12 月 10 日 |
---|---|
0.3.2 | 2022 年 12 月 6 日 |
0.3.1 | 2022 年 12 月 2 日 |
0.3.0 | 2022 年 11 月 18 日 |
0.2.0 | 2022 年 11 月 18 日 |
#241 in WebSocket
每月 31 次下载
14KB
241 行
nostcat
Nostr 中继脚本的 WebSocket 客户端
示例
使用交互式输入
$ nostcat wss://relay.damus.io <return>
["REQ", "RAND", {"kinds": [1], "limit": 8}] <return>
<ctrl-D>
使用 stdin(支持多行命令)
$ echo '["REQ", "RAND", {"kinds": [1], "limit": 8}]' |
nostcat wss://relay.damus.io
$ cat commands.txt
["REQ", "RAND", {"kinds": [1], "limit": 2}]
["REQ", "RAND2", {"kinds": [2], "limit": 2}]
$ cat commands.txt | nostcat wss://relay.damus.io
使用 jq 查询 Nostr JSON 事件并选择事件 JSON
$ echo '["REQ", "RAND", {"kinds": [1], "limit": 8}]' |
nostcat wss://relay.damus.io |
jq '.[2]'
$ echo '["REQ", "RAND", {"kinds": [1], "limit": 8}]' |
nostcat wss://relay.damus.io |
jq '.[2].content'
随着事件的到来提供唯一(去重)结果(注意:不再应用排序事件 - FIFO)
$ echo '["REQ", "RAND", {"kinds": [1], "limit": 8}]' |
nostcat --unique wss://relay.damus.io wss://nostr.ono.re
WebSocket 连接超时(毫秒)
$ echo '["REQ", "RAND", {"kinds": [1], "limit": 2}]' |
nostcat --connect-timeout 250 wss://relay.damus.io
流式传输 WebSocket 数据(类似于 tail -f)
$ echo '["REQ", "RAND", {"kinds": [1], "limit": 8}]' |
nostcat --stream wss://relay.damus.io
输出信息日志消息,可协助调试
$ echo '["REQ", "RAND", {"kinds": [1], "limit": 8}]' |
RUST_LOG=info nostcat wss://relay.damus.io
从一台服务器将事件管道传输到另一台服务器(目前每次限制为 1 个事件)
$ echo '["REQ", "CID", {"limit": 1}]' |
nostcat wss://relay.damus.io |
jq -c 'del(.[1])' |
nostcat wss://nostr.ono.re
从一台服务器将事件管道传输到另一台服务器(对于多个事件,完成时按 ctrl-C
)
$ echo '["REQ", "CID", {"limit": 3}]' |
nostcat wss://relay.damus.io |
jq -c 'del(.[1])' |
nostcat --stream wss://nostr.ono.re
<ctrl-C>
入门指南
使用 Cargo 安装(需要 ~/.cargo/bin 在 PATH 中)
$ cargo install nostcat
从源代码构建(可能不稳定)
$ git clone https://github.com/blakejakopovic/nostcat
$ cargo build --release
依赖项
~9–21MB
~320K SLoC