Free private Github repositories!
NOTE: This project has been discontinued as according to Github's TOC.
This is a proof of concept Github "hack" that gives free private github repos to everyone based on:
- just one paid personal account
- since recently, all personal accounts get unlimited private repositories!
- private repositories can have collaborators who are not paid members
- collaborators can fork private repositories
- forks of private repositories remain private even if collaborator isn't a paid member
- forks are entirely separate repositories with a separate git history and issue tracker and wiki and everything
- forks of forks of private repositories are also private
- forks of forks of private repositories are not readable by the owner of the original repository owner
So here we have one personal account. When someone requests a private repo, a new private repo is created on this account automatically with a cryptographically secure random token as name. The user who requested it is added as a collaborator to that repo. He may then fork it to an org, rename it and do whatever he likes with it. This literally allows a single paid Github user to provide an unlimited free private repositories to any number of users and orgs.
The code in this repository has the automation part for this written as a Node.Js app. See setup instructions below. An invite only demo is running on http://awal.js.org/free-private-gh. Request an invite at ghinvite@awalgarg.me.
Setting up
- clone repository locally
- copy
config.example.jstoconfig.jsand edit it to add your paid github account username - create an organization on your account and add its name to the config
- generate a private access token and add that to the config as well
- run
npm installand thennode src/index.js. This requires npm >=3 and nodejs >=6.
Is this even allowed?
This is not an attempt to hamper Github's business. And even if it is allowed, I do not recommend doing this. This is just a proof of concept.
Author
Awal Garg
License
WTFPL