From a34949f15c4c486643b38b50403e812e22da26cc Mon Sep 17 00:00:00 2001 From: 9seconds Date: Wed, 10 Mar 2021 17:03:56 +0300 Subject: [PATCH] Rename secret ee to hex --- cli_access.go | 13 +++++++++---- cli_generate_secret.go | 2 +- mtglib/secret.go | 22 +++++++++++++--------- 3 files changed, 23 insertions(+), 14 deletions(-) diff --git a/cli_access.go b/cli_access.go index ab356a8..d63e5b1 100644 --- a/cli_access.go +++ b/cli_access.go @@ -64,8 +64,8 @@ func runAccess(cli *CLI) { IPv4: runMakeAccessResponseURLs(ipv4, conf, cli), IPv6: runMakeAccessResponseURLs(ipv6, conf, cli), } - resp.Secret.Base64 = conf.Secret.Base64() - resp.Secret.Hex = conf.Secret.EE() + resp.Secret.Base64 = conf.Secret.Base64() + resp.Secret.Hex = conf.Secret.Hex() encoder := json.NewEncoder(os.Stdout) @@ -92,6 +92,10 @@ func runAccessGetIP(ntw *network.Network, protocol string) net.IP { return nil } + if resp.StatusCode != http.StatusOK { + return nil + } + defer exhaustResponse(resp) data, err := ioutil.ReadAll(resp.Body) @@ -111,10 +115,11 @@ func runMakeAccessResponseURLs(ip net.IP, conf *config, cli *CLI) *runAccessResp values.Set("server", ip.String()) values.Set("port", strconv.Itoa(int(conf.BindTo.port.Value(0)))) - values.Set("secret", conf.Secret.Base64()) if cli.Access.Hex { - values.Set("secret", conf.Secret.EE()) + values.Set("secret", conf.Secret.Hex()) + } else { + values.Set("secret", conf.Secret.Base64()) } urlQuery := values.Encode() diff --git a/cli_generate_secret.go b/cli_generate_secret.go index d0edfa3..b88d36f 100644 --- a/cli_generate_secret.go +++ b/cli_generate_secret.go @@ -10,7 +10,7 @@ func runGenerateSecret(cli *CLI) { secret := mtglib.GenerateSecret(cli.GenerateSecret.HostName) if cli.GenerateSecret.Hex { - fmt.Println(secret.EE()) + fmt.Println(secret.Hex()) } else { fmt.Println(secret.Base64()) } diff --git a/mtglib/secret.go b/mtglib/secret.go index 4a4cd80..bc0aed8 100644 --- a/mtglib/secret.go +++ b/mtglib/secret.go @@ -57,19 +57,23 @@ func (s *Secret) UnmarshalText(data []byte) error { return nil } -func (s Secret) Base64() string { - data := append([]byte{238}, s.Key...) // 238 = hex ee - data = append(data, s.Host...) - - return base64.RawURLEncoding.EncodeToString(data) -} - func (s Secret) String() string { return s.Base64() } -func (s Secret) EE() string { - return "ee" + hex.EncodeToString(append(s.Key, s.Host...)) +func (s Secret) Base64() string { + return base64.RawURLEncoding.EncodeToString(s.makeBytes()) +} + +func (s Secret) Hex() string { + return hex.EncodeToString(s.makeBytes()) +} + +func (s *Secret) makeBytes() []byte { + data := append([]byte{238}, s.Key...) // hex 'ee' = 238 + data = append(data, s.Host...) + + return data } func GenerateSecret(hostname string) Secret {