aboutsummaryrefslogtreecommitdiffstats
path: root/jsaccess/jsa/jsa.js
diff options
context:
space:
mode:
Diffstat (limited to 'jsaccess/jsa/jsa.js')
-rw-r--r--jsaccess/jsa/jsa.js24
1 files changed, 19 insertions, 5 deletions
diff --git a/jsaccess/jsa/jsa.js b/jsaccess/jsa/jsa.js
index 8c0eb81..eb34204 100644
--- a/jsaccess/jsa/jsa.js
+++ b/jsaccess/jsa/jsa.js
@@ -113,7 +113,11 @@ function _showfiles(data, pass, hash) {
$.each(lines,
function( idx, obj ){
obj = obj.trim();
- var btn = $('<label><input type="radio" name="file" value="'+obj+'">'+obj+'</input></label><br/>');
+ var filename = obj.substring(0, obj.lastIndexOf(" "));
+ var crypt = obj.split(" ").pop();
+ if (crypt == '(nocrypt)')
+ filename += ' (n)';
+ var btn = $('<label><input type="radio" name="file" value="'+obj+'">'+filename+'</input></label><br/>');
btn.appendTo('#files');
});
$("input:radio[name=file]:first").attr('checked', true);
@@ -123,8 +127,10 @@ function _dl(file, pass) {
var RMD160 = new Hashes.RMD160;
var dirhash = RMD160.hex(pass);
- var path = 'store/' + dirhash + '/' + RMD160.hex(dirhash + file);
- _status("Downloading \""+file+"\" ...");
+ var crypt = file.split(" ").pop();
+ var filename = file.substring(0, file.lastIndexOf(" "));
+ var path = 'store/' + dirhash + '/' + RMD160.hex(dirhash + filename);
+ _status("Downloading \""+filename+"\" ...");
dlreq = $.ajax({
url: path,
@@ -132,8 +138,16 @@ function _dl(file, pass) {
xhr.overrideMimeType("application/base64");
},
success: function ( data ) {
- _status("Download complete, decrypting ...",
- function() { _decrypt(data, pass, file); });
+ switch (crypt) {
+ case '(base64+aes256)':
+ _status("Download complete, decrypting ...",
+ function() { _decrypt(data, pass, filename); });
+ break;
+ case '(nocrypt)':
+ _status("Download complete, saving ...");
+ _save(data, filename);
+ break;
+ }
},
error: function (xhr, opts, err) {
_status("Dowload failed (status="+xhr.status+")");