Free private Github repos for everyone
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src
.gitignore
config.example.js
index.html
package.json
readme.md

readme.md

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.js to config.js and 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 install and then node 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