package obfuscator import ( "io" "net" "go.mau.fi/mautrix-telegram/pkg/gotd/mtproxy/obfuscated2" ) // Conn is net.Conn wrapper to use Obfuscator. type Conn struct { net.Conn Obfuscator } // Obfuscated2 creates new obfuscated2 connection. func Obfuscated2(rand io.Reader, conn net.Conn) *Conn { return &Conn{ Conn: conn, Obfuscator: obfuscated2.NewObfuscated2(rand, conn), } } // FakeTLS creates new FakeTLS connection. func FakeTLS(rand io.Reader, conn net.Conn) *Conn { return &Conn{ Conn: conn, Obfuscator: newTLS(rand, conn), } } // Write implements io.Writer. func (o *Conn) Write(b []byte) (n int, err error) { return o.Obfuscator.Write(b) } // Read implements io.Reader. func (o *Conn) Read(b []byte) (n int, err error) { return o.Obfuscator.Read(b) }