diff options
Diffstat (limited to 'cmd/dns.go')
| -rw-r--r-- | cmd/dns.go | 35 |
1 files changed, 35 insertions, 0 deletions
@@ -23,6 +23,14 @@ var dnsTLDCmd = &cobra.Command{ RunE: runDNSTLDCheck, } +var dnsSiteCmd = &cobra.Command{ + Use: "site [url]", + Short: "Check if a website URL has been reused", + Long: "Checks if a website URL has been reused across different domains", + Args: cobra.ExactArgs(1), + RunE: runDNSSiteCheck, +} + func runDNSTLDCheck(cmd *cobra.Command, args []string) error { term := args[0] showOnly, _ := cmd.Flags().GetString("show-only") @@ -60,9 +68,36 @@ func runDNSTLDCheck(cmd *cobra.Command, args []string) error { return nil } +func runDNSSiteCheck(cmd *cobra.Command, args []string) error { + siteURL := args[0] + + c, err := newClient() + if err != nil { + return fmt.Errorf("failed to create client: %w", err) + } + + response, err := c.CheckDNSSite(siteURL) + if err != nil { + return fmt.Errorf("site check failed: %w", err) + } + + if err := checkError(response.Error); err != nil { + return err + } + + output, err := formatter.FormatDNSSite(response, IsJSONOutput()) + if err != nil { + return err + } + + printOutput(output) + return nil +} + func init() { rootCmd.AddCommand(dnsCmd) dnsCmd.AddCommand(dnsTLDCmd) + dnsCmd.AddCommand(dnsSiteCmd) dnsTLDCmd.Flags().StringP("show-only", "s", "", "Filter results: 'exists' (only existing domains), 'nxdomain' (only non-existing domains), or empty (show all)") } |
