{"id":30047299,"url":"https://github.com/xtufe/github-achievement-unlocker","last_synced_at":"2025-08-09T11:03:06.273Z","repository":{"id":307847775,"uuid":"1030890092","full_name":"XTUFE/GitHub-Achievement-Unlocker","owner":"XTUFE","description":"🏅 A Python bot that helps you automatically unlock all GitHub contribution achievements — including Pull Shark, Pair Extraordinaire, and more. Easily simulate commits, PRs, co-authoring, and collaboration with full automation.","archived":false,"fork":false,"pushed_at":"2025-08-02T15:17:40.000Z","size":15,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-02T16:29:48.104Z","etag":null,"topics":["achievement-unlocker","achievements","automation","badges-unlocker","contribution-bot","developer-tools","github","github-achievements","github-api","github-bot","open-source","pair-extraordinaire","productivity","pull-shark","python","stickers-unlocker"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/XTUFE.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-02T14:50:09.000Z","updated_at":"2025-08-02T15:17:43.000Z","dependencies_parsed_at":"2025-08-02T16:30:00.510Z","dependency_job_id":null,"html_url":"https://github.com/XTUFE/GitHub-Achievement-Unlocker","commit_stats":null,"previous_names":["xtufe/github-achievement-unlocker"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/XTUFE/GitHub-Achievement-Unlocker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XTUFE%2FGitHub-Achievement-Unlocker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XTUFE%2FGitHub-Achievement-Unlocker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XTUFE%2FGitHub-Achievement-Unlocker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XTUFE%2FGitHub-Achievement-Unlocker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/XTUFE","download_url":"https://codeload.github.com/XTUFE/GitHub-Achievement-Unlocker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XTUFE%2FGitHub-Achievement-Unlocker/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269402179,"owners_count":24410960,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-08T02:00:09.200Z","response_time":72,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["achievement-unlocker","achievements","automation","badges-unlocker","contribution-bot","developer-tools","github","github-achievements","github-api","github-bot","open-source","pair-extraordinaire","productivity","pull-shark","python","stickers-unlocker"],"created_at":"2025-08-07T09:38:43.978Z","updated_at":"2025-08-08T10:03:45.834Z","avatar_url":"https://github.com/XTUFE.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GitHub Achievement Unlocker\n🏅 A Python bot that helps you automatically unlock all GitHub contribution achievements — including Pull Shark, Pair Extraordinaire, and more. Easily simulate commits, PRs, co-authoring, and collaboration with full automation.\n\n⭐ Please star this repo if you find it helpful!\nI'm building unlockers for all GitHub achievements, and soon also for other platforms and apps. Stay tuned and show your support! 🙌\n\n\n⚠️ Disclaimer\n\n    🧠 This project is for educational and testing purposes only.\n    🚫 Do not abuse the GitHub API or use this bot to spam other users or repositories.\n    ✅ This tool is designed to run responsibly on your own repositories to help you understand GitHub automation, contribution tracking, and achievements.\n    🧪 Use it to learn, experiment, or test GitHub workflows — not to game the system or violate GitHub's Terms of Service.\n\n\n🦈 Pull Shark Achievement Unlocker\n\nUnlock GitHub’s Pull Shark achievement automatically by creating and merging pull requests on a loop.\n\nThis Python bot simulates pull request activity by continuously creating branches, updating the README.md file, opening pull requests, and merging them — helping you earn the Pull Shark contribution badge on GitHub.\n🚀 Features\n\n    Creates new branches for every update\n\n    Modifies README.md by appending a character\n\n    Opens and merges a PR each cycle\n\n    Helps you unlock the Pull Shark GitHub achievement\n\n    Fully automated loop with adjustable speed\n\n⚙️ Setup Instructions\n1. Create a Public GitHub Repository\n\n    Name it test or anything you like.\n\n2. Generate a Fine-Grained Personal Access Token (PAT)\n\n    Go to GitHub → Developer Settings → Tokens\n\n    Create a new Fine-grained token\n\n    Set Repository access to your chosen repo\n\n    Under Permissions, enable:\n\n        All Permissions  → Read and Write\n\n3. Edit the Bot Script\n\nReplace the placeholder values at the top of the script:\n\nTOKEN = \"YOUR GITHUB TOKEN\"\nOWNER = \"YOUR GITHUB USERNAME\"\nREPO = \"YOUR REPO NAME\"\nFILENAME = \"README.md\"\n\n4. Install Requirements\n\npip install requests\n\n5. Run the Bot\n\npython bot.py\n\nThe bot will:\n\n    Create a branch\n\n    Update README.md\n\n    Open and merge a pull request\n\n    Repeat continuously\n\n🧠 Why Use This?\n\nThis bot is ideal for:\n\n    Unlocking the Pull Shark achievement automatically\n\n    Testing GitHub Actions, PR workflows, or CI/CD pipelines\n\n    Simulating user activity in your GitHub projects\n\n⚠️ Notes\n\n    Runs infinitely; press Ctrl + C to stop\n\n    Default interval is 10 seconds between each iteration to prevent GitHub API abuse\n\n    Requires a main branch in your repo\n\n    Use responsibly to avoid hitting GitHub rate limits or triggering anti-abuse mechanisms\n\n----------------------------------------\n\n🤝 Pair Extraordinaire Achievement Bot\n\nAutomate GitHub contributions with a co-author to unlock the Pair Extraordinaire achievement.\n\nThis Python bot simulates co-authoring by continuously:\n\n    Creating a new branch\n\n    Appending to README.md\n\n    Committing changes with a co-author signature\n\n    Opening a pull request\n\n    Merging the PR\n\n    Repeating the process every few seconds\n\n🌟 What It Does\n\n    🔁 Auto-generates pull requests with co-authored commits\n\n    🤝 Helps you and a friend (or alt account) unlock the Pair Extraordinaire badge\n\n    🧪 Useful for testing co-authoring setups and GitHub workflows\n\n    ⏱️ Sleeps between requests to avoid API abuse\n\n⚙️ Setup Instructions\n✅ 1. Create a Public GitHub Repository\n\n    Name it test or any name you want.\n\n    Ensure it has a main branch.\n\n🤝 2. Add a Collaborator\n\n    Invite your friend or secondary GitHub account to the repo.\n\n    They must accept the invitation before running the bot.\n\n🔑 3. Generate a Fine-Grained Personal Access Token\n\n    Go to GitHub → Developer Settings → Tokens\n\n    Click \"Generate new token\"\n\n    Set Repository access to your test repo\n\n    Set Permissions:\n\n        All Permissions  → Read and Write\n\n🛠️ 4. Configure the Script\n\nReplace the following values in the script:\n\nTOKEN = \"YOUR GITHUB TOKEN\"               # your fine-grained token\nOWNER = \"YOUR GITHUB USERNAME\"            # your GitHub username\nREPO = \"YOUR TEST REPO\"                   # your test repo name\nFILENAME = \"README.md\"                    # file to modify\n\nCOAUTHOR_NAME = \"YOUR FRIEND'S USERNAME\"  \nCOAUTHOR_EMAIL = \"FRIEND EMAIL ON COMMITS\"  # must match verified email on GitHub\n\n📦 5. Install Requirements\n\npip install requests\n\n▶️ 6. Run the Bot\n\npython bot.py\n\n🧠 How It Works\n\n    Uses the GitHub REST API to automate branch creation, file edits, PRs, and merges.\n\n    Commits include the standard co-author signature:\n\n    Co-authored-by: username \u003cemail\u003e\n\n    Each cycle appends a letter to README.md, creates a PR, and merges it.\n\n💤 Delay and Retry Logic\n\n    Sleep Time Between Cycles: 10 seconds (you can adjust it in time.sleep(10))\n\n    On Failure: Waits 60 seconds and retries\n\n🛑 Notes\n\n    The co-author must have a GitHub-verified email that matches the one in the commit.\n\n    This bot runs indefinitely — use Ctrl+C to stop it.\n\n    Do not abuse the GitHub API; respect their rate limits.\n\n🏅 Achievement: Pair Extraordinaire\n\nOnce you and your co-author make enough merged co-authored PRs, GitHub will award you the Pair Extraordinaire badge on your profile.\n\n\n📄 License\n\nMIT License. Use freely and modify as you like.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxtufe%2Fgithub-achievement-unlocker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxtufe%2Fgithub-achievement-unlocker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxtufe%2Fgithub-achievement-unlocker/lists"}