Toujours plus loin dans la parallélisation – les résultats s’affichent instantanément…
This commit is contained in:
parent
541671c38d
commit
0ebaf3b5a0
2 changed files with 142 additions and 9 deletions
|
|
@ -1,6 +1,7 @@
|
|||
#alias:new digall e:dig ANY +noall +answer
|
||||
fn digall [@_args]{
|
||||
use moi/util/list
|
||||
use moi/util/strutil
|
||||
use str
|
||||
|
||||
local:default_records = [
|
||||
|
|
@ -15,6 +16,11 @@ fn digall [@_args]{
|
|||
NS
|
||||
SOA
|
||||
]
|
||||
local:cols = [
|
||||
[&min=24]
|
||||
[&min=8]
|
||||
[&min=10]
|
||||
]
|
||||
local:records = []
|
||||
local:servers = []
|
||||
local:flags = [
|
||||
|
|
@ -44,21 +50,32 @@ fn digall [@_args]{
|
|||
records = $default_records
|
||||
}
|
||||
}
|
||||
|
||||
fn format [results]{
|
||||
eawk [_ @args]{
|
||||
put [ $args[0] (all $args[2:]) ]
|
||||
} $results | list:remove-duplicate | list:sort [l1 l2]{
|
||||
local:c = (str:compare $l1[0] $l2[0])
|
||||
if (== $c 0) {
|
||||
c = (str:compare $l1[2] $l2[2])
|
||||
}
|
||||
} | strutil:format &col=$cols | str:join "\n"
|
||||
}
|
||||
|
||||
fn drillr [d @args]{
|
||||
local:results = [ (peach [r]{
|
||||
e:drill $@args $r $d | list:filter [e]{
|
||||
and (> (count $e) 2) (not (is $e[:2] ';;'))
|
||||
}
|
||||
} $records | list:remove-duplicate) ]
|
||||
echo (str:join "\n" $results)
|
||||
} $records) ]
|
||||
format $results
|
||||
}
|
||||
|
||||
fn digr [d @args]{
|
||||
local:results = [ (peach [r]{
|
||||
e:dig $@args $r $d $@flags
|
||||
} $records | list:remove-duplicate) ]
|
||||
echo (str:join "\n" $results)
|
||||
} $records) ]
|
||||
format $results
|
||||
}
|
||||
|
||||
fn req [d @args]{
|
||||
|
|
@ -70,21 +87,22 @@ fn digall [@_args]{
|
|||
}
|
||||
|
||||
fn digs [s d]{
|
||||
echo (styled $s bright-yellow)
|
||||
put (echo (styled $s bright-yellow))
|
||||
req $d $s
|
||||
}
|
||||
|
||||
fn digd [d]{
|
||||
echo (styled 'Domaine: '$d bright-green)
|
||||
local:results = [ (echo (styled 'Domaine: '$d bright-green)) ]
|
||||
if (> (count $servers) 0) {
|
||||
each [s]{
|
||||
digs $s $d
|
||||
@results = $@results (digs $s $d)
|
||||
} $servers
|
||||
} else {
|
||||
req $d
|
||||
@results = $@results (req $d)
|
||||
}
|
||||
echo (str:join "\n" $results)
|
||||
}
|
||||
|
||||
init
|
||||
each $digd~ $domains
|
||||
peach $digd~ $domains
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue