Subscribe Now
Trending News

Blog Post

Show HN: Kvass, a personal key-value store

Show HN: Kvass, a personal key-value store 

# simple usage
$ kvass set hello world
$ kvass get hello

# enumerate keys
$ kvass ls

# store arbitrary files
$ kvass set logo  kvass.jpg
$ kvass get logo > kvass.jpg

# Its trivial to set up and operate kvass across multiple devices
$ ssh kvass config show

Encryption Key:  	5abf59f5f1a2f3c998a4f592ce081a23e14a68fd8a792259c6ec0fc1e8fb1246  # 
ProcessID:       	752176921
Remote:          	(None)

$ kvass config key 5abf59f5f1a2f3c998a4f592ce081a23e14a68fd8a792259c6ec0fc1e8fb1246 # set the same key for all your devices
$ kvass config remote # tell kvass where to find the server instance

# run "kvass serve" on your server using systemd, screen or the init system of your choice. (runit, anyone?)

# every set will now be broadcasted to the server
$ kvass set "hello from the other side" hello
$ ssh you@yourserver kvass get "hello from the other side"

# and every get will check the server for updates
$ ssh you@yourserver kvass set hello 👋
$ kvass get hello

# Good to know: All communication between the client and server is authenticated and encrypted using AES-256 GCM.

# remember the file we stored earlier? Let's get a shareable url for it!
$ kvass url logo

# you can also print the corresponding qr code directly to your terminal
kvass qr logo

# run kvass without arguments to get a nice cheat sheet of supported commands
$ kvass
kvass [--db=string]

    kvass - a personal KV store

        --db       the database file to use (default: ~/.kvassdb.sqlite)

    kvass ls       list keys
    kvass get      get a value
    kvass set      set a value
    kvass rm       remove a key
    kvass url      show shareable url of an entry
    kvass qr       print shareable qr code of entry to console
    kvass config   set config parameters
    kvass serve    start in server mode

Read More

Related posts

© Copyright 2022, All Rights Reserved