Merge pull request #176 from 9seconds/fix-urls

Fix urls for missed IPs
This commit is contained in:
Sergey Arkhipov
2021-03-03 15:40:15 +03:00
committed by GitHub
+19 -11
View File
@@ -15,8 +15,8 @@ type URLs struct {
} }
type IPURLs struct { type IPURLs struct {
IPv4 URLs `json:"ipv4"` IPv4 *URLs `json:"ipv4,omitempty"`
IPv6 URLs `json:"ipv6"` IPv6 *URLs `json:"ipv6,omitempty"`
BotSecret string `json:"secret_for_mtproxybot"` BotSecret string `json:"secret_for_mtproxybot"`
} }
@@ -32,25 +32,33 @@ func GetURLs() (urls IPURLs) {
secret = "ee" + hex.EncodeToString(C.Secret) + hex.EncodeToString([]byte(C.CloakHost)) secret = "ee" + hex.EncodeToString(C.Secret) + hex.EncodeToString([]byte(C.CloakHost))
} }
urls.IPv4 = makeURLs(C.PublicIPv4, secret) if C.PublicIPv4.IP != nil {
urls.IPv6 = makeURLs(C.PublicIPv6, secret) urls.IPv4 = makeURLs(C.PublicIPv4, secret)
}
if C.PublicIPv6.IP != nil {
urls.IPv6 = makeURLs(C.PublicIPv6, secret)
}
urls.BotSecret = hex.EncodeToString(C.Secret) urls.BotSecret = hex.EncodeToString(C.Secret)
return urls return urls
} }
func makeURLs(addr *net.TCPAddr, secret string) (urls URLs) { func makeURLs(addr *net.TCPAddr, secret string) *URLs {
urls := &URLs{}
values := url.Values{} values := url.Values{}
values.Set("server", addr.IP.String()) values.Set("server", addr.IP.String())
values.Set("port", strconv.Itoa(addr.Port)) values.Set("port", strconv.Itoa(addr.Port))
values.Set("secret", secret) values.Set("secret", secret)
urls.TG = makeTGURL(values) return &URLs{
urls.TMe = makeTMeURL(values) TG: makeTGURL(values),
urls.TGQRCode = makeQRCodeURL(urls.TG) TMe: makeTMeURL(values),
urls.TMeQRCode = makeQRCodeURL(urls.TMe) TGQRCode: makeQRCodeURL(urls.TG),
TMeQRCode: makeQRCodeURL(urls.TMe),
return }
} }
func makeTGURL(values url.Values) string { func makeTGURL(values url.Values) string {