change struct

Signed-off-by: Hadi <[email protected]>
This commit is contained in:
Hadi
2025-05-27 20:01:05 +02:00
parent c498e7bfdd
commit 637d9811f2
10 changed files with 55 additions and 55 deletions
+7 -7
View File
@@ -24,9 +24,9 @@ const (
func (r Recon) CloseFriends(username string) (response []CloseFriendsResult) {
r.PrintTitle("🧑‍🤝‍🧑 Close Friends")
following, resp, err := r.client.Users.ListFollowing(r.ctx, username, nil)
following, resp, err := r.Client.Users.ListFollowing(r.Ctx, username, nil)
if err != nil {
r.logger.Error("Failed to fetch user's following list", "user", username, "err", err)
r.Logger.Error("Failed to fetch user's following list", "user", username, "err", err)
r.PrintNewline()
return
}
@@ -55,15 +55,15 @@ func (r Recon) CloseFriends(username string) (response []CloseFriendsResult) {
for _, userBeingFollowedByTarget := range following {
loginName := userBeingFollowedByTarget.GetLogin()
if loginName == "" {
r.logger.Warn("User in following list has an empty login", "target_user", username)
r.Logger.Warn("User in following list has an empty login", "target_user", username)
continue
}
currentScore := 0
userDetails, userResp, userErr := r.client.Users.Get(r.ctx, loginName)
userDetails, userResp, userErr := r.Client.Users.Get(r.Ctx, loginName)
if userErr != nil {
r.logger.Warn(
r.Logger.Warn(
"Failed to fetch details for followed user",
"followed_user",
loginName,
@@ -119,9 +119,9 @@ func (r Recon) CloseFriends(username string) (response []CloseFriendsResult) {
// checkIfUserFollows checks if sourceUserLogin follows targetUserLogin.
func (r Recon) checkIfUserFollows(sourceUserLogin, targetUserLogin string) (bool, error) {
isFollowing, resp, err := r.client.Users.IsFollowing(r.ctx, sourceUserLogin, targetUserLogin)
isFollowing, resp, err := r.Client.Users.IsFollowing(r.Ctx, sourceUserLogin, targetUserLogin)
if err != nil {
r.logger.Warn("Error checking if user follows target",
r.Logger.Warn("Error checking if user follows target",
"source_user_checking", sourceUserLogin,
"target_user_to_check", targetUserLogin,
"err", err)
+3 -3
View File
@@ -20,8 +20,8 @@ func (r Recon) Commits(username string) (response []CommitsResult) {
collect := func(date string) error {
for page := 1; page <= 10; page++ {
result, resp, err := r.client.Search.Commits(
r.ctx,
result, resp, err := r.Client.Search.Commits(
r.Ctx,
fmt.Sprintf("author:%s author-date:%s", username, date),
&github.SearchOptions{
Sort: "author-date",
@@ -71,7 +71,7 @@ func (r Recon) Commits(username string) (response []CommitsResult) {
">2026-01-01",
} {
if err := collect(date); err != nil {
r.logger.Error("Failed to fetch commits", "err", err, "date", date)
r.Logger.Error("Failed to fetch commits", "err", err, "date", date)
}
}
+6 -6
View File
@@ -87,15 +87,15 @@ type DeepResult struct {
func (r Recon) Deep(username, excludeRepos string, refresh bool) (response []DeepResult) {
excludeReposList := strings.Split(excludeRepos, ",")
repos, resp, err := r.client.Repositories.ListByUser(
r.ctx,
repos, resp, err := r.Client.Repositories.ListByUser(
r.Ctx,
username,
&github.RepositoryListByUserOptions{
Type: "all",
},
)
if err != nil {
r.logger.Error("Failed to fetch repositories", "err", err)
r.Logger.Error("Failed to fetch repositories", "err", err)
return
}
@@ -139,7 +139,7 @@ func (r Recon) Deep(username, excludeRepos string, refresh bool) (response []Dee
continue
}
maxRepoSize := r.maxRepoSize * 1024
maxRepoSize := r.MaxRepoSize * 1024
if repo.Size > maxRepoSize {
r.PrintInfo(
@@ -174,7 +174,7 @@ func (r Recon) Deep(username, excludeRepos string, refresh bool) (response []Dee
)
err := cmd.Run()
if err != nil {
r.logger.Error(
r.Logger.Error(
"ERROR",
"Failed to clone repository",
"err",
@@ -190,7 +190,7 @@ func (r Recon) Deep(username, excludeRepos string, refresh bool) (response []Dee
r.PrintInfo("INFO", "Now searching for emails in cloned repositories, this may take a while...")
results, err := findEmailsAndOccurrencesInDir(tmp_folder)
if err != nil {
r.logger.Error("Failed to find emails in directory", "err", err)
r.Logger.Error("Failed to find emails in directory", "err", err)
return
}
+3 -3
View File
@@ -21,8 +21,8 @@ func (r Recon) Email(email string) (response []EmailResult) {
collect := func(date string) error {
for page := 1; page <= 10; page++ {
result, resp, err := r.client.Search.Commits(
r.ctx,
result, resp, err := r.Client.Search.Commits(
r.Ctx,
fmt.Sprintf("author-email:%s author-date:%s", email, date),
&github.SearchOptions{
Sort: "author-date",
@@ -77,7 +77,7 @@ func (r Recon) Email(email string) (response []EmailResult) {
">2026-01-01",
} {
if err := collect(date); err != nil {
r.logger.Error("Failed to fetch commits", "err", err, "date", date)
r.Logger.Error("Failed to fetch commits", "err", err, "date", date)
}
}
+7 -7
View File
@@ -17,9 +17,9 @@ type SSHKeyResult struct {
}
func (r Recon) SshKeys(username string) (response []SSHKeyResult) {
sshKeys, resp, err := r.client.Users.ListKeys(r.ctx, username, nil)
sshKeys, resp, err := r.Client.Users.ListKeys(r.Ctx, username, nil)
if err != nil {
r.logger.Error("Failed to fetch ssh keys", "err", err)
r.Logger.Error("Failed to fetch ssh keys", "err", err)
} else if len(sshKeys) == 0 {
r.PrintTitle("🔑 SSH Keys")
r.PrintInfo("INFO", "No SSH Keys found")
@@ -74,9 +74,9 @@ type GPGKeyResult struct {
}
func (r Recon) GpgKeys(username string) (response []GPGKeyResult) {
gpgKeys, resp, err := r.client.Users.ListGPGKeys(r.ctx, username, nil)
gpgKeys, resp, err := r.Client.Users.ListGPGKeys(r.Ctx, username, nil)
if err != nil {
r.logger.Error("Failed to fetch user's gpg keys", "err", err)
r.Logger.Error("Failed to fetch user's gpg keys", "err", err)
} else if len(gpgKeys) == 0 {
r.PrintTitle("🗝️ GPG Keys")
r.PrintInfo("INFO", "No GPG Keys found")
@@ -158,13 +158,13 @@ type SSHSigningKeyResult struct {
}
func (r Recon) SshSigningKeys(username string) (response []SSHSigningKeyResult) {
signingKeys, resp, err := r.client.Users.ListSSHSigningKeys(
r.ctx,
signingKeys, resp, err := r.Client.Users.ListSSHSigningKeys(
r.Ctx,
username,
nil,
)
if err != nil {
r.logger.Error("Failed to fetch user's ssh signing keys", "err", err)
r.Logger.Error("Failed to fetch user's ssh signing keys", "err", err)
} else if len(signingKeys) == 0 {
r.PrintTitle("📝 SSH Signing Keys")
r.PrintInfo("INFO", "No SSH Signing Keys found")
+12 -12
View File
@@ -8,12 +8,12 @@ import (
)
type Recon struct {
client *github.Client
logger *log.Logger
ctx context.Context
silent bool
jsonFile string
maxRepoSize int
Client *github.Client
Logger *log.Logger
Ctx context.Context
Silent bool
JsonFile string
MaxRepoSize int
}
func NewRecon(
@@ -25,11 +25,11 @@ func NewRecon(
maxRepoSize int,
) *Recon {
return &Recon{
client: client,
logger: logger,
ctx: ctx,
silent: silent,
jsonFile: jsonFile,
maxRepoSize: maxRepoSize,
Client: client,
Logger: logger,
Ctx: ctx,
Silent: silent,
JsonFile: jsonFile,
MaxRepoSize: maxRepoSize,
}
}
+2 -2
View File
@@ -12,9 +12,9 @@ type OrgResult struct {
}
func (r Recon) Orgs(username string) (response []OrgResult) {
orgs, resp, err := r.client.Organizations.List(r.ctx, username, nil)
orgs, resp, err := r.Client.Organizations.List(r.Ctx, username, nil)
if err != nil {
r.logger.Error("Failed to fetch organizations", "err", err)
r.Logger.Error("Failed to fetch organizations", "err", err)
} else if len(orgs) == 0 {
r.PrintTitle("🏢 Organizations")
r.PrintInfo("INFO", "No Organizations found")
+3 -3
View File
@@ -11,16 +11,16 @@ type SocialResult struct {
}
func (r Recon) Socials(username string) (response []SocialResult) {
resp, err := FetchGitHubAPI(r.client, "", "/users/"+username+"/social_accounts")
resp, err := FetchGitHubAPI(r.Client, "", "/users/"+username+"/social_accounts")
if err != nil {
r.logger.Error("Failed to fetch socials", "err", err)
r.Logger.Error("Failed to fetch socials", "err", err)
return
}
var socialAccounts []SocialResult
err = json.Unmarshal(resp, &socialAccounts)
if err != nil {
r.logger.Error("Failed to unmarshal socials", "err", err)
r.Logger.Error("Failed to unmarshal socials", "err", err)
return
}
+3 -3
View File
@@ -30,12 +30,12 @@ type UserResult struct {
}
func (r Recon) User(username string) (response UserResult) {
user, resp, err := r.client.Users.Get(r.ctx, username)
user, resp, err := r.Client.Users.Get(r.Ctx, username)
if resp.StatusCode == 404 {
r.logger.Fatal("User not found")
r.Logger.Fatal("User not found")
}
if err != nil {
r.logger.Fatal("Failed to fetch user's information", "err", err)
r.Logger.Fatal("Failed to fetch user's information", "err", err)
}
r.PrintTitle("👤 User informations")
+9 -9
View File
@@ -25,7 +25,7 @@ var (
)
func (r Recon) Header() {
if r.silent {
if r.Silent {
return
}
asciiArt := " __ \n ___ _/ / _______ _______ ___ \n / _ `/ _ \\/ __/ -_) __/ _ \\/ _ \\\n \\_, /_//_/_/ \\__/\\__/\\___/_//_/\n/___/ "
@@ -91,14 +91,14 @@ func FetchGitHubAPI(github *github.Client, token, path string) ([]byte, error) {
}
func (r Recon) PrintNewline() {
if r.silent {
if r.Silent {
return
}
fmt.Println()
}
func (r Recon) PrintTitle(title string) {
if r.silent {
if r.Silent {
return
}
style := lipgloss.NewStyle().Bold(true).Foreground(lipgloss.Color("#7287fd"))
@@ -106,7 +106,7 @@ func (r Recon) PrintTitle(title string) {
}
func (r Recon) PrintInfo(key, value string, more ...string) {
if r.silent {
if r.Silent {
return
}
if value == "" || value == "0001-01-01 00:00:00 +0000 UTC" {
@@ -144,20 +144,20 @@ func SkipResult(name, email string) bool {
}
func (r Recon) WriteJson(data any) {
if r.jsonFile == "" {
if r.JsonFile == "" {
return
}
file, err := os.Create(r.jsonFile)
file, err := os.Create(r.JsonFile)
if err != nil {
r.logger.Error("Failed to create JSON file", "err", err)
r.Logger.Error("Failed to create JSON file", "err", err)
return
}
defer file.Close()
as_json, _ := json.MarshalIndent(data, "", "\t")
_, err = file.Write(as_json)
if err != nil {
r.logger.Error("Failed to write to JSON file", "err", err)
r.Logger.Error("Failed to write to JSON file", "err", err)
return
}
r.PrintInfo("INFO", "JSON file created successfully", "file", r.jsonFile)
r.PrintInfo("INFO", "JSON file created successfully", "file", r.JsonFile)
}