最近新开源了一套关于IM私有聊天软件,刚开始部分人对Akaxin是什么不是很理解,这里专门写一片文章来和大家讨论并简要介绍 Akaxin 与 开源Openzaly。
一、Akaxin:(客户端 + 开源服务端 + 帮助平台)
中文名:阿卡信
昵称 :个人喜欢称 A卡信/A信
Akaxin是私有IM聊天体系统称,它包含三大部分,分别为:
- 客户端 : IOS && Andorid 客户端
- 站点服务端 : 开源Openzaly搭建的私有站点服务器端
- 帮助平台 : 帮助用户和私有站点之间实现部分复杂并且可恶的兼容功能的平台端
二、Akaxin客户端
编写本文时,客户端版本在 V0.5.4。直接看图:
客户端支持的功能:
- 多站点服务器登陆 :客户端支持同时连接多个Openzaly服务器
- 二人聊天
- 绝密聊天
- 群聊天
- 好友管理
- 群组管理
- 个人信息管理
- 站点服务器管理
- 扫一扫功能
- 分享好友群组
- 扩展功能:支持用户开发自定义功能,以扩展方式集成到客户端
三、Openzaly开源服务端
Openzaly是阿卡信服务端开源项目的名称,用户可以通过在gitee 以及 github 上clone 或者fork 源码。
github:
https://github.com/akaxincom/openzaly
gitee :
https://gitee.com/akaxin/openzaly
使用Openzaly可以实现:
- 直接在任何一台机器上搭建个人私有服务器
- 在服务器上实现局域网内的IM通信(外网同样支持)
- 支持扩展功能,可以随意开发个人扩展,后台管理-扩展管理 增加自定义的扩展
- 服务器可实现与自定义扩展完全独立,无耦合
编译运行源码:
- 本地环境:
1. JDK :1.8+
2.Maven :3.0+
- 运行方式:
linux环境:
sh build.sh
sh start.sh/stop.sh/restart.sh
windows环境:
当前未提供运行脚本,项目跟目录可直接执行一下命令
编译打包项目:
mvn -T 2C clean package(或者 mvn package)
重命名jar包:
cp openzaly-boot/target/openzaly-boot-*-SNAPSHOT.jar openzaly-server.jar
运行项目:
java -jar openzaly-server.jar
查看项目帮助参数列表
java -jar openzaly-server.jar -h
四、帮助平台
为什么会存在这个东西?
-> 如果不是必要,作为开发者是真心不想要多开发一套项目。
在开发设计过程中出现这样一个问题,用户使用客户端如何防止登陆的站点恶意发送非本人应该接受的消息,以及不同操作系统之间的客户端(Andorid 与IOS)如何接受消息通知。
因此帮助平台是为了:
1.为所有用户:防止站点恶意推送不属于自己站点以外的垃圾通知
2.为所有站点:统一接口,实现向所有客户端发送通知消息的功能
(开发过push功能的开发者们,一定对此深有体会,或者充满了厌恶感)
官方链接推荐
阿卡信官方 :
开源Openzaly:
https://github.com/akaxincom/openzaly
开源Openzaly: