• Stars
    star
    456
  • Rank 95,985 (Top 2 %)
  • Language
    Python
  • License
    MIT License
  • Created almost 9 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Contribute Code Anonymously

gitmask_view

Gitmask

Contribute Code Anonymously

Introduction

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.

Features

  • Does not require a Github account - Gitmask is completely anonymous
  • Mimic's a standard git remote, allowing you to keep your normal development workflow and tools.
  • Automatically creates a pull request against target repository & branch
  • Hosted Open Source project. Use gitmask.com or run it yourself if you're privacy conscious.
  • Inline progress logs
  • Coming Soon Allows you to anonymously comment on Pull Requests opened by Gitmask, to provide context to your commits.

Why?

There's a number of reasons why you may want to contribute to a Github project anonymously.

  • Government - you may live in a country/region where the government tracks your contributions online
  • Career - you may be contributing to a project that your employer may not approve of
  • Security - you may want to contribute to a project that implies financial interest
  • Prove a point - you may want to write something controversial to start a discussion.
  • You just value your privacy.

Getting Started

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.

Configuration

Coming Soon

Testing

Coming Soon

Contributing

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.

  • Issue your github access token

    • Go to github Settings > Developer settings > Personal access tokens
    • Run generate new token
      • scopes
        • public_repo
  • 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
    
    • The URLs for endpoints are shown.
      • You can redisplay that with sls info

Serverless offline

sls requirements install
PYTHONPATH=~/Library/Caches/serverless-python-requirements/2674a9f8121c5816727ff9f31e4684c72875956b15f0bbb0eb0d69838d6ad47b_slspyc sls offline start

Useful Commands

  • 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

References

Logo

hacker icon designed by sultan mohammed

More Repositories

1

scrutiny

Hard Drive S.M.A.R.T Monitoring, Historical Trends & Real World Failure Thresholds
Go
5,037
star
2

lexicon

Manipulate DNS records on various DNS providers in a standardized way.
Python
1,472
star
3

hatchet

Cut down spam in your Gmail Inbox
Go
367
star
4

dropstore-ng

Dropbox Datastore bindings for AngularJS
JavaScript
243
star
5

drawbridge

manage SSH access to multiple applications/environments protected by bastion servers
Go
220
star
6

matchmedia-ng

matchmedia wrapper for angularjs
JavaScript
137
star
7

capsulecd

Continuous Delivery for automating package releases (npm, cookbooks, gems, pip, jars, etc)
Go
96
star
8

docker-cron

`cron` base images for various distros.
Dockerfile
85
star
9

justvanish

Tell databrokers to F#@% Off. Your data is your data, they shouldn't be monetizing your personal information without your knowledge.
Go
74
star
10

you-dont-know-jenkins-init

Groovy
58
star
11

lantern

Peer into your requests.
Go
23
star
12

aws-api-gateway-letsencrypt

AWS Api Gateway Custom Certificates using Letsencrypt
Python
20
star
13

you-dont-know-jenkins

Code/Snippets for Jenkins Automation blog post.
Ruby
20
star
14

goodreads.js

GoodReads NodeJS API
JavaScript
12
star
15

zRSSFeed

zRSSFeed by Zazar, modified to support multiple RSS Feeds
JavaScript
11
star
16

DeDRM.Net

No Longer Maintained, use https://github.com/apprenticeharper/DeDRM_tools
Python
11
star
17

Wix3.6Toolset

WixToolset 3.6 RC0 Branch + Client Tools DLL
C#
9
star
18

tentacle

Retrieve your secrets from wherever they live. Vault/Cyberark/Thycotic/Keychain/Keyring/etc.
Go
8
star
19

quietthyme.plugin

Quietthyme Calibre Plugin
Python
8
star
20

letsencrypt-http01-docker-nginx-example

Dockerfile which automates Letsencrypt using Nginx
Shell
7
star
21

you-dont-know-jenkins-job-dsl

Jenkins Job DSL example for "You Dont Know Jenkins" blog series
Groovy
7
star
22

bedrock

Dockerfile
7
star
23

pubsub-emitter

sails socket hook to communicate with a standalone socket.io server.
JavaScript
5
star
24

docker-jenkins-inbound-agent-runtimes

Language specific Jenkins inbound agent containers. See https://github.com/jenkinsci/docker-inbound-agent/
Dockerfile
4
star
25

GoodReadsSharp

GoodReadsSharp is a C# client library for the GoodReads API. Used to power QuietThyme.com goodreads authentication and integration.
C#
4
star
26

pouchdb-ng

PouchDB AngularJS Bindings
JavaScript
3
star
27

Iris

in browser epub + mobi ebook viewer,powered by monocle + js-epub
JavaScript
3
star
28

web-zipper

Online Zip File generator. Will generate a zip file when given a list of urls.
2
star
29

obscenity

generic password retrieval library
2
star
30

novel-concepts

2
star
31

Veil

Angular Application that allows you to securely encrypt and retrieve your SSH keys from Dropbox storage.
JavaScript
2
star
32

go-util

utility functions for go.
Go
2
star
33

docker-hub-matrix-builds

Test repo for docker hub matrix builds. See https://blog.thesparktree.com/docker-hub-matrix-builds
Shell
2
star
34

sunlight

Expose your Keystore (or Keychain) secrets as environmental variables.
Go
1
star
35

you-dont-know-jenkins-dynamic-kubernetes-slaves

Setting up a Jenkins + Kubernetes lab environment.
Dockerfile
1
star
36

scrutiny_windows_test

Dockerfile
1
star
37

node-angular-less-seed

NodeJS + AngularJS + EJS Templates + Bootstrap/Less Seed
JavaScript
1
star
38

lucid-wix

Lucid-Wix is a C# library that creates fluent bindings to Wix 3.7
C#
1
star
39

flywheel

Preserve your productivity. Setup scripts for your new Mac.
Shell
1
star
40

sails-passport-authentication

Sails 0.9.x example using passport authentication, Google, LinkedIn, Facebook, Twitter.
JavaScript
1
star
41

sails-helm

Sails.js activeadmin style administration application.
1
star
42

recall

Google Chrome extension for Mozilla SyncServer
1
star
43

you-dont-know-jenkins-configuration-as-code

Dockerfile
1
star
44

share-plates-beta

JavaScript
1
star
45

jason-is-baller

The source for JasonIsABaller.com
1
star
46

jquery-unison

JQuery Plugin that aggregates multiple Google Calendars
JavaScript
1
star
47

kickback

Generates a Google Sheet that can be used to easily split trip expenses between friends. Based on Chi's amazing Owing Sheet.
JavaScript
1
star
48

banditio.engine

Python websocket server implementing the bare minimum Chrome Remote Debugging Protocol (all notifications are pushed via the banditio.proxy)
Python
1
star
49

docker-consul-template-haproxy

forked/merged from https://github.com/bluk/docker-consul-template-haproxy-app and https://github.com/bluk/docker-consul-template-haproxy
Shell
1
star
50

npm_analogj_test

Test npm package for use with capsulecd.
JavaScript
1
star
51

newrelic-serverless-go-playground

Serveless Framework + Go + Newrelic Playground
Go
1
star