{ "info": { "author": "tao.py", "author_email": "taojy123@163.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.7", "Topic :: Software Development :: Version Control :: Git" ], "description": "# git-easy-crypt\n\nThe easy way to encrypt/decrypt private files in the git repo.\n\n\n## Install\n\nyou can install git-easy-crypt by pip:\n\n```\n$ pip install git-easy-crypt\n```\n\nor download the script directly:\n\n```\n$ sudo curl -o /usr/local/bin/gecrypt https://raw.githubusercontent.com/taojy123/git-easy-crypt/master/gecrypt.py \n$ sudo chmod a+x /usr/local/bin/gecrypt\n```\n\n\n---------------\n\n\n## Usage\n\n``` \n gecrypt setkey mysecretkey Set a secret key for encrypt/decrypt in current repo\n gecrypt setkey mysecretkey -y Set a secret key without input yes\n gecrypt showkey Show secret key\n gecrypt encrypt file Encrypt a file (decrypt file to file.sec)\n gecrypt encryptall Encrypt all decrypted files in current repo\n gecrypt decrypt file.sec Decrypt a file (decrypt file.sec to file)\n gecrypt decrypt file.sec anther_file Decrypt file.sec to anther_file\n gecrypt decryptall Decrypt all encrypted files in current repo\n gecrypt version Show version\n gecrypt help Show help for commands\n```\n\n\n---------------\n\n\n## Best Practice\n\n\n### Alice, encrypt the secret files and push:\n\n```\n$ git clone https://github.com/taojy123/test\nCloning into 'test'...\n...\nUnpacking objects: 100% (3/3), done.\n$ cd test\n\n$ gecrypt setkey abc123\n`abc123` has saved in .git-easy-crypt-key\n\n$ echo MYSECRET=AAA > keys.txt\n$ ls\nREADME.md keys.txt\n\n$ gecrypt encrypt keys.txt \nEncrypt success!\nThe secret code has been saved in `keys.txt.sec`, and `keys.txt` is ignored by git.\nYou must keep the secret key `abc123` in mind for decrypt the file in the future!!!\n$ ls\nREADME.md keys.txt keys.txt.sec\n\n$ git add .\n$ git commit -m \"add encrypted secret file\"\n[master 3d8ef6f] add encrypted secret file\n 2 files changed, 5 insertions(+)\n create mode 100644 .gitignore\n create mode 100644 keys.txt.sec\n\n$ git push\n...\nTo https://github.com/taojy123/test\n 4d86b27..3d8ef6f master -> master\n$ \n```\n\n\n### Bob, pull and decrypt the secret files:\n\n```\n$ git clone https://github.com/taojy123/test\nCloning into 'test'...\n...\nUnpacking objects: 100% (7/7), done.\n$ cd test\n\n$ ls\nREADME.md keys.txt.sec\n\n$ gecrypt setkey abc123\n`abc123` has saved in .git-easy-crypt-key\n\n$ gecrypt decryptall\n`./keys.txt.sec` has been decrypted to `./keys.txt`.\n\n$ ls\nREADME.md keys.txt keys.txt.sec\n\n$ cat keys.txt\nMYSECRET=AAA \n$ \n```", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/taojy123/git-easy-crypt", "keywords": "git encrypt decrypt", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "git-easy-crypt", "package_url": "https://pypi.org/project/git-easy-crypt/", "platform": "", "project_url": "https://pypi.org/project/git-easy-crypt/", "project_urls": { "Homepage": "https://github.com/taojy123/git-easy-crypt" }, "release_url": "https://pypi.org/project/git-easy-crypt/1.0.4/", "requires_dist": null, "requires_python": "", "summary": "The easy way to encrypt/decrypt private files in the git repo.", "version": "1.0.4" }, "last_serial": 4739260, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "9c3d6d1c449e9d2fc6694f4f95a58c37", "sha256": "d92808cbc25397e8c4b002422fd668919743ab3e1b48cf92ce2d74b513a8aa8b" }, "downloads": -1, "filename": "git-easy-crypt-1.0.0.tar.gz", "has_sig": false, "md5_digest": "9c3d6d1c449e9d2fc6694f4f95a58c37", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3625, "upload_time": "2019-01-23T14:37:39", "url": "https://files.pythonhosted.org/packages/d4/a2/ff517a4d2ea97d9d19b66136ad4b447b1f6b251939f8ae6dddecfa654ddf/git-easy-crypt-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "fbf4dadaf7d00e3054178c41d57868de", "sha256": "a50123613c89207b199fa1578afa798c7f07cc380a9372751821b9e4dda46b87" }, "downloads": -1, "filename": "git-easy-crypt-1.0.1.tar.gz", "has_sig": false, "md5_digest": "fbf4dadaf7d00e3054178c41d57868de", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3615, "upload_time": "2019-01-23T14:44:13", "url": "https://files.pythonhosted.org/packages/e3/20/25fae5b31d5b340817975b742509656ca55ed4d429930d9866a8d051bacd/git-easy-crypt-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "418d61b984581d8f7034aa2b6b5e238f", "sha256": "8e72ca92abc379b5c3463f44642bfe37676c520a9b47bd79eedebd506b023d3f" }, "downloads": -1, "filename": "git-easy-crypt-1.0.2.tar.gz", "has_sig": false, "md5_digest": "418d61b984581d8f7034aa2b6b5e238f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3665, "upload_time": "2019-01-23T15:10:20", "url": "https://files.pythonhosted.org/packages/4a/87/465a4d4e32fa6ca9d5a626999698050dbde1dd74e6826081ec05775ed45f/git-easy-crypt-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "789d507f4f9cbbee7a84265a84c0ba3e", "sha256": "25d93d36d39c75350ea28e8fafe9514cd493a026cabc1e13b8e4b186ee27f2b0" }, "downloads": -1, "filename": "git-easy-crypt-1.0.3.tar.gz", "has_sig": false, "md5_digest": "789d507f4f9cbbee7a84265a84c0ba3e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4471, "upload_time": "2019-01-25T09:24:40", "url": "https://files.pythonhosted.org/packages/6e/a9/3002b3c4fef3b1c19bdca2b081083bbca0d76904d69b9c373c554ec8c318/git-easy-crypt-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "a9fb4edd7a1d775883779070a8fd1ec0", "sha256": "413e00c8fc34a71fec6c6aac78534e80eccd9914ed9ac6e2622edab88b3aa515" }, "downloads": -1, "filename": "git-easy-crypt-1.0.4.tar.gz", "has_sig": false, "md5_digest": "a9fb4edd7a1d775883779070a8fd1ec0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4440, "upload_time": "2019-01-25T09:31:27", "url": "https://files.pythonhosted.org/packages/c6/52/7bd421af405e7f837a348ee49a5dab407deddeabec2a47e4fac624359526/git-easy-crypt-1.0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a9fb4edd7a1d775883779070a8fd1ec0", "sha256": "413e00c8fc34a71fec6c6aac78534e80eccd9914ed9ac6e2622edab88b3aa515" }, "downloads": -1, "filename": "git-easy-crypt-1.0.4.tar.gz", "has_sig": false, "md5_digest": "a9fb4edd7a1d775883779070a8fd1ec0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4440, "upload_time": "2019-01-25T09:31:27", "url": "https://files.pythonhosted.org/packages/c6/52/7bd421af405e7f837a348ee49a5dab407deddeabec2a47e4fac624359526/git-easy-crypt-1.0.4.tar.gz" } ] }