最近 一个新项目的诞生被宣布 谁正在开发应用程序 创建去中心化的 P2P 聊天, 其参与者无需访问集中式服务器即可直接相互交互。
这个项目的名字是 喋喋不休 该程序设计为在浏览器中运行的 Web 应用程序,代码为 用 TypeScript 编写并在 GPLv2 许可下分发。
关于闲聊
喋喋不休 是一个开源的交流工具,其设计考虑了安全性和隐私性。
有些服务需要建立点对点连接,但是 该应用程序基于直接的点对点通信 越多越好。 该应用程序使用的服务与 Chitchatter 项目无关,并且可供所有人使用。
应用 允许生成唯一的聊天 ID 可以与其他参与者共享以开始聊天。 任何支持 WebTorrent 协议的公共服务器都可以使用 协商聊天连接。
协商连接后,将使用 WebRTC 技术创建直接加密通信通道链接用户,该技术提供开箱即用的方式来访问在地址转换器 (NAT) 后面运行的节点并使用 STUN 和 TURN 协议绕过公司防火墙。
Chitchatter 是一个完全的客户端通信应用程序。 它使用通用外部 WebTorrent 和 STUN/TURN 服务器进行必要的通信,但没有 Chitchatter API 服务器。
内部特征 在项目存储库中脱颖而出,提到以下内容:
- 完全开源(根据 GPL v2 许可)
- 对等
- 尽可能使用 Open Relay 来确保可靠的点对点连接
- 加密(通过 WebRTC)
- 不需要服务器
- 公共 WebTorrent 服务器仅用于初始点对点握手
- 短暂的
- 消息内容永远不会保存在磁盘上
去中心化 - 没有 API 服务器。 Chitchatter 工作所需要的只是静态资产的 GitHub 和用于点对点通信的公共 WebTorrent 和 STUN/TURN 中继服务器的可用性。
- 自托管
- 没有分析、跟踪或遥测。
- Chitchatter 从 Create React 应用开始。 如果没有 Trystero,安全网络的魔力将无法实现。
值得一提的是 对话内容未保存到磁盘 并在关闭应用程序后丢失。 聊天时,您可以使用 Markdown 标记并嵌入媒体文件。
未来的计划包括受密码保护的聊天、语音和视频通话、文件共享、输入提示以及在新成员加入聊天之前查看发布的消息的能力。
有兴趣可以测试或者了解这个项目的可以试试 以下链接。
主持您自己的闲聊聊天
对于那些有兴趣能够自托管项目的人,他们必须遵循下面共享的说明。 首先是获取源代码,您可以从 以下链接。
假设您打算在 GitHub 页面上托管 Chitchatter,您应该更改文件 package.json 中的属性 到托管 Chitchatter 实例的任何 URL。 这将类似于 https://github_user_or_org_name.github.io/chitchatter/。
之后,必须定义一个 GitHub 操作密钥(在 https://github.com/github_user_or_org_name/chitchatter/settings/secrets/actions).
有了这个,当它托管在 GitHub 页面上并完成上述配置时,生产环境就会更新。
至于运行时配置,您可以在 /src/config 中的配置文件中执行此操作,在这里您可以修改匹配和中继服务器配置。
最后,如果你有兴趣了解更多,可以咨询详情 在下面的链接中。