Rebrand to CrowsNest

Added coffee rootCmd
This commit is contained in:
Evan Hosinski
2025-05-17 10:00:59 -04:00
parent 1152a1910c
commit dc15315403
20 changed files with 80 additions and 74 deletions
+2 -2
View File
@@ -4,7 +4,7 @@
GO=go GO=go
# Binary name # Binary name
BINARY_NAME=dehasher BINARY_NAME=crowsnest
# Build directory # Build directory
BUILD_DIR=build/bin BUILD_DIR=build/bin
@@ -16,7 +16,7 @@ PLATFORMS=linux darwin windows
ARCHS=amd64 arm64 ARCHS=amd64 arm64
# Version info from git tag or default # Version info from git tag or default
VERSION=$(shell git describe --tags 2>/dev/null || echo "v1.2.1") VERSION=$(shell git describe --tags 2>/dev/null || echo "v1.3.1")
.PHONY: all clean build build-all .PHONY: all clean build build-all
+6 -6
View File
@@ -221,7 +221,7 @@ dehasher set-hunter <redacted>
### Domain Search ### Domain Search
Dehasher can perform a domain search for a given domain. Dehasher can perform a domain search for a given domain.
This provides a list of all emails that match the given query. This provides information about company including a description, social media information and any technologies in use.
![Alt text](.img/hunter_domain_search.png "Hunter.io Domain Search") ![Alt text](.img/hunter_domain_search.png "Hunter.io Domain Search")
```bash ```bash
# Perform a Hunter.io domain search for example.com # Perform a Hunter.io domain search for example.com
@@ -230,7 +230,7 @@ dehasher hunter -d example.com -D
### Email Finder ### Email Finder
Dehasher can perform an email finder search for a given domain, first name, and last name. Dehasher can perform an email finder search for a given domain, first name, and last name.
This provides a list of all emails that match the given query. This provides information about a user including a confidence score, and any social media accounts linked to a first name, last name and email.
![Alt text](.img/hunter_email_finder.png "Hunter.io Email Finder") ![Alt text](.img/hunter_email_finder.png "Hunter.io Email Finder")
```bash ```bash
# Perform a Hunter.io email finder search for example.com # Perform a Hunter.io email finder search for example.com
@@ -239,7 +239,7 @@ dehasher hunter -d example.com -F John -L Doe -E
### Email Verification ### Email Verification
Dehasher can perform an email verification search for a given email. Dehasher can perform an email verification search for a given email.
This provides a list of all emails that match the given query. This provides a verification and score of a given email address.
![Alt text](.img/email_verification.png "Hunter.io Email Verification") ![Alt text](.img/email_verification.png "Hunter.io Email Verification")
```bash ```bash
# Perform a Hunter.io email verification search for example@target.com # Perform a Hunter.io email verification search for example@target.com
@@ -248,7 +248,7 @@ dehasher hunter -e example@target.com -V
### Company Enrichment ### Company Enrichment
Dehasher can perform a company enrichment search for a given domain. Dehasher can perform a company enrichment search for a given domain.
This provides a list of all emails that match the given query. This provides information about a company given its domain.
![Alt text](.img/company_enrichment.png "Hunter.io Company Enrichment") ![Alt text](.img/company_enrichment.png "Hunter.io Company Enrichment")
```bash ```bash
# Perform a Hunter.io company enrichment search for example.com # Perform a Hunter.io company enrichment search for example.com
@@ -257,7 +257,7 @@ dehasher hunter -d example.com -C
### Person Enrichment ### Person Enrichment
Dehasher can perform a person enrichment search for a given email. Dehasher can perform a person enrichment search for a given email.
This provides a list of all emails that match the given query. This provides information about a user given an email address..
![Alt text](.img/person_enrichment.png "Hunter.io Person Enrichment") ![Alt text](.img/person_enrichment.png "Hunter.io Person Enrichment")
```bash ```bash
# Perform a Hunter.io person enrichment search for example@target.com # Perform a Hunter.io person enrichment search for example@target.com
@@ -266,7 +266,7 @@ dehasher hunter -e example@target.com -P
### Combined Enrichment ### Combined Enrichment
Dehasher can perform a combined enrichment search for a given email. Dehasher can perform a combined enrichment search for a given email.
This provides a list of all emails that match the given query. This is a combination of the company and person enrichments given an email address.
![Alt text](.img/combined_enrichment_1.png "Hunter.io Combined Enrichment") ![Alt text](.img/combined_enrichment_1.png "Hunter.io Combined Enrichment")
![Alt text](.img/combined_enrichment_2.png "Hunter.io Combined Enrichment") ![Alt text](.img/combined_enrichment_2.png "Hunter.io Combined Enrichment")
```bash ```bash
+4 -4
View File
@@ -1,10 +1,10 @@
package cmd package cmd
import ( import (
"dehasher/internal/badger" "crowsnest/internal/badger"
"dehasher/internal/debug" "crowsnest/internal/debug"
"dehasher/internal/dehashed" "crowsnest/internal/dehashed"
"dehasher/internal/sqlite" "crowsnest/internal/sqlite"
"fmt" "fmt"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"go.uber.org/zap" "go.uber.org/zap"
+3 -3
View File
@@ -1,9 +1,9 @@
package cmd package cmd
import ( import (
"dehasher/internal/export" "crowsnest/internal/export"
"dehasher/internal/files" "crowsnest/internal/files"
"dehasher/internal/sqlite" "crowsnest/internal/sqlite"
"fmt" "fmt"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"go.uber.org/zap" "go.uber.org/zap"
+6 -6
View File
@@ -1,12 +1,12 @@
package cmd package cmd
import ( import (
"dehasher/internal/badger" "crowsnest/internal/badger"
"dehasher/internal/debug" "crowsnest/internal/debug"
"dehasher/internal/export" "crowsnest/internal/export"
"dehasher/internal/files" "crowsnest/internal/files"
hunter "dehasher/internal/hunter.io" hunter "crowsnest/internal/hunter.io"
"dehasher/internal/pretty" "crowsnest/internal/pretty"
"fmt" "fmt"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"go.uber.org/zap" "go.uber.org/zap"
+2 -2
View File
@@ -1,8 +1,8 @@
package cmd package cmd
import ( import (
"dehasher/internal/easyTime" "crowsnest/internal/easyTime"
"dehasher/internal/pretty" "crowsnest/internal/pretty"
"encoding/json" "encoding/json"
"fmt" "fmt"
"github.com/spf13/cobra" "github.com/spf13/cobra"
+2 -2
View File
@@ -1,8 +1,8 @@
package cmd package cmd
import ( import (
"dehasher/internal/pretty" "crowsnest/internal/pretty"
"dehasher/internal/sqlite" "crowsnest/internal/sqlite"
"encoding/json" "encoding/json"
"fmt" "fmt"
"github.com/spf13/cobra" "github.com/spf13/cobra"
+24 -22
View File
@@ -1,8 +1,9 @@
package cmd package cmd
import ( import (
"dehasher/internal/badger" "crowsnest/internal/badger"
"fmt" "fmt"
"github.com/fatih/color"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"go.uber.org/zap" "go.uber.org/zap"
"os" "os"
@@ -18,28 +19,14 @@ var (
Use: "dehasher", Use: "dehasher",
Short: `Dehasher is a cli tool for querying the dehashed api.`, Short: `Dehasher is a cli tool for querying the dehashed api.`,
Long: fmt.Sprintf( Long: fmt.Sprintf(
"%s\n%s", "%s\n",
` `
______ _______ _______ _______ _______ _______ ╔═╗┬─┐┌─┐┬ ┬┌─┐╔╗╔┌─┐┌─┐┌┬┐
( __ \ ( ____ \|\ /|( ___ )( ____ \|\ /|( ____ \( ____ ) ║ ├┬┘│ ││││└─┐║║║├┤ └─┐ │
| ( \ )| ( \/| ) ( || ( ) || ( \/| ) ( || ( \/| ( )| ╚═╝┴└─└─┘└┴┘└─┘╝╚╝└─┘└─┘ ┴
| | ) || (__ | (___) || (___) || (_____ | (___) || (__ | (____)|
| | | || __) | ___ || ___ |(_____ )| ___ || __) | __) Crows Nest OSINT Recon Suite
| | ) || ( | ( ) || ( ) | ) || ( ) || ( | (\ ( ⚓ A KrakenTech Intelligence Tool
| (__/ )| (____/\| ) ( || ) ( |/\____) || ) ( || (____/\| ) \ \__
(______/ (_______/|/ \||/ \|\_______)|/ \|(_______/|/ \__/
An Ar1ste1a Project
`,
`––•–√\/––√\/––•––––•–√\/––√\/––•––––•–√\/––√\/––•––√\/––•––––•–√\/––√\/––•––
Dehasher can query the query API for:
- Emails - Usernames - Password
- Hashes - IP Addresses - Names
- VINs - License Plates - Addresses
- Phones - Social Media - Crypto Currency Addresses
Dehasher supports:
- Regex Matching
- Exact Matching
––•–√\/––√\/––•––––•–√\/––√\/––•––––•–√\/––√\/––•––√\/––•––––•–√\/––√\/––•––
`, `,
), ),
Version: "v1.2.1", Version: "v1.2.1",
@@ -69,6 +56,7 @@ func init() {
rootCmd.AddCommand(setDehashedKeyCmd) rootCmd.AddCommand(setDehashedKeyCmd)
rootCmd.AddCommand(setHunterKeyCmd) rootCmd.AddCommand(setHunterKeyCmd)
rootCmd.AddCommand(setLocalDb) rootCmd.AddCommand(setLocalDb)
rootCmd.AddCommand(buyMeCoffeeCmd)
} }
// Command to set API key // Command to set API key
@@ -132,6 +120,20 @@ var setLocalDb = &cobra.Command{
}, },
} }
var buyMeCoffeeCmd = &cobra.Command{
Use: "coffee",
Short: "Support the project by buying a coffee",
Run: func(cmd *cobra.Command, args []string) {
fmt.Println(color.HiRedString(" ;)( ;"))
fmt.Println(color.HiCyanString(" We Hope You Enjoy Our Product :----:"))
fmt.Println(color.HiCyanString(" C|====|"))
fmt.Println(color.HiCyanString(" | |"))
fmt.Print(color.HiGreenString(" Support the project by buying a coffee: "))
fmt.Print(color.BlueString("https://buymeacoffee.com/ehosinskiz "))
fmt.Println(color.HiCyanString("`----'"))
},
}
// Helper functions to store API credentials // Helper functions to store API credentials
func storeDehashedApiKey(key string) error { func storeDehashedApiKey(key string) error {
err := badger.StoreDehashedKey(key) err := badger.StoreDehashedKey(key)
+6 -6
View File
@@ -1,12 +1,12 @@
package cmd package cmd
import ( import (
"dehasher/internal/debug" "crowsnest/internal/debug"
"dehasher/internal/export" "crowsnest/internal/export"
"dehasher/internal/files" "crowsnest/internal/files"
"dehasher/internal/pretty" "crowsnest/internal/pretty"
"dehasher/internal/sqlite" "crowsnest/internal/sqlite"
"dehasher/internal/whois" "crowsnest/internal/whois"
"fmt" "fmt"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"go.uber.org/zap" "go.uber.org/zap"
+3 -3
View File
@@ -1,9 +1,9 @@
package main package main
import ( import (
"dehasher/cmd" "crowsnest/cmd"
"dehasher/internal/badger" "crowsnest/internal/badger"
"dehasher/internal/sqlite" "crowsnest/internal/sqlite"
"fmt" "fmt"
"github.com/winking324/rzap" "github.com/winking324/rzap"
"go.uber.org/zap" "go.uber.org/zap"
+1 -1
View File
@@ -1,4 +1,4 @@
module dehasher module crowsnest
go 1.23.0 go 1.23.0
+2 -2
View File
@@ -2,9 +2,9 @@ package dehashed
import ( import (
"bytes" "bytes"
"crowsnest/internal/debug"
"crowsnest/internal/sqlite"
"crypto/sha256" "crypto/sha256"
"dehasher/internal/debug"
"dehasher/internal/sqlite"
"encoding/hex" "encoding/hex"
"encoding/json" "encoding/json"
"errors" "errors"
+3 -3
View File
@@ -1,9 +1,9 @@
package dehashed package dehashed
import ( import (
"dehasher/internal/debug" "crowsnest/internal/debug"
"dehasher/internal/export" "crowsnest/internal/export"
"dehasher/internal/sqlite" "crowsnest/internal/sqlite"
"encoding/json" "encoding/json"
"fmt" "fmt"
"go.uber.org/zap" "go.uber.org/zap"
+1 -1
View File
@@ -1,7 +1,7 @@
package easyTime package easyTime
import ( import (
"dehasher/internal/debug" "crowsnest/internal/debug"
"fmt" "fmt"
"go.uber.org/zap" "go.uber.org/zap"
"os" "os"
+2 -2
View File
@@ -1,8 +1,8 @@
package export package export
import ( import (
"dehasher/internal/files" "crowsnest/internal/files"
"dehasher/internal/sqlite" "crowsnest/internal/sqlite"
"encoding/json" "encoding/json"
"encoding/xml" "encoding/xml"
"errors" "errors"
+2 -2
View File
@@ -1,8 +1,8 @@
package export package export
import ( import (
"dehasher/internal/files" "crowsnest/internal/files"
"dehasher/internal/sqlite" "crowsnest/internal/sqlite"
"encoding/json" "encoding/json"
"encoding/xml" "encoding/xml"
"fmt" "fmt"
+2 -2
View File
@@ -1,8 +1,8 @@
package hunter_io package hunter_io
import ( import (
"dehasher/internal/debug" "crowsnest/internal/debug"
"dehasher/internal/sqlite" "crowsnest/internal/sqlite"
"encoding/json" "encoding/json"
"fmt" "fmt"
"go.uber.org/zap" "go.uber.org/zap"
+1 -1
View File
@@ -1,7 +1,7 @@
package pretty package pretty
import ( import (
"dehasher/internal/sqlite" "crowsnest/internal/sqlite"
"fmt" "fmt"
"github.com/charmbracelet/lipgloss" "github.com/charmbracelet/lipgloss"
"github.com/charmbracelet/lipgloss/tree" "github.com/charmbracelet/lipgloss/tree"
+5 -1
View File
@@ -1,11 +1,15 @@
package sqlite package sqlite
import ( import (
"dehasher/internal/files" "crowsnest/internal/files"
"fmt" "fmt"
"gorm.io/gorm" "gorm.io/gorm"
) )
type IString interface {
String() string
}
type DBOptions struct { type DBOptions struct {
Username string Username string
Email string Email string
+3 -3
View File
@@ -2,9 +2,9 @@ package whois
import ( import (
"bytes" "bytes"
"dehasher/internal/debug" "crowsnest/internal/debug"
"dehasher/internal/dehashed" "crowsnest/internal/dehashed"
"dehasher/internal/sqlite" "crowsnest/internal/sqlite"
"encoding/json" "encoding/json"
"errors" "errors"
"fmt" "fmt"