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
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

telegram.go 823B

1234567891011121314151617181920212223242526272829303132333435363738
  1. package server
  2. import (
  3. "net"
  4. "time"
  5. "github.com/juju/errors"
  6. )
  7. var telegramDCIPs = [5]string{
  8. "149.154.175.50:443",
  9. "149.154.167.51:443",
  10. "149.154.175.100:443",
  11. "149.154.167.91:443",
  12. "149.154.171.5:443",
  13. }
  14. const telegramKeepAlive = 30 * time.Second
  15. func dialToTelegram(dcIdx int16) (net.Conn, error) {
  16. if dcIdx < 0 || dcIdx >= 5 {
  17. return nil, errors.New("Incorrect DC IDX")
  18. }
  19. conn, err := net.Dial("tcp", telegramDCIPs[dcIdx])
  20. if err != nil {
  21. return nil, errors.Annotate(err, "Cannot dial")
  22. }
  23. // if err := conn.SetKeepAlive(true); err != nil {
  24. // return nil, errors.Annotate(err, "Cannot establish keepalive connection")
  25. // }
  26. // if err := conn.SetKeepAlivePeriod(telegramKeepAlive); err != nil {
  27. // return nil, errors.Annotate(err, "Cannot set keepalive timeout")
  28. // }
  29. return conn, nil
  30. }