puresteelzhang / chatengine

Open source mtproto server written in golang, which compatible telegram client.

Home Page:https://nebula.chat

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NebulaChat - Open source mtproto server written in golang

open source mtproto server implement by golang, which compatible telegram client.

Introduce

Open source mtproto server written in golang

Architecture

Architecture

Documents

Diffie–Hellman key exchange

Creating an Authorization Key

Mobile Protocol: Detailed Description (v.1.0, DEPRECATED)

Encrypted CDNs for Speed and Security @steedfly翻译

Build and Install

Depends

  • redis
  • mysql
  • etcd

Build

  • Get source code
mkdir $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.comnebula-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

Build document

Build script

Prerequisite script

Compatible clients

Importents: default signIn and signOut verify code is 12345

Android client for NebulaChat

FOSS client for NebulaChat

iOS client for NebulaChat

tdesktop for NebulaChat

TODO

Feedback

Please report bugs, concerns, suggestions by issues, or join telegram group Telegramd中文技术交流群 Or Telegramd to discuss problems around source code.

About

Open source mtproto server written in golang, which compatible telegram client.

https://nebula.chat

License:Apache License 2.0


Languages

Language:Go 98.8%Language:Smarty 0.8%Language:Shell 0.2%Language:C++ 0.1%Language:Python 0.1%Language:TSQL 0.1%Language:Makefile 0.0%