feat(voice)!: add new encryption methods, remove old methods (#10451)

BREAKING CHANGE: This library no longer supports using `tweetnacl` as an encryption library due to Discord deprecating the algorithms that `tweetnacl` helped us support (read more [here](https://discord.com/developers/docs/change-log#voice-encryption-modes)). Please migrate to one of: `sodium-native`, `sodium`, `@stablelib/xchacha20poly1305`, `@noble/ciphers` or `libsodium-wrappers` unless your system supports `aes-256-gcm` (verify by running `require('node:crypto').getCiphers().includes('aes-256-gcm')`).

---------

Co-authored-by: Jiralite <33201955+Jiralite@users.noreply.github.com>
Co-authored-by: Vlad Frangu <me@vladfrangu.dev>
This commit is contained in:
pat
2024-11-18 09:08:51 +11:00
committed by GitHub
parent 51a017a14e
commit 9f8b9b1d66
11 changed files with 358 additions and 203 deletions

118
pnpm-lock.yaml generated
View File

@@ -1625,6 +1625,9 @@ importers:
'@favware/cliff-jumper':
specifier: ^4.1.0
version: 4.1.0
'@noble/ciphers':
specifier: ^1.0.0
version: 1.0.0
'@types/node':
specifier: 18.19.45
version: 18.19.45
@@ -1655,9 +1658,6 @@ importers:
turbo:
specifier: ^2.0.14
version: 2.0.14
tweetnacl:
specifier: ^1.0.3
version: 1.0.3
typescript:
specifier: ~5.5.4
version: 5.5.4
@@ -2589,12 +2589,12 @@ packages:
resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==}
engines: {node: '>=12'}
'@definitelytyped/header-parser@0.2.13':
resolution: {integrity: sha512-m7YEtGhwAjmQyJQFQ7q8+hTGTiC/WrdRATvw8fyTwgW+RiWUt8MAeehuFj4txnCYXDcLO0ozuW5gNrLoYR4Ubg==}
'@definitelytyped/header-parser@0.2.15':
resolution: {integrity: sha512-SRUpmhQ7QZpsjLiA9SlwaD2Ct1xOc5Vt8cpZAqQ+P/puu4nNIsibCW87NKkyjCXG+MCUVFWEK7rVCTd12m2hTw==}
engines: {node: '>=18.18.0'}
'@definitelytyped/typescript-versions@0.1.4':
resolution: {integrity: sha512-4Rz5kCpyxofwXCtBQaNfmWYXZcH0sMJxpbIgJzS+PAxgFCAa9W+2Jil7rrkpzsjx9E7+zOPukbXBXjyXohcyuQ==}
'@definitelytyped/typescript-versions@0.1.5':
resolution: {integrity: sha512-XdLx3+S6zZCcG4jnG6Kqv/PlKBRTkz5M/xZUEEN9R2g6BlzbxyE+z5EzlezJqkUls53zjuOzgbkNNP4HQIfbJQ==}
engines: {node: '>=18.18.0'}
'@definitelytyped/utils@0.1.8':
@@ -3616,6 +3616,10 @@ packages:
cpu: [x64]
os: [win32]
'@noble/ciphers@1.0.0':
resolution: {integrity: sha512-wH5EHOmLi0rEazphPbecAzmjd12I6/Yv/SiHdkA9LSycsQk7RuuTp7am5/o62qYr0RScE7Pc9icXGBbsr6cesA==}
engines: {node: ^14.21.3 || >=16}
'@nodelib/fs.scandir@2.1.5':
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
engines: {node: '>= 8'}
@@ -5680,9 +5684,6 @@ packages:
'@types/node@18.19.45':
resolution: {integrity: sha512-VZxPKNNhjKmaC1SUYowuXSRSMGyQGmQjvvA1xE4QZ0xce2kLtEhPDS+kqpCPBZYgqblCLQ2DAjSzmgCM5auvhA==}
'@types/node@18.19.59':
resolution: {integrity: sha512-vizm2EqwV/7Zay+A6J3tGl9Lhr7CjZe2HmWS988sefiEmsyP9CeXEleho6i4hJk/8UtZAo0bWN4QPZZr83RxvQ==}
'@types/node@20.16.1':
resolution: {integrity: sha512-zJDo7wEadFtSyNz5QITDfRcrhqDvQI1xQNQ0VoizPjM/dVAODqqIUWbJPkvsxmTI0MYRGRikcdjMPhOssnPejQ==}
@@ -12892,9 +12893,6 @@ packages:
tweetnacl@0.14.5:
resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==}
tweetnacl@1.0.3:
resolution: {integrity: sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==}
typanion@3.14.0:
resolution: {integrity: sha512-ZW/lVMRabETuYCd9O9ZvMhAh8GslSqaUjxmK/JLPCh6l73CvLBiuXswj/+7LdnWOgYsQ130FqLzFz5aGT4I3Ug==}
@@ -14604,7 +14602,7 @@ snapshots:
'@babel/parser': 7.25.4
'@babel/template': 7.25.0
'@babel/types': 7.25.4
debug: 4.3.6
debug: 4.3.7
globals: 11.12.0
transitivePeerDependencies:
- supports-color
@@ -14841,18 +14839,18 @@ snapshots:
dependencies:
'@jridgewell/trace-mapping': 0.3.9
'@definitelytyped/header-parser@0.2.13':
'@definitelytyped/header-parser@0.2.15':
dependencies:
'@definitelytyped/typescript-versions': 0.1.4
'@definitelytyped/typescript-versions': 0.1.5
'@definitelytyped/utils': 0.1.8
semver: 7.6.3
'@definitelytyped/typescript-versions@0.1.4': {}
'@definitelytyped/typescript-versions@0.1.5': {}
'@definitelytyped/utils@0.1.8':
dependencies:
'@qiwi/npm-registry-client': 8.9.1
'@types/node': 18.19.59
'@types/node': 18.19.45
cachedir: 2.4.0
charm: 1.0.2
minimatch: 9.0.5
@@ -15312,7 +15310,7 @@ snapshots:
'@antfu/install-pkg': 0.4.0
'@antfu/utils': 0.7.10
'@iconify/types': 2.0.0
debug: 4.3.6
debug: 4.3.7
kolorist: 1.8.0
local-pkg: 0.5.0
mlly: 1.7.1
@@ -15694,7 +15692,7 @@ snapshots:
nopt: 5.0.0
npmlog: 5.0.1
rimraf: 3.0.2
semver: 7.6.3
semver: 7.5.4
tar: 6.2.1
transitivePeerDependencies:
- encoding
@@ -15958,6 +15956,8 @@ snapshots:
'@next/swc-win32-x64-msvc@15.0.0-rc.0':
optional: true
'@noble/ciphers@1.0.0': {}
'@nodelib/fs.scandir@2.1.5':
dependencies:
'@nodelib/fs.stat': 2.0.5
@@ -15978,14 +15978,14 @@ snapshots:
ini: 4.1.3
nopt: 7.2.1
proc-log: 4.2.0
semver: 7.6.3
semver: 7.5.4
walk-up-path: 3.0.1
transitivePeerDependencies:
- bluebird
'@npmcli/fs@3.1.1':
dependencies:
semver: 7.6.3
semver: 7.5.4
'@npmcli/git@5.0.8':
dependencies:
@@ -15996,7 +15996,7 @@ snapshots:
proc-log: 4.2.0
promise-inflight: 1.0.1
promise-retry: 2.0.1
semver: 7.6.3
semver: 7.5.4
which: 4.0.0
transitivePeerDependencies:
- bluebird
@@ -16018,7 +16018,7 @@ snapshots:
json-parse-even-better-errors: 3.0.2
normalize-package-data: 6.0.2
proc-log: 4.2.0
semver: 7.6.3
semver: 7.5.4
transitivePeerDependencies:
- bluebird
@@ -16184,7 +16184,7 @@ snapshots:
'@opentelemetry/propagator-b3': 1.25.1(@opentelemetry/api@1.9.0)
'@opentelemetry/propagator-jaeger': 1.25.1(@opentelemetry/api@1.9.0)
'@opentelemetry/sdk-trace-base': 1.25.1(@opentelemetry/api@1.9.0)
semver: 7.6.3
semver: 7.5.4
'@opentelemetry/semantic-conventions@1.15.2': {}
@@ -16230,7 +16230,7 @@ snapshots:
request: 2.88.2
retry: 0.12.0
safe-buffer: 5.2.1
semver: 7.6.3
semver: 7.5.4
slide: 1.1.6
ssri: 8.0.1
optionalDependencies:
@@ -19088,10 +19088,6 @@ snapshots:
dependencies:
undici-types: 5.26.5
'@types/node@18.19.59':
dependencies:
undici-types: 5.26.5
'@types/node@20.16.1':
dependencies:
undici-types: 6.19.8
@@ -19281,7 +19277,7 @@ snapshots:
dependencies:
'@typescript-eslint/typescript-estree': 7.11.0(typescript@5.5.4)
'@typescript-eslint/utils': 7.11.0(eslint@8.57.0)(typescript@5.5.4)
debug: 4.3.6
debug: 4.3.7
eslint: 8.57.0
ts-api-utils: 1.3.0(typescript@5.5.4)
optionalDependencies:
@@ -19293,7 +19289,7 @@ snapshots:
dependencies:
'@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.4)
'@typescript-eslint/utils': 7.18.0(eslint@8.57.0)(typescript@5.5.4)
debug: 4.3.6
debug: 4.3.7
eslint: 8.57.0
ts-api-utils: 1.3.0(typescript@5.5.4)
optionalDependencies:
@@ -19328,7 +19324,7 @@ snapshots:
debug: 4.3.7
globby: 11.1.0
is-glob: 4.0.3
semver: 7.6.3
semver: 7.5.4
tsutils: 3.21.0(typescript@5.5.4)
optionalDependencies:
typescript: 5.5.4
@@ -19354,7 +19350,7 @@ snapshots:
dependencies:
'@typescript-eslint/types': 7.18.0
'@typescript-eslint/visitor-keys': 7.18.0
debug: 4.3.6
debug: 4.3.7
globby: 11.1.0
is-glob: 4.0.3
minimatch: 9.0.5
@@ -19390,7 +19386,7 @@ snapshots:
'@typescript-eslint/typescript-estree': 5.62.0(typescript@5.5.4)
eslint: 8.57.0
eslint-scope: 5.1.1
semver: 7.6.3
semver: 7.5.4
transitivePeerDependencies:
- supports-color
- typescript
@@ -20090,7 +20086,7 @@ snapshots:
agent-base@7.1.1:
dependencies:
debug: 4.3.6
debug: 4.3.7
transitivePeerDependencies:
- supports-color
@@ -21125,7 +21121,7 @@ snapshots:
handlebars: 4.7.8
json-stringify-safe: 5.0.1
meow: 12.1.1
semver: 7.6.3
semver: 7.5.4
split2: 4.2.0
conventional-changelog@5.1.0:
@@ -21561,7 +21557,7 @@ snapshots:
dts-critic@3.3.11(typescript@5.5.4):
dependencies:
'@definitelytyped/header-parser': 0.2.13
'@definitelytyped/header-parser': 0.2.15
command-exists: 1.2.9
rimraf: 3.0.2
semver: 6.3.1
@@ -21571,8 +21567,8 @@ snapshots:
dtslint@4.2.1(typescript@5.5.4):
dependencies:
'@definitelytyped/header-parser': 0.2.13
'@definitelytyped/typescript-versions': 0.1.4
'@definitelytyped/header-parser': 0.2.15
'@definitelytyped/typescript-versions': 0.1.5
'@definitelytyped/utils': 0.1.8
dts-critic: 3.3.11(typescript@5.5.4)
fs-extra: 6.0.1
@@ -22072,7 +22068,7 @@ snapshots:
debug: 4.3.6
enhanced-resolve: 5.17.1
eslint: 8.57.0
eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-i@2.29.1)(eslint@8.57.0))(eslint@8.57.0)
eslint-plugin-import: eslint-plugin-i@2.29.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
fast-glob: 3.3.2
get-tsconfig: 4.7.6
@@ -22105,7 +22101,7 @@ snapshots:
- bluebird
- supports-color
eslint-module-utils@2.12.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0):
eslint-module-utils@2.12.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-i@2.29.1)(eslint@8.57.0))(eslint@8.57.0):
dependencies:
debug: 3.2.7
optionalDependencies:
@@ -22116,7 +22112,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
eslint-module-utils@2.8.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0):
eslint-module-utils@2.8.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-i@2.29.1)(eslint@8.57.0))(eslint@8.57.0):
dependencies:
debug: 3.2.7
optionalDependencies:
@@ -22158,11 +22154,11 @@ snapshots:
doctrine: 3.0.0
eslint: 8.57.0
eslint-import-resolver-node: 0.3.9
eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-i@2.29.1)(eslint@8.57.0))(eslint@8.57.0)
get-tsconfig: 4.8.1
is-glob: 4.0.3
minimatch: 3.1.2
semver: 7.6.3
semver: 7.5.4
transitivePeerDependencies:
- '@typescript-eslint/parser'
- eslint-import-resolver-typescript
@@ -22967,7 +22963,7 @@ snapshots:
dependencies:
basic-ftp: 5.0.5
data-uri-to-buffer: 6.0.2
debug: 4.3.6
debug: 4.3.7
fs-extra: 11.2.0
transitivePeerDependencies:
- supports-color
@@ -23025,7 +23021,7 @@ snapshots:
git-semver-tags@7.0.1:
dependencies:
meow: 12.1.1
semver: 7.6.3
semver: 7.5.4
github-slugger@2.0.0: {}
@@ -23434,7 +23430,7 @@ snapshots:
http-proxy-agent@7.0.2:
dependencies:
agent-base: 7.1.1
debug: 4.3.6
debug: 4.3.7
transitivePeerDependencies:
- supports-color
@@ -23454,7 +23450,7 @@ snapshots:
https-proxy-agent@7.0.5:
dependencies:
agent-base: 7.1.1
debug: 4.3.6
debug: 4.3.7
transitivePeerDependencies:
- supports-color
@@ -23849,7 +23845,7 @@ snapshots:
'@babel/parser': 7.25.4
'@istanbuljs/schema': 0.1.3
istanbul-lib-coverage: 3.2.2
semver: 7.6.3
semver: 7.5.4
transitivePeerDependencies:
- supports-color
@@ -24238,7 +24234,7 @@ snapshots:
jest-util: 29.7.0
natural-compare: 1.4.0
pretty-format: 29.7.0
semver: 7.6.3
semver: 7.5.4
transitivePeerDependencies:
- supports-color
@@ -26062,13 +26058,13 @@ snapshots:
dependencies:
hosted-git-info: 4.1.0
is-core-module: 2.15.1
semver: 7.6.3
semver: 7.5.4
validate-npm-package-license: 3.0.4
normalize-package-data@6.0.2:
dependencies:
hosted-git-info: 7.0.2
semver: 7.6.3
semver: 7.5.4
validate-npm-package-license: 3.0.4
normalize-path@3.0.0: {}
@@ -26077,7 +26073,7 @@ snapshots:
npm-install-checks@6.3.0:
dependencies:
semver: 7.6.3
semver: 7.5.4
npm-normalize-package-bin@3.0.1: {}
@@ -26092,13 +26088,13 @@ snapshots:
dependencies:
hosted-git-info: 7.0.2
proc-log: 4.2.0
semver: 7.6.3
semver: 7.5.4
validate-npm-package-name: 5.0.1
npm-package-arg@8.1.5:
dependencies:
hosted-git-info: 4.1.0
semver: 7.6.3
semver: 7.5.4
validate-npm-package-name: 3.0.0
npm-pick-manifest@9.1.0:
@@ -26106,7 +26102,7 @@ snapshots:
npm-install-checks: 6.3.0
npm-normalize-package-bin: 3.0.1
npm-package-arg: 11.0.3
semver: 7.6.3
semver: 7.5.4
npm-registry-fetch@14.0.5:
dependencies:
@@ -26347,7 +26343,7 @@ snapshots:
dependencies:
'@tootallnate/quickjs-emscripten': 0.23.0
agent-base: 7.1.1
debug: 4.3.6
debug: 4.3.7
get-uri: 6.0.3
http-proxy-agent: 7.0.2
https-proxy-agent: 7.0.5
@@ -27745,7 +27741,7 @@ snapshots:
socks-proxy-agent@8.0.4:
dependencies:
agent-base: 7.1.1
debug: 4.3.6
debug: 4.3.7
socks: 2.8.3
transitivePeerDependencies:
- supports-color
@@ -28650,8 +28646,6 @@ snapshots:
tweetnacl@0.14.5: {}
tweetnacl@1.0.3: {}
typanion@3.14.0: {}
type-check@0.4.0:
@@ -28821,7 +28815,7 @@ snapshots:
'@types/node': 20.16.1
'@types/unist': 3.0.3
concat-stream: 2.0.0
debug: 4.3.6
debug: 4.3.7
extend: 3.0.2
glob: 10.4.5
ignore: 5.3.2