{"id":17034967,"url":"https://github.com/justquick/salt-cellar","last_synced_at":"2025-09-09T14:19:19.005Z","repository":{"id":66561702,"uuid":"172584460","full_name":"justquick/salt-cellar","owner":"justquick","description":"File \u0026 Directory Encryption Toolchain Built from NaCL","archived":false,"fork":false,"pushed_at":"2022-08-06T01:13:23.000Z","size":211,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-27T20:02:52.157Z","etag":null,"topics":["encryption"],"latest_commit_sha":null,"homepage":"https://salt-cellar.readthedocs.io/en/latest/","language":"Python","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/justquick.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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-02-25T21:03:53.000Z","updated_at":"2022-06-15T10:52:44.000Z","dependencies_parsed_at":null,"dependency_job_id":"bba23ec6-99bc-49eb-8206-a65ed57ade20","html_url":"https://github.com/justquick/salt-cellar","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/justquick/salt-cellar","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/justquick%2Fsalt-cellar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/justquick%2Fsalt-cellar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/justquick%2Fsalt-cellar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/justquick%2Fsalt-cellar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/justquick","download_url":"https://codeload.github.com/justquick/salt-cellar/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/justquick%2Fsalt-cellar/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260114403,"owners_count":22960896,"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":["encryption"],"created_at":"2024-10-14T08:45:08.207Z","updated_at":"2025-06-16T06:31:59.755Z","avatar_url":"https://github.com/justquick.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Salt Cellar Encryption Tool\n\nSalt Cellar is a Python program that protects your files and folders using hard encryption. The `pynacl-cellar` package provides the command line tool `cellar` to encrypt and decrypt your files/folders using a secret key and protect them from prying eyes. Files are quickly encrypted/decrypted fully asynchronously using asyncio/aiofiles. \n\n## Encryption\n\nThe hard encryption is accomplished using the [PyNaCl](https://pynacl.readthedocs.io/) package and the [libsodium](https://doc.libsodium.org/) library. The underlying encryption algorithm is [Salsa20](https://cr.yp.to/salsa20.html) which is fast and increases the file size very minimally. By default, `cellar` encrypts the files in place, overwriting the original files with the encrypted version.\n\n\n\u003e :warning: **DO NOT FORGET YOUR KEY!** This program will encrypt your files and make them unusable until you decrypt them. If you lose/forget the secret key then the files will not be recoverable. Use at your own risk\n\n\n## Keys\n\nA secret key for use with the tool should be 32 bytes long. It can be stored as a file, environment variable or entered in the command line. If the key is too short it will be truncated and if it's too long it will be padded with null bytes.\n\n## Install\n\n- Install [libsodium](https://doc.libsodium.org/)\n- Recommend using [pipx](https://pypa.github.io/pipx/) for installing the CLI tool\n\n    `pipx install pynacl-cellar`\n\n- Then run the command with pipx\n\n    `pipx run cellar ...`\n\n## Usage\n\nThe CLI command is `cellar` and you can call `encrypt` or `decrypt` on a set of paths. Paths can be files, folders or `-` for stdin\n\n```\nUsage: cellar [OPTIONS] COMMAND [ARGS]...\n\nOptions:\n  --version                Show the version and exit.\n  -v, --verbosity          Output level WARN/INFO/DEBUG\n  -l, --log-file FILENAME  File path to write logs to\n  -k, --key-file FILENAME  File path to use for secret key or CELLAR_KEYFILE env var\n  -p, --key-phrase TEXT    Text to use as secret key. Use \"-\" to read from stdin. Do NOT type your key via command line! It will show in your shell history\n  -P, --key-prompt         Prompt for the secret key (default)\n  --help                   Show this message and exit.\n\nCommands:\n  decrypt  Decrypts given paths.\n  encrypt  Encrypts given paths.\n```\n\n## Env Vars\n\n### CELLAR_KEYFILE\n A file that contains the content of your private key (32 bytes)\n\n### CELLAR_KEYPHRASE\n A string that contains the content of your private key (32 bytes)\n\n### CELLAR_LOGFILE\nA filename to use for logging\n\n## Example\n\n### Encrypt a given directory\n\n```bash\n$ cellar -vv encrypt test-dir/\nSecret key: \nWARNING cellar __init__: Key too short, padding to to 32 characters\nINFO cellar encrypt_file: Encrypted file test-dir/mypic.jpg\nINFO cellar encrypt_dir: Encrypted directory test-dir\n```\n\n### Encrypt stdin\n\n```bash\n$ echo foobarbaz | cellar encrypt -\n9T�䳵�B���S��*�����S��\n# Decrypt it using pipes\n$ echo foobarbaz | cellar encrypt - | cellar decrypt -\nfoobarbaz\n```\n\n### Encrypt files w/ pipe redirection\n\n```bash\n$ cellar encrypt - \u003c plain.txt \u003e encrypted.txt\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjustquick%2Fsalt-cellar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjustquick%2Fsalt-cellar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjustquick%2Fsalt-cellar/lists"}