Compare commits
5 Commits
dependabot
...
master
Author | SHA1 | Date |
---|---|---|
Clarth | d3c07e19b8 | |
Clay | 6b6a25f28a | |
Clay | d2b779540b | |
Clay | 3dda921db2 | |
Hexagon | a9c0e7592e |
|
@ -1 +1,2 @@
|
|||
github: [hexagon]
|
||||
ko_fi: hexagon_56k
|
||||
|
|
274
README.md
274
README.md
|
@ -1,137 +1,137 @@
|
|||
![cryptalk](/screenshot.png)
|
||||
|
||||
![Node.js CI](https://github.com/Hexagon/cryptalk/workflows/Node.js%20CI/badge.svg?branch=master)
|
||||
[![npm version](https://badge.fury.io/js/cryptalk.svg)](https://badge.fury.io/js/cryptalk)
|
||||
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE.md)
|
||||
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/753ef40cec1747c2b5025f834635375b)](https://www.codacy.com/gh/Hexagon/cryptalk/dashboard?utm_source=github.com&utm_medium=referral&utm_content=Hexagon/cryptalk&utm_campaign=Badge_Grade)
|
||||
|
||||
# Cryptalk
|
||||
|
||||
Cyptalk is a HTML5/Node.js based, client side (E2EE) encrypted instant chat
|
||||
|
||||
## Features
|
||||
|
||||
* Client side AES-256-CBC encryption/decryption (the server is just a messenger)
|
||||
* 256 bit key derived from your passphrase using PBKDF2
|
||||
* Messages torched after a configurable delay, default is 600s.
|
||||
* Simple setup using npm, Docker or Heroku
|
||||
* Notification sounds (mutable)
|
||||
* Native popup notifications
|
||||
* Configurable page title
|
||||
* Nicknames, optional.
|
||||
* Quick-links using http://server/#Room:Passphrase, optional and insecure
|
||||
|
||||
## Installing
|
||||
|
||||
### Docker setup
|
||||
|
||||
To run latest cryptalk with docker, exposed on host port 80, simply run the following command to pull it from docker hub
|
||||
|
||||
```bash
|
||||
sudo docker run -d --restart=always -p 80:8080 hexagon/cryptalk
|
||||
```
|
||||
|
||||
### Heroku setup
|
||||
|
||||
Click the button below
|
||||
|
||||
[![Deploy](https://www.herokucdn.com/deploy/button.png)](https://heroku.com/deploy?template=https://github.com/hexagon/cryptalk)
|
||||
|
||||
### Docker setup without using docker hub
|
||||
|
||||
Clone this repo, enter the new directory.
|
||||
|
||||
Build image
|
||||
```bash
|
||||
docker build . --tag="hexagon/cryptalk"
|
||||
```
|
||||
|
||||
Run container, enable start on boot, expose to port 80 at host
|
||||
```bash
|
||||
sudo docker run -d --restart=always -p 80:8080 hexagon/cryptalk
|
||||
```
|
||||
|
||||
Browse to ```http://<ip-of-server>/```
|
||||
|
||||
Done!
|
||||
|
||||
### npm setup
|
||||
|
||||
Install node.js, exact procedure is dependant on platform and distribution.
|
||||
|
||||
Install the app from npm
|
||||
```bash
|
||||
npm install cryptalk -g
|
||||
````
|
||||
|
||||
Then issue the following to start the app
|
||||
|
||||
```bash
|
||||
cryptalk
|
||||
```
|
||||
|
||||
Browse to ```http://localhost:8080```
|
||||
|
||||
Done!
|
||||
|
||||
## Usage
|
||||
|
||||
```
|
||||
|
||||
Available commands:
|
||||
|
||||
Client:
|
||||
/key StrongPassphrase Sets encryption key
|
||||
/nick NickName Sets an optional nick
|
||||
/mute Audio on
|
||||
/unmute Audio off
|
||||
/clear Clear on-screen buffer
|
||||
/help This
|
||||
/title Set your local page title
|
||||
/torch AfterSeconds Console messages are torched
|
||||
after this amount of seconds
|
||||
(default 600).
|
||||
|
||||
Room:
|
||||
/join RoomId Join a room
|
||||
/leave Leave the room
|
||||
/count Count participants
|
||||
|
||||
Host:
|
||||
/connect Connect to host
|
||||
/disconnect Disconnect from host
|
||||
|
||||
You can select any of the five last commands/messages with up/down key.
|
||||
|
||||
Due to security reasons, /key command is not saved, and command
|
||||
history is automatically cleared after one minute of inactivity.
|
||||
|
||||
It is highly recommended to use incognito mode while chatting,
|
||||
to prevent browsers from keeping history or cache.
|
||||
|
||||
|
||||
```
|
||||
|
||||
## Development
|
||||
|
||||
Install node.js (development require >=12.0), exact procedure is dependant on platform and distribution.
|
||||
|
||||
Clone this repo
|
||||
```bash
|
||||
git clone https://github.com/Hexagon/cryptalk.git
|
||||
cd cryptalk
|
||||
```
|
||||
|
||||
Pull dependencies from npm
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
Start server
|
||||
```bash
|
||||
npm run start
|
||||
```
|
||||
|
||||
Browse to ```http://localhost:8080```
|
||||
|
||||
To work on the JavaScript, edit the code in ```client/source/```. To test the changes, first run ```npm run build``` to lint, build and minify the code. Then restart the server.
|
||||
![cryptalk](https://i.imgur.com/1sH36n5.png)
|
||||
|
||||
![Node.js CI](https://github.com/Hexagon/cryptalk/workflows/Node.js%20CI/badge.svg?branch=master)
|
||||
[![npm version](https://badge.fury.io/js/cryptalk.svg)](https://badge.fury.io/js/cryptalk)
|
||||
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE.md)
|
||||
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/753ef40cec1747c2b5025f834635375b)](https://www.codacy.com/gh/Hexagon/cryptalk/dashboard?utm_source=github.com&utm_medium=referral&utm_content=Hexagon/cryptalk&utm_campaign=Badge_Grade)
|
||||
|
||||
# Cryptalk
|
||||
|
||||
Cyptalk is a HTML5/Node.js based, client side (E2EE) encrypted instant chat
|
||||
|
||||
## Features
|
||||
|
||||
* Client side AES-256-CBC encryption/decryption (the server is just a messenger)
|
||||
* 256 bit key derived from your passphrase using PBKDF2
|
||||
* Messages torched after a configurable delay, default is 600s.
|
||||
* Simple setup using npm, Docker or Heroku
|
||||
* Notification sounds (mutable)
|
||||
* Native popup notifications
|
||||
* Configurable page title
|
||||
* Nicknames, optional.
|
||||
* Quick-links using http://server/#Room:Passphrase, optional and insecure
|
||||
|
||||
## Installing
|
||||
|
||||
### Docker setup
|
||||
|
||||
To run latest cryptalk with docker, exposed on host port 80, simply run the following command to pull it from docker hub
|
||||
|
||||
```bash
|
||||
sudo docker run -d --restart=always -p 80:8080 hexagon/cryptalk
|
||||
```
|
||||
|
||||
### Heroku setup
|
||||
|
||||
Click the button below
|
||||
|
||||
[![Deploy](https://www.herokucdn.com/deploy/button.png)](https://heroku.com/deploy?template=https://github.com/hexagon/cryptalk)
|
||||
|
||||
### Docker setup without using docker hub
|
||||
|
||||
Clone this repo, enter the new directory.
|
||||
|
||||
Build image
|
||||
```bash
|
||||
docker build . --tag="hexagon/cryptalk"
|
||||
```
|
||||
|
||||
Run container, enable start on boot, expose to port 80 at host
|
||||
```bash
|
||||
sudo docker run -d --restart=always -p 80:8080 hexagon/cryptalk
|
||||
```
|
||||
|
||||
Browse to ```http://<ip-of-server>/```
|
||||
|
||||
Done!
|
||||
|
||||
### npm setup
|
||||
|
||||
Install node.js, exact procedure is dependant on platform and distribution.
|
||||
|
||||
Install the app from npm
|
||||
```bash
|
||||
npm install cryptalk -g
|
||||
````
|
||||
|
||||
Then issue the following to start the app
|
||||
|
||||
```bash
|
||||
cryptalk
|
||||
```
|
||||
|
||||
Browse to ```http://localhost:8080```
|
||||
|
||||
Done!
|
||||
|
||||
## Usage
|
||||
|
||||
```
|
||||
|
||||
Available commands:
|
||||
|
||||
Client:
|
||||
/key StrongPassphrase Sets encryption key
|
||||
/nick NickName Sets an optional nick
|
||||
/mute Audio on
|
||||
/unmute Audio off
|
||||
/clear Clear on-screen buffer
|
||||
/help This
|
||||
/title Set your local page title
|
||||
/torch AfterSeconds Console messages are torched
|
||||
after this amount of seconds
|
||||
(default 600).
|
||||
|
||||
Room:
|
||||
/join RoomId Join a room
|
||||
/leave Leave the room
|
||||
/count Count participants
|
||||
|
||||
Host:
|
||||
/connect Connect to host
|
||||
/disconnect Disconnect from host
|
||||
|
||||
You can select any of the five last commands/messages with up/down key.
|
||||
|
||||
Due to security reasons, /key command is not saved, and command
|
||||
history is automatically cleared after one minute of inactivity.
|
||||
|
||||
It is highly recommended to use incognito mode while chatting,
|
||||
to prevent browsers from keeping history or cache.
|
||||
|
||||
|
||||
```
|
||||
|
||||
## Development
|
||||
|
||||
Install node.js (development require >=12.0), exact procedure is dependant on platform and distribution.
|
||||
|
||||
Clone this repo
|
||||
```bash
|
||||
git clone https://github.com/Hexagon/cryptalk.git
|
||||
cd cryptalk
|
||||
```
|
||||
|
||||
Pull dependencies from npm
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
Start server
|
||||
```bash
|
||||
npm run start
|
||||
```
|
||||
|
||||
Browse to ```http://localhost:8080```
|
||||
|
||||
To work on the JavaScript, edit the code in ```client/source/```. To test the changes, first run ```npm run build``` to lint, build and minify the code. Then restart the server.
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -1,42 +1,34 @@
|
|||
export default {
|
||||
|
||||
title: 'Cryptalk - Online',
|
||||
|
||||
ttl: 600000,
|
||||
|
||||
motd: '<pre>\n\n' +
|
||||
'▄████▄ ██▀███ ▓██ ██▓ ██▓███ ▄▄▄█████▓ ▄▄▄ ██▓ ██ ▄█▀ \n' +
|
||||
'▒██▀ ▀█ ▓██ ▒ ██▒▒██ ██▒▓██░ ██▒▓ ██▒ ▓▒▒████▄ ▓██▒ ██▄█▒ \n' +
|
||||
'▒▓█ ▄ ▓██ ░▄█ ▒ ▒██ ██░▓██░ ██▓▒▒ ▓██░ ▒░▒██ ▀█▄ ▒██░ ▓███▄░ \n' +
|
||||
'▒▓▓▄ ▄██▒▒██▀▀█▄ ░ ▐██▓░▒██▄█▓▒ ▒░ ▓██▓ ░ ░██▄▄▄▄██ ▒██░ ▓██ █▄ \n' +
|
||||
'▒ ▓███▀ ░░██▓ ▒██▒ ░ ██▒▓░▒██▒ ░ ░ ▒██▒ ░ ▓█ ▓██▒░██████▒▒██▒ █▄ \n' +
|
||||
'░ ░▒ ▒ ░░ ▒▓ ░▒▓░ ██▒▒▒ ▒▓▒░ ░ ░ ▒ ░░ ▒▒ ▓▒█░░ ▒░▓ ░▒ ▒▒ ▓▒ \n' +
|
||||
' ░ ▒ ░▒ ░ ▒░▓██ ░▒░ ░▒ ░ ░ ▒ ▒▒ ░░ ░ ▒ ░░ ░▒ ▒░ \n' +
|
||||
'░ ░░ ░ ▒ ▒ ░░ ░░ ░ ░ ▒ ░ ░ ░ ░░ ░ \n' +
|
||||
'░ ░ ░ ░ ░ ░ ░ ░ ░░ ░ \n' +
|
||||
'░ ░ ░ \n' +
|
||||
' https://github.com/hexagon/cryptalk \n' +
|
||||
' \n' +
|
||||
' Tip of the day: /help \n' +
|
||||
'----------------------------------------------------------------------' +
|
||||
'</pre>',
|
||||
|
||||
nick: {
|
||||
maxLen: 20,
|
||||
minLen: 2,
|
||||
},
|
||||
|
||||
key: {
|
||||
maxLen: 1024,
|
||||
minLen: 8,
|
||||
},
|
||||
|
||||
room: {
|
||||
minLen: 1,
|
||||
maxLen: 64
|
||||
},
|
||||
|
||||
notifications: {
|
||||
maxOnePerMs: 3000
|
||||
}
|
||||
};
|
||||
export default {
|
||||
|
||||
title: 'Claytonia Chat',
|
||||
|
||||
ttl: 600000,
|
||||
|
||||
motd: '<pre>\n\n' +
|
||||
' Welcome to Claytonia Chat \n' +
|
||||
' Tip of the day: /help \n' +
|
||||
' Public Room: /join Claytonia \n' +
|
||||
' Public Key: /key Claytonia \n' +
|
||||
' Everyone in the room must have the same key to decrypt messages. \n' +
|
||||
'----------------------------------------------------------------------' +
|
||||
'</pre>',
|
||||
|
||||
nick: {
|
||||
maxLen: 20,
|
||||
minLen: 2,
|
||||
},
|
||||
|
||||
key: {
|
||||
maxLen: 1024,
|
||||
minLen: 8,
|
||||
},
|
||||
|
||||
room: {
|
||||
minLen: 1,
|
||||
maxLen: 64
|
||||
},
|
||||
|
||||
notifications: {
|
||||
maxOnePerMs: 3000
|
||||
}
|
||||
};
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
[Unit]
|
||||
Description=Cryptalk Node.js App
|
||||
Documentation=https://github.com/Hexagon/cryptalk
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/npm run start
|
||||
WorkingDirectory=/home/cryptochat/cryptalk
|
||||
Restart=always
|
||||
RestartSec=10
|
||||
Environment=NODE_ENV=production
|
||||
Environment=PATH=/usr/bin
|
||||
User=cryptochat
|
||||
Group=cryptochat
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
|
@ -133,10 +133,18 @@
|
|||
"integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@socket.io/component-emitter": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz",
|
||||
"integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg=="
|
||||
"node_modules/@socket.io/base64-arraybuffer": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@socket.io/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz",
|
||||
"integrity": "sha512-dOlCBKnDw4iShaIsH/bxujKTM18+2TOAsYz+KSc11Am38H4q5Xw8Bbz97ZYdrVNM+um3p7w86Bvvmcn9q+5+eQ==",
|
||||
"engines": {
|
||||
"node": ">= 0.6.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/component-emitter": {
|
||||
"version": "1.2.11",
|
||||
"resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.11.tgz",
|
||||
"integrity": "sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ=="
|
||||
},
|
||||
"node_modules/@types/cookie": {
|
||||
"version": "0.4.1",
|
||||
|
@ -425,6 +433,11 @@
|
|||
"integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/component-emitter": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
|
||||
"integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
|
||||
},
|
||||
"node_modules/compressible": {
|
||||
"version": "2.0.18",
|
||||
"resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
|
||||
|
@ -584,9 +597,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/engine.io": {
|
||||
"version": "6.2.1",
|
||||
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.1.tgz",
|
||||
"integrity": "sha512-ECceEFcAaNRybd3lsGQKas3ZlMVjN3cyWwMP25D2i0zWfyiytVbTpRPa34qrr+FHddtpBVOmq4H/DCv1O0lZRA==",
|
||||
"version": "6.1.3",
|
||||
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.1.3.tgz",
|
||||
"integrity": "sha512-rqs60YwkvWTLLnfazqgZqLa/aKo+9cueVfEi/dZ8PyGyaf8TLOxj++4QMIgeG3Gn0AhrWiFXvghsoY9L9h25GA==",
|
||||
"dependencies": {
|
||||
"@types/cookie": "^0.4.1",
|
||||
"@types/cors": "^2.8.12",
|
||||
|
@ -604,9 +617,12 @@
|
|||
}
|
||||
},
|
||||
"node_modules/engine.io-parser": {
|
||||
"version": "5.0.4",
|
||||
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz",
|
||||
"integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==",
|
||||
"version": "5.0.3",
|
||||
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.3.tgz",
|
||||
"integrity": "sha512-BtQxwF27XUNnSafQLvDi0dQ8s3i6VgzSoQMJacpIcGNrlUdfHSKbgm3jmjCVvQluGzqwujQMPAoMai3oYSTurg==",
|
||||
"dependencies": {
|
||||
"@socket.io/base64-arraybuffer": "~1.0.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
}
|
||||
|
@ -1303,7 +1319,7 @@
|
|||
"node_modules/object-assign": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
|
||||
"integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
|
||||
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
|
@ -1716,32 +1732,33 @@
|
|||
"integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
|
||||
},
|
||||
"node_modules/socket.io": {
|
||||
"version": "4.5.3",
|
||||
"resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.3.tgz",
|
||||
"integrity": "sha512-zdpnnKU+H6mOp7nYRXH4GNv1ux6HL6+lHL8g7Ds7Lj8CkdK1jJK/dlwsKDculbyOHifcJ0Pr/yeXnZQ5GeFrcg==",
|
||||
"version": "4.4.1",
|
||||
"resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.4.1.tgz",
|
||||
"integrity": "sha512-s04vrBswdQBUmuWJuuNTmXUVJhP0cVky8bBDhdkf8y0Ptsu7fKU2LuLbts9g+pdmAdyMMn8F/9Mf1/wbtUN0fg==",
|
||||
"dependencies": {
|
||||
"accepts": "~1.3.4",
|
||||
"base64id": "~2.0.0",
|
||||
"debug": "~4.3.2",
|
||||
"engine.io": "~6.2.0",
|
||||
"socket.io-adapter": "~2.4.0",
|
||||
"socket.io-parser": "~4.2.0"
|
||||
"engine.io": "~6.1.0",
|
||||
"socket.io-adapter": "~2.3.3",
|
||||
"socket.io-parser": "~4.0.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/socket.io-adapter": {
|
||||
"version": "2.4.0",
|
||||
"resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz",
|
||||
"integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg=="
|
||||
"version": "2.3.3",
|
||||
"resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.3.3.tgz",
|
||||
"integrity": "sha512-Qd/iwn3VskrpNO60BeRyCyr8ZWw9CPZyitW4AQwmRZ8zCiyDiL+znRnWX6tDHXnWn1sJrM1+b6Mn6wEDJJ4aYQ=="
|
||||
},
|
||||
"node_modules/socket.io-parser": {
|
||||
"version": "4.2.1",
|
||||
"resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.1.tgz",
|
||||
"integrity": "sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g==",
|
||||
"version": "4.0.4",
|
||||
"resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz",
|
||||
"integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==",
|
||||
"dependencies": {
|
||||
"@socket.io/component-emitter": "~3.1.0",
|
||||
"@types/component-emitter": "^1.2.10",
|
||||
"component-emitter": "~1.3.0",
|
||||
"debug": "~4.3.1"
|
||||
},
|
||||
"engines": {
|
||||
|
@ -2061,10 +2078,15 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"@socket.io/component-emitter": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz",
|
||||
"integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg=="
|
||||
"@socket.io/base64-arraybuffer": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@socket.io/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz",
|
||||
"integrity": "sha512-dOlCBKnDw4iShaIsH/bxujKTM18+2TOAsYz+KSc11Am38H4q5Xw8Bbz97ZYdrVNM+um3p7w86Bvvmcn9q+5+eQ=="
|
||||
},
|
||||
"@types/component-emitter": {
|
||||
"version": "1.2.11",
|
||||
"resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.11.tgz",
|
||||
"integrity": "sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ=="
|
||||
},
|
||||
"@types/cookie": {
|
||||
"version": "0.4.1",
|
||||
|
@ -2270,6 +2292,11 @@
|
|||
"integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
|
||||
"dev": true
|
||||
},
|
||||
"component-emitter": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
|
||||
"integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
|
||||
},
|
||||
"compressible": {
|
||||
"version": "2.0.18",
|
||||
"resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
|
||||
|
@ -2396,9 +2423,9 @@
|
|||
}
|
||||
},
|
||||
"engine.io": {
|
||||
"version": "6.2.1",
|
||||
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.1.tgz",
|
||||
"integrity": "sha512-ECceEFcAaNRybd3lsGQKas3ZlMVjN3cyWwMP25D2i0zWfyiytVbTpRPa34qrr+FHddtpBVOmq4H/DCv1O0lZRA==",
|
||||
"version": "6.1.3",
|
||||
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.1.3.tgz",
|
||||
"integrity": "sha512-rqs60YwkvWTLLnfazqgZqLa/aKo+9cueVfEi/dZ8PyGyaf8TLOxj++4QMIgeG3Gn0AhrWiFXvghsoY9L9h25GA==",
|
||||
"requires": {
|
||||
"@types/cookie": "^0.4.1",
|
||||
"@types/cors": "^2.8.12",
|
||||
|
@ -2413,9 +2440,12 @@
|
|||
}
|
||||
},
|
||||
"engine.io-parser": {
|
||||
"version": "5.0.4",
|
||||
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz",
|
||||
"integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg=="
|
||||
"version": "5.0.3",
|
||||
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.3.tgz",
|
||||
"integrity": "sha512-BtQxwF27XUNnSafQLvDi0dQ8s3i6VgzSoQMJacpIcGNrlUdfHSKbgm3jmjCVvQluGzqwujQMPAoMai3oYSTurg==",
|
||||
"requires": {
|
||||
"@socket.io/base64-arraybuffer": "~1.0.2"
|
||||
}
|
||||
},
|
||||
"escape-string-regexp": {
|
||||
"version": "4.0.0",
|
||||
|
@ -2949,7 +2979,7 @@
|
|||
"object-assign": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
|
||||
"integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="
|
||||
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
|
||||
},
|
||||
"on-headers": {
|
||||
"version": "1.0.2",
|
||||
|
@ -3263,29 +3293,30 @@
|
|||
"integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
|
||||
},
|
||||
"socket.io": {
|
||||
"version": "4.5.3",
|
||||
"resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.3.tgz",
|
||||
"integrity": "sha512-zdpnnKU+H6mOp7nYRXH4GNv1ux6HL6+lHL8g7Ds7Lj8CkdK1jJK/dlwsKDculbyOHifcJ0Pr/yeXnZQ5GeFrcg==",
|
||||
"version": "4.4.1",
|
||||
"resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.4.1.tgz",
|
||||
"integrity": "sha512-s04vrBswdQBUmuWJuuNTmXUVJhP0cVky8bBDhdkf8y0Ptsu7fKU2LuLbts9g+pdmAdyMMn8F/9Mf1/wbtUN0fg==",
|
||||
"requires": {
|
||||
"accepts": "~1.3.4",
|
||||
"base64id": "~2.0.0",
|
||||
"debug": "~4.3.2",
|
||||
"engine.io": "~6.2.0",
|
||||
"socket.io-adapter": "~2.4.0",
|
||||
"socket.io-parser": "~4.2.0"
|
||||
"engine.io": "~6.1.0",
|
||||
"socket.io-adapter": "~2.3.3",
|
||||
"socket.io-parser": "~4.0.4"
|
||||
}
|
||||
},
|
||||
"socket.io-adapter": {
|
||||
"version": "2.4.0",
|
||||
"resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz",
|
||||
"integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg=="
|
||||
"version": "2.3.3",
|
||||
"resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.3.3.tgz",
|
||||
"integrity": "sha512-Qd/iwn3VskrpNO60BeRyCyr8ZWw9CPZyitW4AQwmRZ8zCiyDiL+znRnWX6tDHXnWn1sJrM1+b6Mn6wEDJJ4aYQ=="
|
||||
},
|
||||
"socket.io-parser": {
|
||||
"version": "4.2.1",
|
||||
"resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.1.tgz",
|
||||
"integrity": "sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g==",
|
||||
"version": "4.0.4",
|
||||
"resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz",
|
||||
"integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==",
|
||||
"requires": {
|
||||
"@socket.io/component-emitter": "~3.1.0",
|
||||
"@types/component-emitter": "^1.2.10",
|
||||
"component-emitter": "~1.3.0",
|
||||
"debug": "~4.3.1"
|
||||
}
|
||||
},
|
||||
|
|
Loading…
Reference in New Issue