telegramd

module
v0.0.0-...-e41513e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 10, 2020 License: Apache-2.0

README

Telegramd 已经迁移到 chatengine

Telegramd - Unofficial open source telegram server written in golang

打造高性能、稳定并且功能完善的开源telegram服务端,建设开源telegram客户端生态系统非官方首选服务!

Chinese

简介

Go语言非官方开源telegram服务端

架构图

架构图

文档

Diffie–Hellman key exchange

Creating an Authorization Key

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

Encrypted CDNs for Speed and Security @steedfly翻译

编译和安装
简单安装
  • 准备

    mkdir $GOPATH/src/github.com/nebulaim/
    cd $GOPATH/src/github.com/nebulaim/
    git clone https://github.com/nebulaim/telegramd.git
    
  • 编译代码

    编译frontend
        cd $GOPATH/src/github.com/nebulaim/telegramd/server/access/frontend
        go get
        go build
    
    编译auth_key
        cd $GOPATH/src/github.com/nebulaim/telegramd/server/access/auth_key
        go get
        go build
    
    编译auth_session
        cd $GOPATH/src/github.com/nebulaim/telegramd/service/auth_session
        go get
        go build
    
    编译sync
        cd $GOPATH/src/github.com/nebulaim/telegramd/server/sync
        go get
        go build
    
    编译upload
        cd $GOPATH/src/github.com/nebulaim/telegramd/server/upload
        go get
        go build
    
    编译document
        cd $GOPATH/src/github.com/nebulaim/telegramd/service/document
        go get
        go build
    
    编译biz_server
        cd $GOPATH/src/github.com/nebulaim/telegramd/server/biz_server
        go get
        go build
    
    编译session
        cd $GOPATH/src/github.com/nebulaim/telegramd/server/access/session
        go get
        go build
    
  • 运行

    cd $GOPATH/src/github.com/nebulaim/telegramd/server/access/auth_key
    ./auth_key
    
    cd $GOPATH/src/github.com/nebulaim/telegramd/service/auth_session
    ./auth_session
    
    cd $GOPATH/src/github.com/nebulaim/telegramd/server/sync
    ./sync
    
    cd $GOPATH/src/github.com/nebulaim/telegramd/server/upload
    ./upload
    
    cd $GOPATH/src/github.com/nebulaim/telegramd/service/document
    ./document
    
    cd $GOPATH/src/github.com/nebulaim/telegramd/server/biz_server
    ./biz_server
    
    cd $GOPATH/src/github.com/nebulaim/telegramd/server/access/session
    ./session
    
    cd $GOPATH/src/github.com/nebulaim/telegramd/server/access/frontend
    ./frontend
    
更多文档

Build document

Build script

Prerequisite script

配套客户端
官方开源客户端修改适配版本

Android client for telegramd

macOS client for telegramd

iOS client for telegramd

tdesktop for telegramd

webogram for telegramd

开源客户端库修改适配版本

tdlib

TODO
  • Secret Chats
  • bots
  • payments
技术交流群

Bug反馈,意见和建议欢迎加入Telegramd中文技术交流群讨论。

English

Introduce

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

Install

Build and install

build

prerequisite

Feedback

Please report bugs, concerns, suggestions by issues.

Notes

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

Directories

Path Synopsis
baselib
app
cache
Package cache provide a Cache interface and some implement engine Usage: import( "github.com/astaxie/beego/cache" ) bm, err := cache.NewCache("memory", `{"interval":60}`) Use it like this: bm.Put("astaxie", 1, 10 * time.Second) bm.Get("astaxie") bm.IsExist("astaxie") bm.Delete("astaxie") more docs http://beego.me/docs/module/cache.md Package cache implements a LRU cache.
Package cache provide a Cache interface and some implement engine Usage: import( "github.com/astaxie/beego/cache" ) bm, err := cache.NewCache("memory", `{"interval":60}`) Use it like this: bm.Put("astaxie", 1, 10 * time.Second) bm.Get("astaxie") bm.IsExist("astaxie") bm.Delete("astaxie") more docs http://beego.me/docs/module/cache.md Package cache implements a LRU cache.
cache/redis
Package redis for cache provider depend on github.com/gomodule/redigo/redis go install github.com/gomodule/redigo/redis Usage: import( _ "github.com/astaxie/beego/cache/redis" "github.com/astaxie/beego/cache" ) bm, err := cache.NewCache("redis", `{"conn":"127.0.0.1:11211"}`) more docs http://beego.me/docs/module/cache.md
Package redis for cache provider depend on github.com/gomodule/redigo/redis go install github.com/gomodule/redigo/redis Usage: import( _ "github.com/astaxie/beego/cache/redis" "github.com/astaxie/beego/cache" ) bm, err := cache.NewCache("redis", `{"conn":"127.0.0.1:11211"}`) more docs http://beego.me/docs/module/cache.md
grpc_util
Package grpc_util is a generated protocol buffer package.
Package grpc_util is a generated protocol buffer package.
grpc_util/middleware/examples/zproto
Package zproto is a generated protocol buffer package.
Package zproto is a generated protocol buffer package.
grpc_util/middleware/recovery2
helper recovery, RecoveryHandlerFunc spit UnaryRecoveryHandlerFunc and StreamRecoveryHandlerFunc
helper recovery, RecoveryHandlerFunc spit UnaryRecoveryHandlerFunc and StreamRecoveryHandlerFunc
grpc_util/service_discovery/examples/proto
Package proto is a generated protocol buffer package.
Package proto is a generated protocol buffer package.
hack
Package hack gives you some efficient functionality at the cost of breaking some Go rules.
Package hack gives you some efficient functionality at the cost of breaking some Go rules.
net2/codec
Test codec
Test codec
queue2
Package queue provides a fast, ring-buffer queue based on the version suggested by Dariusz Górecki.
Package queue provides a fast, ring-buffer queue based on the version suggested by Dariusz Górecki.
timer
Package timer provides various enhanced timer functions.
Package timer provides various enhanced timer functions.
biz
core/account
Package account is a generated protocol buffer package.
Package account is a generated protocol buffer package.
core/phone_call
Package phone_call is a generated protocol buffer package.
Package phone_call is a generated protocol buffer package.
core/user
Package user is a generated protocol buffer package.
Package user is a generated protocol buffer package.
dal/dao/redis_dao
TODO(@benqi): 可以使用如下方法来生成seq - 如果运维能保证redis数据可靠性,可移除数据库seq_updates_ngen的存储 - 可使用[seqsvr](https://github.com/nebula-in/seqsvr)服务来生成seq - 可调研艺龙的序列号生成器 - 直接使用etcd或zk
TODO(@benqi): 可以使用如下方法来生成seq - 如果运维能保证redis数据可靠性,可移除数据库seq_updates_ngen的存储 - 可使用[seqsvr](https://github.com/nebula-in/seqsvr)服务来生成seq - 可调研艺龙的序列号生成器 - 直接使用etcd或zk
proto
server
salt cache
service
salt cache
contact/proto
Package contact is a generated protocol buffer package.
Package contact is a generated protocol buffer package.
idgen/proto
Package seqsvr is a generated protocol buffer package.
Package seqsvr is a generated protocol buffer package.
user/biz/core
Package user is a generated protocol buffer package.
Package user is a generated protocol buffer package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL