mirror of
https://github.com/anotherhadi/github-recon.git
synced 2026-10-05 19:08:24 +02:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
26a1cfdd37 | ||
|
|
3064cdbf7a |
@@ -123,7 +123,7 @@ github-recon [--flags value] target_username_or_email
|
|||||||
--trufflehog Run trufflehog on cloned repositories (only for deep scan) (default true)
|
--trufflehog Run trufflehog on cloned repositories (only for deep scan) (default true)
|
||||||
-S, --silent Suppress all non-essential output
|
-S, --silent Suppress all non-essential output
|
||||||
--spoof-email Spoof email (only for email mode) (default true)
|
--spoof-email Spoof email (only for email mode) (default true)
|
||||||
-a, --hide-avatar Hide the avatar in the output
|
-a, --print-avatar Show the avatar in the output
|
||||||
-j, --json string Write results to specified JSON file
|
-j, --json string Write results to specified JSON file
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
+15
-15
@@ -32,7 +32,7 @@ type Settings struct {
|
|||||||
Silent bool
|
Silent bool
|
||||||
DeepScan bool
|
DeepScan bool
|
||||||
MaxDistance int
|
MaxDistance int
|
||||||
HideAvatar bool
|
PrintAvatar bool
|
||||||
SpoofEmail bool
|
SpoofEmail bool
|
||||||
Trufflehog bool
|
Trufflehog bool
|
||||||
|
|
||||||
@@ -55,7 +55,7 @@ func GetDefaultSettings() Settings {
|
|||||||
Silent: false,
|
Silent: false,
|
||||||
DeepScan: false,
|
DeepScan: false,
|
||||||
MaxDistance: 20,
|
MaxDistance: 20,
|
||||||
HideAvatar: false,
|
PrintAvatar: true,
|
||||||
SpoofEmail: true,
|
SpoofEmail: true,
|
||||||
Trufflehog: true,
|
Trufflehog: true,
|
||||||
|
|
||||||
@@ -83,55 +83,55 @@ func GetSettings() (settings Settings) {
|
|||||||
flag.CommandLine.SortFlags = false
|
flag.CommandLine.SortFlags = false
|
||||||
|
|
||||||
//// Flags
|
//// Flags
|
||||||
flag.StringVarP(&settings.Token, "token", "t", "null", "Github personal access token (e.g. ghp_aaa...). Can also be set via GITHUB_RECON_TOKEN environment variable. You also need to set the token in $HOME/.config/github-recon/env file if you want to use this tool without passing the token every time.")
|
flag.StringVarP(&settings.Token, "token", "t", settings.Token, "Github personal access token (e.g. ghp_aaa...). Can also be set via GITHUB_RECON_TOKEN environment variable. You also need to set the token in $HOME/.config/github-recon/env file if you want to use this tool without passing the token every time.")
|
||||||
|
|
||||||
// DeepScan
|
// DeepScan
|
||||||
flag.BoolVarP(&settings.DeepScan, "deepscan", "d", false, "Enable deep scan (clone repos, regex search, analyse licenses, etc.)")
|
flag.BoolVarP(&settings.DeepScan, "deepscan", "d", settings.DeepScan, "Enable deep scan (clone repos, regex search, analyse licenses, etc.)")
|
||||||
flag.IntVar(
|
flag.IntVar(
|
||||||
&settings.MaxRepoSize,
|
&settings.MaxRepoSize,
|
||||||
"max-size",
|
"max-size",
|
||||||
150,
|
settings.MaxRepoSize,
|
||||||
"Limit the size of repositories to scan (in MB) (only for deep scan)",
|
"Limit the size of repositories to scan (in MB) (only for deep scan)",
|
||||||
)
|
)
|
||||||
flag.StringSliceVarP(
|
flag.StringSliceVarP(
|
||||||
&settings.ExcludedRepos,
|
&settings.ExcludedRepos,
|
||||||
"exclude-repo",
|
"exclude-repo",
|
||||||
"e",
|
"e",
|
||||||
[]string{},
|
settings.ExcludedRepos,
|
||||||
"Exclude repos from deep scan (comma-separated list, only for deep scan)",
|
"Exclude repos from deep scan (comma-separated list, only for deep scan)",
|
||||||
)
|
)
|
||||||
flag.BoolVarP(
|
flag.BoolVarP(
|
||||||
&settings.Refresh,
|
&settings.Refresh,
|
||||||
"refresh",
|
"refresh",
|
||||||
"r",
|
"r",
|
||||||
false,
|
settings.Refresh,
|
||||||
"Refresh the cache (only for deep scan)",
|
"Refresh the cache (only for deep scan)",
|
||||||
)
|
)
|
||||||
flag.BoolVarP(
|
flag.BoolVarP(
|
||||||
&settings.ShowSource,
|
&settings.ShowSource,
|
||||||
"show-source",
|
"show-source",
|
||||||
"s",
|
"s",
|
||||||
false,
|
settings.ShowSource,
|
||||||
"Show where the information (authors, emails, etc) were found (only for deep scan)",
|
"Show where the information (authors, emails, etc) were found (only for deep scan)",
|
||||||
)
|
)
|
||||||
flag.IntVarP(
|
flag.IntVarP(
|
||||||
&settings.MaxDistance,
|
&settings.MaxDistance,
|
||||||
"max-distance",
|
"max-distance",
|
||||||
"m",
|
"m",
|
||||||
20,
|
settings.MaxDistance,
|
||||||
"Maximum Levenshtein distance for matching usernames & emails (only for deep scan)",
|
"Maximum Levenshtein distance for matching usernames & emails (only for deep scan)",
|
||||||
)
|
)
|
||||||
flag.BoolVar(
|
flag.BoolVar(
|
||||||
&settings.Trufflehog,
|
&settings.Trufflehog,
|
||||||
"trufflehog",
|
"trufflehog",
|
||||||
true,
|
settings.Trufflehog,
|
||||||
"Run trufflehog on cloned repositories (only for deep scan)",
|
"Run trufflehog on cloned repositories (only for deep scan)",
|
||||||
)
|
)
|
||||||
|
|
||||||
flag.BoolVarP(&settings.Silent, "silent", "S", false, "Suppress all non-essential output")
|
flag.BoolVarP(&settings.Silent, "silent", "S", settings.Silent, "Suppress all non-essential output")
|
||||||
flag.BoolVarP(&settings.SpoofEmail, "spoof-email", "", true, "Spoof email (only for email mode)")
|
flag.BoolVarP(&settings.SpoofEmail, "spoof-email", "", settings.SpoofEmail, "Spoof email (only for email mode)")
|
||||||
flag.BoolVarP(&settings.HideAvatar, "hide-avatar", "a", false, "Hide the avatar in the output")
|
flag.BoolVarP(&settings.PrintAvatar, "print-avatar", "a", settings.PrintAvatar, "Show the avatar in the output")
|
||||||
flag.StringVarP(&settings.JsonOutput, "json", "j", "", "Write results to specified JSON file")
|
flag.StringVarP(&settings.JsonOutput, "json", "j", settings.JsonOutput, "Write results to specified JSON file")
|
||||||
|
|
||||||
//// Parse
|
//// Parse
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
@@ -163,7 +163,7 @@ func GetSettings() (settings Settings) {
|
|||||||
|
|
||||||
// If token is not set via flag, get it from env
|
// If token is not set via flag, get it from env
|
||||||
if settings.Token == "null" || settings.Token == "" {
|
if settings.Token == "null" || settings.Token == "" {
|
||||||
settings.Token = getToken()
|
settings.Token = GetToken()
|
||||||
}
|
}
|
||||||
|
|
||||||
if settings.Token == "null" || settings.Token == "" {
|
if settings.Token == "null" || settings.Token == "" {
|
||||||
|
|||||||
+2
-1
@@ -9,7 +9,8 @@ import (
|
|||||||
flag "github.com/spf13/pflag"
|
flag "github.com/spf13/pflag"
|
||||||
)
|
)
|
||||||
|
|
||||||
func getToken() string {
|
// GetToken retrieves the GitHub token from the environment variable or config file
|
||||||
|
func GetToken() string {
|
||||||
token := os.Getenv("GITHUB_RECON_TOKEN")
|
token := os.Getenv("GITHUB_RECON_TOKEN")
|
||||||
if token != "" {
|
if token != "" {
|
||||||
return token
|
return token
|
||||||
|
|||||||
+1
-1
@@ -143,7 +143,7 @@ func PrintTitle(silent bool, title string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func PrintAvatar(settings github_recon_settings.Settings, url string) {
|
func PrintAvatar(settings github_recon_settings.Settings, url string) {
|
||||||
if settings.HideAvatar || url == "" || settings.Silent {
|
if !settings.PrintAvatar || url == "" || settings.Silent {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user