使用tinode架设自己的私有聊天服务

34 篇文章 0 订阅
7 篇文章 0 订阅


 

需求

国内的商用im软件都不是开源客户端,谁也不知道他们到底干了点啥撒。有时还是需要私有云im来保证数据安全,比如我们需要传递账号以及密码等;

方案1:

使用网页工具将文本加密,然后复制粘贴;之后收到密文后,手动复制粘贴解密;效率比较低;

方案2:

使用端对端的通信工具:telegram,whatsapp等;

方案3:

自己架设一个服务器,然后使用自己的客户端来通信;开源的有很多,需要在易用性,稳定性,扩展性上做取舍,

比如,我发现了一个好东西适合小公司,Tinode 

服务器下载地址为:Release Bug fixes · tinode/chat · GitHub

 

架设流程

首先,我们需要一台公网的服务器,

1)设置mysql数据库,

参考之前的帖子,第5节:
OpenGts2.6.7 安装笔记(windows更容易些)_飞鸟真人的博客-CSDN博客

2)准备一个邮箱账号用与发送验证码

我这里使用了一个sina.com的账号,

目前很多邮件服务器,使用stmp服务时候都需要一个授权码来登录并发信,

42833859aa7a45b7b49b895ddcf2c765.png

 在服务器配置时候需要;

3)配置服务器

我下载的版本是:

tinode-alldbs.linux-amd64.tar.gz

加压后,需要编辑一下tinode.conf

mysql的设置部分:

"store_config": {
		
		"uid_key": "la6YsO+bNX/+XIkOqc5Svw==",
		"max_results": 1024,
		"use_adapter": "mysql",

		"adapters": {
			"mysql": {

				"User": "root",
				"Passwd": "123456",
				"Net": "tcp",
				"Addr": "127.0.0.1",
				"DBName": "tinode",		
				"Collation": "utf8mb4_unicode_ci",
				"ParseTime": true,
				"max_open_conns": 64,
				"max_idle_conns": 64,
				"conn_max_lifetime": 60,
				"sql_timeout": 10
			}
        }
}

重要的是地址、用户名、口令,我使用默认的端口,所以没有写;

另外就是邮件服务器的设置:

"email": {

			"add_to_tags": true,
			"required": ["auth"],

			"config": {
				
				"host_url": "http://127.0.0.1:6060/",
				"smtp_server": "smtp.sina.com",
				"smtp_port": "25",
				"sender": "\"Tinode\" <tinode@sina.com>",
				"login": "tinode@sina.com",
				"sender_password": "xxxxxxxxxxxxxxxxxxxxxx",
				"auth_mechanism": "login",
				"smtp_helo_host": "sina.com",
				"insecure_skip_verify": false,
				"languages": ["en", "es", "fr", "ru", "vi", "zh"],
				"validation_templ": "./templ/email-validation-{{.Language}}.templ",

				"reset_secret_templ": "./templ/email-password-reset-{{.Language}}.templ",
				"max_retries": 3,
				"domains": [],

			}
		},

这里需要注意的就是用户名,授权码,以及smtp服务器的名字不要写错了!!!

最后,

需要在防火墙上打开6060端口!!!

 

配置完成后,初始化数据库:

./init-db -config=./tinode.conf -data=./data.json

如果没有报错,就是OK 了,

启动服务器

./tinode -config=./tinode.conf -static_data=static

此时可以看到屏幕输出,调试完成后,可以在后台运行

nohup ./tinode -config=./tinode.conf -static_data=static & exit

或者使用screen 辅助在后台运行。

 

4)服务器的使用

服务器启动后,通过IP就可以访问了,打开网页客户端,十分贴心

http://ip:6060

如下图

4101ad02771a4da291bb071ebef141f6.png

点一下带加号的人头像,注册:

081fa995e581444bba1b6eaa5566fd45.png

 这几项,分别是:

登录用户名,密码,显示的昵称,邮箱,

注意:这里需要使用真实的邮箱,然后通过邮箱接收邮件获取动态验证码完成注册!!!

 

登录后,就可以愉快的聊天了,比如在IM中或者手机浏览器中打开:

f5c079ce9ab74d8bb6aada39dc40278a.jpeg

 备注:

搜索好友使用需要使用如下格式:

mail:zhangsan@sina.com

祝大家玩的愉快!

后记,如果需要加密传输,应该打开https方式:

1)首先创建证书

使用openssl制作https的证书_forwardMyLife的博客-CSDN博客_openssl制作https证书

2)更改配置:

"tls": {

		"enabled": true,
		"http_redirect": ":80",
		"strict_max_age": 604800,
		"cert_file": "/root/certs/cert.crt",
		"key_file": "/root/certs/private.key"
	},

重启服务,使用

https://127.0.0.1:6060

访问!

 

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是使用腾讯云服务器架设GOM传奇服务端的基本步骤: 1. 登录腾讯云控制台,选择云服务器 ECS,创建一个新的实例。 2. 安装必要的系统组件(例如 gcc/g++、make、git、mysql 等)。 3. 下载并安装 MySQL 数据库,创建数据库并导入 GOM 传奇服务端所需的 SQL 文件。 4. 下载 GOM 传奇服务端代码,并编译运行。 5. 配置服务器防火墙,确保只有必要的端口能够被访问。 具体操作步骤如下: 1. 登录腾讯云控制台,选择云服务器 ECS,创建一个新的实例。在创建实例时,需要选择合适的 CPU、内存、带宽等配置。同时,需要选择一个操作系统,建议选择 CentOS 或者 Ubuntu 等常见的 Linux 操作系统。 2. 安装必要的系统组件。登录服务器后,可以使用以下命令安装必要的系统组件: ```bash sudo yum update # 更新系统软件包 sudo yum install -y gcc gcc-c++ make libstdc++-devel git mariadb mariadb-server mariadb-devel # 安装依赖包 ``` 3. 安装 MySQL 数据库。可以使用以下命令安装 MySQL 数据库: ```bash sudo yum install -y mariadb mariadb-server mariadb-devel # 安装 MariaDB 数据库 sudo systemctl start mariadb # 启动 MariaDB 服务 sudo systemctl enable mariadb # 设置 MariaDB 为系统服务,开机自动启动 ``` 安装完成后,需要使用以下命令创建数据库并导入 SQL 文件: ```bash mysql -u root -p # 登录 MySQL 数据库 CREATE DATABASE gom; # 创建一个名为 gom 的数据库 use gom; # 切换到 gom 数据库 source /path/to/gom.sql; # 导入 gom.sql 文件,路径根据实际情况修改 exit; # 退出 MySQL 数据库 ``` 4. 下载 GOM 传奇服务端代码,并编译运行。可以使用以下命令下载代码: ```bash git clone https://github.com/gomgas/gom.git # 克隆 GOM 传奇服务端代码 ``` 下载完成后,可以使用以下命令编译并运行 GOM 传奇服务端: ```bash cd gom # 进入 gom 目录 make # 编译 GOM 传奇服务端 ./server # 启动 GOM 传奇服务端 ``` 5. 配置服务器防火墙,确保只有必要的端口能够被访问。可以使用以下命令配置服务器防火墙: ```bash sudo firewall-cmd --zone=public --add-port=80/tcp --permanent # 允许访问 HTTP 端口(80) sudo firewall-cmd --zone=public --add-port=8000/tcp --permanent # 允许访问 GOM 端口(8000) sudo firewall-cmd --reload # 重新加载防火墙配置 ``` 至此,GOM 传奇服务端的部署已经完成。需要注意的是,以上操作仅为基本步骤,实际情况可能会有所不同,具体操作时需要根据实际情况进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值