【安全通信】告别信息泄露:搭建你的开源视频聊天系统briefing

文章目录

    • 前言
    • 1.关于briefing
    • 2.本地部署briefing
    • 3.使用briefing
    • 4.cpolar内网穿透工具安装
    • 5.创建远程连接公网地址
    • 6.固定briefing公网地址

前言

在这个信息爆炸的时代,视频聊天几乎成了我们日常沟通的标配。但你是否曾在视频会议中感到不安,担心自己的私密对话被悄悄记录?特别是在那些敏感的企业会议、在线课堂或是远程咨询中,这种担忧更是让人如坐针毡。

别担心,今天我要给大家带来一个好消息!让我们一起探索如何在Linux Ubuntu系统上用Docker轻松部署briefing——一个开源的视频聊天系统,并且通过cpolar内网穿透工具,实现对本地服务器的远程访问。这意味着,你可以轻松搭建起自己的视频群聊平台,既不需要公网IP,也无需购买域名或云服务器。

这款briefing平台不仅提供了卓越的视频通话体验,更重要的是,它在保护用户隐私和数据安全方面做得非常出色。现在,你可以安心地进行每一次对话,再也无需担心信息泄露的风险!

1.关于briefing

briefing 是一个开源、安全的直接视频群聊平台,专为对隐私和数据安全有严格要求的场景设计。它不仅提供了强大的视频通话功能,还通过多种加密技术确保了信息传输的安全性。

Github地址:GitHub - holtwick/briefing:🔮安全的直接视频群聊

img

以下是briefing的功能特性:

  1. 端到端加密

    briefing采用了最先进的端到端加密技术,确保你的每一次通话内容只有你和对方能够解密,中间的任何环节都无法窥探或篡改信息。这使得 briefing在传输敏感数据时具有极高的安全性。

  2. 多因素认证

    为了进一步增强账号的安全性,briefing支持多因素认证。用户可以选择通过短信、邮箱或安全应用进行二次验证,确保只有授权的用户能够访问平台。

  3. 数据存储加密

    即使在服务器端存储的数据也经过了严格的加密处理。所有用户的个人信息和通话记录都使用强大的加密算法进行保护,防止未经授权的访问。

  4. 隐私保护设置

    briefing提供丰富的隐私保护设置选项,用户可以自定义哪些信息对外公开,哪些信息仅对特定联系人可见。例如,你可以选择是否显示在线状态、个人简介等。

  5. 高清视频通话

    无论是在家庭网络还是企业级网络环境中,briefing都能提供高质量的音视频通话体验。它支持1080p高清视频和高清晰度音频,确保每一次沟通都流畅无阻。

  6. 屏幕共享与白板功能

    briefing支持屏幕共享功能,方便用户在会议中展示文档、演示文稿或实时操作。此外,还提供虚拟白板功能,便于团队协作和头脑风暴。

  7. 跨平台支持

    无论你是使用 Windows、MacOS、Linux 还是移动设备(iOS 和 Android),briefing都提供了相应的客户端应用,确保你可以在任何设备上无缝进行视频通话。

  8. 易于部署与管理

    对于企业用户,briefing提供了详细的部署指南和管理工具。你可以轻松地在自己的服务器上安装和配置平台,并通过管理后台对用户、权限和设置进行集中管理。

  9. 开放源代码

    作为开源项目,briefing的所有代码都公开透明。开发者可以查看、修改和扩展平台的功能,确保其能够满足不同场景下的需求。

2.本地部署briefing

本例使用Docker进行部署,如果没有安装Docker,可以查看这篇教程进行安装:《Docker安装教程——Linux、Windows、MacOS》

执行下方命令即可本地运行容器:

sudo docker run -d -p 8080:8080 holtwick/briefing

image-20241112152224658

现在就已经安装成功了,您可以通过打开Web浏览器输入localhost:8080,就可以访问到briefing的页面了。

3.使用briefing

现在我们来访问briefing的主页面,可以发现非常的干净简洁

image-20241112152351921

接下来点击start chat就可以进入到聊天室里,由于是台式机并没有摄像头显示。

e94cb664f0dd0af2afcbf2cbc349b10

将右方的连接地址或者二维码发给视频聊天的人员就可以了,一对一或是多人群聊都可以。

4.cpolar内网穿透工具安装

不过我们目前只能在本地局域网内访问刚刚部署的briefing视频聊天室,如果想不在家中时,也能在外部网络环境远程访问本地部署的briefing视频聊天室,应该怎么办呢?我们可以使用cpolar内网穿透工具来实现远程访问本地服务的需求。无需公网IP,也不用设置路由器那么麻烦。

下面是安装cpolar步骤:

Cpolar官网地址: https://www.cpolar.com

使用一键脚本安装命令

sudo curl https://get.cpolar.sh | sh

img

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

sudo systemctl status cpolar

img

Cpolar安装和成功启动服务后,在浏览器上输入ubuntu主机IP加9200端口即:【http://localhost:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

image-20240801133735424

5.创建远程连接公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了: briefing,注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:8080
  • 域名类型:随机域名
  • 地区:选择China Top

image-20241112152906509

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了两个公网地址,接下来就可以在其他电脑(异地)上,使用任意一个地址在浏览器中访问即可。

image-20241112153043077

如下图所示,成功实现使用公网地址异地远程访问本地部署的briefing。

image-20241112153204399

小结

为了方便演示,我们在上边的操作过程中使用cpolar生成的HTTP公网地址隧道,其公网地址是随机生成的。这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。

如果有长期使用briefing远程使用视频聊天室,或者异地访问与使用其他本地部署的服务的需求,但又不想每天重新配置公网地址,还想让公网地址好看又好记并体验更多功能与更快的带宽,那我推荐大家选择使用固定的二级子域名方式来配置公网地址。

6.固定briefing公网地址

由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化。

点击左侧的预留,选择保留二级子域名,地区选择china top,然后设置一个二级子域名名称,填写备注信息,点击保留。

image-20241112153403274

保留成功后复制保留的二级子域名地址:

image-20241112153442092

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

image-20241112153504640

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地区: China Top

点击更新

image-20241112153548154

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

image-20241112153643040

最后,我们使用固定的公网地址访问briefing可以看到访问成功,一个永久不会变化的远程访问方式即设置好了。

image-20241112153709741

接下来就可以随时随地进行公网访问管理briefing了,把公网地址分享给身边的人,还可以方便团队协作。自己用的话,无需云服务器,还可以实现异地远程访问!以上就是如何在Linux Ubuntu系统Docker本地安装briefing并实现异地远程访问进行文件管理的全部过程,感谢观看!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/60597.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pip install tkinter报错

pip install tkinter:ERROR: Could not find a version that satisfies the requirement tkinter 这是因为,安装python的时候没有安装tkinter选项,解决这个问题有下面两种方法 一、重新安装python 但是这个步骤有点麻烦 二、在python-3.1…

Python的面向对象day7

1、什么是面向对象 面向对象称为OO,他通过将数据和功能封装在一个被称为‘对象’的实体中,来组织和管理代码。面向对象变成(OOP)具有四个特性,封装、继承、多态、抽象 优点:模块化、安全性高、代码重用性…

自动化工具 Gulp

自动化工具 gulp 摘要 概念:gulp用于自动化开发流程。 理解:我们只需要编写任务,然后gulp帮我们执行 核心概念: 任务:通过定义不同的任务来组织你的构建流程。 管道:通过管道方式将文件从一个插件传递…

探索 Seata 分布式事务

Seata(Simple Extensible Autonomous Transaction Architecture)是阿里巴巴开源的一款分布式事务解决方案,旨在帮助开发者解决微服务架构下的分布式事务问题。它提供了高效且易于使用的分布式事务管理能力,支持多种事务模式,确保数据的一致性和完整性。 以下是 Seata 的一…

【QT常用技术讲解】优化网络链接不上导致qt、qml界面卡顿的问题

前言 qt、qml项目经常会涉及访问MySQL数据库、网络服务器,并且界面打开时的初始化过程就会涉及到链接Mysql、网络服务器获取数据,如果网络不通,卡个几十秒,会让用户觉得非常的不爽,本文从技术调研的角度讲解解决此类问…

编程之路,从0开始:知识补充篇

Hello大家好,很高兴我们又见面了! 给生活添点passion,开始今天的编程之路! 这一篇我们来补充一下在之前篇目没讲到的知识,并结合一些码友的私信提问和我在编程中遇到的问题,做一些易错点或易混点的讲解。 …

C语言中,让人又爱又恨的字符串编码

引言 在C语言的世界里,字符串编码是一个让人既爱又恨的话题。 所有的打印信息,都是以字符串输出的。但是,大家在编码的时候,经常会遇到一些情况,稍不注意,就会导致显示出乱码,到了客户那里&…

nginx openresty lua-resty-http 使用的一些问题记录

需求背景 需求是使用 nginx 做一个 https 服务的代理 nginx 收到 http 请求后,需要修改 body 中的某些参数值,然后将修改后的数据发送到目标服务器(https) 本来以为很简单的需求,结果中间出现了不少岔子,这…

vue2+ element ui 集成pdfjs-dist

目录 1. 下载Pdf.js1.1 下载1.2 修改配置1.2.1 将pdfjs-3.8.162-dist复制到项目中1.2.2 解决跨域问题1.2.3 将pdf.worker.js文件复制到public目录下1.2.4 安装 pdfjs-dist1.2.5 前端vue代码(示例) 3. 参考资料 1. 下载Pdf.js 1.1 下载 下载链接(官方)需…

「Mac玩转仓颉内测版2」入门篇2 - 编写第一个Cangjie程序

本篇详细介绍在Mac系统上创建首个Cangjie项目并编写、运行第一个Cangjie程序的全过程。内容涵盖项目创建、代码编写、程序运行与调试,以及代码修改后的重新运行。通过本篇,掌握Cangjie项目的基本操作,进一步巩固开发环境的配置,迈…

接单渠道,程序员看这篇就够了。

接单、兼职,有团队没单子?僧多粥少,苦矣。 很多程序员,有时间、有技术,有steam(咳咳,不对,是team)。但是,可能还是挣不到什么钱,何也&#xff1f…

CSS:导航栏三角箭头

用CSS实现导航流程图的样式。可根据自己的需求进行修改,代码精略的写了一下。 注:场景一和场景二在分辨率比较低的情况下会有一个1px的缝隙不太优雅,自行处理。有个方法是直接在每个外面包一个DIV,用动态样式设置底色。 场景一、…

Qt_day4_Qt_UI设计

目录 Qt_UI设计 1. Designer 设计师(掌握) 2. Layout 布局(重点) 2.1 基本使用 2.2 高级用法 2.3 代码布局(了解) 3. Designer与C的关系(熟悉) 4. 基本组件(掌握…

数据结构的时间复杂度和空间复杂度

目录 时间复杂度 空间复杂度 时间复杂度 基本操作的执行次数,为时间复杂度。 我们使用大O的渐进表示法来表示时间复杂度。 怎么使用? 先看例子: 在这个例子中, 基本操作为变量 count 的 加加 操作,并且,执行…

【Chapter 3】Machine Learning Classification Case_Prediction of diabetes-XGBoost

文章目录 1、XGBoost Algorithm2、Comparison of algorithm implementation between Python code and Sentosa_DSML community edition(1) Data reading and statistical analysis(2)Data preprocessing(3)Model Training and Evaluation(4)Model visualization 3、summarize 1…

Rust Struct 属性初始化

结构体是用户定义的数据类型,其中包含定义特定实例的字段。结构有助于实现更容易理解的抽象概念。本文介绍几种初始化结构体对象的方法,包括常规方法、Default特征、第三方包实现以及构建器模式。 Struct声明与初始化 struct Employee {id: i32,name: …

AI大模型微调:Qwen2大模型微调入门实战(完整代码)

简介: 该教程介绍了如何使用Qwen2,一个由阿里云通义实验室研发的开源大语言模型,进行指令微调以实现文本分类。微调是通过在(指令,输出)数据集上训练来改善LLMs理解人类指令的能力。教程中,使用…

基于Python+Django+Vue3+MySQL实现的前后端分类的商场车辆管理系统

项目名称:基于PythonDjangoVue3MySQL实现的前后端分离商场车辆管理系统 技术栈 开发工具:PyCharm、Visual Studio Code (VSCode)运行环境:Python 3.10、MySQL 8.0、Node.js 18技术框架:Django 5、Vue 3.4、Ant-Design-Vue 4.12 …

C++初阶:类和对象(上)

1. 类的定义 1.1 类的定义格式 class为定义类的关键字,Stack为类的名字,{ } 中为类的主体,注意类定义结束后的分号不能省略。类体中的内容为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的方法或成员…

ctfshow DSBCTF web部分wp

ctfshow 单身杯 web部分wp web 签到好玩的PHP 源码&#xff1a; <?php error_reporting(0); highlight_file(__FILE__);class ctfshow {private $d ;private $s ;private $b ;private $ctf ;public function __destruct() {$this->d (string)$this->d;$this…