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
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

12345678910111213141516171819202122232425262728293031
  1. package relay
  2. import "io"
  3. type conn struct {
  4. io.ReadWriteCloser
  5. relay *Relay
  6. }
  7. func (c conn) Read(p []byte) (int, error) {
  8. n, err := c.ReadWriteCloser.Read(p)
  9. select {
  10. case <-c.relay.ctx.Done():
  11. case c.relay.tickChannel <- struct{}{}:
  12. }
  13. return n, err // nolint: wrapcheck
  14. }
  15. func (c conn) Write(p []byte) (int, error) {
  16. n, err := c.ReadWriteCloser.Write(p)
  17. select {
  18. case <-c.relay.ctx.Done():
  19. case c.relay.tickChannel <- struct{}{}:
  20. }
  21. return n, err // nolint: wrapcheck
  22. }