{"id":13561360,"url":"https://github.com/thebitrebels/git-tresor","last_synced_at":"2025-04-03T17:30:39.632Z","repository":{"id":36982782,"uuid":"478691775","full_name":"thebitrebels/git-tresor","owner":"thebitrebels","description":"En- and decrypt secret files with AES-256 to store them where they are needed - next to your source code.","archived":false,"fork":false,"pushed_at":"2023-03-06T03:00:18.000Z","size":506,"stargazers_count":1,"open_issues_count":5,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-04-24T13:27:54.295Z","etag":null,"topics":["devops","devsecops","security-tools"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thebitrebels.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2022-04-06T19:02:23.000Z","updated_at":"2022-09-23T16:44:10.000Z","dependencies_parsed_at":"2024-01-14T04:12:07.337Z","dependency_job_id":null,"html_url":"https://github.com/thebitrebels/git-tresor","commit_stats":{"total_commits":47,"total_committers":3,"mean_commits":"15.666666666666666","dds":"0.34042553191489366","last_synced_commit":"bf78a0de41476a6007bed2cdcef6df9518344485"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thebitrebels%2Fgit-tresor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thebitrebels%2Fgit-tresor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thebitrebels%2Fgit-tresor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thebitrebels%2Fgit-tresor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thebitrebels","download_url":"https://codeload.github.com/thebitrebels/git-tresor/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247046769,"owners_count":20874718,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["devops","devsecops","security-tools"],"created_at":"2024-08-01T13:00:55.293Z","updated_at":"2025-04-03T17:30:39.195Z","avatar_url":"https://github.com/thebitrebels.png","language":"JavaScript","funding_links":[],"categories":["Development"],"sub_categories":["Tools"],"readme":"\u003cimg style=\"width:100%\" src=\"./logo.png\" /\u003e\n\n---\n\nEncrypt and decrypt files to store them inside a git repository. `git-tresor` uses [AES-256](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard) encryption. Every file or directory has it's own password. This enables you to commit encrypted files either in a separate git repository or inside the same repository where your secret files are needed (f.e. Android-Keystores or Signing-Certificates for Apple).\n\n---\n\n\u003ca href=\"https://github.com/thebitrebels/git-tresor/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/thebitrebels/git-tresor?color=lightgreen\u0026label=Release\u0026logo=github\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://www.npmjs.com/package/git-tresor\"\u003e\u003cimg src=\"https://img.shields.io/npm/v/git-tresor?color=lightgreen\u0026logo=npm\" /\u003e\u003c/a\u003e\n\n\u003ca href=\"https://github.com/thebitrebels/git-tresor/actions/workflows/test.yml\"\u003e\u003cimg src=\"https://img.shields.io/github/workflow/status/thebitrebels/git-tresor/Test/master?color=lightgreen\u0026label=Test\u0026logo=github\" /\u003e\u003c/a\u003e\n\n\n## Setup\n\n`git-tresor` can be installed via `npm`. If you want to install it globally simply type the following command:\n\n```\nnpm i -g git-tresor \n```\n\nFor a local installation you run `npm i git-tresor --save-dev` from your npm-folder.\n\n### Requirements\n\n`git-tresor` runs on systems that support `npm`/`node`. If you have issues with your local environment let us know!\n\n### Initialization\n\nTo initialize a new repository you should start by setting up git:\n\n```\ngit init\n```\n\nOf course you do not need this step if the git repository is already initialized. After that you can go ahead and initialize `git-tresor` by running:\n\n```\ngit-tresor init\n```\n\nIt will guide you trough the process of initialization.\n\n## Usage\n\nBelow you can see the currently available options.\n\n```\nOptions\n\n  -e, --encrypt              Flag to use encryption mode.\n  -d, --decrypt              Flag to use decryption mode.\n  -f, --file string          Path to the file that should be en- or decrypted.\n  -dir, --directory string   Path to a directory that should be en- or decrypted.\n  -p, --password string      Password that is used to en- or decrypt.\n```\n\nTo de- or encrypt files you need to set the `-d` or `-e` flag. In both cases you need to specify a file and a password.\n\n```\n# Encryption\ngit-tresor -e -f secretFile.txt -p secretPassword\n\n# Decryption\ngit-tresor -d -f secretFile.txt.enc -p secretPassword\n```\n\nIf you want to de- or encrypt folders you need to set the `-dir` option instead of `-f`.\n\n```\n# Encryption\ngit-tresor -e -dir ./secretFolder -p secretPassword\n\n# Decryption\ngit-tresor -d -dir ./secretFolder -p secretPassword\n```\n\nIn all cases, you will be prompted to enter a password if you do not set `--password` (or `-p`).\n\n## Sources \u0026 Further Readings\n\n- [Brandonstilson - Let's encrypt with node](https://medium.com/@brandonstilson/lets-encrypt-files-with-node-85037bea8c0e) - Source and inspiration for core encryption code\n- [git-secret](https://github.com/sobolevn/git-secret) - A bash-tool to store your private data inside a git repository.\n- [fastlane-match](https://docs.fastlane.tools/actions/match/) - Easily sync your certificates and profiles across your team\n- [pass](https://www.passwordstore.org/) - With pass, each password lives inside of a gpg encrypted file whose filename is the title of the website or resource that requires the password.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthebitrebels%2Fgit-tresor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthebitrebels%2Fgit-tresor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthebitrebels%2Fgit-tresor/lists"}