New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

discord-player-deezer

Package Overview
Dependencies
Maintainers
0
Versions
36
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

discord-player-deezer - npm Package Compare versions

Comparing version

to
2.1.0

src/DeezerExtractor.ts

6

dist/index.d.ts

@@ -24,2 +24,6 @@ import { Track, ExtractorStreamable, BaseExtractor, ExtractorSearchContext, Playlist as Playlist$1, ExtractorInfo, Player } from 'discord-player';

};
declare const Warnings: {
readonly MissingDecryption: "Decryption Key missing! This is needed for extracting streams.";
};
type Warnings = (typeof Warnings)[keyof typeof Warnings];
declare class DeezerExtractor extends BaseExtractor<DeezerExtractorOptions> {

@@ -67,2 +71,2 @@ static identifier: string;

export { type ArrayOrObject, DeezerExtractor, type DeezerExtractorOptions, type DeezerSearchTrackResponse, type DeezerUserInfo, buildTrackFromSearch, deezerRegex, extractTrackId, getCrypto, searchOneTrack, streamTrack, validate };
export { type ArrayOrObject, DeezerExtractor, type DeezerExtractorOptions, type DeezerSearchTrackResponse, type DeezerUserInfo, Warnings, buildTrackFromSearch, deezerRegex, extractTrackId, getCrypto, searchOneTrack, streamTrack, validate };

23

dist/index.js

@@ -34,2 +34,3 @@ "use strict";

DeezerExtractor: () => DeezerExtractor,
Warnings: () => Warnings,
buildTrackFromSearch: () => buildTrackFromSearch,

@@ -52,2 +53,3 @@ deezerRegex: () => deezerRegex,

var import_stream = require("stream");
var import_blowfish_node = __toESM(require("blowfish-node"));
var IV = Buffer.from(Array.from({ length: 8 }, (_, x) => x));

@@ -160,12 +162,9 @@ var rawCrypto;

}
const blowfishDecrypter = new import_blowfish_node.default(new Uint8Array(trackKey), import_blowfish_node.default.MODE.CBC, import_blowfish_node.default.PADDING.NULL);
blowfishDecrypter.setIv(new Uint8Array(IV));
while (buffer.length >= bufferSize) {
const bufferSized = buffer.subarray(0, bufferSize);
if (i % 3 === 0) {
const decipher = crypto.createDecipheriv(
"bf-cbc",
trackKey,
IV
).setAutoPadding(false);
passThrough.write(decipher.update(bufferSized));
passThrough.write(decipher.final());
const decipher = Buffer.from(blowfishDecrypter.decode(new Uint8Array(bufferSized), import_blowfish_node.default.TYPE.UINT8_ARRAY));
passThrough.write(decipher);
} else {

@@ -191,5 +190,8 @@ passThrough.write(bufferSized);

// src/DeezerExtractor.ts
var Warnings = {
MissingDecryption: "Decryption Key missing! This is needed for extracting streams."
};
var DeezerExtractor = class extends import_discord_player2.BaseExtractor {
async activate() {
if (!this.options.decryptionKey) process.emitWarning("Decryption Key missing! This is needed for extracting streams.");
if (!this.options.decryptionKey) process.emitWarning(Warnings.MissingDecryption);
else {

@@ -236,2 +238,6 @@ const crypto = await getCrypto();

async handle(query, context) {
if (deezerRegex.share.test(query)) {
const redirect = await fetch(query);
query = redirect.url;
}
const metadata = await (0, import_deezer_music_metadata.getData)(query);

@@ -271,2 +277,3 @@ if (metadata?.type === "song") return this.createResponse(null, [this.buildTrack(metadata, context)]);

DeezerExtractor,
Warnings,
buildTrackFromSearch,

@@ -273,0 +280,0 @@ deezerRegex,

{
"name": "discord-player-deezer",
"version": "2.0.0",
"version": "2.1.0",
"description": "A custom extractor made for discord-player that enables you to extract from Deezer.",

@@ -10,3 +10,4 @@ "main": "dist/index.js",

"dependencies": {
"@mithron/deezer-music-metadata": "^1.0.3"
"@mithron/deezer-music-metadata": "^1.0.3",
"blowfish-node": "^1.1.4"
},

@@ -25,3 +26,4 @@ "devDependencies": {

"lint": "tslint -p tsconfig.json",
"npm:publish": "yarn build && npm publish --access public"
"npm:publish": "yarn build && npm publish --access public",
"prepare": "tsup"
},

@@ -28,0 +30,0 @@ "repository": {

@@ -35,10 +35,2 @@ # Discord Player Deezer

})
```
# Important information
As Node has migrated from openssl for decryption, we must use the `--openssl-legacy-provider` flag when starting our application with stream extraction
```bash
$ node --openssl-legacy-provider yourfile.js
```