当前位置: 首页 > article >正文

本地部署开源在线即时通讯软件Fiora打造个人私密聊天室

文章目录

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

前言

相信大家在聊天时候总是很没安全感,比如在和小姐妹背着男朋友聊一些不能说的坏话,或者背着女朋友和兄弟们说的话,都怕某一天露馅了~

今天给大家介绍一款免费开源的在线聊天工具——Fiora。它不仅是一款功能强大的即时通讯软件,更是开发者们展现创造力和技术实力的一个舞台。想象一下,在一个可以自由定制界面、扩展功能,并且完全开放源代码的平台上构建属于你自己的社交网络,这听起来是不是既刺激又充满挑战?

而且结合cpolar内网穿透工具使用,还能轻松实现与好友随时跨平台跨网络在线聊天。本地部署Fiora也非常简单,本例中将使用Docker进行快速部署演示。

image-20241028154955329

1.关于Fiora

Fiora 以其独特的设计理念和灵活的技术架构赢得了众多技术爱好者的青睐。它不仅仅满足了人们对于个性化交流空间的需求,更重要的是,通过其开源模式,激发了一股新的创意浪潮。无论是资深程序员还是初学者,都能在这个平台上找到发挥自己才能的空间。接下来,我们将深入探讨 Fiora 的核心特性、使用体验以及如何参与到这个充满活力的社区中来。

如果你对即时通讯软件背后的科技原理感兴趣,或者想要了解如何利用开源项目打造个性化应用,那么请继续阅读下去,跟随我一起探索 Fiora 这个神奇的世界吧!

image-20241028154834585

以下事Fiora的功能特性:

  1. 注册账号并登录,可以长时间保存您的数据
  2. 加入现有群组或创建自己的群组以与所有人交流
  3. 与任何人私下聊天,并将他们添加为好友
  4. 多种消息类型,包括文本/表情/图片/代码/文件/命令,您还可以搜索表情符号
  5. 推送通知 当您收到新消息时,您可以自定义通知铃声,它也可以将消息读出
  6. 选择您喜欢的主题,您可以将其设置为您喜欢的任何壁纸和主题颜色
  7. 设置管理员以管理用户

**Github地址:**https://github.com/yinxin630/fiora

2.安装Docker

软件依赖:Docker 20.10.6 版本以上

我这里演示的环境是Ubuntu22.04,Docker版本是24.0.5

在终端中执行下方命令安装docker:

curl -fsSL https://get.docker.com -o get-docker.sh

然后再启动docker

sudo sh get-docker.sh

最后我们在docker容器中运行下 hello world 看一下是否安装成功。

sudo docker container run hello-world

可以看到出现了hello world,说明我们已经安装docker成功,就可以进行下一步了

image-20241008151101668

3.本地部署Fiora

本项目提供了最简单的方式,使用项目的一键安装脚本将项目克隆到本地

git clone https://github.com/yinxin630/fiora.git -b master

在这里插入图片描述

进入到fiora里

cd fiora

这里我们需要修改宿主机端口号,因为跟cpolar冲突,修改管理界面端口号改成9300

sudo nano docker-compose.yaml

在这里插入图片描述

构建镜像

sudo docker compose build --no-cache --force-rm

在这里插入图片描述

运行

sudo docker compose up -d

在这里插入图片描述

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

image-20241028161905804

4.使用Fiora

我们可以点击下方登录选择注册,就可以进入到属于你自己的聊天页面了

image-20241028162007179

我们可以点击左上角的头像,来修改个人信息。这里有头像以及用户名密码都可以修改。

在这里插入图片描述

右上方的加号,创建群聊。

image-20241028162107395

现在就可以和你的小伙伴在你们自己创建的聊天室大聊特聊了,就算不用于聊天,也可以个人使用变成一个备忘录,更多玩法等你展开哦~

5.cpolar内网穿透工具安装

不过我们目前只能在本地局域网内使用刚刚部署的Fiora进行聊天,如果想和异地好友通过在家中部署的Fiora服务来像其他通讯软件一样远程聊天,应该怎么办呢?我们可以使用cpolar内网穿透工具来实现远程访问本地服务的需求。无需公网IP,也不用设置路由器那么麻烦。

下面是安装cpolar步骤:

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

使用一键脚本安装命令

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

在这里插入图片描述

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

sudo systemctl status cpolar

img

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

在这里插入图片描述

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

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

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

image-20241028163232216

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

image-20241028163322357

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

image-20241028163407089

小结

为了方便演示,我们在上边的操作过程中使用cpolar生成的HTTP公网地址隧道,其公网地址是随机生成的。

这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。

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

7.固定Uptime Kuma公网地址

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

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】

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

image-20241028164517169

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

image-20241028164537850

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

image-20241028164608304

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

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

点击更新

image-20241028164636743

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

image-20241028164709495

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

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


http://www.kler.cn/a/378382.html

相关文章:

  • 砥砺十年风雨路,向新而行创新程丨怿星科技十周年庆典回顾
  • 火山引擎VeDI数据服务平台:在电商场景中,如何解决API编排问题?
  • 【CSS】——基础入门常见操作
  • C#如何封装将函数封装为接口dll?
  • PHP JSON 教程
  • GBase与梧桐数据库数据加载与导出的差异
  • UE5动画控制 基础
  • 不规则区域+PPP
  • 开源OCR免费助力法律文档数字化,提升文档管理效率
  • goframe开发一个企业网站 logic 开发 再生成service8
  • 【嵌入式】基础入门步骤
  • Leetcode - 周赛421
  • ChatGPT 越狱:研究人员使用十六进制编码和表情符号绕过 AI 保护措施
  • 双目视觉标定——1原理与实践
  • 软件测试--BUG篇
  • 基于Retinex算法的图像去雾matlab仿真
  • WPF 实现冒泡排序可视化
  • Pr 视频效果:ASC CDL
  • 基于物联网的户外环境检测装置教学文章
  • Qt中的Model与View 4:QStandardItemModel与QTableView
  • 【FL0013】基于SpringBoot和微信小程序的机电公司管理信息系统
  • 人工智能如何改变未来生活:从医疗到日常的全面升级
  • 项目学习总结
  • js中多let与var
  • 如何使用 EXPLAIN 分析查询计划?
  • 例行性工作