From cf9f9f7db7eed26669bcda12cac00a44e92d46a9 Mon Sep 17 00:00:00 2001 From: Joakim Hulthe Date: Wed, 3 Sep 2025 12:57:00 +0200 Subject: [PATCH] nu: Fix ipv6 dns lookups --- tree/.local/nu/mullvad.nu | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/tree/.local/nu/mullvad.nu b/tree/.local/nu/mullvad.nu index 03cf82f..b916932 100644 --- a/tree/.local/nu/mullvad.nu +++ b/tree/.local/nu/mullvad.nu @@ -53,17 +53,10 @@ def dns [ # HACK: turn the optional argument into a list. not sure how to pass it to nslookup otherwise. let server = ([$server] | compact) - nslookup $name ...$server | - lines | - skip until { |line| $line =~ answer } | - parse -r "Address:\\s(?\\d+\\.\\d+\\.\\d+\\.\\d+)|Address:\\s(?[\\d:a-z]+)" | - each { |row| - if $row.ipv4 != "" { - { kind: ipv4, addr: $row.ipv4 } - } else { - { kind: ipv6, addr: $row.ipv6 } - } - } + let ipv4 = (dig $name A | lines | skip until {|l| $l =~ "ANSWER SECTION" } | skip 1 | take until { |l| $l == "" } | split column "\t" -c | rename host ttl _ type addr) | reject _ + let ipv6 = (dig $name AAAA | lines | skip until {|l| $l =~ "ANSWER SECTION" } | skip 1 | take until { |l| $l == "" } | split column "\t" -c | rename host ttl _ type addr) | reject _ + + $ipv4 | append $ipv6 }