Skip to content

open-telegram-server/chatengine

 
 

Repository files navigation

License

PluralityServer

Main repo: https://github.com/PluralityNET/PluralityServer

Status: Limited functionality (as in NebulaChat's chatengine). Making the code build and run from Plurality repo.


OLDER INFO BELOW

NebulaChat - Open source mtproto server written in golang

open source mtproto server implemented in golang with compatible telegram client.

Introduction

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翻译

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/PluralityNET/PluralityServer cd PluralityServer # 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

Note: You will probably need a VM for this as the code often uses root at MySQL and root for filesystem write access.

Depends

  • redis
  • mysql
  • etcd

Build

  • Get source code 
mkdir -p $GOPATH/src/github.com/PluralityNET/ cd $GOPATH/src/github.com/PluralityNET/ git clone https://github.com/PluralityNET/PluralityServer.git 
  • Build

    build frontend cd $GOPATH/src/github.com/PluralityNET/PluralityServer/access/frontend go build build auth_key cd $GOPATH/src/github.com/PluralityNET/PluralityServer/access/auth_key go build build auth_session cd $GOPATH/src/github.com/PluralityNET/PluralityServer/service/auth_session go build build sync cd $GOPATH/src/github.com/PluralityNET/PluralityServer/messenger/sync go build build upload cd $GOPATH/src/github.com/PluralityNET/PluralityServer/messenger/upload go build build document cd $GOPATH/src/github.com/PluralityNET/PluralityServer/service/document go build build biz_server cd $GOPATH/src/github.com/PluralityNET/PluralityServer/messenger/biz_server go build build session cd $GOPATH/src/github.com/PluralityNET/PluralityServer/access/session go build 
  • Run

    cd $GOPATH/src/github.com/PluralityNET/PluralityServer/service/auth_session ./auth_session cd $GOPATH/src/github.com/PluralityNET/PluralityServer/service/document ./document cd $GOPATH/src/github.com/PluralityNET/PluralityServer/messenger/sync ./sync cd $GOPATH/src/github.com/PluralityNET/PluralityServer/messenger/upload ./upload cd $GOPATH/src/github.com/PluralityNET/PluralityServer/messenger/biz_server ./biz_server cd $GOPATH/src/github.com/PluralityNET/PluralityServer/access/auth_key ./auth_key cd $GOPATH/src/github.com/PluralityNET/PluralityServer/access/session ./session cd $GOPATH/src/github.com/PluralityNET/PluralityServer/access/frontend ./frontend 

More

Build document

Build script

Prerequisite script

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

Feedback

PluralityNET's chat: irc.ilita.i2p #plurality

Nebula Chat's chats:

About

Open source mtproto server written in golang with compatible telegram client

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Go 98.8%
  • Smarty 0.8%
  • Shell 0.2%
  • C++ 0.1%
  • Python 0.1%
  • Dockerfile 0.0%