teamgram-server icon indicating copy to clipboard operation
teamgram-server copied to clipboard

Unofficial open source mtproto server written in golang with compatible telegram client.

Teamgram - Unofficial 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

Installing Teamgram

Teamgram relies on open source high-performance components:

Privatization deployment Before Teamgram, please make sure that the above five components have been installed. If your server does not have the above components, you must first install Missing components.

  • Centos9 Stream Build and Install [@A Feel]
  • CentOS7 teamgram-server环境搭建 [@saeipi]

If you have the above components, it is recommended to use them directly. If not, it is recommended to use docker-compose-env.yaml.

Source code deployment

Install Go environment. Make sure Go version is at least 1.17.

Get source code 

git clone https://github.com/teamgram/teamgram-server.git
cd teamgram-server

Init data

  • init database

    . create database teamgram
    . init teamgram database
      mysql -uroot teamgram < teamgramd/sql/teamgram2.sql
      mysql -uroot teamgram < teamgramd/sql/migrate-*.sql
    
  • init minio buckets

    • bucket names
      • documents
      • encryptedfiles
      • photos
      • videos
    • Access http://ip:xxxxx and create

Build

make

Run

cd teamgramd/bin
./runall2.sh

Docker deployment

Install Docker

Install Docker Compose

Get source code

git clone https://github.com/teamgram/teamgram-server.git
cd teamgram-server

Install depends

  • change 192.168.1.150 to your ip in docker-compose-env.yaml

  • install depends

    # pull docker images
    docker-compose -f docker-compose-env.yaml pull
    
    # run docker-compose
    docker-compose -f docker-compose-env.yaml up -d
    

Init data

  • init database

    ysql -uteamgram -h127.0.0.1 -pteamgram teamgram < teamgramd/sql/teamgram2.sql
    ysql -uteamgram -h127.0.0.1 -pteamgram teamgram < teamgramd/sql/migrate-*.sql
    
  • init minio buckets

    • bucket names:

      • documents
      • encryptedfiles
      • photos
      • videos
    • create buckets

       get mc
      ocker run -it --entrypoint=/bin/bash minio/mc
      
       change 192.168.1.150 to your ip    
      c alias set minio http://192.168.1.150:9000 minio miniostorage
      
       create buckets
      c mb minio/documents
      c mb minio/encryptedfiles
      c mb minio/photos
      c mb minio/videos
      
       quit docker minio/mc
      xit
      

Run

# run docker-compose
docker-compose up -d

Compatible clients

Important: default signIn verify code is 12345

Android client for Teamgram

iOS client for Teamgram

tdesktop for Teamgram

Feedback

Please report bugs, concerns, suggestions by issues, or join telegram group Teamgram中文社区 Or Teamgram to discuss problems around source code.

Notes

If need enterprise edition, please PM the author

Give a Star! ⭐

If you like or are using this project to learn or start your solution, please give it a star. Thanks!