A really basic shared text area with encryption.

...and not much else. If you want to hack on something
this is a great place to start.
pull/1/head
ansuz 9 years ago
parent 50121c8ab6
commit d5a1629a93

@ -0,0 +1,27 @@
<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="content-type"/>
<script data-main="main" src="/bower_components/requirejs/require.js"></script>
<style>
*{
padding: 0px;
margin: 0px;
}
textarea{
box-sizing: border-box;
border: 1px solid blue;
width: 100vw;
height: 100vh;
font-size: 25px;
background-color: #222;
color: #CCC;
}
</style>
</head>
<body>
<textarea></textarea>
</body>
</html>

@ -0,0 +1,28 @@
define([
'/api/config?cb=' + Math.random().toString(16).substring(2),
'/common/realtime-input.js',
'/common/messages.js',
'/common/crypto.js',
'/bower_components/jquery/dist/jquery.min.js',
'/customize/pad.js'
], function (Config, Realtime, Messages, Crypto) {
var $ = jQuery;
$(window).on('hashchange', function() {
window.location.reload();
});
if (window.location.href.indexOf('#') === -1) {
window.location.href = window.location.href + '#' + Crypto.genKey();
return;
}
var key = Crypto.parseKey(window.location.hash.substring(1));
var rts = $('textarea').toArray().map(function (e, i) {
var rt = Realtime.start(e, // window
Config.websocketURL, // websocketUrl
Crypto.rand64(8), // userName
key.channel, // channel
key.cryptKey); // cryptKey
return rt;
});
});
Loading…
Cancel
Save