diff --git a/Makefile b/Makefile index e56ab75..c2f0815 100644 --- a/Makefile +++ b/Makefile @@ -6,10 +6,7 @@ CC_BINARIES := $(shell bash -c "echo -n $(APP_NAME)-{linux,freebsd,openbsd}-{38 GOLANGCI_LINT_VERSION := v1.21.0 -VERSION_GO := $(shell go version) -VERSION_DATE := $(shell date -Ru) -VERSION_TAG := $(shell git describe --tags --always) -COMMON_BUILD_FLAGS := -ldflags="-s -w -X 'main.version=$(VERSION_TAG) ($(VERSION_GO)) [$(VERSION_DATE)]'" +COMMON_BUILD_FLAGS := -ldflags="-s -w" MOD_ON := env GO111MODULE=on MOD_OFF := env GO111MODULE=auto diff --git a/antireplay/init.go b/antireplay/init.go index ccde75b..9caa19e 100644 --- a/antireplay/init.go +++ b/antireplay/init.go @@ -5,7 +5,7 @@ import ( "github.com/VictoriaMetrics/fastcache" - "mtg/config" + "github.com/9seconds/mtg/config" ) var ( diff --git a/cli/generate.go b/cli/generate.go index 2d92321..5811798 100644 --- a/cli/generate.go +++ b/cli/generate.go @@ -4,7 +4,7 @@ import ( "crypto/rand" "encoding/hex" - "mtg/config" + "github.com/9seconds/mtg/config" ) func Generate(secretType, hostname string) { diff --git a/cli/proxy.go b/cli/proxy.go index 925035b..fe15e39 100644 --- a/cli/proxy.go +++ b/cli/proxy.go @@ -8,16 +8,16 @@ import ( "go.uber.org/zap" "go.uber.org/zap/zapcore" - "mtg/antireplay" - "mtg/config" - "mtg/faketls" - "mtg/hub" - "mtg/ntp" - "mtg/obfuscated2" - "mtg/proxy" - "mtg/stats" - "mtg/telegram" - "mtg/utils" + "github.com/9seconds/mtg/antireplay" + "github.com/9seconds/mtg/config" + "github.com/9seconds/mtg/faketls" + "github.com/9seconds/mtg/hub" + "github.com/9seconds/mtg/ntp" + "github.com/9seconds/mtg/obfuscated2" + "github.com/9seconds/mtg/proxy" + "github.com/9seconds/mtg/stats" + "github.com/9seconds/mtg/telegram" + "github.com/9seconds/mtg/utils" ) func Proxy() error { // nolint: funlen diff --git a/faketls/client_protocol.go b/faketls/client_protocol.go index bf15c43..418bc8e 100644 --- a/faketls/client_protocol.go +++ b/faketls/client_protocol.go @@ -11,14 +11,14 @@ import ( "sync" "time" - "mtg/antireplay" - "mtg/config" - "mtg/conntypes" - "mtg/obfuscated2" - "mtg/protocol" - "mtg/stats" - "mtg/tlstypes" - "mtg/wrappers/stream" + "github.com/9seconds/mtg/antireplay" + "github.com/9seconds/mtg/config" + "github.com/9seconds/mtg/conntypes" + "github.com/9seconds/mtg/obfuscated2" + "github.com/9seconds/mtg/protocol" + "github.com/9seconds/mtg/stats" + "github.com/9seconds/mtg/tlstypes" + "github.com/9seconds/mtg/wrappers/stream" ) type ClientProtocol struct { diff --git a/go.mod b/go.mod index dc4de8b..ecb5bd7 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module mtg +module github.com/9seconds/mtg go 1.13 @@ -13,8 +13,8 @@ require ( go.uber.org/multierr v1.4.0 // indirect go.uber.org/zap v1.13.0 golang.org/x/crypto v0.0.0-20191117063200-497ca9f6d64f - golang.org/x/net v0.0.0-20191116160921-f9c825593386 // indirect - golang.org/x/sys v0.0.0-20191118013547-6254a7c3cac6 - golang.org/x/tools v0.0.0-20191118051429-5a76f03bc7c3 // indirect + golang.org/x/net v0.0.0-20191119073136-fc4aabc6c914 // indirect + golang.org/x/sys v0.0.0-20191119060738-e882bf8e40c2 + golang.org/x/tools v0.0.0-20191118222007-07fc4c7f2b98 // indirect gopkg.in/alecthomas/kingpin.v2 v2.2.6 ) diff --git a/go.sum b/go.sum index 4a1f5fd..3a0aec3 100644 --- a/go.sum +++ b/go.sum @@ -139,8 +139,8 @@ golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191116160921-f9c825593386 h1:ktbWvQrW08Txdxno1PiDpSxPXG6ndGsfnJjRRtkM0LQ= -golang.org/x/net v0.0.0-20191116160921-f9c825593386/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191119073136-fc4aabc6c914 h1:MlY3mEfbnWGmUi4rtHOtNnnnN4UJRGSyLPx+DXA5Sq4= +golang.org/x/net v0.0.0-20191119073136-fc4aabc6c914/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4 h1:YUO/7uOKsKeq9UokNS62b8FYywz3ker1l1vDZRCRefw= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -153,16 +153,16 @@ golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191010194322-b09406accb47 h1:/XfQ9z7ib8eEJX2hdgFTZJ/ntt0swNk5oYBziWeTCvY= golang.org/x/sys v0.0.0-20191010194322-b09406accb47/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191118013547-6254a7c3cac6 h1:8mlr2HX+lfl0eaQcjiHfVeM2FHxWkuYQ5a2Wcy8mE1s= -golang.org/x/sys v0.0.0-20191118013547-6254a7c3cac6/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191119060738-e882bf8e40c2 h1:wAW1U21MfVN0sUipAD8952TBjGXMRHFKQugDlQ9RwwE= +golang.org/x/sys v0.0.0-20191119060738-e882bf8e40c2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5 h1:hKsoRgsbwY1NafxrwTs+k64bikrLBkAgPir1TNCj3Zs= golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191118051429-5a76f03bc7c3 h1:3gzOmNy3PLCZ+3Ru/n5Gh7pPjsieiytYSDxFj6QY/oI= -golang.org/x/tools v0.0.0-20191118051429-5a76f03bc7c3/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191118222007-07fc4c7f2b98 h1:tZwpOHmF1OEL9wJGSgBALnhFg/8VKjQTtctCX51GLNI= +golang.org/x/tools v0.0.0-20191118222007-07fc4c7f2b98/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= diff --git a/hub/connection.go b/hub/connection.go index 1bb67c7..60ee738 100644 --- a/hub/connection.go +++ b/hub/connection.go @@ -7,10 +7,10 @@ import ( "go.uber.org/zap" - "mtg/conntypes" - "mtg/mtproto" - "mtg/mtproto/rpc" - "mtg/protocol" + "github.com/9seconds/mtg/conntypes" + "github.com/9seconds/mtg/mtproto" + "github.com/9seconds/mtg/mtproto/rpc" + "github.com/9seconds/mtg/protocol" ) type connection struct { diff --git a/hub/connection_list.go b/hub/connection_list.go index 7acdde1..7b5f2a8 100644 --- a/hub/connection_list.go +++ b/hub/connection_list.go @@ -4,18 +4,14 @@ import ( "fmt" "sort" - "mtg/config" + "github.com/9seconds/mtg/config" ) type connectionList struct { connections []*connection } -func (c *connectionList) Get(conn *ProxyConn) (*connection, error) { - if len(c.connections) > 0 { - c.gc() - } - +func (c *connectionList) get(conn *ProxyConn) (*connection, error) { if len(c.connections) > 0 && c.connections[0].Len() < config.C.MultiplexPerConnection { if err := c.connections[0].Attach(conn); err == nil { return c.connections[0], nil @@ -41,6 +37,9 @@ func (c *connectionList) Get(conn *ProxyConn) (*connection, error) { func (c *connectionList) gc() { prevLen := len(c.connections) + if prevLen == 0 { + return + } for i := len(c.connections) - 1; i >= 0; i-- { lastIndex := len(c.connections) - 1 diff --git a/hub/hub.go b/hub/hub.go index fd291ec..edfc442 100644 --- a/hub/hub.go +++ b/hub/hub.go @@ -4,7 +4,7 @@ import ( "context" "sync" - "mtg/protocol" + "github.com/9seconds/mtg/protocol" ) type hub struct { diff --git a/hub/interface.go b/hub/interface.go index 883c91e..a1efcdc 100644 --- a/hub/interface.go +++ b/hub/interface.go @@ -1,6 +1,6 @@ package hub -import "mtg/protocol" +import "github.com/9seconds/mtg/protocol" type Interface interface { Register(*protocol.TelegramRequest) (*ProxyConn, error) diff --git a/hub/mux.go b/hub/mux.go index 7263826..f812b07 100644 --- a/hub/mux.go +++ b/hub/mux.go @@ -2,11 +2,14 @@ package hub import ( "context" + "time" - "mtg/conntypes" - "mtg/protocol" + "github.com/9seconds/mtg/conntypes" + "github.com/9seconds/mtg/protocol" ) +const muxGCEvery = time.Minute + type muxNewRequest struct { req *protocol.TelegramRequest resp chan<- muxNewResponse @@ -26,6 +29,9 @@ type mux struct { } func (m *mux) run() { + gcTicker := time.NewTicker(muxGCEvery) + defer gcTicker.Stop() + for { select { case <-m.ctx.Done(): @@ -34,9 +40,12 @@ func (m *mux) run() { } return + case <-gcTicker.C: + m.connections.gc() case req := <-m.channelNew: + m.connections.gc() proxyConn := newProxyConn(req.req, m.channelClosed) - conn, err := m.connections.Get(proxyConn) + conn, err := m.connections.get(proxyConn) if err == nil { m.clients[string(req.req.ConnID[:])] = conn diff --git a/hub/proxy_conn.go b/hub/proxy_conn.go index b333f96..331d4c8 100644 --- a/hub/proxy_conn.go +++ b/hub/proxy_conn.go @@ -4,9 +4,9 @@ import ( "sync" "time" - "mtg/conntypes" - "mtg/mtproto/rpc" - "mtg/protocol" + "github.com/9seconds/mtg/conntypes" + "github.com/9seconds/mtg/mtproto/rpc" + "github.com/9seconds/mtg/protocol" ) const ( diff --git a/main.go b/main.go index 83042f5..1a774e9 100644 --- a/main.go +++ b/main.go @@ -3,17 +3,17 @@ package main import ( "math/rand" "os" + "runtime/debug" + "strings" "time" kingpin "gopkg.in/alecthomas/kingpin.v2" - "mtg/cli" - "mtg/config" - "mtg/utils" + "github.com/9seconds/mtg/cli" + "github.com/9seconds/mtg/config" + "github.com/9seconds/mtg/utils" ) -var version = "dev" // this has to be set by build ld flags - var ( app = kingpin.New("mtg", "Simple MTPROTO proxy.") @@ -114,7 +114,7 @@ var ( func main() { rand.Seed(time.Now().UTC().UnixNano()) - app.Version(version) + app.Version(getVersion()) app.HelpFlag.Short('h') if err := utils.SetLimits(); err != nil { @@ -153,3 +153,26 @@ func main() { } } } + +func getVersion() string { + if info, ok := debug.ReadBuildInfo(); ok { + builder := strings.Builder{} + version := info.Main.Version + + if version == "(devel)" { + version = "dev" + } + + builder.WriteString(version) + + if info.Main.Sum != "" { + builder.WriteString(" (checksum: ") + builder.WriteString(info.Main.Sum) + builder.WriteRune(')') + } + + return builder.String() + } + + return "dev" +} diff --git a/mtproto/protocol.go b/mtproto/protocol.go index 3dfdda4..b7dae2e 100644 --- a/mtproto/protocol.go +++ b/mtproto/protocol.go @@ -3,12 +3,12 @@ package mtproto import ( "fmt" - "mtg/conntypes" - "mtg/mtproto/rpc" - "mtg/protocol" - "mtg/telegram" - "mtg/wrappers/packet" - "mtg/wrappers/stream" + "github.com/9seconds/mtg/conntypes" + "github.com/9seconds/mtg/mtproto/rpc" + "github.com/9seconds/mtg/protocol" + "github.com/9seconds/mtg/telegram" + "github.com/9seconds/mtg/wrappers/packet" + "github.com/9seconds/mtg/wrappers/stream" ) func TelegramProtocol(req *protocol.TelegramRequest) (conntypes.PacketReadWriteCloser, error) { diff --git a/mtproto/rpc/proxy_response.go b/mtproto/rpc/proxy_response.go index 8132d67..5366f34 100644 --- a/mtproto/rpc/proxy_response.go +++ b/mtproto/rpc/proxy_response.go @@ -4,7 +4,7 @@ import ( "bytes" "fmt" - "mtg/conntypes" + "github.com/9seconds/mtg/conntypes" ) type ProxyResponseType uint8 diff --git a/obfuscated2/client_protocol.go b/obfuscated2/client_protocol.go index 3d8b6f9..d85387c 100644 --- a/obfuscated2/client_protocol.go +++ b/obfuscated2/client_protocol.go @@ -9,13 +9,13 @@ import ( "io" "time" - "mtg/antireplay" - "mtg/config" - "mtg/conntypes" - "mtg/protocol" - "mtg/stats" - "mtg/utils" - "mtg/wrappers/stream" + "github.com/9seconds/mtg/antireplay" + "github.com/9seconds/mtg/config" + "github.com/9seconds/mtg/conntypes" + "github.com/9seconds/mtg/protocol" + "github.com/9seconds/mtg/stats" + "github.com/9seconds/mtg/utils" + "github.com/9seconds/mtg/wrappers/stream" ) const clientProtocolHandshakeTimeout = 10 * time.Second diff --git a/obfuscated2/telegram_protocol.go b/obfuscated2/telegram_protocol.go index 34ec469..cf17099 100644 --- a/obfuscated2/telegram_protocol.go +++ b/obfuscated2/telegram_protocol.go @@ -4,11 +4,11 @@ import ( "crypto/rand" "fmt" - "mtg/conntypes" - "mtg/protocol" - "mtg/telegram" - "mtg/utils" - "mtg/wrappers/stream" + "github.com/9seconds/mtg/conntypes" + "github.com/9seconds/mtg/protocol" + "github.com/9seconds/mtg/telegram" + "github.com/9seconds/mtg/utils" + "github.com/9seconds/mtg/wrappers/stream" ) func TelegramProtocol(req *protocol.TelegramRequest) (conntypes.StreamReadWriteCloser, error) { diff --git a/protocol/interfaces.go b/protocol/interfaces.go index bd44ce8..2e27fc3 100644 --- a/protocol/interfaces.go +++ b/protocol/interfaces.go @@ -1,6 +1,6 @@ package protocol -import "mtg/conntypes" +import "github.com/9seconds/mtg/conntypes" type ClientProtocol interface { Handshake(conntypes.StreamReadWriteCloser) (conntypes.StreamReadWriteCloser, error) diff --git a/protocol/request.go b/protocol/request.go index 8db368a..00a33f8 100644 --- a/protocol/request.go +++ b/protocol/request.go @@ -5,7 +5,7 @@ import ( "go.uber.org/zap" - "mtg/conntypes" + "github.com/9seconds/mtg/conntypes" ) type TelegramRequest struct { diff --git a/proxy/direct.go b/proxy/direct.go index e4b5683..7067cbb 100644 --- a/proxy/direct.go +++ b/proxy/direct.go @@ -6,9 +6,9 @@ import ( "go.uber.org/zap" - "mtg/conntypes" - "mtg/obfuscated2" - "mtg/protocol" + "github.com/9seconds/mtg/conntypes" + "github.com/9seconds/mtg/obfuscated2" + "github.com/9seconds/mtg/protocol" ) const directPipeBufferSize = 1024 * 1024 diff --git a/proxy/middle.go b/proxy/middle.go index 97262ec..c0995dc 100644 --- a/proxy/middle.go +++ b/proxy/middle.go @@ -5,9 +5,9 @@ import ( "go.uber.org/zap" - "mtg/conntypes" - "mtg/protocol" - "mtg/wrappers/packetack" + "github.com/9seconds/mtg/conntypes" + "github.com/9seconds/mtg/protocol" + "github.com/9seconds/mtg/wrappers/packetack" ) func middleConnection(request *protocol.TelegramRequest) { diff --git a/proxy/proxy.go b/proxy/proxy.go index 4c800dd..809482e 100644 --- a/proxy/proxy.go +++ b/proxy/proxy.go @@ -6,12 +6,12 @@ import ( "go.uber.org/zap" - "mtg/config" - "mtg/conntypes" - "mtg/protocol" - "mtg/stats" - "mtg/utils" - "mtg/wrappers/stream" + "github.com/9seconds/mtg/config" + "github.com/9seconds/mtg/conntypes" + "github.com/9seconds/mtg/protocol" + "github.com/9seconds/mtg/stats" + "github.com/9seconds/mtg/utils" + "github.com/9seconds/mtg/wrappers/stream" ) type Proxy struct { diff --git a/stats/interfaces.go b/stats/interfaces.go index 345bdaa..0672982 100644 --- a/stats/interfaces.go +++ b/stats/interfaces.go @@ -3,7 +3,7 @@ package stats import ( "net" - "mtg/conntypes" + "github.com/9seconds/mtg/conntypes" ) type IngressTrafficInterface interface { diff --git a/stats/multi_stats.go b/stats/multi_stats.go index e7728d3..f87ee75 100644 --- a/stats/multi_stats.go +++ b/stats/multi_stats.go @@ -3,7 +3,7 @@ package stats import ( "net" - "mtg/conntypes" + "github.com/9seconds/mtg/conntypes" ) type multiStats []Interface diff --git a/stats/stats.go b/stats/stats.go index d6b94af..80a3250 100644 --- a/stats/stats.go +++ b/stats/stats.go @@ -6,7 +6,7 @@ import ( "net" "net/http" - "mtg/config" + "github.com/9seconds/mtg/config" ) var Stats Interface diff --git a/stats/stats_prometheus.go b/stats/stats_prometheus.go index 7ec94c6..ec589e5 100644 --- a/stats/stats_prometheus.go +++ b/stats/stats_prometheus.go @@ -8,8 +8,8 @@ import ( "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus/promhttp" - "mtg/config" - "mtg/conntypes" + "github.com/9seconds/mtg/config" + "github.com/9seconds/mtg/conntypes" ) type statsPrometheus struct { diff --git a/stats/stats_statsd.go b/stats/stats_statsd.go index ecbc479..ed9ea88 100644 --- a/stats/stats_statsd.go +++ b/stats/stats_statsd.go @@ -11,8 +11,8 @@ import ( statsd "github.com/smira/go-statsd" "go.uber.org/zap" - "mtg/config" - "mtg/conntypes" + "github.com/9seconds/mtg/config" + "github.com/9seconds/mtg/conntypes" ) var ( diff --git a/telegram/api/addresses.go b/telegram/api/addresses.go index bbb2116..c7573e4 100644 --- a/telegram/api/addresses.go +++ b/telegram/api/addresses.go @@ -8,7 +8,7 @@ import ( "strconv" "strings" - "mtg/conntypes" + "github.com/9seconds/mtg/conntypes" ) const ( diff --git a/telegram/api/api.go b/telegram/api/api.go index 91a21c1..de989db 100644 --- a/telegram/api/api.go +++ b/telegram/api/api.go @@ -9,7 +9,7 @@ import ( ) const ( - apiUserAgent = "mtg" + apiUserAgent = "github.com/9seconds/mtg" apiHTTPTimeout = 30 * time.Second ) diff --git a/telegram/base.go b/telegram/base.go index f4cf3ff..51cfd42 100644 --- a/telegram/base.go +++ b/telegram/base.go @@ -5,9 +5,9 @@ import ( "math/rand" "net" - "mtg/conntypes" - "mtg/utils" - "mtg/wrappers/stream" + "github.com/9seconds/mtg/conntypes" + "github.com/9seconds/mtg/utils" + "github.com/9seconds/mtg/wrappers/stream" ) type baseTelegram struct { diff --git a/telegram/direct.go b/telegram/direct.go index 8fc0b48..3810c9a 100644 --- a/telegram/direct.go +++ b/telegram/direct.go @@ -1,6 +1,6 @@ package telegram -import "mtg/conntypes" +import "github.com/9seconds/mtg/conntypes" const ( directV4DefaultIdx conntypes.DC = 1 diff --git a/telegram/interfaces.go b/telegram/interfaces.go index f6008c2..e419b8b 100644 --- a/telegram/interfaces.go +++ b/telegram/interfaces.go @@ -1,6 +1,6 @@ package telegram -import "mtg/conntypes" +import "github.com/9seconds/mtg/conntypes" type Telegram interface { Dial(conntypes.DC, conntypes.ConnectionProtocol) (conntypes.StreamReadWriteCloser, error) diff --git a/telegram/middle.go b/telegram/middle.go index 3464489..519332e 100644 --- a/telegram/middle.go +++ b/telegram/middle.go @@ -7,8 +7,8 @@ import ( "go.uber.org/zap" - "mtg/conntypes" - "mtg/telegram/api" + "github.com/9seconds/mtg/conntypes" + "github.com/9seconds/mtg/telegram/api" ) const middleTelegramBackgroundUpdateEvery = time.Hour diff --git a/tlstypes/client_hello.go b/tlstypes/client_hello.go index deef64a..dbdcde4 100644 --- a/tlstypes/client_hello.go +++ b/tlstypes/client_hello.go @@ -6,8 +6,8 @@ import ( "crypto/sha256" "fmt" - "mtg/config" - "mtg/utils" + "github.com/9seconds/mtg/config" + "github.com/9seconds/mtg/utils" ) type ClientHello struct { diff --git a/tlstypes/handshake.go b/tlstypes/handshake.go index 6afe0ba..ec0accf 100644 --- a/tlstypes/handshake.go +++ b/tlstypes/handshake.go @@ -3,7 +3,7 @@ package tlstypes import ( "bytes" - "mtg/utils" + "github.com/9seconds/mtg/utils" ) type Handshake struct { diff --git a/tlstypes/server_hello.go b/tlstypes/server_hello.go index 13d2f8a..3c9249c 100644 --- a/tlstypes/server_hello.go +++ b/tlstypes/server_hello.go @@ -10,7 +10,7 @@ import ( "golang.org/x/crypto/curve25519" - "mtg/config" + "github.com/9seconds/mtg/config" ) type ServerHello struct { diff --git a/utils/init_tcp.go b/utils/init_tcp.go index d59b281..3bf90ca 100644 --- a/utils/init_tcp.go +++ b/utils/init_tcp.go @@ -4,7 +4,7 @@ import ( "fmt" "net" - "mtg/config" + "github.com/9seconds/mtg/config" ) func InitTCP(conn net.Conn) error { diff --git a/wrappers/packet/mtproto_frame.go b/wrappers/packet/mtproto_frame.go index 34553d3..6a1cd1a 100644 --- a/wrappers/packet/mtproto_frame.go +++ b/wrappers/packet/mtproto_frame.go @@ -12,7 +12,7 @@ import ( "go.uber.org/zap" - "mtg/conntypes" + "github.com/9seconds/mtg/conntypes" ) const ( diff --git a/wrappers/packetack/client_abridged.go b/wrappers/packetack/client_abridged.go index 1c7a94c..1b8aa9a 100644 --- a/wrappers/packetack/client_abridged.go +++ b/wrappers/packetack/client_abridged.go @@ -8,8 +8,8 @@ import ( "go.uber.org/zap" - "mtg/conntypes" - "mtg/utils" + "github.com/9seconds/mtg/conntypes" + "github.com/9seconds/mtg/utils" ) const ( diff --git a/wrappers/packetack/client_intermediate.go b/wrappers/packetack/client_intermediate.go index d454147..71ca5f5 100644 --- a/wrappers/packetack/client_intermediate.go +++ b/wrappers/packetack/client_intermediate.go @@ -9,7 +9,7 @@ import ( "go.uber.org/zap" - "mtg/conntypes" + "github.com/9seconds/mtg/conntypes" ) const clientIntermediateQuickAckLength = 0x80000000 diff --git a/wrappers/packetack/client_intermediate_secure.go b/wrappers/packetack/client_intermediate_secure.go index 85a9888..153e779 100644 --- a/wrappers/packetack/client_intermediate_secure.go +++ b/wrappers/packetack/client_intermediate_secure.go @@ -8,7 +8,7 @@ import ( "go.uber.org/zap" - "mtg/conntypes" + "github.com/9seconds/mtg/conntypes" ) type wrapperClientIntermediateSecure struct { diff --git a/wrappers/packetack/proxy.go b/wrappers/packetack/proxy.go index 6129615..62ac7d2 100644 --- a/wrappers/packetack/proxy.go +++ b/wrappers/packetack/proxy.go @@ -6,11 +6,11 @@ import ( "fmt" "net" - "mtg/config" - "mtg/conntypes" - "mtg/hub" - "mtg/mtproto/rpc" - "mtg/protocol" + "github.com/9seconds/mtg/config" + "github.com/9seconds/mtg/conntypes" + "github.com/9seconds/mtg/hub" + "github.com/9seconds/mtg/mtproto/rpc" + "github.com/9seconds/mtg/protocol" ) type wrapperProxy struct { diff --git a/wrappers/stream/base.go b/wrappers/stream/base.go index 3780ebd..0fd50ca 100644 --- a/wrappers/stream/base.go +++ b/wrappers/stream/base.go @@ -3,7 +3,7 @@ package stream import ( "net" - "mtg/conntypes" + "github.com/9seconds/mtg/conntypes" ) func NewClientConn(parent net.Conn, connID conntypes.ConnID) conntypes.StreamReadWriteCloser { diff --git a/wrappers/stream/blockcipher.go b/wrappers/stream/blockcipher.go index a5463b9..3fc7a40 100644 --- a/wrappers/stream/blockcipher.go +++ b/wrappers/stream/blockcipher.go @@ -9,8 +9,8 @@ import ( "go.uber.org/zap" - "mtg/conntypes" - "mtg/utils" + "github.com/9seconds/mtg/conntypes" + "github.com/9seconds/mtg/utils" ) type wrapperBlockCipher struct { diff --git a/wrappers/stream/conn.go b/wrappers/stream/conn.go index d4f0c79..5724839 100644 --- a/wrappers/stream/conn.go +++ b/wrappers/stream/conn.go @@ -7,8 +7,8 @@ import ( "go.uber.org/zap" - "mtg/config" - "mtg/conntypes" + "github.com/9seconds/mtg/config" + "github.com/9seconds/mtg/conntypes" ) type connPurpose uint8 diff --git a/wrappers/stream/ctx.go b/wrappers/stream/ctx.go index 3a89677..c744062 100644 --- a/wrappers/stream/ctx.go +++ b/wrappers/stream/ctx.go @@ -8,7 +8,7 @@ import ( "go.uber.org/zap" - "mtg/conntypes" + "github.com/9seconds/mtg/conntypes" ) type wrapperCtx struct { diff --git a/wrappers/stream/faketls.go b/wrappers/stream/faketls.go index 10ef688..3db845b 100644 --- a/wrappers/stream/faketls.go +++ b/wrappers/stream/faketls.go @@ -8,8 +8,8 @@ import ( "go.uber.org/zap" - "mtg/conntypes" - "mtg/tlstypes" + "github.com/9seconds/mtg/conntypes" + "github.com/9seconds/mtg/tlstypes" ) type wrapperFakeTLS struct { diff --git a/wrappers/stream/mtproto_cipher.go b/wrappers/stream/mtproto_cipher.go index 350dbbb..a46b528 100644 --- a/wrappers/stream/mtproto_cipher.go +++ b/wrappers/stream/mtproto_cipher.go @@ -9,9 +9,9 @@ import ( "encoding/binary" "net" - "mtg/conntypes" - "mtg/mtproto/rpc" - "mtg/utils" + "github.com/9seconds/mtg/conntypes" + "github.com/9seconds/mtg/mtproto/rpc" + "github.com/9seconds/mtg/utils" ) type mtprotoCipherPurpose uint8 diff --git a/wrappers/stream/obfuscated2.go b/wrappers/stream/obfuscated2.go index 0368a2b..d94b245 100644 --- a/wrappers/stream/obfuscated2.go +++ b/wrappers/stream/obfuscated2.go @@ -8,7 +8,7 @@ import ( "go.uber.org/zap" - "mtg/conntypes" + "github.com/9seconds/mtg/conntypes" ) type wrapperObfuscated2 struct { diff --git a/wrappers/stream/rewind.go b/wrappers/stream/rewind.go index 1472012..1170d9d 100644 --- a/wrappers/stream/rewind.go +++ b/wrappers/stream/rewind.go @@ -9,7 +9,7 @@ import ( "go.uber.org/zap" - "mtg/conntypes" + "github.com/9seconds/mtg/conntypes" ) type ReadWriteCloseRewinder interface { diff --git a/wrappers/stream/stats_telegram.go b/wrappers/stream/stats_telegram.go index 3eceafa..064790c 100644 --- a/wrappers/stream/stats_telegram.go +++ b/wrappers/stream/stats_telegram.go @@ -7,8 +7,8 @@ import ( "go.uber.org/zap" - "mtg/conntypes" - "mtg/stats" + "github.com/9seconds/mtg/conntypes" + "github.com/9seconds/mtg/stats" ) type wrapperTelegramStats struct { diff --git a/wrappers/stream/stats_traffic.go b/wrappers/stream/stats_traffic.go index 90ed926..911daa2 100644 --- a/wrappers/stream/stats_traffic.go +++ b/wrappers/stream/stats_traffic.go @@ -6,8 +6,8 @@ import ( "go.uber.org/zap" - "mtg/conntypes" - "mtg/stats" + "github.com/9seconds/mtg/conntypes" + "github.com/9seconds/mtg/stats" ) type wrapperTrafficStats struct { diff --git a/wrappers/stream/timeout.go b/wrappers/stream/timeout.go index ce35675..6dee072 100644 --- a/wrappers/stream/timeout.go +++ b/wrappers/stream/timeout.go @@ -6,7 +6,7 @@ import ( "go.uber.org/zap" - "mtg/conntypes" + "github.com/9seconds/mtg/conntypes" ) const (