index.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. // built into node.
  2. var http = require('http'),
  3. fs = require('fs'),
  4. argv = require('optimist').argv,
  5. https = require('https'),
  6. Gun = require('gun')
  7. // require('gun/lib/shim')
  8. // require('gun/lib/path')
  9. // require('gun/lib/bye')
  10. require('gun/nts')
  11. // Create a new server instance.
  12. //var server = http.createServer();
  13. //var location = {host:"localhost"};
  14. //var gun = Gun( { file: 'read.json', peers: ['http://' + location.host + ':8080/gun'] });
  15. //gun.get( 'players' ).path('me4').put('from server',function(v){ console.log("put new value " + v ); } );
  16. //gun.get('players').get('me4').bye().put('offline');
  17. //gun.on('bye', function(peer){ console.log('disconnected from', peer) })
  18. var ssl = ( argv.s || argv.ssl );
  19. var pass = ( ( argv.w) ? ( argv.w) : undefined );
  20. var sslOptions = {
  21. key: ( ( argv.k || argv.key ) ? fs.readFileSync( argv.k || argv.key ) : undefined ),
  22. cert: ( ( argv.c || argv.cert ) ? fs.readFileSync( argv.c || argv.cert ) : undefined ),
  23. ca: ( ( argv.t || argv.ca ) ? fs.readFileSync( argv.t || argv.ca ) : undefined ),
  24. passphrase: JSON.stringify(pass)
  25. };
  26. //create the server
  27. var port = ( ( argv.p || argv.port ) ? ( argv.p || argv.port ) : 8080 );
  28. var srv = ssl ? https.createServer( sslOptions): http.createServer();
  29. //console.log( 'Serving on port ' + port );
  30. // Our GUN setup from the last example.
  31. var gun = Gun({
  32. //file: 'data.json',
  33. //file: false,
  34. web: srv
  35. });
  36. // Start the server on port 8080.
  37. srv.listen(port, function () {
  38. console.log('Server listening on http://localhost:'+ port+ '/gun')
  39. })