diff --git a/client/direct.go b/client/direct.go index 19d1ede..8ef2dc7 100644 --- a/client/direct.go +++ b/client/direct.go @@ -32,6 +32,7 @@ func DirectInit(conn net.Conn, conf *config.Config) (*mtproto.ConnectionOpts, wr return nil, nil, errors.Annotate(err, "Cannot parse obfuscated frame") } connOpts.ConnectionProto = mtproto.ConnectionProtocolAny + connOpts.ClientAddr = conn.RemoteAddr().(*net.TCPAddr) socket := wrappers.NewTimeoutRWC(conn) socket = wrappers.NewStreamCipherRWC(socket, obfs2.Encryptor, obfs2.Decryptor) diff --git a/mtproto/connection_options.go b/mtproto/connection_options.go index 29ee283..0f82ec0 100644 --- a/mtproto/connection_options.go +++ b/mtproto/connection_options.go @@ -2,6 +2,7 @@ package mtproto import ( "bytes" + "net" "github.com/juju/errors" ) @@ -18,6 +19,7 @@ type ConnectionOpts struct { DC int16 ConnectionType ConnectionType ConnectionProto ConnectionProtocol + ClientAddr *net.TCPAddr } // Different connection types which user requests from Telegram.