Skip to content

TheRustyPickle/Vial

Repository files navigation

Vial

wakatime

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-cli and run vial --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

MIT License.

About

End-to-end encrypted secret sharing

Topics

Resources

License

Stars

Watchers

Forks

Languages