aboutsummaryrefslogtreecommitdiff
path: root/gossip.js
diff options
context:
space:
mode:
Diffstat (limited to 'gossip.js')
-rw-r--r--gossip.js83
1 files changed, 0 insertions, 83 deletions
diff --git a/gossip.js b/gossip.js
index 1c85f88..00e6f40 100644
--- a/gossip.js
+++ b/gossip.js
@@ -1,86 +1,3 @@
-function blobSync (blob, author, keys, needs) {
- console.log(needs)
-
- var wsServers
-
- // duplicate code, we should abstract this
- localforage.getItem('securepubs').then(function (servers) {
- if (servers) {
- wsServers = servers
- } else {
- servers = ['ws://bogbook.com', 'ws://localhost:8080']
- var pubs = []
- servers.forEach(server => {
- var ws = new WebSocket(server)
- ws.onopen = function () {
- ws.send(JSON.stringify({requester: keys.publicKey, sendpub: true}))
- }
- ws.onmessage = function (message) {
- pubs.push(server + '/~' + message.data)
- localforage.setItem('securepubs', pubs)
- }
- })
- wsServers = pubs
- }
- }).then(function () {
- wsServers.forEach(function (server, index) {
- setTimeout(function () {
- var split = server.split('~')
- var serverurl = split[0]
- var serverpub = split[1]
- var ws = new WebSocket(serverurl)
-
- console.log('requesting ' + blob + ' from ' + server)
- ws.onopen = function () {
- var req = {
- blob: blob,
- needs: needs
- }
-
- box(JSON.stringify(req), serverpub, keys).then(boxed => {
- var obj = {
- requester: keys.publicKey,
- box: boxed
- }
- ws.send(JSON.stringify(obj))
- })
- }
- ws.onmessage = function (message) {
- var serverreq = JSON.parse(message.data)
- unbox(serverreq.box, serverreq.requester, keys).then(unboxed => {
-
- var unboxedreq = JSON.parse(nacl.util.encodeUTF8(unboxed))
- //console.log(unboxedreq)
- if (unboxedreq.blobFile) {
- var openedimg = nacl.sign.open(nacl.util.decodeBase64(unboxedreq.blobFile), nacl.util.decodeBase64(author.substring(1)))
- if (openedimg) {
- localforage.setItem(unboxedreq.blob, unboxedreq.blobFile)
- }
- } else {
- localforage.getItem(unboxedreq.blob).then(blob => {
- if (blob) {
- var nextreq = {
- author: author,
- blob: unboxedreq.blob,
- blobFile: blob
- }
- box(JSON.stringify(nextreq), serverreq.requester, keys).then(boxed => {
- var obj = {
- requester: keys.publicKey,
- box: boxed
- }
- ws.send(JSON.stringify(obj))
- })
- }
- })
- }
- })
- }
- }, index * 10000)
- })
- })
-}
-
function sync (subs, keys) {
var wsServers