From 839bc635476c77d3c47a43cc0351b3bed3dfb828 Mon Sep 17 00:00:00 2001 From: semen bochkarev Date: Mon, 28 Dec 2020 14:15:34 +0300 Subject: [PATCH] add 'network' flag to lookup cmd --- cmd/lookup.go | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/cmd/lookup.go b/cmd/lookup.go index e0b0fc6..b6fd956 100644 --- a/cmd/lookup.go +++ b/cmd/lookup.go @@ -14,13 +14,15 @@ import ( // LookupStampArgs - "lookup-stamp" command arguments type LookupStampArgs struct { - Stamp string `short:"s" long:"stamp" description:"DNSCrypt resolver stamp" required:"true"` - Domain string `short:"d" long:"domain" description:"Domain to resolve" required:"true"` - Type string `short:"t" long:"type" description:"DNS query type" default:"A"` + Network string `short:"n" long:"network" description:"network type (tcp/udp)" default:"udp"` + Stamp string `short:"s" long:"stamp" description:"DNSCrypt resolver stamp" required:"true"` + Domain string `short:"d" long:"domain" description:"Domain to resolve" required:"true"` + Type string `short:"t" long:"type" description:"DNS query type" default:"A"` } // LookupArgs - "lookup" command arguments type LookupArgs struct { + Network string `short:"n" long:"network" description:"network type (tcp/udp)" default:"udp"` ProviderName string `short:"p" long:"provider-name" description:"DNSCrypt resolver provider name" required:"true"` PublicKey string `short:"k" long:"public-key" description:"DNSCrypt resolver public key" required:"true"` ServerAddr string `short:"a" long:"addr" description:"Resolver address (IP[:port]). By default, the port is 443" required:"true"` @@ -55,16 +57,17 @@ func lookup(args LookupArgs) { } lookupStamp(LookupStampArgs{ - Stamp: stamp.String(), - Domain: args.Domain, - Type: args.Type, + Network: args.Network, + Stamp: stamp.String(), + Domain: args.Domain, + Type: args.Type, }) } // lookupStamp - performs a DNS lookup, prints DNSCrypt cert info and lookup results func lookupStamp(args LookupStampArgs) { c := &dnscrypt.Client{ - Net: "udp", + Net: args.Network, Timeout: 10 * time.Second, } ri, err := c.Dial(args.Stamp)