libregram / chatengine

[Work in progress] Opensource mtproto server written in golang with compatible Telegram clients
Apache License 2.0
2 stars 0 forks source link
go golang libregram mtproto telegram telegram-server

libregram server (AKA nebula-chat's chatengine)

Project Status

Docker Installation

  1. sudo apt install docker docker-compose
  2. cd && mkdir -pv git && cd git && git clone https://github.com/libregram/chatengine.git libregram-server && cd libregram-server
  3. cp docker-compose.yml.example docker-compose.yml and replace the value of CHATENGINE_HOST with your own host IP (or leave 127.0.0.1 for local tests)
  4. make -j$(expr $(nproc) - 1)
  5. Now, the mtproto server is running on CHATENGINE_HOST, port 12345.

OLDER ORIGINAL INFO FOLLOWS BELOW

NebulaChat - Open source mtproto server written in golang

open source mtproto server implemented in golang with 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 Translate By @steedfly

Windows-Build By @robinfoxnan

Quick start with Docker

  1. Install docker and docker-compose
  2. Edit docker-compose.yml: replace CHATENGINE_HOST to your own host IP
  3. Run make command in your shell.
  4. Now, Chatengine is running on your host port 12345.

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

Build


- 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
```

More

Build document

Build script

Prerequisite script

Note

*`import all scripts/.sql`**

Compatible clients

Important: 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.

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).