Automate GitHub Repositories & Tailscale Security: A PyQt5 GUI Guide
Managing GitHub repositories and Tailscale networks manually can be tedious. I built a professional desktop GUI using PyQt5 to automate bulk repository creation, encrypted secret management, and secure mesh networkingβhereβs how you can too.
π What This Tool Does
- Bulk GitHub repo creation with consistent naming and visibility
- Encrypted secret management for GitHub Actions and environments
- Tailscale auth key generation (reusable or ephemeral)
- Workflow triggers and file uploads across repos
- System diagnostics and real-time status dashboard
Built with PyQt5, PyGithub, and Tailscale API, all wrapped in a clean Windows executable.
π οΈ Tech Stack
- Python 3.10+ with PyQt5 for the GUI
- PyGithub for GitHub API interactions
- Tailscale API for mesh networking
- PyNaCl for local secret encryption
- PyInstaller for standalone Windows builds
π Project Structure
Github-Tailscale-Automation/
βββ core/ # Main application logic
βββ gui/ # PyQt5 UI components
βββ api/ # GitHub/Tailscale API clients
βββ utils/ # Helpers, logging, paths
βββ resources/ # Icons and assets
βββ docs/ # Screenshots and guides
βββ main.py # Entry point
π Key Features in Action
Bulk Repository Creation
# Simplified example
from github import Github
g = Github(token)
org = g.get_organization("myorg")
for i in range(5):
repo = org.create_repo(
f"project-{i+1}",
private=True,
auto_init=True
)
Encrypted Secret Storage
- Secrets are encrypted locally using PyNaCl
- Only decrypted in memory when needed
- Never stored in plaintext or git history
Tailscale Key Generation
- Generate reusable or ephemeral auth keys
- Set expiration and ACL rules
- One-click copy to clipboard
π¦ Building the Executable
Using PyInstaller with a custom spec:
pyinstaller Github_Tailscale_Automation.spec
Key .spec settings:
- Bundle as one folder for reliability
- Include
resources/and icon - Hidden imports for PyQt5 modules
π‘οΈ Security Practices
- Local encryption for all credentials
- HTTPS-only API communication
- No cloud storage of tokens
- Git exclusion of sensitive configs
- Fine-grained GitHub token scopes
π Real-World Benefits
- Time savings: Create 50 repos in minutes, not hours
- Consistency: Uniform naming, permissions, and files
- Security: Encrypted secrets, minimal exposure
- Usability: GUI for non-CLI users
π― Who This Is For
- DevOps engineers managing multiple repos
- Security teams automating mesh networking
- Developers wanting GUI-based automation
- Teams standardizing repo creation workflows
π Getting Started
- Clone the repo
git clone https://github.com/haseebkaloya/Github-Tailscale-Automation
cd Github-Tailscale-Automation
- Install dependencies
pip install -r requirements.txt
- Run the app
python main.py
Or download the Windows executable from the Releases page.
π€ Contributing
Contributions welcome! See CONTRIBUTING.md for guidelines.
π Links
- GitHub Repository: https://github.com/haseebkaloya/Github-Tailscale-Automation
- Live Releases: https://github.com/haseebkaloya/Github-Tailscale-Automation/releases
- Documentation: https://github.com/haseebkaloya/Github-Tailscale-Automation/tree/main/docs
Tags: #python #pyqt #github #tailscale #devops #automation #security #gui #pyinstaller
What automation challenges are you solving? Share in the comments!

Top comments (0)