diff options
| author | Ev Bogue <ev@evbogue.com> | 2020-01-03 15:57:10 -0600 | 
|---|---|---|
| committer | Ev Bogue <ev@evbogue.com> | 2020-01-03 15:57:10 -0600 | 
| commit | 508e4c53a93cfa443dd590dd52f8fc22471d9e7c (patch) | |
| tree | 3a4bf1018aae26ec7a98731c39a72ab35afab9f1 | |
| parent | 8da504b074b76d0a811f388181d55b0ed3ce3294 (diff) | |
rip out beacons
| -rw-r--r-- | app.js | 3 | ||||
| -rw-r--r-- | beacons.js | 112 | ||||
| -rw-r--r-- | gossip.js | 10 | ||||
| -rw-r--r-- | index.html | 1 | ||||
| -rw-r--r-- | package-lock.json | 2 | ||||
| -rw-r--r-- | package.json | 2 | ||||
| -rw-r--r-- | render.js | 153 | ||||
| -rw-r--r-- | server.js | 80 | 
8 files changed, 4 insertions, 359 deletions
| @@ -10,8 +10,6 @@ function route (keys) {    if (src === 'settings') {      settingsPage(keys) -  } else if (src === 'beacons') { -    beaconsPage(keys)    } else if (src[0] === '@') {      profilePage(src, keys)    } else if (src[0] === '?') { @@ -30,7 +28,6 @@ keys().then(key => {      h('div', {classList: 'internal'}, [        h('li', [h('a', {href: '#'}, ['Home'])]),        h('li', [h('a', {href: '#' + key.publicKey}, [getName(key.publicKey, keys)])]), -      h('li', [h('a', {href: '#beacons'}, ['Beacons'])]),        h('li', {classList: 'right'}, [h('a', {href: '#settings'}, ['Settings'])]),        h('form', { classList: 'search',           onsubmit: function (e) { diff --git a/beacons.js b/beacons.js deleted file mode 100644 index 3c65f3e..0000000 --- a/beacons.js +++ /dev/null @@ -1,112 +0,0 @@ -function beaconsPage (keys) { - -  var pubslist = h('select') - -  localforage.getItem('securepubs').then(function (servers) { -    servers.forEach(function (pub) { -      pubslist.appendChild( -        h('option', {value: pub}, [pub]) -      ) -    }) -  }) -   -  var ads = h('div', {classList: 'message'}) - -  ads.appendChild(h('span', {innerHTML: marked('Sometimes when you\'re lost on the Internet you might want to send out a beacon so that people can see you. \n\n Beacons from guests will run for 100 views before they are deleted by the pub. \n\nSelect a pub:')})) - -  ads.appendChild(pubslist) - -  var recp = h('input', {placeholder: 'Ex: @Q++V5BbvWIg8B+TqtC9ZKFhetruuw+nOgxEqfjlOZI0='}) - -  var adstext = h('textarea', {placeholder: 'Hello World!'}) - -  ads.appendChild(h('span', [ -    h('br'), -    h('p', [" Send a beacon (leave the 'To:' field blank for a public beacon): "]), -    h('p', ['To: ', -      recp -    ]), -    adstext, -    h('br'), -    h('button', { -      onclick: function () { -        var split = pubslist.value.split('~') -        console.log(split) -        var serverurl = split[0] -        var serverpub = split[1] -        var ws = new WebSocket(serverurl) - -        if ((recp.value) && (adstext.value)) { -          var tobox = { -            author: keys.publicKey, -            timestamp: Date.now(), -            content: adstext.value -          } -          box(JSON.stringify(tobox), recp.value, keys).then(boxedmsg => { -            var msg = { -              type: 'beacon', -              author: keys.publicKey, -              box: boxedmsg -            } -            ws.onopen = function () { -              box(JSON.stringify(msg), serverpub, keys).then(boxed => { -                var obj = { -                  requester: keys.publicKey, -                  box: boxed -                } -                ws.send(JSON.stringify(obj)) -              }) -              adstext.value = '' -              recp.value = '' -            } -          }) -        } - -        if ((!recp.value) && (adstext.value)) { -          var msg = { -            type: 'beacon', -            author: keys.publicKey -          } -          msg.signature = nacl.util.encodeBase64(nacl.sign(nacl.util.decodeUTF8(JSON.stringify(adstext.value)), nacl.util.decodeBase64(keys.privateKey))) -          ws.onopen = function () { -            box(JSON.stringify(msg), serverpub, keys).then(boxed => { -              var obj = { -                requester: keys.publicKey, -                box: boxed -              } -              ws.send(JSON.stringify(obj)) -            }) -            adstext.value = '' -          } -        } -      } -    }, ['Publish']) -  ])) - -  scroller.appendChild(ads) - -  localforage.getItem('beacons').then(beacons => { -    beacons.forEach(beacon => { -      var message = h('div', {classList: 'message'}) - -      if (beacon.signature) { -        open(beacon).then(opened => { -          quickName(beacon.author).then(gotName => { -            message.appendChild(h('p', {innerHTML: marked(opened)})) -            message.appendChild(h('span', [ -                '—', -                h('a', {href: '#' + beacon.author}, [gotName]), -                ' from ', -                h('a', {href: beacon.name}, [beacon.name]) -              ]) -            ) -          }) -        }) -      } -         -      scroller.appendChild(message) -      console.log(beacon) -    })   -  }) -} - @@ -1,11 +1,5 @@  function processreq (req, pubkey, connection, keys) { -  console.log(req)  -  if (req.box || req.signature) { -    renderAd(req, keys) -  } -    if (req.seq === 0 || req.seq) { -    console.log('feed sync')      bog(req.author).then(feed => {        if (feed) {          open(feed[0]).then(msg => { @@ -38,7 +32,7 @@ function processreq (req, pubkey, connection, keys) {              })            }          }) -      } else { console.log('we dont have it')} +      }      })    } @@ -157,7 +151,7 @@ function sync (feeds, keys) {    var pubs    localforage.getItem('pubs').then(pubs => {      if (!pubs) { -      pubs = ['ws://' + location.hostname + ':8080'] +      pubs = ['ws://' + location.hostname + ':8080', 'ws://bogbook.com']        localforage.setItem('pubs', pubs)      }      pubs.forEach(function (pub, index) { @@ -17,7 +17,6 @@      <script src="bog.js"></script>      <script src="composer.js"></script>      <script src="settings.js"></script> -    <script src="beacons.js"></script>      <script src="identify.js"></script>      <script src="render.js"></script>      <script src="gossip.js"></script> diff --git a/package-lock.json b/package-lock.json index ad97945..e17dee8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@  {    "name": "bogbook", -  "version": "1.8.0", +  "version": "1.8.1",    "lockfileVersion": 1,    "requires": true,    "dependencies": { diff --git a/package.json b/package.json index a174152..437d4c7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@  {    "name": "bogbook", -  "version": "1.8.0", +  "version": "1.8.1",    "description": "secure blockchain logging (blogging, without the l) -- bogging",    "main": "server.js",    "scripts": { @@ -1,156 +1,3 @@ -function renderAd (ad, keys) { -  localforage.getItem(ad.hash).then(heard => { -    if (!heard) { -      var screen = document.getElementById('screen') -      var adspot = document.getElementById('ad') -      var pmspot = document.getElementById('pm') - -      if (adspot) { -        adspot.parentNode.removeChild(adspot) -      } - - -      var adspace = h('span') - -      if (ad.views) { -        adspace.appendChild(h('span', {classList: 'right'}, [h('pre', [ad.views + ' views'])])) -      } else { -        adspace.appendChild(h('span', {classList: 'right'}, [h('pre', ['beacon'])])) -      } - -      if (ad.box) { -        unbox(ad.box, ad.author, keys).then(unboxed => { -          if (unboxed) { -            var msg = JSON.parse(unboxed) -            if (pmspot) { -              pmspot.parentNode.removeChild(pmspot) -            } -            quickName(ad.author).then(gotName => { -              beacon = h('div', {id: 'pm'}, [ -                h('span', {classList: 'right'}, [h('pre', [human(new Date(msg.timestamp))])]), -                h('p', {innerHTML: marked(msg.content)}), -                h('button', {classList: 'right', -                  onclick: function () { -                    pmspot = document.getElementById('pm') -                    pmspot.parentNode.removeChild(pmspot) -                    if (msg.content.substring((msg.content.length - 6), msg.content.length) === 'Heard.') { -                      localforage.setItem(ad.hash, true).then(success => { -                        //console.log('heard: ' + ad.hash) -                      }) - -                    } else { -                      var split = ad.pub.split('~') -                      var serverurl = split[0] -                      var serverpub = split[1] -                      var ws = new WebSocket(serverurl) - -                      var tobox = { -                        author: keys.publicKey, -                        timestamp: Date.now(), -                        content: '>' + msg.content + '\n\nHeard.' -                      } - -                      box(JSON.stringify(tobox), ad.author, keys).then(boxedmsg => { -                        var msg = { -                          type: 'beacon', -                          author: keys.publicKey, -                          box: boxedmsg -                        } -                        ws.onopen = function () { -                          box(JSON.stringify(msg), serverpub, keys).then(boxed => { -                            var obj = { -                              requester: keys.publicKey, -                              box: boxed -                            } -                            ws.send(JSON.stringify(obj)) -                            localforage.setItem(ad.hash, true).then(success => { -                              //console.log('heard: ' + ad.hash) -                              localforage.getItem('beacons').then(beacons => { -                                if (!beacons) { beacons = [] } -                                beacons.unshift(ad) -                                localforage.setItem('beacons', beacons) -                              }) - -                            }) -                          }) -                        } -                      }) -                    } -                  } -                }, ['Heard']), -                h('span', [ -                  '—', -                  h('a', {href: '#' + ad.author}, [gotName]), -                  ' from ', -                  h('a', {href: ad.name}, [ad.name]) -                ]) -              ]) -              screen.append(beacon) -            }) -          }  -        }) -      } - -      if (ad.signature) { -        open(ad).then(opened => { -          quickName(ad.author).then(gotName => { -            newAd = h('div', {id: 'ad'}, [ -              adspace, -              h('p', {innerHTML: marked(opened)}), -              h('button', {classList: 'right', -                onclick: function () { -                  adspot = document.getElementById('ad') -                  adspot.parentNode.removeChild(adspot) -                  var split = ad.pub.split('~') -                  var serverurl = split[0] -                  var serverpub = split[1] -                  var ws = new WebSocket(serverurl) - -                  var tobox = { -                    author: keys.publicKey, -                    timestamp: Date.now(), -                    content: '>' + opened + '\n\nHeard.' -                  } - -                  box(JSON.stringify(tobox), ad.author, keys).then(boxedmsg => { -                    var msg = { -                      type: 'beacon', -                      author: keys.publicKey, -                      box: boxedmsg -                    } -                    ws.onopen = function () { -                      box(JSON.stringify(msg), serverpub, keys).then(boxed => { -                        var obj = { -                          requester: keys.publicKey, -                          box: boxed -                        } -                        ws.send(JSON.stringify(obj)) -                        localforage.setItem(ad.hash, true).then(success => {console.log('heard: ' + ad.hash)}) -                        localforage.getItem('beacons').then(beacons => { -                          if (!beacons) { beacons = [] } -                          beacons.unshift(ad) -                          localforage.setItem('beacons', beacons) -                        }) -                      }) -                    } -                  }) -                } -              }, ['Heard']), -              h('span', [ -                '—', -                h('a', {href: '#' + ad.author}, [gotName]), -                ' from ', -                h('a', {href: ad.name}, [ad.name]) -              ]) -            ]) -            screen.appendChild(newAd) -          })  -        }) -      } -    } -  }) -} -  function getHeader (post, keys, mini) {    var getRaw = h('button', {      onclick: function () { @@ -3,7 +3,6 @@ var homedir = require('os').homedir()  var path = homedir + '/.bogbook/'  var bogdir = path + 'bogs/' -var addir = path + 'ads/'  var confpath = path + 'config.json'  if (!fs.existsSync(homedir + '/.bogbook/')) {fs.mkdirSync(homedir + '/.bogbook/')} @@ -120,33 +119,6 @@ bog.keys().then(key => {          bog.unbox(req.box, req.requester, key).then(unboxed => {            var unboxedreq = JSON.parse(unboxed)            //console.log(unboxedreq) -          if (unboxedreq.type == 'beacon') { -            if (unboxedreq.box) { -              var hex = Buffer.from(nacl.hash(nacl.util.decodeUTF8(unboxedreq.box))).toString('hex') - -              var obj = { -                hash: hex, -                author: unboxedreq.author, -                box: unboxedreq.box, -                views: 0 -              } -            }  - -            if (unboxedreq.signature) { -              var hex = Buffer.from(nacl.hash(nacl.util.decodeUTF8(unboxedreq.signature))).toString('hex') -              var obj = { -                hash: hex, -                author: unboxedreq.author, -                signature: unboxedreq.signature, -                views: 0 -              } -            } -              -            fs.writeFile(addir + hex, JSON.stringify(obj), 'UTF-8', function () { -              console.log('Saved as ' + hex) -            }) -            ws.close() -          }            if (unboxedreq.seq >= 0) {              printAsk(req, unboxedreq)              fs.readFile(bogdir + unboxedreq.author, 'UTF-8', function (err, data) { @@ -155,58 +127,6 @@ bog.keys().then(key => {                  bog.open(feed[0]).then(msg => {                    if (unboxedreq.seq === msg.seq) {                       printFeedIdentical(msg, req) -                    if (config.ads) { -                      if (Math.floor(Math.random() * 6) == 2) { -                        fs.readdir(addir, function (err, adfiles) { -                          if (adfiles) { -                            var num = Math.floor(Math.random() * (adfiles.length))  -                            fs.readFile(addir + adfiles[num], 'UTF-8', function (err, adFile) { -                              var obj = JSON.parse(adFile) - -                              if (obj.signature) { -                                var ad = { -                                  author: obj.author, -                                  hash: obj.hash, -                                  name: config.fullurl, -                                  pub: 'ws://' + config.url + ':' + config.wsport + '/~' + key.publicKey, -                                  signature: obj.signature, -                                  views: obj.views -                                } -                              } - -                              if (obj.box) { -                                var ad = { -                                  author: obj.author, -                                  hash: obj.hash, -                                  name: config.fullurl, -                                  pub: 'ws://' + config.url + ':' + config.wsport + '/~' + key.publicKey, -                                  box: obj.box, -                                  views: obj.views -                                } -                              } - -                              if ((obj.views > 100) && (obj.author != config.author)) { -                                fs.unlinkSync(addir + obj.hash) -                                //console.log('REMOVING AD') -                              } else { -                                obj.views++ -                                fs.writeFileSync(addir + obj.hash, JSON.stringify(obj), 'UTF-8') -                              } -                              printSendAd(ad, req) -                              //console.log('SENDING AD') -                              bog.box(JSON.stringify(ad), req.requester, key).then(boxed => { -                                sendobj = { -                                  requester: key.publicKey, -                                  box: boxed -                                } -                                ws.send(JSON.stringify(sendobj))     -                                ws.close() -                              }) -                            }) -                          }  -                        }) -                      } -                    }                    }                     if (unboxedreq.seq > msg.seq) {                      printClientLonger(msg, req) | 
