3个不稳定版本
0.2.0 | 2023年7月27日 |
---|---|
0.1.1 | 2023年7月23日 |
0.1.0 | 2023年7月23日 |
#6 在 #allowed
29KB
521 行
管理中继用户gRPC服务器
nostr-rs-relay的gRPC扩展
用于nostr-rs-rely的gRPC授权服务器。根据中继管理员是否允许来接受事件。
构建和运行
此包是nostr-rs-relay的扩展,以下说明假定中继位于 ./nostr-rs-relay/
- 请确保您正在运行最新版本的Rust,如果您使用rustup安装,请确保如此
rustup update
- 克隆和编译
git clone https://github.com/thesimplekid/manage-relay-users.git
cd manage-relay-users
cargo build -r
- 编辑配置文件。
vim config.toml
添加一个密钥。使用此密钥分类的人名单会更新允许和拒绝的用户。如果用户通过http api更新,此扩展将发布一个更新列表,这使扩展能够从配置的中继上存储的列表中恢复。
取消注释grpc和db_path行。
- 编辑中继的配置
cd ../nostr-rs-relay
vim config.toml
找到包含 event_admission_server
的行
[grpc]
# event_admission_server = "http://[::1]:50051" <---- this line
取消注释此行并将其更改为反映您上述使用的grpc配置的本地设置。例如
event_admission_server = "http://127.0.0.1:50001"
- 运行您需要使用
screen
或tmux
或不同的终端标签,以便您可以运行两个进程。首先启动中继管理器
cd ../manage-relay-users
./target/release/manage_relay_users --config config.toml
在系统上的另一个终端中
cd ../nostr-rs-relay
RUST_LOG=warn,nostr_rs_relay=info ./target/release/nostr-rs-relay --config config.toml
管理用户
通过Nostr
允许和拒绝的公钥维护在两个 分类人名单 中。配置文件中设置的nsec由客户端用于发布一个 allow
列表和一个 deny
,格式设置在 NIP-51 中。
### HTTP API
The users can be updated by sending a http `POST` to the `/update` endpoint with a json body with the following format.
This extension with publish an updated Categorized People List with the updated users.
```json
{
"allow":, [<32-bytes hex of a pubkey>, <32-bytes hex of a pubkey>, ...],
"deny": [<32-bytes hex of a pubkey>, <32-bytes hex of a pubkey>, ...],
}
还有一个位于 /users
的 GET
端点,它将以相同的格式返回允许和拒绝用户的json。
如果中继启用了nip42,它将使用经过验证的公钥,否则将使用笔记的作者公钥。
许可证
代码在 BSD 3-Clause License 下
联系方式
您可以通过 [email protected] (npub1qjgcmlpkeyl8mdkvp4s0xls4ytcux6my606tgfx9xttut907h0zs76lgjw) 或通过电子邮件 [email protected] 联系我评论或提问nostr。
依赖关系
~21–37MB
~549K SLoC