Rename secret ee to hex

This commit is contained in:
9seconds
2021-03-10 17:03:56 +03:00
parent cbcc113e41
commit a34949f15c
3 changed files with 23 additions and 14 deletions
+9 -4
View File
@@ -64,8 +64,8 @@ func runAccess(cli *CLI) {
IPv4: runMakeAccessResponseURLs(ipv4, conf, cli), IPv4: runMakeAccessResponseURLs(ipv4, conf, cli),
IPv6: runMakeAccessResponseURLs(ipv6, conf, cli), IPv6: runMakeAccessResponseURLs(ipv6, conf, cli),
} }
resp.Secret.Base64 = conf.Secret.Base64() resp.Secret.Base64 = conf.Secret.Base64()
resp.Secret.Hex = conf.Secret.EE() resp.Secret.Hex = conf.Secret.Hex()
encoder := json.NewEncoder(os.Stdout) encoder := json.NewEncoder(os.Stdout)
@@ -92,6 +92,10 @@ func runAccessGetIP(ntw *network.Network, protocol string) net.IP {
return nil return nil
} }
if resp.StatusCode != http.StatusOK {
return nil
}
defer exhaustResponse(resp) defer exhaustResponse(resp)
data, err := ioutil.ReadAll(resp.Body) 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("server", ip.String())
values.Set("port", strconv.Itoa(int(conf.BindTo.port.Value(0)))) values.Set("port", strconv.Itoa(int(conf.BindTo.port.Value(0))))
values.Set("secret", conf.Secret.Base64())
if cli.Access.Hex { 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() urlQuery := values.Encode()
+1 -1
View File
@@ -10,7 +10,7 @@ func runGenerateSecret(cli *CLI) {
secret := mtglib.GenerateSecret(cli.GenerateSecret.HostName) secret := mtglib.GenerateSecret(cli.GenerateSecret.HostName)
if cli.GenerateSecret.Hex { if cli.GenerateSecret.Hex {
fmt.Println(secret.EE()) fmt.Println(secret.Hex())
} else { } else {
fmt.Println(secret.Base64()) fmt.Println(secret.Base64())
} }
+13 -9
View File
@@ -57,19 +57,23 @@ func (s *Secret) UnmarshalText(data []byte) error {
return nil 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 { func (s Secret) String() string {
return s.Base64() return s.Base64()
} }
func (s Secret) EE() string { func (s Secret) Base64() string {
return "ee" + hex.EncodeToString(append(s.Key, s.Host...)) 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 { func GenerateSecret(hostname string) Secret {