A cli tool project helps to re-encode and save all videos under a path.
$ dotnet add package Aiursoft.FileLockAiursoft.FileLock is a Zero-Trust, command-line file encryption tool designed for secure storage and cloud archiving.
It converts your file structure into a flat, obfuscated vault where filenames, directory structures, and file contents are completely hidden from the storage provider.
UUID.enc.Requirements:
Run the following command to install this tool globally:
dotnet tool install --global Aiursoft.FileLock
Once installed, you can use the file-lock command in your terminal.

Encrypt a local folder into a secure vault. You will be prompted to enter a password securely (input will be hidden).
file-lock encrypt -i ./my-secrets -o ./my-vault
Options:
-i, --input: Source folder path to encrypt. (Required)-o, --output: Destination folder for the encrypted vault. (Required)-p, --password: (Optional) Provide password directly. If not set, interactive mode is used.What happens?
Your my-secrets folder structure will be flattened into my-vault. Inside my-vault, you will see only files like a3f1...9b2.enc and a vault.config. No one can tell if it's a video, a document, or a picture.
Restore your files from the vault to a readable folder.
file-lock decrypt -i ./my-vault -o ./restored-files
Options:
-i, --input: Encrypted vault path. (Required)-o, --output: Destination folder for restored files. (Required)-p, --password: (Optional) Provide password directly.What happens?
FileLock reads the encrypted metadata, reconstructs your original directory tree (e.g., photos/2023/party.jpg), and restores the file contents.
We take security seriously. Here is the cryptographic stack used in FileLock:
VaultSalt is generated when a vault is created.PBKDF2-HMAC-SHA256 is used with 600,000 iterations to derive a Master Key from your password and the Vault Salt.FileUUID is generated. We use HKDF to derive a unique FileKey from the Master Key and the FileUUID.AES-256-GCM.
There are many ways to contribute to the project: logging bugs, submitting pull requests, reporting issues, and creating suggestions.