#user #grpc #nostr #extension #allowed #relay #grpc-server

app manage_relay_users

nostr-rs-relay的gRPC扩展,用于管理允许的用户

3个不稳定版本

0.2.0 2023年7月27日
0.1.1 2023年7月23日
0.1.0 2023年7月23日

#6#allowed

BSD-3-Clause

29KB
521

管理中继用户gRPC服务器

License

nostr-rs-relay的gRPC扩展

用于nostr-rs-rely的gRPC授权服务器。根据中继管理员是否允许来接受事件。

构建和运行

此包是nostr-rs-relay的扩展,以下说明假定中继位于 ./nostr-rs-relay/

  1. 请确保您正在运行最新版本的Rust,如果您使用rustup安装,请确保如此
rustup update
  1. 克隆和编译
git clone https://github.com/thesimplekid/manage-relay-users.git
cd manage-relay-users
cargo build -r
  1. 编辑配置文件。
vim config.toml

添加一个密钥。使用此密钥分类的人名单会更新允许和拒绝的用户。如果用户通过http api更新,此扩展将发布一个更新列表,这使扩展能够从配置的中继上存储的列表中恢复。

取消注释grpc和db_path行。

  1. 编辑中继的配置
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"
  1. 运行您需要使用 screentmux 或不同的终端标签,以便您可以运行两个进程。首先启动中继管理器
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>, ...],
}

还有一个位于 /usersGET 端点,它将以相同的格式返回允许和拒绝用户的json。

如果中继启用了nip42,它将使用经过验证的公钥,否则将使用笔记的作者公钥。

许可证

代码在 BSD 3-Clause License

联系方式

您可以通过 [email protected] (npub1qjgcmlpkeyl8mdkvp4s0xls4ytcux6my606tgfx9xttut907h0zs76lgjw) 或通过电子邮件 [email protected] 联系我评论或提问nostr。

依赖关系

~21–37MB
~549K SLoC