summaryrefslogtreecommitdiffstats
path: root/cmd/dns.go
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/dns.go')
-rw-r--r--cmd/dns.go35
1 files changed, 35 insertions, 0 deletions
diff --git a/cmd/dns.go b/cmd/dns.go
index f5de4f9..30757c9 100644
--- a/cmd/dns.go
+++ b/cmd/dns.go
@@ -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)")
}