{"_id":"3dtoolkit-signal","_rev":"4-575366e9f477b8e7bcd263059179cadb","name":"3dtoolkit-signal","dist-tags":{"latest":"2.1.0"},"versions":{"1.1.0":{"name":"3dtoolkit-signal","version":"1.1.0","description":"3dtoolkit webrtc signal implementation, using http","main":"index.js","bin":{"3dtoolkit-signal":"./index.js"},"scripts":{"start":"node index.js","test":"mocha"},"keywords":["webrtc","signal"],"author":{"name":"Ben Greenier"},"license":"MIT","dependencies":{"express-bunyan-logger":"^1.3.3","passport":"^0.4.0","passport-azure-ad":"^3.0.12","webrtc-signal-http":"^1.3.0","webrtc-signal-http-capacity":"^1.2.0","webrtc-signal-http-heartbeat":"^1.0.0"},"devDependencies":{"mocha":"^5.2.0","supertest":"^3.1.0"},"gitHead":"db7cb39b9dec7fa711741940dbea07a38a85d411","_id":"3dtoolkit-signal@1.1.0","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"b3ngr33ni3r","email":"ben+npm@bengreenier.com"},"dist":{"integrity":"sha512-Qx5KKuQnHUA0SpuoYVCmheZfCSKLslbLGFburZDZgGRz2zEA4bCE0vbJ8KddgZySzDrG75Of+KmO037C3KXzag==","shasum":"1190c71ea59b8ad23c1ee9a29e03e6a8131880b3","tarball":"https://registry.npmjs.org/3dtoolkit-signal/-/3dtoolkit-signal-1.1.0.tgz","fileCount":7,"unpackedSize":13526,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbEVkuCRA9TVsSAnZWagAAvxIP/RXK18oTzkf00Lk5ZBJj\nFyTLPg94dOvJlE1gfOaetSjqeisNggDgSqj60a3CHstJVyt0r3slI74ZoOjr\niT9uE3WRHkEM3C7k2RyLM11hnd9JPiAPMBpolMlfJPGgWO8Njg7j6H3DnYtw\n4dq5GOo/26JH59uUISENUCV7hQZDThp/JkPao8HBuxdiAEtAGSI3Z020VO5I\nw+uL+cmkRwCMw3Y4SgR4Gbq7REwWJwVGPGJob0iA/qtrcdGGH/zkLjtDWaUW\nGTGEwYwfMCjG4p8Qd/MOt+dFfe0Jj+LV3iUW+jmZ+V4fvzabOtw+XItgBXBN\nGZOhCYa5qiL7hybGk0d78iBuUw+qmvwupyccKrtXc9sZ4z7Iv5/ycfBefjFD\ngQez1vG3JZSsxN1oKLXGrabOxCxWsXmF0aSZpmFC8VUSWPOsUkfQHrBKoFwb\nXdEGm11JVqDb+ZKTLKsn+kYV7h8sNEzfQbe3NHRqbM55cEQDId0VSe1PKR/T\nLqSPqZcT7IWwsIkbfPhqc3t+gXP3XVdrUglR4uZFGf92o+qTTs3wRNrzFJNc\nInK64hdpvqt8CDt1bjKZP56NW0yondd+qHrWZNL5StHh9NSUmaKCcofcnF9v\nizZ/JXPoomzU2V41l1o6Iz8aXxc2xPa36NCu4RjS8RfFiRB61QVRqqCkdkQa\nhdvo\r\n=bxVB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDr2FWAp1rcRdM9P6KDO+0/bXpQFEfTQA7iJUucetcVGAIgfE7MrdYE17ofjeJiYftnXSDq6whYP690/JtgI4gqy6o="}]},"maintainers":[{"name":"b3ngr33ni3r","email":"ben+npm@bengreenier.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/3dtoolkit-signal_1.1.0_1527863597723_0.18372781308997133"},"_hasShrinkwrap":false,"deprecated":"This package is deprecated, please use signal-3dstk"},"2.0.0":{"name":"3dtoolkit-signal","version":"2.0.0","description":"3dtoolkit webrtc signal implementation, using http","main":"index.js","bin":{"3dtoolkit-signal":"./index.js"},"scripts":{"start":"node index.js","test":"mocha"},"keywords":["webrtc","signal"],"author":{"name":"Ben Greenier"},"license":"MIT","dependencies":{"express-bunyan-logger":"^1.3.3","passport":"^0.4.0","passport-azure-ad":"^3.0.12","webrtc-signal-http":"^1.3.0","webrtc-signal-http-capacity":"^1.2.0","webrtc-signal-http-heartbeat":"^1.0.0","webrtc-signal-http-peer-identification":"^1.0.1"},"devDependencies":{"mocha":"^5.2.0","supertest":"^3.1.0"},"gitHead":"b8a171efdf843e231dbb8090721174f1c6030bf7","_id":"3dtoolkit-signal@2.0.0","_npmVersion":"5.6.0","_nodeVersion":"9.11.1","_npmUser":{"name":"b3ngr33ni3r","email":"ben+npm@bengreenier.com"},"dist":{"integrity":"sha512-9ooAuhyRgZJu6SU/9xGD9V2FYOYNmCqB5rLJ6PH/0yDBBCceuQXLDuoLO5CP37/yKODENMCkRXOawd+jtqk33g==","shasum":"a82d0ddd23f666275f1f2b1151a35d6bcdc4c357","tarball":"https://registry.npmjs.org/3dtoolkit-signal/-/3dtoolkit-signal-2.0.0.tgz","fileCount":8,"unpackedSize":16239,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbFeXeCRA9TVsSAnZWagAA8MwQAIJmPJdTIoBp43GKPzHC\nUFdEuE07qUYYWEU6I5DfF7mmXRgZ7gvPCRI7Hs7dI9NO1M9lo9NfoxVr3h84\nEQn9G0XJVWvKy3JWk27HN6R4b57Z+ApIlFRGS6XLMc8T6NUux7SU8ok1UKCY\n3w9FS+I3RQHWc4Z4atD6Jkl9BFNU1oCwTOk16wLAA5qIZ+Pd2jbxEe9Os66n\nm6JvuORsMs5CPB3Yv78VnfzE1noeWV/0REASWhJU7er20a8jxPgcB9PculQV\nwMlyzf81koNJuBd7vuodzPMXRz/pOdfY80lZ/NaJLlFhsNvaHsttDBoQ1rb7\n5ca9JXGyW2RlS4tANhnQH2dQCGLPz1yVZdhVouVk2M9ce65KftZlcyVkZjP3\n8dTv4ZpaKc79zV9ddHn7ked4FU4gKSfy9jlZsXdzC5f4yZIRtd2N6JxZERRr\nLG/xrT7DAhYsI1qxecIKZXwzGPJmtfY/HM4mu/IoxFMxktnRoMVuhrcWFyV2\nIur/2GDXMqC72Wl4sdH/3vGuLLvPPyvXo4hMgSDK4A0AvbRvagAd3uwpLDlw\n3np/tvQr7FNxaAOO/O6DBQDrPfuhVEUsULGV2dI+shy0EvFDfiXBBlRnCWj6\n1nIG/mnotxcuBMoFeinRj2MtiOsogioYc8aPHGBwa8O6zNsNzIbX+34GXtpo\nQPzv\r\n=HVj4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDdsqDJTpIMwrPsZIM5S08145rK0ExtCauX3o+TpxBh8AIgfy5OC1uURKRFZIU31if3klapXJqjj8lC53wPzTawZUo="}]},"maintainers":[{"name":"b3ngr33ni3r","email":"ben+npm@bengreenier.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/3dtoolkit-signal_2.0.0_1528161757261_0.4508988795053219"},"_hasShrinkwrap":false,"deprecated":"This package is deprecated, please use signal-3dstk"},"2.1.0":{"name":"3dtoolkit-signal","version":"2.1.0","description":"3dtoolkit webrtc signal implementation, using http","main":"index.js","bin":{"3dtoolkit-signal":"./index.js"},"scripts":{"start":"node index.js","test":"mocha"},"keywords":["webrtc","signal"],"author":{"name":"Ben Greenier"},"license":"MIT","dependencies":{"express-bunyan-logger":"^1.3.3","passport":"^0.4.0","passport-azure-ad":"^3.0.12","webrtc-signal-http":"^1.4.0","webrtc-signal-http-capacity":"^1.2.0","webrtc-signal-http-heartbeat":"^1.0.0","webrtc-signal-http-peer-identification":"^1.1.0"},"devDependencies":{"mocha":"^5.2.0","supertest":"^3.1.0"},"gitHead":"4f75906d829fe465c480c14c3eae809397d21fe3","_id":"3dtoolkit-signal@2.1.0","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"b3ngr33ni3r","email":"ben+npm@bengreenier.com"},"dist":{"integrity":"sha512-t1FT2dT3pFWq/0OBIj62NDHGWAIcA5xYk840Sj4hPf9Shi6FXRMsJ6YCn7Lr39BApCICPnKy7Jpsh2Ctbn/68g==","shasum":"9c435f73c41d9aa6d3bea012030c05bacfb5beb1","tarball":"https://registry.npmjs.org/3dtoolkit-signal/-/3dtoolkit-signal-2.1.0.tgz","fileCount":7,"unpackedSize":11918,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbK90MCRA9TVsSAnZWagAAJLsP+wdFuFzR75XiTxwxD3RX\nlhGhzL26OOFUiOaFNFwE8wK/q8sxOW1bS6PQcQlhUluQMjypdEwqV4lsfeBt\nci7+maJ2mwiMVr4f3J9YBZ0A7qKPUCvctNw+9S3V4Sbu6tLEAVBm6psoeYhP\n5bIISHyHcUCv3UMfxFlYI/2bqkNDPnu5rjDQeEO2mR3kCBhcosiMYzgAcgyq\nsblsuATWqfR9lAGcBi4nwVPOSmnHFZZk7ZpNsWgYXkEs5yoGgDSMRmwX6rjN\nqJoz4XWEjADkbD0HYFADVZHUOjd2U6L1zC3kI1Pr+kefv6y7I2a2VduuMY6l\ngsmQCtEe0VonxCMiprpt1i4xV9/NSQBHS6NjcBw1OJXfDGXFHgHCBXJnA1i0\neSGv8WuBSYcWI4taEfPQnZhds9n13xCh/8+7ULz2GlHaW32nHHJJwcBEX2b1\nvyRial1jEXMiG783w7z/jaik7BEh6QctZzXGiJmX8bbsECpBBc5+XsaEIZEx\nEB1QDY1yIi8Rabv8dNZaw7gfVXPhWJhKhBtXwD5xh4vLChrR0dFWek0IpAKI\nxukXQhQ++JikG1E0MEFR1rEQhLdxUOaicl0vNtKlDQnPqhtjzPZwGurIIZur\nOGdRvnSpIXXNyPWZwJQfxD6zDDe3i9+o/qJu+4SoncRwDR83lYfaaK9YzdE/\nJKAG\r\n=EetY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHTXSGM07rHtN2KkCqClJgHdabUe1CkvPizl/+EFwEvCAiBORdmSkvZERrLIIt6NEWskzxue5GM2eijUkExdnyfnqg=="}]},"maintainers":[{"name":"b3ngr33ni3r","email":"ben+npm@bengreenier.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/3dtoolkit-signal_2.1.0_1529601292521_0.6560782965633742"},"_hasShrinkwrap":false,"deprecated":"This package is deprecated, please use signal-3dstk"}},"time":{"created":"2018-06-01T14:33:17.722Z","1.1.0":"2018-06-01T14:33:17.838Z","modified":"2022-04-04T10:21:23.275Z","2.0.0":"2018-06-05T01:22:37.316Z","2.1.0":"2018-06-21T17:14:52.565Z"},"maintainers":[{"name":"b3ngr33ni3r","email":"ben+npm@bengreenier.com"}],"description":"3dtoolkit webrtc signal implementation, using http","keywords":["webrtc","signal"],"author":{"name":"Ben Greenier"},"license":"MIT","readme":"# 3dtoolkit-signal\r\n\r\n[![Build Status](https://travis-ci.org/bengreenier/3dtoolkit-signal.svg?branch=master)](https://travis-ci.org/bengreenier/3dtoolkit-signal)\r\n\r\n[![Deploy to Azure](https://azuredeploy.net/deploybutton.png)](https://azuredeploy.net/)\r\n\r\n[3dtoolkit](https://github.com/catalystcode/3dtoolkit) webrtc signal implementation, using `http` :satellite:\r\n\r\n\r\nThis enables webrtc peer communication across the [3dtoolkit](https://github.com/catalystcode/3dtoolkit) server/client stack. This means that it can be used to faciliate communication between N clients, N peers, and/or both. It uses `http` as a protocol, and can run over `https` as well. Further, authentication can be toggled on, requiring clients to provide valid [OAuth 2.0](https://oauth.net/2/) tokens in order to successfully access the service.\r\n\r\nThis implementation is built on top of the following components:\r\n\r\n+ [express](https://github.com/expressjs/express)\r\n+ [webrtc-signal-http](https://github.com/bengreenier/webrtc-signal-http)\r\n+ [webrtc-signal-http-heartbeat](https://github.com/bengreenier/webrtc-signal-http-heartbeat)\r\n+ [webrtc-signal-http-capacity](https://github.com/bengreenier/webrtc-signal-http-capacity)\r\n+ [webrtc-signal-http-peer-identification](https://github.com/KanishkT123/webrtc-signal-http-peer-identification)\r\n+ [passport](https://github.com/jaredhanson/passport)\r\n+ [passport-azure-ad](https://github.com/AzureAD/passport-azure-ad)\r\n\r\n## Getting started\r\n\r\nThis implementation supports the following configuration settings, controlled via environment variables:\r\n\r\n+ `PORT` - the port to start the server on\r\n+ `WEBRTC_SIGNAL_LOGGING` - boolean flag indicating if [bunyan](https://github.com/trentm/node-bunyan) logging should be enabled\r\n+ `WEBRTC_HEARTBEAT_ENABLED` - boolean flag indicating if [webrtc-signal-http-heartbeat](https://github.com/bengreenier/webrtc-signal-http-heartbeat) should be enabled\r\n+ `WEBRTC_HEARTBEAT_MS` - (requires heartbeat) number of `ms` after which a client is marked as stale and removed if they have not issued a `GET /heartbeat`\r\n+ `WEBRTC_HEARTBEAT_GC_MS` - (requires heartbeat) number of `ms` at which the stale clients are \"garbage collected\" and removed\r\n+ `WEBRTC_AUTH_ENABLED` - boolean flag indicating if [passport-azure-ad](https://github.com/AzureAD/passport-azure-ad) should be enabled\r\n+ `WEBRTC_AUTH_B2C_APP_ID` - Azure AD B2C application id. required if auth is enabled\r\n+ `WEBRTC_AUTH_B2C_TENANT_ID` - Azure AD B2C tenant id. required if auth is enabled\r\n+ `WEBRTC_AUTH_B2C_POLICY_NAME` - Azure AD B2C policy name. likely `b2c_1_signup`. required if auth is enabled\r\n+ `WEBRTC_AUTH_APP_ID` - Azure AD application id. required if auth is enabled\r\n+ `WEBRTC_AUTH_TENANT_ID` - Azure AD tenant id. required if auth is enabled\r\n+ `WEBRTC_CAPACITY_ENABLED` - boolean flag indicating if [webrtc-signal-http-capacity](https://github.com/bengreenier/webrtc-signal-http-capacity) should be enabled\r\n+ `WEBRTC_RECOGNITION_ENABLED` - boolean flag indicating if [webrtc-signal-http-peer-identification](https://github.com/KanishkT123/webrtc-signal-http-peer-identification) should be enabled\r\n+ `WEBRTC_PEERID_RESPECT_CAPACITY` - hands out peers such that capacity reported by the [webrtc-signal-http-capacity](https://github.com/bengreenier/webrtc-signal-http-capacity) plugin is respected\r\n+ `WEBRTC_PEERID_PAIRING` - pairs clients to servers. if `WEBRTC_PEERID_RESPECT_CAPACITY` is set, capacity will be considered, otherwise 1:1 pairings will be used\r\n\r\n## RESTful API\r\n\r\nSee:\r\n\r\n+ [webrtc-signal-http](https://github.com/bengreenier/webrtc-signal-http)\r\n+ [webrtc-signal-http-heartbeat](https://github.com/bengreenier/webrtc-signal-http-heartbeat)\r\n+ [webrtc-signal-http-capacity](https://github.com/bengreenier/webrtc-signal-http-capacity)\r\n\r\nOur API is simply those APIs combined, with this added requirement:\r\n\r\nAll requests must have a valid `Authorization: Bearer <token>` header if `WEBRTC_AUTH_ENABLED` is `true`. See [the AzureAD docs](https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-protocols-oauth-code) to learn how to acquire one.\r\n\r\n## Docker\r\n\r\nBuilding: `docker build -t 3dtoolkit-signal .`\r\nRunning: `docker run --rm -it -p 3000:3000 3dtoolkit-signal`\r\n\r\n## License\r\n\r\nMIT\r\n","readmeFilename":"README.md"}