diff options
Diffstat (limited to 'jsaccess/jsa/jsa.js')
-rw-r--r-- | jsaccess/jsa/jsa.js | 24 |
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+")"); |