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

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package config
  2. import (
  3. "net"
  4. "net/url"
  5. "strconv"
  6. )
  7. func getURLs(addr net.IP, port uint16, secret string) (urls URLs) {
  8. values := url.Values{}
  9. values.Set("server", addr.String())
  10. values.Set("port", strconv.Itoa(int(port)))
  11. values.Set("secret", secret)
  12. urls.TG = makeTGURL(values)
  13. urls.TMe = makeTMeURL(values)
  14. urls.TGQRCode = makeQRCodeURL(urls.TG)
  15. urls.TMeQRCode = makeQRCodeURL(urls.TG)
  16. return
  17. }
  18. func makeTGURL(values url.Values) string {
  19. tgURL := url.URL{
  20. Scheme: "tg",
  21. Host: "proxy",
  22. RawQuery: values.Encode(),
  23. }
  24. return tgURL.String()
  25. }
  26. func makeTMeURL(values url.Values) string {
  27. tMeURL := url.URL{
  28. Scheme: "https",
  29. Host: "t.me",
  30. Path: "proxy",
  31. RawQuery: values.Encode(),
  32. }
  33. return tMeURL.String()
  34. }
  35. func makeQRCodeURL(data string) string {
  36. qr := url.URL{
  37. Scheme: "https",
  38. Host: "api.qrserver.com",
  39. Path: "v1/create-qr-code",
  40. }
  41. values := url.Values{}
  42. values.Set("qzone", "4")
  43. values.Set("format", "svg")
  44. values.Set("data", data)
  45. qr.RawQuery = values.Encode()
  46. return qr.String()
  47. }