Compare commits

..

2 Commits

Author SHA1 Message Date
cf9f9f7db7 nu: Fix ipv6 dns lookups 2025-09-03 12:57:15 +02:00
18a93fe079 nu: Add --server argument to dns command 2025-09-03 12:57:15 +02:00

View File

@ -47,17 +47,16 @@ def "m daemon is-running" [
} }
def dns [ def dns [
--server (-s): string,
name: string, name: string,
] { ] {
nslookup $name | # HACK: turn the optional argument into a list. not sure how to pass it to nslookup otherwise.
parse -r "Address:\\s(?<ipv4>\\d+\\.\\d+\\.\\d+\\.\\d+)|Address:\\s(?<ipv6>[\\d:a-z]+)" | let server = ([$server] | compact)
each { |row|
if $row.ipv4 != "" { 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 _
{ kind: ipv4, addr: $row.ipv4 } 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 _
} else {
{ kind: ipv6, addr: $row.ipv6 } $ipv4 | append $ipv6
}
}
} }