1 unstable release
Uses new Rust 2024
| 0.1.0 | Jan 26, 2026 |
|---|
#2526 in Cryptography
Used in vial-cli
7KB
80 lines
Vial
Vial is a small Rust project for end-to-end encrypted secret sharing.
Secrets are encrypted on the client, sent to a server as ciphertext, and decrypted only by the recipient. The server never knows the decryption key or the contents of a secret.
The primary tool is a CLI. A web UI is provided as an optional way to view secrets.
What It Does
- Create encrypted secrets (text or files) using a password or a random key
- Upload encrypted payloads to a server
- Fetch and decrypt secrets locally
- Enforce expiration and view limits on the server
- Self-hostable server or reusable server library
Workspace Members
| Crate | Description |
|---|---|
| vial-cli | CLI binary (secret creation & consumption) |
| vial-core | Cryptography primitives (encryption / decryption) |
| vial-shared | Shared request / response types |
| vial-srv | Framework-agnostic server logic/library (DB, rules, limits) |
| vial-server | Actix-web server binary using srv-lib |
Installation
1. Run from Source Code:
- Clone the repository
git clone https://github.com/TheRustyPickle/Vial - To run the CLI with Cargo
cargo run --release --bin vial - To run the server with Cargo
cargo run --release --bin vial-server
2. Run the latest Release:
- Download the latest executable from Releases.
- Unzip the executable and run via terminal
3. Install using Cargo:
- To install the CLI
cargo install vial-cliand runvial --help - To install the server
cargo install vial-server. See here to find the env variable list for the server
Web UI
A web UI is available with source code and is used as the default URL in the CLI. The site uses the same srv-lib and can only perform decryption on the client.
A demo secret can be viewed here with the password password
Project Status & Disclaimer
This project:
- Has not been security audited
- Comes with no guarantees or warranties
Use at your own risk. Do not rely on it for high-value or high-risk secrets.
License
Dependencies
~1.4–2.2MB
~41K SLoC