peerjs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #!/usr/bin/env node
  2. var path = require('path')
  3. , pkg = require('../package.json')
  4. , fs = require('fs')
  5. , version = pkg.version
  6. , PeerServer = require('../lib/server').PeerServer
  7. , opts = require('optimist')
  8. .usage('Usage: $0')
  9. .options({
  10. debug: {
  11. demand: false,
  12. alias: 'd',
  13. description: 'debug',
  14. default: false
  15. },
  16. timeout: {
  17. demand: false,
  18. alias: 't',
  19. description: 'timeout (milliseconds)',
  20. default: 5000
  21. },
  22. ip_limit: {
  23. demand: false,
  24. alias: 'i',
  25. description: 'IP limit',
  26. default: 5000
  27. },
  28. concurrent_limit: {
  29. demand: false,
  30. alias: 'c',
  31. description: 'concurrent limit',
  32. default: 5000
  33. },
  34. key: {
  35. demand: false,
  36. alias: 'k',
  37. description: 'connection key',
  38. default: 'peerjs'
  39. },
  40. sslkey: {
  41. demand: false,
  42. description: 'path to SSL key'
  43. },
  44. sslcert: {
  45. demand: false,
  46. description: 'path to SSL certificate'
  47. },
  48. port: {
  49. demand: true,
  50. alias: 'p',
  51. description: 'port',
  52. }
  53. }).argv;
  54. opts.version = version;
  55. if (opts.sslkey && opts.sslcert) {
  56. opts['ssl'] = {};
  57. opts.ssl['key'] = fs.readFileSync(path.resolve(opts.sslkey));
  58. opts.ssl['certificate'] = fs.readFileSync(path.resolve(opts.sslcert));
  59. }
  60. process.on('uncaughtException', function(e) {
  61. console.error('Error: ' + e);
  62. });
  63. var server = new PeerServer(opts);
  64. console.log(
  65. "Started PeerServer, port: " + opts.port + (" (v. %s)"), version
  66. );