Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

由BTN实例下发banPeer信息的功能 #158

Open
PluieM opened this issue Jun 16, 2024 · 3 comments
Open

由BTN实例下发banPeer信息的功能 #158

PluieM opened this issue Jun 16, 2024 · 3 comments

Comments

@PluieM
Copy link
Contributor

PluieM commented Jun 16, 2024

是否增加一个由BTN实例下发banPeer指令,客户端收到后直接ban掉指定Peer的功能
场景1:实时共享黑名单,A客户端发现的恶意Peer,可以上报后由BTN实例广播给同实例下的其他Peer
场景2:共同校验,可以通过累计某一个Peer在同实例同一个torrent下的多个客户端上的下载量来校验是否伪造了进度,应该能更快发现恶意Peer的同时大幅降低同一个BTN实例下的客户端被恶意peer吸血的量

@Ghost-chu
Copy link
Collaborator

BTN 协议被设计为尽量避免使用长连接,因此不适用于实时通信。

对于上报问题,只要您启用了数据提交,封禁名单就会被 PBH 上传。

对于共同校验问题,目前通过人工方式分析多人上报。如果感兴趣,也欢迎申请加入 BTN 服务端开发工作。目前服务端还十分简陋,功能有限,无法做到自动分析。

@PluieM
Copy link
Contributor Author

PluieM commented Jun 16, 2024

在服务端维护一个简单的队列 {offset, peerInfo, timestamp} 这样,然后由客户端根据offset去拉取(类似kafka的消息push机制),这样既不用维持长连接,应该也能达到一个实时通信的效果。请问怎么申请服务端开发呢?

@Ghost-chu
Copy link
Collaborator

场景1:实时共享黑名单,A客户端发现的恶意Peer,可以上报后由BTN实例广播给同实例下的其他Peer

客户端有时并不是完全可信的

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants