gitcloak
gitcloak
BETA release : Cloak (security) for selected files on Git.
Introduction
gitcloak
will help to securely place secretive or confidential information in
git. gitcloak
is a git
plugin created using golang
and git
.
Features
gitcloak
allows to get most features of git like:-
- Line changes/updates
- Addition or deletion of Lines (when no line-random)
- this will provide enough idea about configuration change with respect to code changes.
- i.e. this tool is binding code with configuration without using any third party tool.
- Can be used as secret store across devices, synced via github/gitlab/bitbucket
- Can be used as secret Markdown document data store, e.g. Obsidian
- Encryption Algorithms can be different for different files based on rules
- Every line can be randomized with
--line-random
flag,
- more secure when several lines in files are matching, like
- empty lines
{
, }
curly braces in C/C++/Java/JSON files
ToDo
The following things are remaining to be built, most of these will be available in BETA
release.
git commit hook
to be injected, so that gitcloak encrypt
will be always run before the actual git commit. This will ensure that all the required files are encrypted before getting committed. Done
git reset
should also rollback .gitcloak/config.yaml
so the decryption git decrypt
should work well [Time Travel].
- Make Installable on MacOSX, *BSD, Windows OS
Installation
- Currently, testing on Linux only, hence, installation on Linux can be done as given below:-
make build
make install
- Assuming
go
is installed.
Examples
Acknowledgement
I would like to dedicate this package to my Friends Venkatesh Pitta
and Puneet Vyas, without their inspiration and support, this would not be possible.
Also, I would like to thank God, my Teachers, my Parents, my Wife and Daughter
to stand with me all the times.
Contributing
Whether reporting bugs, discussing improvements and new ideas or writing
extensions: Contributions to gitcloak
are welcome! Here's how to get
started:
- Check for open issues or open a fresh issue to start a discussion
around a feature idea or a bug
- Fork the repository on
Github, create a new branch off the
master
branch and start making
your changes (known as GitHub
Flow)
- Write a test which shows that the bug was fixed or that the feature
works as expected
- Send a pull request and bug the maintainer until it gets merged and
published