源码仓库
WindChat 是一款开源免费私有IM聊天软件,原身是Akaxin即时通讯开源软件,由原开发者SAM2O2O个人维护,主要面向企业定制IM,全端开源,免费。
特性:
- 单聊、群聊(含文字、图片、语音等)
- 端到端的加密消息(服务端不可解密,服务器可通过配置关闭此特性)
- 匿名注册、实名注册,以及注册邀请码机制(只允许特定用户注册)
- 扩展机制
- 等
1. 启动服务器
* git clone https://gitee.com/wind-chat/wind-im.git
WindChat 开始支持personal(个人版)与team版,默认状态下使用personal
支持的启动参数:java -jar windchat-server.jar -h
WindChat Personal版本 命令:
* 版本升级:`java -jar windchat-server.jar -upgrade` ,此命令在服务与sqlite数据库版本不一致时执行,正常情况无需执行
* 启动命令:`java -jar windchat-server.jar`
WindChat Team版本 命令:
* 生成Team版本所需配置模版:`java -jar windchat-server.jar -team`
* 修改配置文件: 上一步会生成 windchat-server.config 使用mysql数据库需在[windchat-server.config]配置文件中配置mysql参数:
主库(数据库编码需要设置utf8mb4):
windchat.mysql.host=localhost //数据库的地址
windchat.mysql.port=3306 //数据库端口
windchat.mysql.database=openzaly //数据库名称
windchat.mysql.username=root //mysql数据库访问用户
windchat.mysql.password=1234567890 //mysql数据库密码
从库(如果需要使用主从模式,配置这里,不需要从库则不需要配置)数据库编码需要设置utf8mb4:
windchat.mysql.slave.host=localhost
windchat.mysql.slave.port=3306
windchat.mysql.slave.database=openzaly
windchat.mysql.slave.username=root
windchat.mysql.slave.password=1234567890
其他mysql参数为使用mysql连接池的配置参数,如若涉及性能优化可开启配置项。
* 迁移数据库命令:WindChat支持使用者把Personal版本的sqlite中的数据迁移到Team版本的mysql数据库
如果执行这一步需要在windchat-server.config配置文件中配置:
`windchat.sqlite.url=openzalyDB.sqlite3` 这里指定sqlite数据库文件的位置
继续执行迁移命令:
`java -jar windchat-server.jar -migrate`
* 启动命令:`java -jar windchat-server.jar`
2. 下载客户端
3. 访问站点
- 生成账号(手机账号与匿名均可)
- 输入站点服务器
- 首次登陆为管理员,邀请码:000000
- 别的用户登陆后可以互加好友,开始聊天。
- 匿名账号,账号保存在设备本地,用户不会填写手机信息,任何地方都获取不到。
站点注册方式默认为匿名,进入站点后,请根据情况第一时间修改为 实名 或者 开启邀请码,防止恶意用户进入
- 本地安装Java1.8+
- 需要本地有mvn,直接使用mvn编译即可。
WindChat 具有灵活、强大的扩展机制 (“管理平台” 就是一个扩展)
。通过嵌入WEB页面,与后端的扩展API进行交互, 可以很轻松的构建丰富的业务功能,如:
- 附近交友
- 店铺点评
- 在线游戏
- 等等等等
你的聊天服务器,将摇身一变,成为一个强大的社交软件平台。
扩展机制处于技术预览阶段,如果你希望在自己的业务中开发自己的扩展,可以联系我们( mail: [email protected] ),我们将免费提供文档与技术答疑。
以加入时间排序
- sisishiliu(Akaxin/DuckChat创始人)
- SAM2O2O
- childeYin
向我们提问
联系邮件:[email protected]