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


 

需求

国内的商用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服务时候都需要一个授权码来登录并发信,

使用tinode架设自己的私有聊天服务_第1张图片

 在服务器配置时候需要;

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\" ",
				"login": "[email protected]",
				"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

如下图

使用tinode架设自己的私有聊天服务_第2张图片

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

使用tinode架设自己的私有聊天服务_第3张图片

 这几项,分别是:

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

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

 

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

使用tinode架设自己的私有聊天服务_第4张图片

 备注:

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

mail:[email protected]

祝大家玩的愉快!

后记,如果需要加密传输,应该打开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

访问!

 

 

你可能感兴趣的:(linux,golang,经验,服务器,IM,tinode)