From 1fe0c66c7efec1240e1aaad4bd7a306f88b69e22 Mon Sep 17 00:00:00 2001 From: Laurent Ghigonis Date: Mon, 17 Jun 2013 10:32:57 +0200 Subject: jsaccess: readme wording --- jsaccess/README.txt | 71 +++++++++++++++++++++++++++-------------------------- 1 file changed, 36 insertions(+), 35 deletions(-) diff --git a/jsaccess/README.txt b/jsaccess/README.txt index 554d50f..bfb5307 100644 --- a/jsaccess/README.txt +++ b/jsaccess/README.txt @@ -1,63 +1,64 @@ -jsaccess - download and decrypt files in the browser +jsaccess - private web file sharing using client side crypto 2013, Laurent Ghigonis -Provide protected access to files on a web server without htaccess or https. -The files are stored AES256 encrypted on the server, and decrypted on download -in the web browser. +Store files encrypted with symetric key (AES-256) and it will seemlessly be +decrypted in the user web-browser on download. +No htaccess, https, or any server side configuration required, as it will just +serve static pre-encrypted files. +Note: You should still use https to protect against clients targeted attacks like mitm on the javascript code or mitm on the encrypted archives. $ git clone git://git.zx2c4.com/laurent-tools $ cd laurent-tools/jsaccess/ + + +Local demo +========== + $ firefox jsa/index.html OR $ google-chrome --allow-file-access-from-files jsa/index.html -demo password is 'jsa' +# Demo password is 'jsa' +# Click on 'Get files list' to retrieve the files available for this password +# In the demo the only file is 'put_your_encrypted_files_here.txt' +# Click on Download +# You now have the file decrypted :) Deployment ========== -First, put jsa/ directory on your web server, publicly available +There are 2 parts: +* The jsa/ directory that contains html / javascript files, for the user to +access files list and download. jsa/files/ is the files store. +* The encrypt.sh script for the web server owner to encrypt files +It is recomanded to run encrypt.sh on your laptop, and then syncronise the +jsa/files/ file store. -To add a file for others to download : -1. $ ./encrypt.sh myfile -Then enter the passphase you want to use for encryption. -It will tell you something like: -jsa/files/af022cd820fdad6cbcac8e15ac565c639a47dab0 -CREATED jsa/files/af022cd820fdad6cbcac8e15ac565c639a47dab0/065e18a7f246b800242a778a6e8dd07a3321dac6 -UPDATED jsa/files/af022cd820fdad6cbcac8e15ac565c639a47dab0/index.txt +Put jsa/ directory on your web server, publicly available. -2. Upload both CREATED and UPDATED files to your server -You need to keep the correct full path -$ rsync jsa/ user@_host:/var/www/htdocs/ -3. Direct people to the directory jsa/, e.g. http://myserver.com/jsa/ - - -Example adding a new file -========================= +Share a file +============ -$ ./encrypt.sh README.txt -Enter passphrase used to encrypt: jsa +1. Add the file you want to share to the file store +On your laptop: +$ ./encrypt.sh myfile +# Then enter the passphase you want to use for encryption. +# It will tell you something like: jsa/files/af022cd820fdad6cbcac8e15ac565c639a47dab0 CREATED jsa/files/af022cd820fdad6cbcac8e15ac565c639a47dab0/065e18a7f246b800242a778a6e8dd07a3321dac6 UPDATED jsa/files/af022cd820fdad6cbcac8e15ac565c639a47dab0/index.txt -$ rsync jsa/ user@_host:/var/www/htdocs/ - +2. Syncronise the file store with you online server +On your laptop: +$ rsync jsa/ user@myserver:/var/www/htdocs/ +# Upload both CREATED and UPDATED files to your server +# You need to keep the correct full path -Example downloading a file -========================== - -firefox jsa/index.html -OR $ google-chrome --allow-file-access-from-files jsa/index.html -# enter 'jsa' as password -# click on 'Get files list' -# select 'README.txt' -# click on Download -# you now have the file decrypted :) +3. Direct people to the directory jsa/, e.g. http://myserver.com/jsa/ How it works -- cgit v1.2.3-59-g8ed1b