CLI tool to manage multiple GitHub accounts for batch operations
Project description
GitHub Hacker
A CLI tool to manage multiple GitHub accounts for batch operations like starring, watching, and forking repositories.
Features
- Multi-account Management: Login, logout, and manage multiple GitHub accounts
- Batch Operations: Perform operations with all accounts at once
- Repository Operations:
- Star/Unstar repositories
- Watch/Unwatch repositories (subscribe to notifications)
- Fork repositories
- Check status (starred/watched)
- View repository information
- Config Management: Import/export account data in JSON format
Installation
Option 1: Install from source (recommended for development)
# Clone the repository
git clone https://github.com/SSBun/GithubHacker.git
cd GithubHacker
# Create virtual environment
python -m venv venv
# Activate virtual environment
# On Linux/Mac:
source venv/bin/activate
# On Windows:
venv\Scripts\activate
# Install in development mode
pip install -e .
# Or install dependencies only
pip install -r requirements.txt
Option 2: Install as package (when published to PyPI)
pip install github-hacker
After installation, use the github-hacker command directly:
github-hacker --help
Quick Start
Login with GitHub Account
python main.py login myaccount YOUR_GITHUB_TOKEN
List Accounts
python main.py config list
Star a Repository (All Accounts)
python main.py star owner/repo
# Or use full URL
python main.py star https://github.com/owner/repo
Star with Specific Account
python main.py star owner/repo -a myaccount
Commands
Account Management
# Add account
python main.py login <name> <token>
# Remove account
python main.py logout <name>
# List accounts
python main.py config list
# Export accounts to JSON
python main.py config export accounts.json
# Import accounts from JSON
python main.py config import accounts.json
# Validate all tokens
python main.py config validate
# Show account info
python main.py config whoami
Repository Operations
# Star a repository
python main.py star <repo>
python main.py star <repo> -a <account>
# Unstar a repository
python main.py unstar <repo>
# Watch a repository (notifications)
python main.py watch <repo>
# Unwatch a repository
python main.py unwatch <repo>
# Fork a repository
python main.py fork <repo>
# Check status (starred/watched)
python main.py status <repo>
# Show repository info
python main.py info <repo>
Supported Repository Formats
Both formats are supported:
- Short format:
owner/repo - Full URL:
https://github.com/owner/repo
JSON Account Format
When importing/exporting accounts, use this format:
{
"myaccount": {
"token": "ghp_xxxxxxxxxxxx",
"username": "githubuser"
}
}
Getting a GitHub Token
- Go to GitHub Settings > Developer settings > Personal access tokens
- Click "Generate new token (classic)"
- Select the
reposcope for full access - Copy the generated token
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file github_hacker-0.1.0.tar.gz.
File metadata
- Download URL: github_hacker-0.1.0.tar.gz
- Upload date:
- Size: 10.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
75f9af1b47c5613b008647805794071f899bff722c180289f8d4c0f581da20f2
|
|
| MD5 |
b81914a11ee85cce5ab9e58d1783a5ff
|
|
| BLAKE2b-256 |
d9d7873c2787eca0b5d151fd024a5f821b7fb099be22901f59125ab153c46a0e
|
File details
Details for the file github_hacker-0.1.0-py3-none-any.whl.
File metadata
- Download URL: github_hacker-0.1.0-py3-none-any.whl
- Upload date:
- Size: 11.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5a12d57e741818fd814fd93660ef0c9e6c99730d9fc0bc31de96d0d1457dbfae
|
|
| MD5 |
fdf79cfaaeabe8079001b2387e028619
|
|
| BLAKE2b-256 |
fa9ac4c9b716dfa1fc03ca58bcf0fcf9fdd9a36f2a9254b935b957c58ed3b280
|