Created
January 15, 2014 20:01
-
-
Save osnr/8443402 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!doctype html> | |
<html lang="en"> | |
<head> | |
<meta charset="utf-8" /> | |
<title>Test OTR</title> | |
</head> | |
<body></body> | |
<script> | |
var start = (new Date()).getTime(); | |
</script> | |
<!-- Load dependencies --> | |
<script src="../build/dep/salsa20.js"></script> | |
<script src="../build/dep/bigint.js"></script> | |
<script src="../build/dep/crypto.js"></script> | |
<script src="../build/dep/eventemitter.js"></script> | |
<!-- Load otr.js or otr.min.js --> | |
<script src="../build/otr.js"></script> | |
<!-- Ready to go! --> | |
<script> | |
var statuses = [ | |
"STATUS_SEND_QUERY" | |
, "STATUS_AKE_INIT" | |
, "STATUS_AKE_SUCCESS" | |
, "STATUS_END_OTR" | |
] | |
function append(html) { | |
var p = document.createElement('span'); | |
p.innerHTML = html; | |
document.body.appendChild(p); | |
} | |
append('loading scripts / seeding random took <strong>' + ((new Date()).getTime() - start) + 'ms</strong>'); | |
var ui = function (msg) { console.log('ui', msg); }; | |
var err = function (err) { console.log(err); }; | |
var userA = new OTR({ debug: true }); | |
userA.on('ui', ui); | |
userA.on('io', function (msg) { | |
console.log('io from A', userB, msg); | |
userB.receiveMsg(msg); | |
}); | |
userA.on('error', err); | |
append('<br />generating OTR object took <strong>' + ((new Date()).getTime() - start) + 'ms</strong>'); | |
var bIT = OTR.makeInstanceTag() | |
var bPriv = new DSA() | |
var userB = new OTR({ priv: bPriv, instance_tag: bIT, debug: true }); | |
userB.on('ui', ui); | |
userB.on('io', userA.receiveMsg); | |
userB.on('error', err); | |
userB.on('status', function (state) { | |
console.log('status on B1', statuses[state]); | |
}) | |
start = (new Date()).getTime(); | |
console.log('sending userA query msg'); | |
userA.sendQueryMsg() | |
userA.on('status', function (state) { | |
console.log('status on A', statuses[state]); | |
if (state === OTR.CONST.STATUS_AKE_SUCCESS) { | |
append('<br />ake took <strong>' + ((new Date()).getTime() - start) + 'ms</strong>'); | |
append('<br />message state is ' + (userA.msgstate ? 'encrypted' : 'plaintext') + '</strong>'); | |
} | |
}) | |
setTimeout(function() { | |
userA.sendMsg("Amsg1 to B1"); | |
userA.sendMsg("Amsg2 to B1"); | |
setTimeout(function() { | |
userB = new OTR({ priv: bPriv, instance_tag: bIT, debug: true }); | |
userB.on('ui', ui); | |
userB.on('io', userA.receiveMsg); | |
userB.on('error', err); | |
console.log('sending userB query msg'); | |
userB.on('status', function (state) { | |
console.log('status on B2', statuses[state]); | |
}) | |
userB.sendQueryMsg(); | |
setTimeout(function() { | |
userA.sendMsg("Amsg1 to B2"); | |
userA.sendMsg("Amsg2 to B2"); | |
}, 2000); | |
}, 2000); | |
}, 2000); | |
</script> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment