mtproto server written in golang
NebulaChat - Open sourceopen source mtproto server implemented in golang with compatible telegram client.
Introduce
Open source mtproto server written in golang
Architecture
Documents
Mobile Protocol: Detailed Description (v.1.0, DEPRECATED)
Encrypted CDNs for Speed and Security Translate By @steedfly
Quick start with Docker
- Install
docker
anddocker-compose
- Edit
docker-compose.yml
: replaceCHATENGINE_HOST
to your own host IP - Run
make
command in your shell. - Now,
Chatengine
is running on your host port12345
.
Docker run demo
git clone https://github.com/nebula-chat/chatengine
cd chatengine
# replace 192.168.1.100 to you own host IP.
sed -i "" 's/CHATENGINE_HOST=127.0.0.1/CHATENGINE_HOST=192.168.1.100/g' docker-compose.yml # macOS
# sed -i 's/CHATENGINE_HOST=127.0.0.1/CHATENGINE_HOST=192.168.1.100/g' docker-compose.yml # linux
make
Manual Build and Install
Depends
- redis
- mysql
- etcd
Build
- Get source code
mkdir -p $GOPATH/src/github.com/nebula-chat/
cd $GOPATH/src/github.com/nebula-chat/
git clone https://github.com/nebula-chat/chatengine.git
-
Build
build frontend cd $GOPATH/src/github.com/nebula-chat/chatengine/access/frontend go build build auth_key cd $GOPATH/src/github.com/nebula-chat/chatengine/access/auth_key go build build auth_session cd $GOPATH/src/github.com/nebula-chat/chatengine/service/auth_session go build build sync cd $GOPATH/src/github.com/nebula-chat/chatengine/messenger/sync go build build upload cd $GOPATH/src/github.com/nebula-chat/chatengine/messenger/upload go build build document cd $GOPATH/src/github.com/nebula-chat/chatengine/service/document go build build biz_server cd $GOPATH/src/github.com/nebula-chat/chatengine/messenger/biz_server go build build session cd $GOPATH/src/github.com/nebula-chat/chatengine/access/session go build
-
Run
cd $GOPATH/src/github.com/nebula-chat/chatengine/service/auth_session ./auth_session cd $GOPATH/src/github.com/nebula-chat/chatengine/service/document ./document cd $GOPATH/src/github.com/nebula-chat/chatengine/messenger/sync ./sync cd $GOPATH/src/github.com/nebula-chat/chatengine/messenger/upload ./upload cd $GOPATH/src/github.com/nebula-chat/chatengine/messenger/biz_server ./biz_server cd $GOPATH/src/github.com/nebula-chat/chatengine/access/auth_key ./auth_key cd $GOPATH/src/github.com/nebula-chat/chatengine/access/session ./session cd $GOPATH/src/github.com/nebula-chat/chatengine/access/frontend ./frontend
More
Note
import all scripts/*.sql
Compatible clients
Important: default signIn and signOut verify code is 12345
tdesktop-builder
TODO
Feedback
Please report bugs, concerns, suggestions by issues.
Notes
Chatengine is not a commercial project, only supports mtproto API layer 86, and only supports private chats and small groups.
If need enterprise edition, please PM the author or download clients from nebula.chat (default verify code is: 12345).