salty-serve

0.1.0 • Public • Published

Salty Server

Securely serve up files over HTTP. Files can be downloaded by anyone that can access the server, but only the client with the keys can decrypt them.

How to

Install salty-serve

On both client and server, run:

npm install -g salty-serve

If you do not have permissions to install globally, you can still run everything through node_modules:

npm install salty-serve
node_modules/salty-serve/bin/salty-keygen
node_modules/salty-serve/bin/salty-serve
node_modules/salty-serve/bin/salty-decrypt

Generate keys

On the client, generate both the client and server keys. Keep the client keys safe.

salty-keygen

Start salty-serve

Copy server-keys.json to the server. Then, to serve the current directory, run:

salty-serve -p 1111 -k server-keys.json .

List all files

Navigate your browser to the server, or use a commandline utility like curl:

curl -s http://localhost:1111

Download and decrypt all files

This command will get the list of all files from the salty-serve, then one-by-one will download, unzip, and decrypt them

curl -s http://localhost:1111 | xargs -I filename sh -c "curl -s http://localhost:1111/filename | gunzip | salty-decrypt -k client-keys.json > filename"

Or, for convenience, you can do the same as above with a single command:

salty-pull http://localhost:1111

Details

Uses NaCl's crypto_box encoded as hexstrings in JSON and then gzipp'ed for HTTP transport.

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 0.1.0
    0
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 0.1.0
    0

Package Sidebar

Install

npm i salty-serve

Weekly Downloads

0

Version

0.1.0

License

none

Last publish

Collaborators

  • themadcreator