Updated README.md
updated typos added 'easy time' upgrade to log filtering
This commit is contained in:
+14
-1
@@ -2,10 +2,12 @@ package cmd
|
||||
|
||||
import (
|
||||
"dehasher/internal/badger"
|
||||
"dehasher/internal/debug"
|
||||
"dehasher/internal/dehashed"
|
||||
"dehasher/internal/sqlite"
|
||||
"fmt"
|
||||
"github.com/spf13/cobra"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
func init() {
|
||||
@@ -116,7 +118,18 @@ var (
|
||||
dehasher.Start()
|
||||
fmt.Println("\n[*] Completing Process")
|
||||
|
||||
sqlite.StoreQueryOptions(queryOptions)
|
||||
err := sqlite.StoreQueryOptions(queryOptions)
|
||||
if err != nil {
|
||||
if debugGlobal {
|
||||
debug.PrintInfo("failed to store query options")
|
||||
debug.PrintError(err)
|
||||
}
|
||||
zap.L().Error("store_query_options",
|
||||
zap.String("message", "failed to store query options"),
|
||||
zap.Error(err),
|
||||
)
|
||||
fmt.Printf("Error storing query options: %v\n", err)
|
||||
}
|
||||
},
|
||||
}
|
||||
)
|
||||
|
||||
+11
-32
@@ -1,6 +1,7 @@
|
||||
package cmd
|
||||
|
||||
import (
|
||||
"dehasher/internal/easyTime"
|
||||
"dehasher/internal/pretty"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
@@ -73,6 +74,11 @@ var (
|
||||
allLogs = append(allLogs, filepath.Join(logsPath, "info.log"), filepath.Join(logsPath, "error.log"))
|
||||
}
|
||||
|
||||
var timeChunk easyTime.TimeChunk
|
||||
if logStartDate != "" {
|
||||
timeChunk = easyTime.NewTimeChunk(logStartDate, logEndDate, debugGlobal)
|
||||
}
|
||||
|
||||
var parsedLogs []LogEntry
|
||||
for _, logFile := range allLogs {
|
||||
// Read the log file
|
||||
@@ -97,7 +103,7 @@ var (
|
||||
continue
|
||||
}
|
||||
|
||||
// Also unmarshal to get additional fields
|
||||
// Unmarshal to get additional fields
|
||||
if err := json.Unmarshal([]byte(line), &rawEntry); err != nil {
|
||||
fmt.Printf("Error parsing raw log entry: %v\n", err)
|
||||
continue
|
||||
@@ -106,10 +112,10 @@ var (
|
||||
// Parse the timestamp
|
||||
parsedTime, err := time.Parse("2006-01-02T15:04:05.999-0700", entry.Timestamp)
|
||||
if err != nil {
|
||||
// Try alternative formats
|
||||
// Try RFC3339
|
||||
parsedTime, err = time.Parse(time.RFC3339, entry.Timestamp)
|
||||
if err != nil {
|
||||
// Try another format
|
||||
// Try RFC3339Nano
|
||||
parsedTime, err = time.Parse(time.RFC3339Nano, entry.Timestamp)
|
||||
if err != nil {
|
||||
fmt.Printf("Error parsing timestamp '%s': %v\n", entry.Timestamp, err)
|
||||
@@ -133,22 +139,8 @@ var (
|
||||
(logFatal && strings.EqualFold(entry.Level, "FATAL")) {
|
||||
|
||||
// Filter by date range if specified
|
||||
if logStartDate != "" {
|
||||
startDate, err := time.Parse("2006-01-02", logStartDate)
|
||||
if err != nil {
|
||||
fmt.Printf("Error parsing start date: %v\n", err)
|
||||
} else if entry.ParsedTime.Before(startDate) {
|
||||
continue
|
||||
}
|
||||
}
|
||||
|
||||
if logEndDate != "" {
|
||||
endDate, err := time.Parse("2006-01-02", logEndDate)
|
||||
// Add one day to include the end date
|
||||
endDate = endDate.Add(24 * time.Hour)
|
||||
if err != nil {
|
||||
fmt.Printf("Error parsing end date: %v\n", err)
|
||||
} else if entry.ParsedTime.After(endDate) {
|
||||
if timeChunk.IsSet() {
|
||||
if entry.ParsedTime.Before(timeChunk.StartTime) || entry.ParsedTime.After(timeChunk.EndTime) {
|
||||
continue
|
||||
}
|
||||
}
|
||||
@@ -211,16 +203,3 @@ const (
|
||||
FATAL
|
||||
UNKNOWN Severity = -1
|
||||
)
|
||||
|
||||
func getSeverity(logLevel string) Severity {
|
||||
switch logLevel {
|
||||
case "INFO":
|
||||
return INFO
|
||||
case "ERROR":
|
||||
return ERROR
|
||||
case "FATAL":
|
||||
return FATAL
|
||||
default:
|
||||
return UNKNOWN
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -16,7 +16,7 @@ var (
|
||||
// rootCmd is the base command for the CLI.
|
||||
rootCmd = &cobra.Command{
|
||||
Use: "dehasher",
|
||||
Short: `Dehasher is a cli tool for querying query.`,
|
||||
Short: `Dehasher is a cli tool for querying the dehashed api.`,
|
||||
Long: fmt.Sprintf(
|
||||
"%s\n%s",
|
||||
`
|
||||
@@ -42,7 +42,7 @@ var (
|
||||
––•–√\/––√\/––•––––•–√\/––√\/––•––––•–√\/––√\/––•––√\/––•––––•–√\/––√\/––•––
|
||||
`,
|
||||
),
|
||||
Version: "v1.0",
|
||||
Version: "v1.2.1",
|
||||
}
|
||||
)
|
||||
|
||||
@@ -63,7 +63,7 @@ func init() {
|
||||
rootCmd.CompletionOptions.HiddenDefaultCmd = true
|
||||
|
||||
// Add global flags
|
||||
rootCmd.PersistentFlags().BoolVar(&debugGlobal, "debug", false, "Show debugGlobal information")
|
||||
rootCmd.PersistentFlags().BoolVar(&debugGlobal, "debug", false, "Show debug information")
|
||||
|
||||
// Add subcommands
|
||||
rootCmd.AddCommand(setKeyCmd)
|
||||
|
||||
+31
-108
@@ -10,6 +10,7 @@ import (
|
||||
"fmt"
|
||||
"github.com/spf13/cobra"
|
||||
"go.uber.org/zap"
|
||||
"os"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
@@ -97,15 +98,9 @@ var (
|
||||
// Show credits if requested
|
||||
if whoisShowCredits {
|
||||
fmt.Println("[*] Getting WHOIS balance...")
|
||||
balance, err := w.Balance()
|
||||
if err != nil {
|
||||
zap.L().Error("get_whois_credits",
|
||||
zap.String("message", "failed to get whois balance"),
|
||||
zap.Error(err),
|
||||
)
|
||||
fmt.Printf("Error getting WHOIS balance: %v\n", err)
|
||||
if whoisShowCredits {
|
||||
checkBalance(w)
|
||||
}
|
||||
fmt.Printf("WHOIS Credits: %d\n", balance)
|
||||
}
|
||||
|
||||
// Check if domain is provided for history and subdomain scan
|
||||
@@ -115,15 +110,7 @@ var (
|
||||
return
|
||||
}
|
||||
if whoisShowCredits {
|
||||
balance, err := w.Balance()
|
||||
if err != nil {
|
||||
zap.L().Error("get_whois_credits",
|
||||
zap.String("message", "failed to get whois balance"),
|
||||
zap.Error(err),
|
||||
)
|
||||
fmt.Printf("Error getting WHOIS balance: %v\n", err)
|
||||
}
|
||||
fmt.Println("WHOIS Credits: ", balance)
|
||||
checkBalance(w)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -147,19 +134,7 @@ var (
|
||||
}
|
||||
|
||||
if whoisShowCredits {
|
||||
balance, err := w.Balance()
|
||||
if err != nil {
|
||||
if debugGlobal {
|
||||
debug.PrintInfo("failed to get whois balance")
|
||||
debug.PrintError(err)
|
||||
}
|
||||
zap.L().Error("get_whois_credits",
|
||||
zap.String("message", "failed to get whois balance"),
|
||||
zap.Error(err),
|
||||
)
|
||||
fmt.Printf("Error getting WHOIS balance: %v\n", err)
|
||||
}
|
||||
fmt.Println("WHOIS Credits: ", balance)
|
||||
checkBalance(w)
|
||||
}
|
||||
|
||||
// Fix the output format to use proper formatting
|
||||
@@ -212,19 +187,7 @@ var (
|
||||
fmt.Printf("[!] Error performing WHOIS history lookup: %v\n", err)
|
||||
} else {
|
||||
if whoisShowCredits {
|
||||
balance, err := w.Balance()
|
||||
if err != nil {
|
||||
if debugGlobal {
|
||||
debug.PrintInfo("failed to get whois balance")
|
||||
debug.PrintError(err)
|
||||
}
|
||||
zap.L().Error("get_whois_credits",
|
||||
zap.String("message", "failed to get whois balance"),
|
||||
zap.Error(err),
|
||||
)
|
||||
fmt.Printf("Error getting WHOIS balance: %v\n", err)
|
||||
}
|
||||
fmt.Println("WHOIS Credits: ", balance)
|
||||
checkBalance(w)
|
||||
}
|
||||
|
||||
// Write history records to file if any
|
||||
@@ -274,19 +237,7 @@ var (
|
||||
subdomains, err := w.WhoisSubdomainScan(whoisDomain)
|
||||
|
||||
if whoisShowCredits {
|
||||
balance, err := w.Balance()
|
||||
if err != nil {
|
||||
if debugGlobal {
|
||||
debug.PrintInfo("failed to get whois balance")
|
||||
debug.PrintError(err)
|
||||
}
|
||||
zap.L().Error("get_whois_credits",
|
||||
zap.String("message", "failed to get whois balance"),
|
||||
zap.Error(err),
|
||||
)
|
||||
fmt.Printf("Error getting WHOIS balance: %v\n", err)
|
||||
}
|
||||
fmt.Println("WHOIS Credits: ", balance)
|
||||
checkBalance(w)
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
@@ -371,19 +322,7 @@ var (
|
||||
|
||||
// Get credits
|
||||
if whoisShowCredits {
|
||||
balance, err := w.Balance()
|
||||
if err != nil {
|
||||
if debugGlobal {
|
||||
debug.PrintInfo("failed to get whois balance")
|
||||
debug.PrintError(err)
|
||||
}
|
||||
zap.L().Error("get_whois_credits",
|
||||
zap.String("message", "failed to get whois balance"),
|
||||
zap.Error(err),
|
||||
)
|
||||
fmt.Printf("Error getting WHOIS balance: %v\n", err)
|
||||
}
|
||||
fmt.Println("WHOIS Credits: ", balance)
|
||||
checkBalance(w)
|
||||
}
|
||||
|
||||
if len(result) == 0 {
|
||||
@@ -445,19 +384,7 @@ var (
|
||||
|
||||
// Get credits
|
||||
if whoisShowCredits {
|
||||
balance, err := w.Balance()
|
||||
if err != nil {
|
||||
if debugGlobal {
|
||||
debug.PrintInfo("failed to get whois balance")
|
||||
debug.PrintError(err)
|
||||
}
|
||||
zap.L().Error("get_whois_credits",
|
||||
zap.String("message", "failed to get whois balance"),
|
||||
zap.Error(err),
|
||||
)
|
||||
fmt.Printf("Error getting WHOIS balance: %v\n", err)
|
||||
}
|
||||
fmt.Println("WHOIS Credits: ", balance)
|
||||
checkBalance(w)
|
||||
}
|
||||
|
||||
if len(result) == 0 {
|
||||
@@ -519,19 +446,7 @@ var (
|
||||
|
||||
// Get credits
|
||||
if whoisShowCredits {
|
||||
balance, err := w.Balance()
|
||||
if err != nil {
|
||||
if debugGlobal {
|
||||
debug.PrintInfo("failed to get whois balance")
|
||||
debug.PrintError(err)
|
||||
}
|
||||
zap.L().Error("get_whois_credits",
|
||||
zap.String("message", "failed to get whois balance"),
|
||||
zap.Error(err),
|
||||
)
|
||||
fmt.Printf("Error getting WHOIS balance: %v\n", err)
|
||||
}
|
||||
fmt.Println("WHOIS Credits: ", balance)
|
||||
checkBalance(w)
|
||||
}
|
||||
|
||||
if len(result) == 0 {
|
||||
@@ -625,19 +540,7 @@ var (
|
||||
fmt.Println(result)
|
||||
|
||||
if whoisShowCredits {
|
||||
balance, err := w.Balance()
|
||||
if err != nil {
|
||||
if debugGlobal {
|
||||
debug.PrintInfo("failed to get whois balance")
|
||||
debug.PrintError(err)
|
||||
}
|
||||
zap.L().Error("get_whois_credits",
|
||||
zap.String("message", "failed to get whois balance"),
|
||||
zap.Error(err),
|
||||
)
|
||||
fmt.Printf("Error getting WHOIS balance: %v\n", err)
|
||||
}
|
||||
fmt.Println("WHOIS Credits: ", balance)
|
||||
checkBalance(w)
|
||||
}
|
||||
return
|
||||
}
|
||||
@@ -647,3 +550,23 @@ var (
|
||||
},
|
||||
}
|
||||
)
|
||||
|
||||
func checkBalance(w *whois.DehashedWhoIs) {
|
||||
balance, err := w.Balance()
|
||||
if err != nil {
|
||||
if debugGlobal {
|
||||
debug.PrintInfo("failed to get whois balance")
|
||||
debug.PrintError(err)
|
||||
}
|
||||
zap.L().Error("get_whois_credits",
|
||||
zap.String("message", "failed to get whois balance"),
|
||||
zap.Error(err),
|
||||
)
|
||||
fmt.Printf("Error getting WHOIS balance: %v\n", err)
|
||||
}
|
||||
fmt.Println("WHOIS Credits: ", balance)
|
||||
if balance == 0 {
|
||||
fmt.Println("[!] No WHOIS credits remaining.")
|
||||
os.Exit(0)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user