Skip to content

nixpig/syringe.sh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Workflow Status Coverage Status Go Report Card

πŸ” syringe.sh

Encrypted key-value store over SSH.

Caution

This is an experimental work in progress. DO NOT use to store sensitive data.

demo of syringe.sh

SSH (Secure Shell) is a cryptographic network protocol for secure communication between computers over an unsecured network that uses keys for secure authentication. If you've ever ssh'd into a remote machine or used CLI tools like git then you've used SSH.

syringe.sh uses SSH as the protocol for communication between the client (your machine) and the server (in the cloud).

Your public key is uploaded to the server. Your private key is then used to authenticate when you connect.

Data is encrypted locally using your private key before being sent to the server and stored in a separate database tied to your public key.

Data can only be decrypted locally using your private key. Without your private key, nobody can decrypt and read your data.

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ STDIN                          β”‚
β”‚ syringe secret set SKEY s3cr3t β”‚
β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
      β”‚
  β”Œβ”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚       Encrypted        β”‚β”Œβ”€β”€β”€β”€β”€β”€β”€β”        β”‚
  β”‚ CLI  β”‚ πŸ” Encrypt β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Ίβ”‚ Store β”‚ Server β”‚
  β”‚      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚          SSH           β”‚β””β”€β”€β”€β”¬β”€β”€β”€β”˜        β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                        β””β”€β”€β”€β”€β”‚β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                                β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”
                                                β”‚ User DB │┐  K: SKEY
                                                β””β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚  V: <encrypted>
                                                 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ STDIN                   β”‚
β”‚ syringe secret get SKEY β”‚
β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
      β”‚
  β”Œβ”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚       Encrypted        β”‚β”Œβ”€β”€β”€β”€β”€β”€β”€β”        β”‚
  β”‚ CLI  β”‚ πŸ”“οΈ Decrypt │◄─────────────────────────│ Store β”‚ Server β”‚
  β”‚      β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜β”‚          SSH           β”‚β””β”€β”€β”€β”€β”€β”€β”€β”˜        β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚β”€β”€β”€β”€β”€β”€β”€β”€β”˜                        β””β”€β”€β”€β”€β–²β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”                           β”Œβ”€β”€β”€β”€β”‚β”€β”€β”€β”€β”
         β”‚ STDOUT   β”‚                           β”‚ User DB │┐  K: SKEY
         β”‚ s3cr3t   β”‚                           β””β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚  V: <encrypted>
         β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                            β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

CLI

Supported SSH key types

The following key types are supported for the syringe client.

  • RSA

About

πŸ” [WIP] Encrypted key-value store over SSH.

Topics

Resources

License

Stars

Watchers

Forks