{"id":22310864,"url":"https://github.com/joaoiacillo/vault-guard","last_synced_at":"2026-04-29T08:02:18.181Z","repository":{"id":219485303,"uuid":"749167589","full_name":"joaoiacillo/vault-guard","owner":"joaoiacillo","description":"A script utility for encrypting and decrypting Obsidian vaults.","archived":false,"fork":false,"pushed_at":"2024-01-27T20:53:02.000Z","size":18,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-26T02:13:27.608Z","etag":null,"topics":["cryptography","gpg","obsidian","pgp","security"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/joaoiacillo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2024-01-27T19:17:36.000Z","updated_at":"2024-01-30T23:39:44.000Z","dependencies_parsed_at":null,"dependency_job_id":"e511eb66-db24-4017-b608-529874b5984d","html_url":"https://github.com/joaoiacillo/vault-guard","commit_stats":null,"previous_names":["joaoiacillo/obsidian-dropbox-gpg","joaoiacillo/vault-guard"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/joaoiacillo/vault-guard","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joaoiacillo%2Fvault-guard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joaoiacillo%2Fvault-guard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joaoiacillo%2Fvault-guard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joaoiacillo%2Fvault-guard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/joaoiacillo","download_url":"https://codeload.github.com/joaoiacillo/vault-guard/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joaoiacillo%2Fvault-guard/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32416146,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T06:29:02.080Z","status":"ssl_error","status_checked_at":"2026-04-29T06:29:00.631Z","response_time":110,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["cryptography","gpg","obsidian","pgp","security"],"created_at":"2024-12-03T21:16:29.468Z","updated_at":"2026-04-29T08:02:18.133Z","avatar_url":"https://github.com/joaoiacillo.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Obsidian-Dropbox-GPG\n\nA Bash utility for encrypting and decrypting Obsidian vaults into Dropbox.\n\n## Installation\n\nYou can either move or copy the Bash script into a folder that is declared\nin the `$PATH` environment variable. Symlinks are useful too.\n\n```bash\n$ git clone https://github.com/joaoiacillo/obsidian-dropbox-gpg\n$ chmod +x obsidian-dropbox-gpg/odgpg\n$ sudo mv obsidian-dropbox-gpg/odgpg /usr/bin\n$ rm -fr obsidian-dropbox-gpg/\n```\n\n## Usage\n\n### Configuring PGP\n\nBefore actually calling the script you must configure GPG properly, otherwise it\nwill fail. In fact, the only option that this script needs is\n`default-recipient`, which can't be provided as an argument to GPG (yet).\n\nSo in your `gpg.conf` file, setup the following configuration lines:\n\n```\ndefault-recipient yourname@email.com.br\n```\n\n\u003e Change the email to the one that points to the key-pair that you wanna use for\n\u003e encryption and decryption.\n\n### Configuring paths\n\nThis project relies on paths, like any normal Bash script. You can customize\nthese paths through environment variables. Below is a table of the paths that\ncan be customized:\n\n| Name          | Type              | Description                                      | Defaults to               |\n| ------------- | ----------------- | ------------------------------------------------ | ------------------------- |\n| DROPBOXPATH   | Absolute/Relative | Dropbox folder                                   | \"~/Dropbox\"               |\n| VAULTPATH     | Absolute/Relative | The Obsidian vault path                          | Current Working Directory |\n| BACKUPPATH    | Relative          | Where the GPG files will be stored               | \".\"                       |\n| SIGNATUREPATH | Relative          | Where the digital signature files will be stored | \"$BACKUPPATH/pgp-signs\"   |\n\n\u003e If any relative path doesn't exist, then the script creates a directory under it. The vault\n\u003e folder is the only exception during decryption mode, where it's folder is\n\u003e created to store the files.\n\nIn case you want to overwrite the values, you can export a variable with the\nsame name in the bash session, or, more recommended, in the `.bashrc` file. You\ncan also provide a value BEFORE calling the script name.\n\n```bash\n$ export VAULTPATH=\"./Obsidian/\"\n$ odgpg encrypt # Uses \"./Obsidian/\"\n\n$ VAULTPATH=\"~/OtherVault/\" odgpg encrypt # Uses \"~/OtherVault/\"\n```\n\n### Modes\n\nThe script contains two primary modes: encryption and decryption. You can\nactivate one of the modes by providing their specific identifiers after the\nscript name.\n\nThe encryption mode uses the indentifiers `encrypt`, `enc` and `e`. The\ndecryption mode uses `decrypt`, `dec` and `d`, though.\n\n```bash\n$ odgpg encrypt # Encrypt mode, can also use enc and e\n$ odgpg decrypt # Decrypt mode, can also use dec and d\n```\n\n### Encryption\n\nThe encryption mode will compress and encrypt your vault, create a signature under\nyour name and move these files to Dropbox.\n\nIn case you really need, this mode\ncan also shred (either with the extra zero protection layer or not) or remove\nyour local vault copy. But these will only execute if you type their matching\nletter on the keyboard during prompt.\n\nThis mode will also alert you if any other encrypted Obsidian vault was located\nin Dropbox and ask nicely if you agree on proceeding and overwritting those files. So mistakes are quite hard to make.\n\n### Decryption\n\nThe decryption mode will look for an encrypted vault in Dropbox, copy it into\nthe current working directory, try to decrypt it, verify it's integrity (both\nmanually and automatically) and only then it will extract it's contents.\n\nThere are two integrity validation mechanisms: one that requires user agreement,\nand one that automatically detects whether the files SHAsums are equal or not.\nThis dual layer of security prevents unwanted or damaged data to be inserted\ninto your vault. **If it decrypts, then it's yours.**\n\n## Contributions\n\nWe welcome and appreciate contributions to this project. Feel free to use,\nredistribute, and edit the source code under the following guidelines:\n\n1. **Freedom to Use:** You can use the software for any purpose without any restrictions.\n\n2. **Freedom to Modify:** You have the right to modify the source code to suit your needs.\n\n3. **Freedom to Share:** You can distribute your modified or unmodified version of the software.\n\n4. **Open Source:** Any projects derived from this codebase must be free and open-source.\n\n5. **Proper Credits:** When using or redistributing the code, ensure that proper credits are provided to the original authors. This helps acknowledge the contributors and promotes a collaborative community.\n\nIf you make enhancements, bug fixes, or other modifications, we encourage you to contribute them back to this project by creating a pull request. By doing so, you help improve the software for everyone.\n\nFor major contributions, please reach out to us beforehand to discuss the changes and ensure alignment with the project's goals.\n\nThank you for considering contributing to our project!\n\n## License\n\nThis project is licensed under the GNU GPL v3 license - see the\n[LICENSE](./LICENSE) file for more details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoaoiacillo%2Fvault-guard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoaoiacillo%2Fvault-guard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoaoiacillo%2Fvault-guard/lists"}