大家好,我是GitHub好项目君,每天介绍GitHub上最有价值项目
Databag
自己搭建音视频服务! 完全保密!
一种自托管消息服务,实现企业内音视频服务,保护企业通信隐私
源代码:
http://www.gitpp.com/yf/databag
Databag的介绍
Databag 是一种自托管消息服务。显着的特点包括:
-
去中心化(应用程序和服务器节点之间直接通信)
-
联合(不同节点上的账户可以通信)
-
基于公钥-私钥的身份(不绑定到任何区块链或托管域)
-
端到端加密(托管管理员无法查看密封主题,默认未密封)
-
音视频通话(nat穿越需要单独的中继服务器)
-
基于主题的线程(按主题而不是联系人组织的消息)
-
轻量级(服务器可以在树莓派零v1.3上运行)
-
低延迟(使用 websocket 进行推送事件以避免轮询)
-
每个节点无限个帐户(为您的整个家庭提供主机)
-
新联系人、消息和通话的移动提醒(支持 UnifiedPush、FCM、APN)
音频和视频通话
Databag提供音频和视频通话,并依赖STUN/TURN中继服务器进行NAT穿越。测试是使用coturn和pion完成的,并且应该适用于任何实现。此处提供了安装 coturn 服务器的说明。
如果您想启用音频和视频通话,您应该设置自己的中继服务器。不过,出于测试目的,您可以使用演示中继服务器配置。在管理配置模式中,设置:
Databag提供音频和视频通话功能,并依赖 STUN/TURN 中继服务器进行 NAT 穿越。这意味着用户可以通过数据袋实现去中心化的点对点通话,同时解决网络地址转换(NAT)问题,确保通话的稳定性和可靠性。
以下是数据袋实现音频和视频通话的基本原理:
1. 建立连接:
当两位用户想要开始通话时,他们首先需要建立连接。这个过程通常包括以下步骤:
a. 双方发送请求,表明想要开始通话。
b. 通过STUN/TURN中继服务器,双方获取彼此的公网IP地址和端口号。
c. 双方使用获取到的信息,建立点对点连接。
2. 通话数据传输:
一旦连接建立,双方可以开始传输音频和视频数据。为确保数据传输的效率和质量,数据袋通常采用实时传输协议(RTP)等成熟的技术。
3. NAT 穿越:
在通话过程中,如果网络环境发生变化,可能导致 NAT 问题。这时,STUN/TURN 中继服务器可以协助解决这些问题,确保通话的连续性和稳定性。
4. 终止通话:
当通话结束时,双方可以主动关闭连接。在这个过程中,STUN/TURN 中继服务器将协助解除双方的连接,并释放资源。
数据袋的音频和视频通话功能为去中心化网络提供了便捷的通信手段。同时,通过依赖 STUN/TURN 中继服务器进行 NAT 穿越,数据袋能够解决网络环境中的不稳定因素,提高通话质量。然而,去中心化通话服务在性能、隐私和安全性等方面仍面临一定的挑战,需要继续研究和优化。
如何安装使用
要使用数据包,您需要一个带有证书的指向您的节点的 DNS 名称。您可以手动部署节点,但使用容器服务会更轻松。适用于 arm64 和 amd64 的容器可在此处获取。
Docker 撰写命令
从 net/container 子目录:
自搭建的音视频服务对企业的意义主要体现在以下几个方面:
-
提升沟通效率
:音视频服务可以实现实时沟通,帮助企业内部以及与合作伙伴之间的沟通更加便捷、高效,特别是在远程协作和跨地域沟通中,能够有效减少时间和成本的消耗。
-
增强团队协作
:通过音视频会议,团队成员可以进行面对面的交流,讨论项目、解决问题,促进团队成员之间的协作和团队精神的建设,这对于提高团队的工作效率和项目执行力度具有重要意义。
-
降低通信成本
:自搭建的音视频服务可以减少企业对外部通信服务的依赖,长远来看,这将有助于降低通信成本。
-
数据安全与隐私保护