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.

    Install

    npm i salty-serve

    DownloadsWeekly Downloads

    0

    Version

    0.1.0

    License

    none

    Last publish

    Collaborators

    • themadcreator