Merge pull request #509 from christianbundy/eat-flotilla
Merge flotilla source code into Oasis
This commit is contained in:
commit
76789a0ed6
|
@ -253,40 +253,6 @@
|
||||||
"resolved": "https://registry.npmjs.org/@fraction/base16-css/-/base16-css-1.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/@fraction/base16-css/-/base16-css-1.1.0.tgz",
|
||||||
"integrity": "sha512-Lnle0J8t+Z+jFg78GFFnGo+Fphxaco9K9SppeBDsI27QBRBumxeGAMeOg5wt6XbAuj5pQWmAEWWEwPz4PYGMHw=="
|
"integrity": "sha512-Lnle0J8t+Z+jFg78GFFnGo+Fphxaco9K9SppeBDsI27QBRBumxeGAMeOg5wt6XbAuj5pQWmAEWWEwPz4PYGMHw=="
|
||||||
},
|
},
|
||||||
"@fraction/flotilla": {
|
|
||||||
"version": "5.2.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@fraction/flotilla/-/flotilla-5.2.0.tgz",
|
|
||||||
"integrity": "sha512-9uF6Zq/K/qpO54aWkpMK247YbNHok42NMchkBNN5TVIMK+tQKbNW3YR4xgUyUCmVExaO1L5Xk9vHcevg8Pa1NQ==",
|
|
||||||
"requires": {
|
|
||||||
"debug": "^4.1.1",
|
|
||||||
"lodash.shuffle": "^4.2.0",
|
|
||||||
"secret-stack": "^6.3.0",
|
|
||||||
"ssb-about": "^2.0.1",
|
|
||||||
"ssb-backlinks": "^1.0.0",
|
|
||||||
"ssb-blobs": "^1.2.2",
|
|
||||||
"ssb-config": "^3.4.4",
|
|
||||||
"ssb-conn": "^0.17.0",
|
|
||||||
"ssb-db": "^19.4.0",
|
|
||||||
"ssb-ebt": "^5.6.7",
|
|
||||||
"ssb-friends": "^4.1.4",
|
|
||||||
"ssb-invite": "^2.1.3",
|
|
||||||
"ssb-lan": "^0.2.0",
|
|
||||||
"ssb-logging": "^1.0.0",
|
|
||||||
"ssb-master": "^1.0.3",
|
|
||||||
"ssb-meme": "^1.0.4",
|
|
||||||
"ssb-no-auth": "^1.0.0",
|
|
||||||
"ssb-onion": "^1.0.0",
|
|
||||||
"ssb-ooo": "^1.3.1",
|
|
||||||
"ssb-plugins": "^1.0.2",
|
|
||||||
"ssb-query": "^2.4.3",
|
|
||||||
"ssb-replicate": "^1.3.0",
|
|
||||||
"ssb-room": "^1.2.2",
|
|
||||||
"ssb-search": "^1.2.1",
|
|
||||||
"ssb-tangle": "^1.0.1",
|
|
||||||
"ssb-unix-socket": "^1.0.0",
|
|
||||||
"ssb-ws": "^6.2.3"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"@koa/router": {
|
"@koa/router": {
|
||||||
"version": "8.0.8",
|
"version": "8.0.8",
|
||||||
"resolved": "https://registry.npmjs.org/@koa/router/-/router-8.0.8.tgz",
|
"resolved": "https://registry.npmjs.org/@koa/router/-/router-8.0.8.tgz",
|
||||||
|
|
25
package.json
25
package.json
|
@ -22,7 +22,6 @@
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@fraction/base16-css": "^1.1.0",
|
"@fraction/base16-css": "^1.1.0",
|
||||||
"@fraction/flotilla": "^5.2.0",
|
|
||||||
"@koa/router": "^8.0.0",
|
"@koa/router": "^8.0.0",
|
||||||
"debug": "^4.1.1",
|
"debug": "^4.1.1",
|
||||||
"env-paths": "^2.2.0",
|
"env-paths": "^2.2.0",
|
||||||
|
@ -35,6 +34,7 @@
|
||||||
"koa-mount": "^4.0.0",
|
"koa-mount": "^4.0.0",
|
||||||
"koa-static": "^5.0.0",
|
"koa-static": "^5.0.0",
|
||||||
"lodash": "^4.17.11",
|
"lodash": "^4.17.11",
|
||||||
|
"lodash.shuffle": "^4.2.0",
|
||||||
"markdown-it": "^12.0.2",
|
"markdown-it": "^12.0.2",
|
||||||
"open": "^7.0.3",
|
"open": "^7.0.3",
|
||||||
"piexifjs": "^1.0.4",
|
"piexifjs": "^1.0.4",
|
||||||
|
@ -44,15 +44,38 @@
|
||||||
"pull-sort": "^1.0.2",
|
"pull-sort": "^1.0.2",
|
||||||
"pull-stream": "^3.6.12",
|
"pull-stream": "^3.6.12",
|
||||||
"require-style": "^1.1.0",
|
"require-style": "^1.1.0",
|
||||||
|
"secret-stack": "^6.3.0",
|
||||||
"sharp": "^0.26.3",
|
"sharp": "^0.26.3",
|
||||||
|
"ssb-about": "^2.0.1",
|
||||||
|
"ssb-backlinks": "^1.0.0",
|
||||||
|
"ssb-blobs": "^1.2.2",
|
||||||
"ssb-client": "^4.9.0",
|
"ssb-client": "^4.9.0",
|
||||||
"ssb-config": "^3.4.4",
|
"ssb-config": "^3.4.4",
|
||||||
|
"ssb-conn": "^0.17.0",
|
||||||
|
"ssb-db": "^19.4.0",
|
||||||
|
"ssb-ebt": "^5.6.7",
|
||||||
|
"ssb-friends": "^4.1.4",
|
||||||
|
"ssb-invite": "^2.1.3",
|
||||||
|
"ssb-lan": "^0.2.0",
|
||||||
|
"ssb-logging": "^1.0.0",
|
||||||
"ssb-markdown": "^6.0.7",
|
"ssb-markdown": "^6.0.7",
|
||||||
|
"ssb-master": "^1.0.3",
|
||||||
|
"ssb-meme": "^1.0.4",
|
||||||
"ssb-mentions": "^0.5.2",
|
"ssb-mentions": "^0.5.2",
|
||||||
"ssb-msgs": "^5.2.0",
|
"ssb-msgs": "^5.2.0",
|
||||||
|
"ssb-no-auth": "^1.0.0",
|
||||||
|
"ssb-onion": "^1.0.0",
|
||||||
|
"ssb-ooo": "^1.3.1",
|
||||||
|
"ssb-plugins": "^1.0.2",
|
||||||
|
"ssb-query": "^2.4.3",
|
||||||
"ssb-ref": "^2.13.9",
|
"ssb-ref": "^2.13.9",
|
||||||
|
"ssb-replicate": "^1.3.0",
|
||||||
|
"ssb-room": "^1.2.2",
|
||||||
|
"ssb-search": "^1.2.1",
|
||||||
"ssb-tangle": "^1.0.1",
|
"ssb-tangle": "^1.0.1",
|
||||||
"ssb-thread-schema": "^1.1.1",
|
"ssb-thread-schema": "^1.1.1",
|
||||||
|
"ssb-unix-socket": "^1.0.0",
|
||||||
|
"ssb-ws": "^6.2.3",
|
||||||
"yargs": "^16.1.1"
|
"yargs": "^16.1.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
|
|
@ -0,0 +1,55 @@
|
||||||
|
const stack = require("secret-stack");
|
||||||
|
const shuffle = require("lodash.shuffle");
|
||||||
|
const debug = require("debug")("oasis");
|
||||||
|
const ssbConfig = require("ssb-config");
|
||||||
|
|
||||||
|
const plugins = [
|
||||||
|
// Authentication often hooked for authentication.
|
||||||
|
require("ssb-master"),
|
||||||
|
// Methods often used during init().
|
||||||
|
require("ssb-db"),
|
||||||
|
// Method `replicate()` often hooked for improvements.
|
||||||
|
require("ssb-replicate"),
|
||||||
|
// Required by ssb-about, ssb-tangle, etc.
|
||||||
|
require("ssb-backlinks"),
|
||||||
|
// Required by ssb-room
|
||||||
|
require("ssb-conn"),
|
||||||
|
shuffle([
|
||||||
|
require("ssb-about"),
|
||||||
|
require("ssb-blobs"),
|
||||||
|
require("ssb-ebt"),
|
||||||
|
require("ssb-friends"),
|
||||||
|
require("ssb-invite"),
|
||||||
|
require("ssb-lan"),
|
||||||
|
require("ssb-logging"),
|
||||||
|
require("ssb-no-auth"),
|
||||||
|
require("ssb-onion"),
|
||||||
|
require("ssb-ooo"),
|
||||||
|
require("ssb-plugins"),
|
||||||
|
require("ssb-query"),
|
||||||
|
require("ssb-room/tunnel/client"),
|
||||||
|
require("ssb-search"),
|
||||||
|
require("ssb-tangle"),
|
||||||
|
require("ssb-unix-socket"),
|
||||||
|
require("ssb-ws"),
|
||||||
|
require("ssb-meme"),
|
||||||
|
]),
|
||||||
|
];
|
||||||
|
|
||||||
|
module.exports = (config) => {
|
||||||
|
const server = stack();
|
||||||
|
|
||||||
|
// TODO: Move this out of the main function.
|
||||||
|
const walk = (input) => {
|
||||||
|
if (Array.isArray(input)) {
|
||||||
|
input.forEach(walk);
|
||||||
|
} else {
|
||||||
|
debug(input.name || "???");
|
||||||
|
server.use(input);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
walk(plugins);
|
||||||
|
|
||||||
|
return server({ ...ssbConfig, ...config });
|
||||||
|
};
|
|
@ -7,12 +7,13 @@
|
||||||
const { promisify } = require("util");
|
const { promisify } = require("util");
|
||||||
const ssbClient = require("ssb-client");
|
const ssbClient = require("ssb-client");
|
||||||
const ssbConfig = require("ssb-config");
|
const ssbConfig = require("ssb-config");
|
||||||
const flotilla = require("@fraction/flotilla");
|
|
||||||
const ssbTangle = require("ssb-tangle");
|
const ssbTangle = require("ssb-tangle");
|
||||||
const debug = require("debug")("oasis");
|
const debug = require("debug")("oasis");
|
||||||
const path = require("path");
|
const path = require("path");
|
||||||
const lodash = require("lodash");
|
const lodash = require("lodash");
|
||||||
|
|
||||||
|
const flotilla = require("./flotilla");
|
||||||
|
|
||||||
const socketPath = path.join(ssbConfig.path, "socket");
|
const socketPath = path.join(ssbConfig.path, "socket");
|
||||||
const publicInteger = ssbConfig.keys.public.replace(".ed25519", "");
|
const publicInteger = ssbConfig.keys.public.replace(".ed25519", "");
|
||||||
const remote = `unix:${socketPath}~noauth:${publicInteger}`;
|
const remote = `unix:${socketPath}~noauth:${publicInteger}`;
|
Loading…
Reference in New Issue