From 3a40ac5e5a70b5258fc3104077ac6659c167755a Mon Sep 17 00:00:00 2001 From: "s.golasch" Date: Tue, 1 Aug 2023 14:23:56 +0200 Subject: [PATCH] first commit --- .DS_Store | Bin 0 -> 6148 bytes .gitignore | 3 +++ browser.js | 41 +++++++++++++++++++++++++++++++++++ index.js | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++ manifest.json | 1 + package.json | 34 +++++++++++++++++++++++++++++ 6 files changed, 137 insertions(+) create mode 100644 .DS_Store create mode 100644 .gitignore create mode 100644 browser.js create mode 100644 index.js create mode 100644 manifest.json create mode 100644 package.json diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..3148cd70daf16d252f3d44b4435b5bd232278240 GIT binary patch literal 6148 zcmeHKy-EW?5S}@&2-u{w+$Rw725UH5EmBwsa-KvX;jW1NzLziJ(}>^vC|Nx$MPvqc zzsdaGeURN7BI5P)up(L#(E>}5MVS#X&$=297AH%M-FCIPANSKtk-ut^XK(48w)8}Y z`uT6(j(z*F>-yc;!zMWouh%aZwSV~0KRq6C!%9&@1NBu;Zcb2B?O*!cPFLE`eO0f@ zSNF*%7ZMBv1HnKr5DZid;La9VoEpX+3{tx-=)k5U0I-Ew1-i@< zl9L>>V=;sW!j=lORQ3^rEgkmcaoMpLS~{^0AMBk!h8NcEsGl^PI2*S-_h+Wfx@gbmu#1;(v0t4@Y9XdAv literal 0 HcmV?d00001 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..aedafc2 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +node_modules +*.sw* +db diff --git a/browser.js b/browser.js new file mode 100644 index 0000000..8b22762 --- /dev/null +++ b/browser.js @@ -0,0 +1,41 @@ +var Engine = require('engine.io-stream'); +var multilevel = require('multilevel'); + +var manifest = require('./manifest.json'); + +var container = require('container-el'); +var List = require('level-list'); + +var db = multilevel.client(manifest); +var con = Engine('/engine'); +con.pipe(db.createRpcStream()).pipe(con); + +window.db = db; + +var list = List(db, function (row) { + var p = document.createElement('p'); + p.appendChild(document.createTextNode(row.text)); + return p; +}); + +container.appendChild(list.el); + + + + + + + + + + + + + + + + + + + + diff --git a/index.js b/index.js new file mode 100644 index 0000000..8b400b1 --- /dev/null +++ b/index.js @@ -0,0 +1,58 @@ +var http = require('http'); +var Engine = require('engine.io-stream'); +var browserify = require('browserify'); + +var level = require('level'); +var multilevel = require('multilevel'); +var liveStream = require('level-live-stream'); + +// webrtc +var webrtc = require('wrtc'); +var pc = null; +var offer = null; +var answer = null; + +/* 1. Global settings, data and functions. */ +var dataChannelSettings = { + 'reliable': { + ordered: true, + maxRetransmits: 0 + }, +}; + +var pcSettings = [ + { + iceServers: [{url:'stun:stun.l.google.com:19302'}] + }, + { + 'optional': [{DtlsSrtpKeyAgreement: false}] + } +]; + +var pendingDataChannels = {}; +var dataChannels = {}; + +var server = http.createServer(function (req, res) { + if (req.url == '/') { + res.end(''); + } else if (req.url == '/bundle.js') { + browserify(__dirname + '/browser.js') + .bundle({debug: true}) + .pipe(res); + } else { + res.end('Oops'); + } +}).listen(5000); + +var db = level(__dirname + '/db', { + valueEncoding: 'json' +}); + +liveStream.install(db); +multilevel.writeManifest(db, __dirname + '/manifest.json'); + +var multistream = multilevel.server(db); +var engine = Engine(function (con) { + con.pipe(multistream).pipe(con); +}); +engine.attach(server, '/engine'); \ No newline at end of file diff --git a/manifest.json b/manifest.json new file mode 100644 index 0000000..2123b41 --- /dev/null +++ b/manifest.json @@ -0,0 +1 @@ +{"methods":{"createReadStream":{"type":"readable"},"readStream":{"type":"readable"},"createValueStream":{"type":"readable"},"valueStream":{"type":"readable"},"createKeyStream":{"type":"readable"},"keyStream":{"type":"readable"},"createWriteStream":{"type":"writable"},"writeStream":{"type":"writable"},"isOpen":{"type":"sync"},"isClosed":{"type":"sync"},"put":{"type":"async"},"get":{"type":"async"},"del":{"type":"async"},"batch":{"type":"async"},"approximateSize":{"type":"async"},"createLiveStream":{"type":"readable"},"liveStream":{"type":"readable"}}} \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 0000000..825cb39 --- /dev/null +++ b/package.json @@ -0,0 +1,34 @@ +{ + "name": "talk", + "version": "0.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "", + "license": "BSD", + "dependencies": { + "browserify": "~2.29.1", + "container-el": "0.0.1", + "domify": "~1.0.0", + "ecstatic": "~0.4.8", + "engine.io-client": "^1.5.1", + "engine.io-stream": "~0.4.1", + "enter-input": "0.0.0", + "level": "~0.15.0", + "level-list": "~0.10.0", + "level-live-stream": "~1.4.7", + "level-livefeed": "^0.2.0", + "level-master": "^1.0.2", + "level-replicate": "^1.2.1", + "level-sublevel": "~5.1.1", + "leveldown": "^1.3.0", + "multilevel": "~5.5.0", + "reactive-component": "~0.13.2", + "serverless-webrtc": "^1.0.5", + "sublevel": "^2.4.0", + "through": "^2.3.6", + "wrtc": "0.0.56" + } +}