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ů.

init.go 834B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package telegram
  2. import (
  3. "net"
  4. "sync"
  5. "time"
  6. "go.uber.org/zap"
  7. )
  8. const telegramDialTimeout = 10 * time.Second
  9. var (
  10. Direct Telegram
  11. Middle Telegram
  12. initOnce sync.Once
  13. )
  14. func Init() {
  15. initOnce.Do(func() {
  16. logger := zap.S().Named("telegram")
  17. Direct = &directTelegram{
  18. baseTelegram: baseTelegram{
  19. dialer: net.Dialer{Timeout: telegramDialTimeout},
  20. logger: logger.Named("direct"),
  21. v4DefaultDC: directV4DefaultIdx,
  22. v6DefaultDC: directV6DefaultIdx,
  23. v4Addresses: directV4Addresses,
  24. v6Addresses: directV6Addresses,
  25. },
  26. }
  27. tg := &middleTelegram{
  28. baseTelegram: baseTelegram{
  29. dialer: net.Dialer{Timeout: telegramDialTimeout},
  30. logger: logger.Named("middle"),
  31. },
  32. }
  33. if err := tg.update(); err != nil {
  34. panic(err)
  35. }
  36. go tg.backgroundUpdate()
  37. Middle = tg
  38. })
  39. }