{"id":25529050,"url":"https://github.com/wilmerm/cryptshield","last_synced_at":"2025-08-24T08:23:24.592Z","repository":{"id":200423533,"uuid":"705456732","full_name":"wilmerm/cryptshield","owner":"wilmerm","description":"Secure Encryption and Deletion Application","archived":false,"fork":false,"pushed_at":"2025-02-26T13:26:54.000Z","size":49,"stargazers_count":1,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-23T13:24:27.437Z","etag":null,"topics":["bash-script","borrado-seguro","cifrado","command-line","cryptography","decrypt","decryption","descifrado","encrypt","encryption","encryption-decryption","fernet","linux","python3","secure-delete","securedelete","shred"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wilmerm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":["wilmerm"],"patreon":"user?u=58911615","open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"thanks_dev":null,"custom":null}},"created_at":"2023-10-16T03:27:11.000Z","updated_at":"2025-02-26T13:26:57.000Z","dependencies_parsed_at":null,"dependency_job_id":"f358d6da-1e98-4baa-a8e3-192ea113c559","html_url":"https://github.com/wilmerm/cryptshield","commit_stats":null,"previous_names":["wilmerm/file-guardian","wilmerm/guardian","wilmerm/cryptshield"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/wilmerm/cryptshield","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wilmerm%2Fcryptshield","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wilmerm%2Fcryptshield/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wilmerm%2Fcryptshield/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wilmerm%2Fcryptshield/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wilmerm","download_url":"https://codeload.github.com/wilmerm/cryptshield/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wilmerm%2Fcryptshield/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265327802,"owners_count":23747783,"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":["bash-script","borrado-seguro","cifrado","command-line","cryptography","decrypt","decryption","descifrado","encrypt","encryption","encryption-decryption","fernet","linux","python3","secure-delete","securedelete","shred"],"created_at":"2025-02-19T23:29:55.547Z","updated_at":"2025-08-24T08:23:24.572Z","avatar_url":"https://github.com/wilmerm.png","language":"Python","funding_links":["https://github.com/sponsors/wilmerm","https://patreon.com/user?u=58911615","https://paypal.me/martinezwilmer?country.x=DO\u0026locale.x=es_XC"],"categories":[],"sub_categories":[],"readme":"# Secure Encryption, Deletion, and Metadata Cleaning Application\n\nThis Python application allows you to securely encrypt files and directories using the **Fernet** library, permanently delete them with the **shred** command, and clean metadata from various file formats. It is useful for protecting sensitive data and ensuring it cannot be recovered.\n\n## **Main Features**\n\n- **Secure Encryption:** Uses the Fernet library to encrypt files and directories with a user-provided key.\n- **Permanent Deletion:** Securely removes files and directories using the **shred** command.\n- **Metadata Cleaning:** Removes metadata from images, documents, PDFs, and multimedia files while preserving file functionality.\n- **Recursive Processing:** Supports encrypting and deleting files within directories recursively.\n- **User Confirmation Options:** Can be configured to require user confirmation before encrypting or deleting files.\n\n## **Requirements**\n\n- Python 3.x\n- Required libraries: `cryptography`, `piexif`, `pillow`, `PyPDF2`, `python-docx`, `openpyxl`, `mutagen`\n\n---\n\n## **Usage**\n\n### **Running `cryptshield`**\n\n#### Basic syntax:\n\n```sh\ncryptshield [COMMAND] [OPTION1] [OPTION2]\n```\n\n#### Examples:\n\n```sh\n# Encrypt a file\ncryptshield encrypt /path/to/file secret_key\n\n# Decrypt a file\ncryptshield decrypt /path/to/file.encrypted secret_key\n\n# Encrypt a text\ncryptshield encrypt_text \"Sample text\" secret_key\n\"gAAAAABnsO0xV07ndDmt-fO...\"\n\n# Decrypt a text\ncryptshield decrypt_text \"gAAAAABnsO0xV07ndDmt-fO...\" secret_key\n\"Sample text\"\n\n# Secure file deletion\ncryptshield delete /path/to/file\n\n# Clean metadata from files\ncryptshield clean_metadata /path/to/image.jpg /path/to/document.pdf\n\n# Clean metadata with essential information preserved\ncryptshield clean_metadata /path/to/file.jpg true true true\n\n# Clean metadata without backup (not recommended)\ncryptshield clean_metadata /path/to/file.pdf false false true\n```\n\n---\n\n## **Metadata Cleaning Feature**\n\nThe metadata cleaning feature provides secure removal of metadata from various file formats while maintaining the primary functionality of files. This feature complies with DoD 5220.22-M standards for secure deletion.\n\n### **Supported File Formats**\n\n- **Images:** JPEG, PNG, TIFF, GIF\n  - Removes: EXIF data, GPS coordinates, camera information, comments, timestamps\n- **Documents:** PDF, DOCX, XLSX, PPTX\n  - Removes: Author information, creation/modification dates, comments, document properties, edit history\n- **Multimedia:** MP3, MP4, AVI, MOV, WAV, FLAC\n  - Removes: ID3 tags, artist, album, comments, metadata\n- **Text Files:** TXT, RTF\n  - Removes: File system metadata where applicable\n\n### **Metadata Cleaning Options**\n\n1. **preserve_essential** (true/false): Whether to preserve essential metadata like title and creator\n2. **backup** (true/false): Whether to create backups before cleaning (recommended)\n3. **verify** (true/false): Whether to verify metadata removal after cleaning\n\n### **Security Features**\n\n- **Secure Backup Management:** Creates temporary backups during processing, removes them after successful verification\n- **Verification Process:** Confirms metadata has been successfully removed\n- **Audit Logging:** Detailed logs of all metadata cleaning operations\n- **DoD 5220.22-M Compliance:** Follows secure deletion standards\n- **Forensic Recovery Prevention:** Ensures metadata cannot be recovered\n\n### **Examples**\n\n```sh\n# Basic metadata cleaning\ncryptshield clean_metadata /path/to/photo.jpg\n\n# Clean multiple files\ncryptshield clean_metadata /path/to/photo.jpg /path/to/document.pdf /path/to/music.mp3\n\n# Preserve essential metadata (title, creator)\ncryptshield clean_metadata /path/to/document.pdf true\n\n# Clean without backup (faster, but less safe)\ncryptshield clean_metadata /path/to/file.jpg false\n\n# Full control: preserve_essential=false, backup=true, verify=true\ncryptshield clean_metadata /path/to/file.jpg false true true\n```\n\n---\n\n## Release Information\n\n### Version 1.1.0\n\nYou can download the latest release of the **Cryptshield** package as a `.deb` file from the following link:\n\n[Download Cryptshield 1.1.0 (.deb)](https://github.com/wilmerm/cryptshield/releases/download/v1.1.0/cryptshield_1.1.0_all.deb)\n\n### Installation\n\nTo install the package on your system, run the following command:\n\n```bash\nwget https://github.com/wilmerm/cryptshield/releases/download/v1.1.0/cryptshield_1.1.0_all.deb\n\nsudo dpkg -i cryptshield_1.1.0_all.deb\n```\n\nAfter installation, you can run the `cryptshield` command by simply typing:\n\n```bash\ncryptshield encrypt [FILE] [KEY]\n```\n\nIf you encounter any issues with dependencies, you can resolve them using:\n\n```bash\nsudo apt-get install -f\n```\n\n---\n\n## **Setup**\n\nEnsure the required libraries are installed using the following command:\n\n```sh\npip install -r requirements.txt\n```\n\nIf you plan to use **secure deletion**, make sure you have administrator (`sudo`) privileges.\n\n\n### Installation and `.deb` Package Creation\n\nFollow these steps to create and install the `.deb` package for *Cryptshield*:\n\n#### 1. Build the Package\nRun:\n```bash\ndpkg-buildpackage -us -uc\n```\n\n#### 2. Install and Test\n```bash\nsudo dpkg -i ../cryptshield_\u003cversion\u003e_all.deb\ncryptshield\n```\n\nIf there are dependency issues, fix them with:\n```bash\nsudo apt-get install -f\n```\n\n### Building and Publishing the Library\n\nTo compile and upload the library to PyPI, follow these steps:\n\n1. Ensure you have the necessary dependencies:\n\n    ```sh\n    pip install build twine\n    ```\n\n2. Build the package:\n\n    ```sh\n    python -m build\n    ```\n\n3. (Optional) Verify the package:\n\n    ```sh\n    twine check dist/*\n    ```\n\n4. Upload the package to PyPI:\n\n    ```sh\n    python -m twine upload dist/*\n    ```\n\n---\n\n## **Contributing**\n\nIf you'd like to contribute to this project or report an issue, feel free to open an issue or submit a pull request on GitHub.\n\n---\n\n## **License**\n\nThis application is distributed under the **MIT License**.\n\n## Contribution 💗\n\nIf you find value in this project and would like to show your support, please consider making a donation via PayPal:\n\n[Donate on PayPal](https://paypal.me/martinezwilmer?country.x=DO\u0026locale.x=es_XC)\n\nYour generosity helps us to continue improving and maintaining this project. We appreciate every contribution, however small. Thanks for being part of our community!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwilmerm%2Fcryptshield","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwilmerm%2Fcryptshield","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwilmerm%2Fcryptshield/lists"}