diff --git a/Makefile b/Makefile index 4150194..9a730c6 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ GO=go # Binary name -BINARY_NAME=dehasher +BINARY_NAME=crowsnest # Build directory BUILD_DIR=build/bin @@ -16,7 +16,7 @@ PLATFORMS=linux darwin windows ARCHS=amd64 arm64 # 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 diff --git a/README.md b/README.md index ee46b8f..50dd60d 100644 --- a/README.md +++ b/README.md @@ -221,7 +221,7 @@ dehasher set-hunter ### Domain Search 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") ```bash # Perform a Hunter.io domain search for example.com @@ -230,7 +230,7 @@ dehasher hunter -d example.com -D ### Email Finder 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") ```bash # 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 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") ```bash # Perform a Hunter.io email verification search for example@target.com @@ -248,7 +248,7 @@ dehasher hunter -e example@target.com -V ### Company Enrichment 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") ```bash # Perform a Hunter.io company enrichment search for example.com @@ -257,7 +257,7 @@ dehasher hunter -d example.com -C ### Person Enrichment 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") ```bash # Perform a Hunter.io person enrichment search for example@target.com @@ -266,7 +266,7 @@ dehasher hunter -e example@target.com -P ### Combined Enrichment 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_2.png "Hunter.io Combined Enrichment") ```bash diff --git a/cmd/dehashed.go b/cmd/dehashed.go index 18e501e..4d6894a 100644 --- a/cmd/dehashed.go +++ b/cmd/dehashed.go @@ -1,10 +1,10 @@ package cmd import ( - "dehasher/internal/badger" - "dehasher/internal/debug" - "dehasher/internal/dehashed" - "dehasher/internal/sqlite" + "crowsnest/internal/badger" + "crowsnest/internal/debug" + "crowsnest/internal/dehashed" + "crowsnest/internal/sqlite" "fmt" "github.com/spf13/cobra" "go.uber.org/zap" diff --git a/cmd/export.go b/cmd/export.go index 533d946..076a051 100644 --- a/cmd/export.go +++ b/cmd/export.go @@ -1,9 +1,9 @@ package cmd import ( - "dehasher/internal/export" - "dehasher/internal/files" - "dehasher/internal/sqlite" + "crowsnest/internal/export" + "crowsnest/internal/files" + "crowsnest/internal/sqlite" "fmt" "github.com/spf13/cobra" "go.uber.org/zap" diff --git a/cmd/hunter.go b/cmd/hunter.go index ae0c715..a024547 100644 --- a/cmd/hunter.go +++ b/cmd/hunter.go @@ -1,12 +1,12 @@ package cmd import ( - "dehasher/internal/badger" - "dehasher/internal/debug" - "dehasher/internal/export" - "dehasher/internal/files" - hunter "dehasher/internal/hunter.io" - "dehasher/internal/pretty" + "crowsnest/internal/badger" + "crowsnest/internal/debug" + "crowsnest/internal/export" + "crowsnest/internal/files" + hunter "crowsnest/internal/hunter.io" + "crowsnest/internal/pretty" "fmt" "github.com/spf13/cobra" "go.uber.org/zap" diff --git a/cmd/logs.go b/cmd/logs.go index 6f5b509..43aac04 100644 --- a/cmd/logs.go +++ b/cmd/logs.go @@ -1,8 +1,8 @@ package cmd import ( - "dehasher/internal/easyTime" - "dehasher/internal/pretty" + "crowsnest/internal/easyTime" + "crowsnest/internal/pretty" "encoding/json" "fmt" "github.com/spf13/cobra" diff --git a/cmd/query.go b/cmd/query.go index 16ad8c7..1ffff46 100644 --- a/cmd/query.go +++ b/cmd/query.go @@ -1,8 +1,8 @@ package cmd import ( - "dehasher/internal/pretty" - "dehasher/internal/sqlite" + "crowsnest/internal/pretty" + "crowsnest/internal/sqlite" "encoding/json" "fmt" "github.com/spf13/cobra" diff --git a/cmd/root.go b/cmd/root.go index 5d80bd8..5d61acd 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -1,8 +1,9 @@ package cmd import ( - "dehasher/internal/badger" + "crowsnest/internal/badger" "fmt" + "github.com/fatih/color" "github.com/spf13/cobra" "go.uber.org/zap" "os" @@ -18,28 +19,14 @@ var ( Use: "dehasher", Short: `Dehasher is a cli tool for querying the dehashed api.`, Long: fmt.Sprintf( - "%s\n%s", + "%s\n", ` - ______ _______ _______ _______ _______ _______ -( __ \ ( ____ \|\ /|( ___ )( ____ \|\ /|( ____ \( ____ ) -| ( \ )| ( \/| ) ( || ( ) || ( \/| ) ( || ( \/| ( )| -| | ) || (__ | (___) || (___) || (_____ | (___) || (__ | (____)| -| | | || __) | ___ || ___ |(_____ )| ___ || __) | __) -| | ) || ( | ( ) || ( ) | ) || ( ) || ( | (\ ( -| (__/ )| (____/\| ) ( || ) ( |/\____) || ) ( || (____/\| ) \ \__ -(______/ (_______/|/ \||/ \|\_______)|/ \|(_______/|/ \__/ - 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 -––•–√\/––√\/––•––––•–√\/––√\/––•––––•–√\/––√\/––•––√\/––•––––•–√\/––√\/––•–– + ╔═╗┬─┐┌─┐┬ ┬┌─┐╔╗╔┌─┐┌─┐┌┬┐ + ║ ├┬┘│ ││││└─┐║║║├┤ └─┐ │ + ╚═╝┴└─└─┘└┴┘└─┘╝╚╝└─┘└─┘ ┴ + + Crow’s Nest OSINT Recon Suite +⚓ A KrakenTech Intelligence Tool `, ), Version: "v1.2.1", @@ -69,6 +56,7 @@ func init() { rootCmd.AddCommand(setDehashedKeyCmd) rootCmd.AddCommand(setHunterKeyCmd) rootCmd.AddCommand(setLocalDb) + rootCmd.AddCommand(buyMeCoffeeCmd) } // 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 func storeDehashedApiKey(key string) error { err := badger.StoreDehashedKey(key) diff --git a/cmd/whois.go b/cmd/whois.go index eda1b04..6556906 100644 --- a/cmd/whois.go +++ b/cmd/whois.go @@ -1,12 +1,12 @@ package cmd import ( - "dehasher/internal/debug" - "dehasher/internal/export" - "dehasher/internal/files" - "dehasher/internal/pretty" - "dehasher/internal/sqlite" - "dehasher/internal/whois" + "crowsnest/internal/debug" + "crowsnest/internal/export" + "crowsnest/internal/files" + "crowsnest/internal/pretty" + "crowsnest/internal/sqlite" + "crowsnest/internal/whois" "fmt" "github.com/spf13/cobra" "go.uber.org/zap" diff --git a/dehasher.go b/dehasher.go index 44e8c6b..51f57ae 100644 --- a/dehasher.go +++ b/dehasher.go @@ -1,9 +1,9 @@ package main import ( - "dehasher/cmd" - "dehasher/internal/badger" - "dehasher/internal/sqlite" + "crowsnest/cmd" + "crowsnest/internal/badger" + "crowsnest/internal/sqlite" "fmt" "github.com/winking324/rzap" "go.uber.org/zap" diff --git a/go.mod b/go.mod index 76e44e5..77744a1 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module dehasher +module crowsnest go 1.23.0 diff --git a/internal/dehashed/clientv2.go b/internal/dehashed/clientv2.go index 0a50b51..f2087ae 100644 --- a/internal/dehashed/clientv2.go +++ b/internal/dehashed/clientv2.go @@ -2,9 +2,9 @@ package dehashed import ( "bytes" + "crowsnest/internal/debug" + "crowsnest/internal/sqlite" "crypto/sha256" - "dehasher/internal/debug" - "dehasher/internal/sqlite" "encoding/hex" "encoding/json" "errors" diff --git a/internal/dehashed/dehashed.go b/internal/dehashed/dehashed.go index 6c0e249..d3f2f49 100644 --- a/internal/dehashed/dehashed.go +++ b/internal/dehashed/dehashed.go @@ -1,9 +1,9 @@ package dehashed import ( - "dehasher/internal/debug" - "dehasher/internal/export" - "dehasher/internal/sqlite" + "crowsnest/internal/debug" + "crowsnest/internal/export" + "crowsnest/internal/sqlite" "encoding/json" "fmt" "go.uber.org/zap" diff --git a/internal/easyTime/parser.go b/internal/easyTime/parser.go index 879dd3b..075a010 100644 --- a/internal/easyTime/parser.go +++ b/internal/easyTime/parser.go @@ -1,7 +1,7 @@ package easyTime import ( - "dehasher/internal/debug" + "crowsnest/internal/debug" "fmt" "go.uber.org/zap" "os" diff --git a/internal/export/export.go b/internal/export/export.go index d97a78e..9484eb6 100644 --- a/internal/export/export.go +++ b/internal/export/export.go @@ -1,8 +1,8 @@ package export import ( - "dehasher/internal/files" - "dehasher/internal/sqlite" + "crowsnest/internal/files" + "crowsnest/internal/sqlite" "encoding/json" "encoding/xml" "errors" diff --git a/internal/export/hunter.go b/internal/export/hunter.go index 99d093e..8c191c0 100644 --- a/internal/export/hunter.go +++ b/internal/export/hunter.go @@ -1,8 +1,8 @@ package export import ( - "dehasher/internal/files" - "dehasher/internal/sqlite" + "crowsnest/internal/files" + "crowsnest/internal/sqlite" "encoding/json" "encoding/xml" "fmt" diff --git a/internal/hunter.io/hunter.io.go b/internal/hunter.io/hunter.io.go index b933779..d1415d7 100644 --- a/internal/hunter.io/hunter.io.go +++ b/internal/hunter.io/hunter.io.go @@ -1,8 +1,8 @@ package hunter_io import ( - "dehasher/internal/debug" - "dehasher/internal/sqlite" + "crowsnest/internal/debug" + "crowsnest/internal/sqlite" "encoding/json" "fmt" "go.uber.org/zap" diff --git a/internal/pretty/trees.go b/internal/pretty/trees.go index cd79b7c..a1ddce9 100644 --- a/internal/pretty/trees.go +++ b/internal/pretty/trees.go @@ -1,7 +1,7 @@ package pretty import ( - "dehasher/internal/sqlite" + "crowsnest/internal/sqlite" "fmt" "github.com/charmbracelet/lipgloss" "github.com/charmbracelet/lipgloss/tree" diff --git a/internal/sqlite/structs.go b/internal/sqlite/structs.go index 9417990..078ec45 100644 --- a/internal/sqlite/structs.go +++ b/internal/sqlite/structs.go @@ -1,11 +1,15 @@ package sqlite import ( - "dehasher/internal/files" + "crowsnest/internal/files" "fmt" "gorm.io/gorm" ) +type IString interface { + String() string +} + type DBOptions struct { Username string Email string diff --git a/internal/whois/whois.go b/internal/whois/whois.go index a18b035..9e1c163 100644 --- a/internal/whois/whois.go +++ b/internal/whois/whois.go @@ -2,9 +2,9 @@ package whois import ( "bytes" - "dehasher/internal/debug" - "dehasher/internal/dehashed" - "dehasher/internal/sqlite" + "crowsnest/internal/debug" + "crowsnest/internal/dehashed" + "crowsnest/internal/sqlite" "encoding/json" "errors" "fmt"