diff --git a/wukongim/1.2.6/data.yml b/wukongim/1.2.6/data.yml new file mode 100644 index 000000000..201cda9d4 --- /dev/null +++ b/wukongim/1.2.6/data.yml @@ -0,0 +1,47 @@ +additionalProperties: + formFields: + - default: "/home/wukongim" + edit: true + envKey: WUKONGIM_ROOT_PATH + labelZh: 数据持久化路径 + labelEn: Data persistence path + required: true + type: text + - default: 5300 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: WebUI 端口 + labelEn: WebUI port + required: true + rule: paramPort + type: number + - default: 5001 + envKey: PANEL_APP_PORT_WK_API + labelZh: API 端口 + labelEn: API port + required: true + type: number + - default: 5100 + envKey: PANEL_APP_PORT_WK_TCP + labelZh: TCP端口 + labelEn: Tcp port + required: true + type: number + - default: 5200 + envKey: PANEL_APP_PORT_WK_WS + labelZh: WebSocket 端口 + labelEn: WebSocket port + required: true + type: number + - default: 5172 + envKey: PANEL_APP_PORT_WK_DEMO_SERVER + labelZh: 悟空IM演示端口 + labelEn: WuKongIM demo port + required: true + type: number + - default: "127.0.0.1" + envKey: WK_EXTERNAL_IP + labelZh: 服务器IP + labelEn: Server IP + required: true + type: text diff --git a/wukongim/1.2.6/docker-compose.yml b/wukongim/1.2.6/docker-compose.yml new file mode 100644 index 000000000..f4f111213 --- /dev/null +++ b/wukongim/1.2.6/docker-compose.yml @@ -0,0 +1,26 @@ +networks: + 1panel-network: + external: true + +services: + wukongim: + image: wukongim/wukongim:v1.2.6 + container_name: ${CONTAINER_NAME} + labels: + createdBy: "Apps" + restart: always + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:5300 + - ${PANEL_APP_PORT_WK_API}:5001 + - ${PANEL_APP_PORT_WK_TCP}:5100 + - ${PANEL_APP_PORT_WK_WS}:5200 + - ${PANEL_APP_PORT_WK_DEMO_SERVER}:5172 + env_file: + - /etc/1panel/envs/global.env + - ${ENV_FILE:-/etc/1panel/envs/default.env} + volumes: + - ${WUKONGIM_ROOT_PATH}/wukongim:/root/wukongim + environment: + - WK_MODE=release diff --git a/wukongim/1.2.6/scripts/init.sh b/wukongim/1.2.6/scripts/init.sh new file mode 100644 index 000000000..77b849120 --- /dev/null +++ b/wukongim/1.2.6/scripts/init.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/wukongim/1.2.6/scripts/uninstall.sh b/wukongim/1.2.6/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/wukongim/1.2.6/scripts/uninstall.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/wukongim/1.2.6/scripts/upgrade.sh b/wukongim/1.2.6/scripts/upgrade.sh new file mode 100644 index 000000000..77b849120 --- /dev/null +++ b/wukongim/1.2.6/scripts/upgrade.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/wukongim/README.md b/wukongim/README.md new file mode 100644 index 000000000..f02164bba --- /dev/null +++ b/wukongim/README.md @@ -0,0 +1,105 @@ +# WuKongIM 悟空IM + +高性能通用分布式通讯服务,支持聊天应用,消息推送,物联网通讯,音视频信令,直播弹幕,客服系统,AI 通讯,即时社区等场景。 + +![WuKongIM](https://file.lifebus.top/imgs/wukongim_cover.jpg) + +![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue) + +## 特性 + +🎦独特性 + +群成员无上限,轻松支持10万人群聊,消息可永久存储。 + +📚资源消耗低 + +自研二进制协议,心跳包只有1字节,省流量,省电量,传输更迅速。 + +🔐安全性 + +消息通道和消息内容全程加密,防中间人攻击和窜改消息内容,服务端数据实时备份,数据不丢失。 + +🚀 性能 + +基于pebble kv数据库,研发了针对于IM这种服务的特有分布式数据库,省了其他数据库为了通用性而带来的性能损耗, 因为存储快,所以消息快。 + +🔥高可用 + +通过魔改raft分布式协议,实现了自动容灾,一台机器宕机,另一台机器自动接管,对外无感知。 + +去中心化,无单点,无中心节点,每个节点都是独立且平等的,都可以提供服务。 + +扩容方便,只需增加机器,不需要停机,不需要迁移数据,自动按策略分配数据。 + +🕹️ 易用性 + +不依赖任何第三方中间件,部署简单,一条命令即可启动。 + +采用频道订阅发布的设计理念,容易理解,容易上手。 + +与Redis一样简单,Kafka一样高性能,MySQL一样可靠 + +🌲技术支持 + +官方团队提供技术支持,提供技术文档,提供技术交流群,提供issue反馈。 + +## 适用场景 + +### 即时通讯 + ++ 群频道支持 ++ 个人频道支持 ++ 消息永久存储 ++ 离线消息推送支持 ++ 最近会话维护 + +### 消息推送/站内消息 + ++ 群频道支持 ++ 个人频道支持 ++ 离线消息推送支持 + +### 客服系统 + ++ 客服频道支持 + ++ 消息支持投递给第三方服务器 + ++ 第三方服务器可决定分配指定的订阅者成组投递 + +(整体逻辑: 创建频道 -> 发送消息 -> 匹配客服 -> 客服加入频道 -> 开始聊天 ) + +### 游戏聊天室 + ++ 大群频道支持 + +### 音视频信令服务器 + ++ 支持临时指令消息投递 + +### 直播弹幕 + ++ 临时消息投递 + ++ 临时订阅者支持 + +一个直播一个频道,用户进入直播就是用户订阅频道,用户退出直播就是用户取消订阅频道,直播结束就是频道销毁。 + +### 实时 AI 反馈 + ++ 支持客户端发的消息推送给第三方服务器,第三方服务器反馈给 AI 后返回的结果再推送给客户端 + +### 即时社区 + ++ 社区频道支持 ++ 支持 topic 模式的消息投递 + +### 物联网通讯 + ++ mqtt 协议支持(待开发) ++ 支持发布与订阅 + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/wukongim/data.yml b/wukongim/data.yml new file mode 100644 index 000000000..95b5158df --- /dev/null +++ b/wukongim/data.yml @@ -0,0 +1,15 @@ +additionalProperties: + key: wukongim + name: 悟空IM + tags: + - WebSite + - Tool + - Local + shortDescZh: 让信息传递更简单 + shortDescEn: Make messaging easier + type: website + crossVersionUpdate: true + recommend: 0 + website: https://githubim.com/ + github: https://github.com/TangSengDaoDao/TangSengDaoDaoServer/ + document: https://githubim.com/ diff --git a/wukongim/logo.png b/wukongim/logo.png new file mode 100644 index 000000000..3ee5b050f Binary files /dev/null and b/wukongim/logo.png differ