server.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. var Server = require('ssb-server')
  2. var SecretStack = require('secret-stack')
  3. var SSB = require('ssb-db')
  4. var caps = require('ssb-caps')
  5. var config = require('ssb-config')
  6. var fs = require('fs')
  7. var path = require('path')
  8. // add required plugins
  9. Server
  10. .use(require('ssb-db'))
  11. .use(require('ssb-master'))
  12. .use(require('ssb-replicate'))
  13. .use(require('ssb-backlinks'))
  14. .use(require('ssb-conn'))
  15. .use(require('ssb-gossip'))
  16. .use(require('ssb-search'))
  17. .use(require('ssb-tangle'))
  18. .use(require('ssb-query'))
  19. .use(require('ssb-friends'))
  20. .use(require('ssb-blobs'))
  21. .use(require('ssb-about'))
  22. .use(require('ssb-ebt'))
  23. .use(require('ssb-invite'))
  24. .use(require('ssb-local'))
  25. .use(require('ssb-lan'))
  26. .use(require('ssb-links'))
  27. .use(require('ssb-logging'))
  28. .use(require('ssb-meme'))
  29. .use(require('ssb-no-auth'))
  30. .use(require('ssb-onion'))
  31. .use(require('ssb-ooo'))
  32. .use(require('ssb-plugins'))
  33. .use(require('ssb-unix-socket'))
  34. .use(require('ssb-ws'))
  35. .use(require('ssb-tunnel'))
  36. .use(require("ssb-private1"))
  37. // load config into ssb
  38. var server = Server(config)
  39. // generate manifest
  40. var manifest = server.getManifest()
  41. fs.writeFileSync(
  42. path.join(config.path, 'manifest.json'), // ~/.ssb/manifest.json
  43. JSON.stringify(manifest)
  44. )
  45. // create server
  46. function createSsbServer () {
  47. return SecretStack({ caps }).use(SSB)
  48. }
  49. module.exports = createSsbServer()