Contribute Code Anonymously
Contribute Code Anonymously
Gitmask is an open source hosted service that allows you to contribute to Github projects anonymously.
It mimics a standard git remote
, however all identifying information (author names, email and timestamps) embedded in
your commits are stripped, before forwarding a squashed commit to the target repository as a pull request.
There's a number of reasons why you may want to contribute to a Github project anonymously.
git clone https://github.com/AnalogJ/gitmask.git
git checkout -b feat_branch
echo "update readme" >> README.md
git commit -am "Commits will be squashed and messages overwritten"
git remote add gitmask https://git.gitmask/v1/gh/AnalogJ/gitmask
git push gitmask feat_branch:master
# Gitmask will strip identifying information from your commits.
# You will be provided with a direct link to the pull request.
Coming Soon
Coming Soon
Gitmask is written as a serverless project, specifically configured for the AWS Lambda Python runtime
You can run it locally by doing the the following:
Create an AWS account where your gitmask run.
Install nodejs, python, serverless-framework and aws-cli.
Create and setup the AWS user for the deployment.
aws configure
Issue your github access token
Configure following environment variables:
Variable | Value |
---|---|
GITHUB_API_TOKEN | github personal access token |
GITHUB_USER | github username of the personal access token |
GITMASK_SERVICE | Your own service name for gitmask, e.g. myown-gitmask-api. |
GITMASK_SERVICE_NORMALIZE | Normalized value for GITMASK_SERVICE,removing special characters and captalize the first letter. e.g. Myowngitmaskapi |
CIRCLE_SHA1 | Set the value retrieved by git rev-parse --short HEAD |
Run deployment
npm install -g serverless
npm install
pipenv install
sls deploy
sls info
sls requirements install
PYTHONPATH=~/Library/Caches/serverless-python-requirements/2674a9f8121c5816727ff9f31e4684c72875956b15f0bbb0eb0d69838d6ad47b_slspyc sls offline start
GIT_TRACE=1 GIT_TRACE_PACKFILE=~/repos/gitmask/packfile.txt GIT_TRACE_CURL=2 GIT_CURL_VERBOSE=2 git push test beta2
git unpack-objects -r < ~/repos/gitmask/packfile.txt