From 6f12fc26338ff9988d1357b188d35f7f7cd0ecf9 Mon Sep 17 00:00:00 2001 From: Anders Pitman Date: Wed, 16 Feb 2022 12:45:55 -0700 Subject: [PATCH] Support IPv6 for namedrop records --- boringproxy.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/boringproxy.go b/boringproxy.go index 6d74ded..1e94030 100644 --- a/boringproxy.go +++ b/boringproxy.go @@ -216,10 +216,15 @@ func Listen() { domain := namedropTokenData.Scopes[0].Domain host := namedropTokenData.Scopes[0].Host + recordType := "AAAA" + if IsIPv4(config.PublicIp) { + recordType = "A" + } + createRecordReq := namedrop.Record{ Domain: domain, Host: host, - Type: "A", + Type: recordType, Value: config.PublicIp, TTL: 300, } @@ -416,3 +421,8 @@ func printLoginInfo(token, adminDomain string) { log.Println(fmt.Sprintf("Admin login link: %s", url)) qrterminal.GenerateHalfBlock(url, qrterminal.L, os.Stdout) } + +// Taken from https://stackoverflow.com/a/48519490/943814 +func IsIPv4(address string) bool { + return strings.Count(address, ":") < 2 +}