{"id":13514776,"url":"https://github.com/LuccaSA/TarCompressCrypt","last_synced_at":"2025-03-31T03:31:23.225Z","repository":{"id":37927445,"uuid":"113708303","full_name":"LuccaSA/TarCompressCrypt","owner":"LuccaSA","description":"TCC : blazing fast compression / decompression / encryption ","archived":true,"fork":false,"pushed_at":"2023-03-15T11:11:58.000Z","size":5423,"stargazers_count":2,"open_issues_count":2,"forks_count":1,"subscribers_count":26,"default_branch":"master","last_synced_at":"2025-03-08T03:05:57.573Z","etag":null,"topics":["aes","brotli","compression","decompression","lz4","performance","plateforme","storage","tar","zstandard"],"latest_commit_sha":null,"homepage":"","language":"C#","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/LuccaSA.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":"2017-12-09T23:20:31.000Z","updated_at":"2023-09-06T09:24:37.000Z","dependencies_parsed_at":"2024-11-01T18:41:45.250Z","dependency_job_id":null,"html_url":"https://github.com/LuccaSA/TarCompressCrypt","commit_stats":{"total_commits":236,"total_committers":3,"mean_commits":78.66666666666667,"dds":0.1271186440677966,"last_synced_commit":"6c6da7ba82e0754e0b5a7f93279e2ce7e27e8205"},"previous_names":[],"tags_count":35,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LuccaSA%2FTarCompressCrypt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LuccaSA%2FTarCompressCrypt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LuccaSA%2FTarCompressCrypt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LuccaSA%2FTarCompressCrypt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LuccaSA","download_url":"https://codeload.github.com/LuccaSA/TarCompressCrypt/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246413377,"owners_count":20773053,"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":["aes","brotli","compression","decompression","lz4","performance","plateforme","storage","tar","zstandard"],"created_at":"2024-08-01T05:01:01.657Z","updated_at":"2025-03-31T03:31:18.213Z","avatar_url":"https://github.com/LuccaSA.png","language":"C#","funding_links":[],"categories":["C#"],"sub_categories":[],"readme":"[![Sonarcloud coverage](https://sonarcloud.io/api/project_badges/measure?project=TarCompressCrypt\u0026metric=coverage)](https://sonarcloud.io/dashboard?id=TarCompressCrypt)\n[![Sonarcloud Status](https://sonarcloud.io/api/project_badges/measure?project=TarCompressCrypt\u0026metric=alert_status)](https://sonarcloud.io/dashboard?id=TarCompressCrypt)\n[![Sonarcloud Debt](https://sonarcloud.io/api/project_badges/measure?project=TarCompressCrypt\u0026metric=sqale_index)](https://sonarcloud.io/dashboard?id=TarCompressCrypt)\n[![Sonarcloud Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=TarCompressCrypt\u0026metric=vulnerabilities)](https://sonarcloud.io/dashboard?id=TarCompressCrypt)\n\n# TarCompressCrypt \n\nTarCompressCrypt (TCC) is a command line tool for blazing fast compression + encryption / decompression + decryption\n- package multiple files / folders with tar\n- then use lz4/zstd/brotli for blazing fast compression operations\n- then use openssl for aes256 encryption (native aes-ni instructions support)\n\nBasically, TCC job's is to pipe ( `|` ) tar, compressor and openssl commands. Natives and official implementations of each command are used for maximum performance.\n\nThe other TCC purpose is to prepare the compression job with different strategies. You can create an archive for each folder found in the source folder, and choose how many parallel threads to process the batch for maximum throughput. You can either saturate disk iops, or the CPU depending on your settings, or choose to keep some room on your servers.\n\nTCC is actually used for off-site backup operations on production servers.\n\n## How to install : \n\n- Install the [.NET Core 3.1 SDK](https://www.microsoft.com/net/download)\n- Install TCC as global tool :\n    ```dotnetcli\n    dotnet tool install -g TCC\n    ```\n\n- Run TCC in command line :\n    ```dotnetcli\n    tcc --help\n    ```\n\n- Don't hesitate to use the benchmark mode on your data to find the better speed / compression tradeoff in your case : \n    ```dotnetcli\n    tcc benchmark C:\\ToBackupFolder\n    ```\n\n## Usage\n\nCompress a data.txt file :\n```\ntcc compress data.txt -a Zstd -o Folder\n```\nDecompress a file :\n```\ntcc decompress data_20201223101528.full.tarzstd -o C:\\d\\folder\n```\n\n## Recommendations : \n\nFor maximum performances, you have to backup files from one physical disk, and output archives on another physical disk : iops are the main bottleneck even on a recent SSD.\n\n## Current status : \n- beta : use with care, API and archive format are subject to breaking changes. Be sure to keep the version you use actually to be able to decrypt your archives. \n\n## Features :\n- [x] password file / asymetric key support\n- [x] packaging + distribution\n- [x] lz4 / brotli / zstd support\n- [x] benchmark mode\n- [x] operation logs\n- [x] differential backup\n\n## Roadmap :\n\n- [ ] external storage provider support\n\n## Plateform support : \n- [x] Windows\n- [ ] Linux\n\n## Dependencies : \n\nThis project relies on the following external dependencies :\n\nOn windows :\n- Tar v1.30 : extracted from the msys2 build of [git for windows 2.19.1](https://git-scm.com/)\n- OpenSsl v1.1.1 : from [bintray](https://bintray.com/vszakats/generic/openssl) referenced in [official wiki](https://wiki.openssl.org/index.php/Binaries)\n- Zstandard v1.4.8 : from facebook [Zstandard github repo](https://github.com/facebook/zstd/)\n- Brotli v1.0.4 : from google [Brotli github repo](https://github.com/google/brotli/)\n- Lz4 v1.8.3 : from [Lz4 github repo](https://github.com/lz4/lz4/)\n\nAll dependencies are downloaded on the first TCC start, and are not included in TCC repository, except tar (for now)\nPlease consult the different project licences.\n\nTCC is inspired from the excellent Squash Compression Benchmark : https://quixdb.github.io/squash-benchmark/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLuccaSA%2FTarCompressCrypt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FLuccaSA%2FTarCompressCrypt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLuccaSA%2FTarCompressCrypt/lists"}