Highly-opinionated (ex-bullshit-free) MTPROTO proxy for Telegram. If you use v1.0 or upgrade broke you proxy, please read the chapter Version 2
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

trafficrwc.go 718B

123456789101112131415161718192021222324252627282930313233
  1. package proxy
  2. import "io"
  3. type TrafficReadWriteCloser struct {
  4. conn io.ReadWriteCloser
  5. readCallback func(int)
  6. writeCallback func(int)
  7. }
  8. func (t *TrafficReadWriteCloser) Read(p []byte) (n int, err error) {
  9. n, err = t.conn.Read(p)
  10. t.readCallback(n)
  11. return
  12. }
  13. func (t *TrafficReadWriteCloser) Write(p []byte) (n int, err error) {
  14. n, err = t.conn.Write(p)
  15. t.writeCallback(n)
  16. return
  17. }
  18. func (t *TrafficReadWriteCloser) Close() error {
  19. return t.conn.Close()
  20. }
  21. func newTrafficReadWriteCloser(conn io.ReadWriteCloser, readCallback, writeCallback func(int)) io.ReadWriteCloser {
  22. return &TrafficReadWriteCloser{
  23. conn: conn,
  24. readCallback: readCallback,
  25. writeCallback: writeCallback,
  26. }
  27. }