{"id":44380291,"url":"https://github.com/containerscrew/rsecure","last_synced_at":"2026-02-11T22:56:52.283Z","repository":{"id":317911713,"uuid":"1068096717","full_name":"containerscrew/rsecure","owner":"containerscrew","description":"Secure file encryption using pure Rust and AES 🔒","archived":false,"fork":false,"pushed_at":"2026-02-05T20:07:44.000Z","size":1169,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-06T05:53:25.034Z","etag":null,"topics":["aes-gcm","aur-package","cli","crates-io","crypto-library","cryptography","data-protection","file-encryption","privacy","rust","security"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/containerscrew.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-01T21:10:20.000Z","updated_at":"2026-02-05T20:07:41.000Z","dependencies_parsed_at":"2025-10-03T21:31:23.763Z","dependency_job_id":"ed4a0061-2fbe-4ab4-a027-ef17ed119fb1","html_url":"https://github.com/containerscrew/rsecure","commit_stats":null,"previous_names":["containerscrew/rsecure"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/containerscrew/rsecure","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/containerscrew%2Frsecure","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/containerscrew%2Frsecure/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/containerscrew%2Frsecure/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/containerscrew%2Frsecure/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/containerscrew","download_url":"https://codeload.github.com/containerscrew/rsecure/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/containerscrew%2Frsecure/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29349259,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-11T20:11:40.865Z","status":"ssl_error","status_checked_at":"2026-02-11T20:10:41.637Z","response_time":97,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":["aes-gcm","aur-package","cli","crates-io","crypto-library","cryptography","data-protection","file-encryption","privacy","rust","security"],"created_at":"2026-02-11T22:56:50.550Z","updated_at":"2026-02-11T22:56:52.275Z","avatar_url":"https://github.com/containerscrew.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# rsecure\n\n`rsecure` is a simple and secure command-line tool for AES-GCM file encryption and decryption, built in pure Rust. Ideal for protecting sensitive files, backups, and personal data.\n\n\u003e _Keep It Simple Stupid_\n\n\u003cp align=\"center\" \u003e\n    \u003cimg alt=\"GitHub code size in bytes\" src=\"https://img.shields.io/github/languages/code-size/containerscrew/rsecure\"\u003e\n    \u003cimg alt=\"GitHub last commit\" src=\"https://img.shields.io/github/last-commit/containerscrew/rsecure\"\u003e\n    \u003cimg alt=\"GitHub issues\" src=\"https://img.shields.io/github/issues/containerscrew/rsecure\"\u003e\n    \u003cimg alt=\"GitHub pull requests\" src=\"https://img.shields.io/github/issues-pr/containerscrew/rsecure\"\u003e\n    \u003cimg alt=\"GitHub Repo stars\" src=\"https://img.shields.io/github/stars/containerscrew/rsecure?style=social\"\u003e\n    \u003cimg alt=\"GitHub watchers\" src=\"https://img.shields.io/github/watchers/containerscrew/rsecure?style=social\"\u003e\n    \u003cimg alt=\"License\" src=\"https://img.shields.io/badge/License-GPLv3-blue.svg\"\u003e\n    \u003cimg alt=\"Crates.io\" src=\"https://img.shields.io/crates/v/rsecure\"\u003e\n    \u003cimg alt=\"AUR Version\" src=\"https://img.shields.io/aur/version/rsecure\"\u003e\n    \u003cimg alt=\"Crates.io Total Downloads\" src=\"https://img.shields.io/crates/d/rsecure\"\u003e\n\u003c/p\u003e\n\n---\n\n![example](./example.png)\n\n---\n\n# Installation\n\n## AUR (Arch Linux)\n\n```bash\nparu -S rsecure # or yay -S rsecure\n```\n\n## Using [`cargo`](https://rustup.rs/)\n\n```bash\ncargo install rsecure\n```\n\n## Locally\n\n```bash\ngit clone https://github.com/containerscrew/rsecure.git\ncd rsecure\ncargo build --release\nsudo cp ./target/release/rsecure /usr/local/bin/\n```\n\n### Local build using `goreleaser`\n\n```shell\ncargo install cargo-zigbuild\nbrew install zig # or use apt/pacman/dnf to install zig\n# Comment binary_signs in .goreleaser.yaml for local build\ngoreleaser release --snapshot --clean\n./dist/rsecure_aarch64-apple-darwin/rsecure\n```\n\n# Usage\n\n## Commands\n\n| Command                                                                                 | Description                                                          |\n| --------------------------------------------------------------------------------------- | -------------------------------------------------------------------- |\n| `rsecure create-key -o /mnt/myusb/rsecure.key`                                          | Generate a new AES-256 key and save it to a file                     |\n| `openssl rand -out /mnt/myusb/rsecure.key 32`                                           | Alternative: generate a random 256-bit key using OpenSSL             |\n| `rsecure encrypt -p /mnt/myusb/rsecure.key -s /tmp/mydirectory/text_to_encrypt.txt`     | Encrypt a single file (`.enc` file is created in the same directory) |\n| `rsecure encrypt -p /mnt/myusb/rsecure.key -s /tmp/mydirectory/files/`                  | Encrypt all files in a directory                                     |\n| `rsecure decrypt -p /mnt/myusb/rsecure.key -s /tmp/mydirectory/text_to_encrypt.txt.enc` | Decrypt a single encrypted file                                      |\n| `rsecure decrypt -p /mnt/myusb/rsecure.key -s /tmp/mydirectory/files/`                  | Decrypt all files in a directory                                     |\n| `rsecure encrypt -r -p /mnt/myusb/rsecure.key -s /tmp/rsecure/dirtoencrypt/`            | Encrypt and **remove** original files (plain text)                   |\n| `rsecure encrypt -p /mnt/myusb/rsecure.key -s /tmp/rsecure/dirtoencrypt -e '.git'`      | Encrypt all files in a directory excluding `.git/` files             |\n\n\u003e [!WARNING]\n\u003e Saving the key in the same local filesystem where you save the encrypted files is not a good idea.\n\u003e Save the key in a secure location, like a `USB drive` or a password manager.\n\u003e Or just save it in a `root owned directory` with strict permissions (will require sudo to use it).\n\nSomething like:\n\n```bash\nsudo rsecure encrypt -p /root/rsecure.key -s /home/dcr/Documents/PrivateDocuments -r\n```\n\n\u003e [!IMPORTANT]\n\u003e By default, `rsecure` will not delete the source plain files after encryption to avoid data loss.\n\u003e If you want to delete the source files after encryption, use `-r` flag.\n\n# Local dev\n\nTesting encryption and decryption:\n\n```bash\nmkdir -p /tmp/rsecure/dirtoencrypt\ntouch /tmp/rsecure/filetoencrypt.txt\necho 'please, hack me!' \u003e /tmp/rsecure/filetoencrypt.txt\nfor i in {1..10}; do\n    head -c 100 /dev/urandom | base64 \u003e /tmp/rsecure/dirtoencrypt/file_$i.txt\ndone\nmkdir /tmp/rsecure/dirtoencrypt/.git/\ntouch /tmp/rsecure/dirtoencrypt/.git/ignoreme.txt\ntouch /tmp/rsecure/dirtoencrypt/.git/notthisfile.txt\n```\n\n```bash\nrsecure create-key -o ~/.keys/rsecure.key\nrsecure encrypt -p ~/.keys/rsecure.key -s /tmp/rsecure/filetoencrypt.txt\nrsecure decrypt -p ~/.keys/rsecure.key -s /tmp/rsecure/filetoencrypt.txt.enc\n#\nrsecure encrypt -p ~/.keys/rsecure.key -s /tmp/rsecure/dirtoencrypt/\nrsecure decrypt -p ~/.keys/rsecure.key -s /tmp/rsecure/dirtoencrypt/\nrsecyre encrypt -p ~/.keys/rsecure.key -s /tmp/rsecure/dirtoencrypt/ -e '.git'\n```\n\n# License\n\n**`rsecure`** is distributed under the terms of the [GPL3](./LICENSE-GPL3) license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcontainerscrew%2Frsecure","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcontainerscrew%2Frsecure","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcontainerscrew%2Frsecure/lists"}