hrygo / gosms

gosms: 采用Golang与gnet框架实现的高性能短信网关(SMC短信中心模拟)。

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GOSMS

TODO

  • 服务端优雅停机
  • 联通MO消息及Report消息支持
  • 服务端日志采用hooker持久化存储到ES

Quick Start

从源码构建并启动

# 修改 .env 文件中的 GOARCH 为目标平台的 CPU 架构. 常用的值 amd64, arm64, i386, armhf等
# 构建服务端
make linux
# make darwin

# 构建客户端 
make client

cd publish
mv gosms-* gosms
# 启动服务端 
./start.sh

# 启动客户端
cd cli
./smscli -p 13800001111 -m 'hello world, 你好世界!' -i 10000
# -p 手机号
# -m 短信内容
# -i 迭代次数

采用mongodb存储客户端认证配置

1.修改配置文件 /config/config.yaml

AuthClient:
  StoreType: "mongo"
Mongo:
  URI: "mongodb+srv://<user>:<passwd>@cluster0.ppiyq4w.mongodb.net/test"
  ConnectTimeout: 15s
  ReadTimeout: 15s
  WriteTimeout: 15s
  HeartbeatInterval: 60s
  MinPoolSize: 2
  MaxPoolSize: 10

2.然后通过环境变量设置用户名密码

export MONGO_USER=xxx
export MONGO_PASSWD=xxx

3.初始化mongodb数据

make mongo

4.如果不启用MongoDB,需设置

AuthClient:
  StoreType: "yml"

Mongo:
  URI: ""

采用mongodb存储客户端消息发送记录

同上,修改smc_client对应的配置文件。如果不启用MongoDB,不设置 Mongo.URI 即可。

功能及原理说明

TODO 其他说明文档待补充

About

gosms: 采用Golang与gnet框架实现的高性能短信网关(SMC短信中心模拟)。

License:MIT License


Languages

Language:Go 99.3%Language:Makefile 0.5%Language:Shell 0.2%