Skip to content

RaccoonFacts/GithubManager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

17 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ™ GithubManager

A personal GitHub social management desktop application built in C# WinForms (.NET 10) using the official Octokit.net library. Built for power users who want full control over their GitHub social presence without touching the browser.

Problem: Maybe max follower filter is set wrong, but not sure. Will investigate.


✨ Features

πŸ“Š Overview

  • Live follower and following counts
  • API rate limit monitoring
  • One-click token swap without restarting the app

πŸ”„ Follow Diff

  • Side-by-side view of who doesn't follow you back vs who you haven't followed back yet
  • Sortable Following Since column β€” click to sort by days, see who's been ignoring you longest
  • Bulk follow and unfollow with throttled, rate-limit-safe execution
  • Keep List β€” permanently protect accounts from ever appearing in your unfollow list
  • Never Follow List β€” blacklist accounts the crawler will always skip; auto-unfollows on add; import from .txt file
  • Deduplication β€” no duplicate entries across paginated API results
  • Full operation log with cancel support

πŸ€– Follow Crawler

  • Pull candidate followers from any target GitHub user
  • Choose between their followers or who they follow as your candidate source
  • Target Validation β€” preview any account before pulling:
    • Profile photo, follower/following counts, public repo count
    • Follow ratio, account age
    • Color-coded quality assessment (Excellent / Good / Decent / Poor)
  • Quality Filter β€” skip accounts with too few repos or bot-like follow ratios
  • Live streaming candidate queue β€” candidates appear as pages load
  • Randomized interval timer with countdown to next follow action
  • Configurable daily cap
  • Never Follow list checked before queuing β€” prevents re-following blacklisted accounts
  • Export candidate queue and follow log to file

⚑ Auto Follow-Back

  • Polls your followers on a configurable interval
  • Automatically follows back anyone who followed you that you haven't followed yet
  • Run Once Now for immediate execution
  • Full timestamped action log

⭐ Star-Back

  • Scans your followers' public repositories
  • Deduplicates against your existing starred repos
  • Configurable minimum star threshold and follower scan count
  • Capped at top 100 repos per user β€” prevents slowdowns on large accounts
  • Cancel mid-scan β€” partial results still populate
  • Select All + bulk star in one click

πŸ₯ Repo Health Scanner

  • Scans all your public repositories and checks for:
    • βœ” README present
    • βœ” Description set
    • βœ” Topics tagged
    • βœ” Homepage URL
    • βœ” Recent activity (flags repos stale for 6+ months)
  • Color-coded health rating per repo (Good / Okay / Poor)
  • Quick Fix Topics β€” set topics on any repo directly from the app
  • Open any repo in browser with one click

πŸ† Achievements Tracker

Checks progress against all current GitHub achievements via the API:

Achievement Tiers How Checked
🌟 Starstruck 16 / 128 / 512 / 4096 stars Scans your repos
🦈 Pull Shark 2 / 16 / 128 / 1024 merged PRs Search API
⚑ Quickdraw Close issue within 5 min Events API
πŸ‘₯ Pair Extraordinaire 1 / 10 / 24 / 48 co-authored commits Code search
🀞 YOLO Merge PR without review Manual check
🧠 Galaxy Brain Accepted discussion answers Manual check
πŸ’ Public Sponsor Sponsor a user Manual check
🧊 Arctic Code Vault 2020 code snapshot Account age check
  • Color-coded status (Unlocked / In Progress / Locked)
  • How To Unlock popup with tier breakdown per achievement
  • Direct links to relevant GitHub pages

πŸ‘€ Profile Preview

  • Embedded browser showing your live GitHub profile
  • Auto-refresh timer configurable down to 1 second
  • Live countdown to next refresh + total refresh counter
  • Open in default browser button

πŸ”§ Requirements

  • Windows 10 or later
  • .NET 10 Runtime
  • Visual Studio 2022+ (for building from source)
  • GitHub Personal Access Token (PAT)

πŸ”‘ GitHub Token Setup

Requires a Classic Personal Access Token with:

Scope Required For
user:follow Follow / Unfollow operations
public_repo Starring repositories
read:user Profile and achievement data
  1. Go to github.com/settings/tokens
  2. Generate new token (classic)
  3. Check: user:follow, public_repo, read:user
  4. Copy the token β€” shown once only

⚠️ Fine-grained tokens handle starring differently. Classic tokens recommended for full compatibility.


πŸš€ Getting Started

git clone https://github.com/RaccoonFacts/GithubManager.git
cd GithubManager
  1. Open GithubManager.sln in Visual Studio 2022
  2. Manage NuGet Packages β†’ install:
    • Octokit
    • System.Security.Cryptography.ProtectedData
  3. Build β†’ Run (F5)
  4. Enter your PAT on first launch β€” check Remember Token to encrypt and persist it

πŸ”’ Security

  • Token encrypted via Windows DPAPI (ProtectedData.Protect), tied to your Windows user account
  • Stored at %AppData%\GithubManager\token.enc β€” never plain text
  • All persistent data stays local, only outbound connection is the official GitHub API

πŸ“ Project Structure

GithubManager/
β”œβ”€β”€ Form1.cs                  ← Main form (all tab handlers)
β”œβ”€β”€ Form1.Designer.cs         ← UI layout (8 tabs)
β”œβ”€β”€ GitHubSocialManager.cs    ← Core GitHub API service layer
β”œβ”€β”€ FollowCrawler.cs          ← Randomized follow automation with timer
β”œβ”€β”€ AutoFollowBackService.cs  ← Polling service for auto follow-back
β”œβ”€β”€ AchievementChecker.cs     ← Achievement progress checker
β”œβ”€β”€ FollowTracker.cs          ← Persistent follow date log (JSON)
β”œβ”€β”€ KeepList.cs               ← Persistent keep list (JSON)
β”œβ”€β”€ NeverFollowList.cs        ← Persistent blacklist (JSON)
β”œβ”€β”€ ListViewDaySorter.cs      ← Sortable follow-age column
β”œβ”€β”€ TokenStorage.cs           ← DPAPI encrypted token storage
└── Program.cs                ← Entry point

βš™οΈ Data Files

All stored in %AppData%\GithubManager\:

File Contents
token.enc DPAPI encrypted GitHub PAT
follow_log_{username}.json Follow dates per user
keep_list_{username}.json Protected accounts
never_follow_{username}.json Crawler blacklist

πŸ› οΈ Built With


⚠️ Disclaimer

Uses the official GitHub API with your own credentials against your own account. Built-in rate limiting, daily caps, and randomized delays keep usage within acceptable bounds.


πŸ“„ License

MIT β€” do whatever you want with it.

About

A personal GitHub social management tool for Windows. Manage follows, automate follow-back, scan repo health, track achievements, and grow your GitHub presence from a single desktop app powered by the official GitHub API.

Topics

Resources

License

Stars

4 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages