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 символов.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package telegram
  2. import (
  3. "net"
  4. "github.com/9seconds/mtg/conntypes"
  5. )
  6. const (
  7. directV4DefaultIdx conntypes.DC = 1
  8. directV6DefaultIdx conntypes.DC = 1
  9. )
  10. var (
  11. directV4Addresses = map[conntypes.DC][]string{
  12. 0: {"149.154.175.50:443"},
  13. 1: {"149.154.167.51:443"},
  14. 2: {"149.154.175.100:443"},
  15. 3: {"149.154.167.91:443"},
  16. 4: {"149.154.171.5:443"},
  17. }
  18. directV6Addresses = map[conntypes.DC][]string{
  19. 0: {"[2001:b28:f23d:f001::a]:443"},
  20. 1: {"[2001:67c:04e8:f002::a]:443"},
  21. 2: {"[2001:b28:f23d:f003::a]:443"},
  22. 3: {"[2001:67c:04e8:f004::a]:443"},
  23. 4: {"[2001:b28:f23f:f005::a]:443"},
  24. }
  25. )
  26. type directTelegram struct {
  27. baseTelegram
  28. }
  29. func (d *directTelegram) Dial(dc conntypes.DC,
  30. protocol conntypes.ConnectionProtocol) (conntypes.StreamReadWriteCloser, error) {
  31. switch {
  32. case dc < 0:
  33. dc = -dc
  34. case dc == 0:
  35. dc = conntypes.DCDefaultIdx
  36. }
  37. return d.baseTelegram.dial(dc-1, protocol)
  38. }
  39. var Direct = &directTelegram{
  40. baseTelegram: baseTelegram{
  41. dialer: net.Dialer{Timeout: telegramDialTimeout},
  42. v4DefaultDC: directV4DefaultIdx,
  43. V6DefaultDC: directV6DefaultIdx,
  44. v4Addresses: directV4Addresses,
  45. v6Addresses: directV6Addresses,
  46. },
  47. }