5.4.7: added support for ancient vk videos & salt improvements

- now you can download 240p hardbass videos from 2008!
- implemented updated stream salt and ip salt properly
This commit is contained in:
wukko
2023-04-29 21:30:59 +06:00
parent 1f40cb9fab
commit 6e097de2db
7 changed files with 38 additions and 16 deletions

View File

@@ -5,7 +5,7 @@ import cors from "cors";
import rateLimit from "express-rate-limit";
import { randomBytes } from "crypto";
process.env.streamSalt = randomBytes(64).toString('hex');
const ipSalt = randomBytes(64).toString('hex');
import path from 'path';
import { fileURLToPath } from 'url';
@@ -24,7 +24,7 @@ import { changelogHistory } from "./modules/pageRender/onDemand.js";
import { sha256 } from "./modules/sub/crypto.js";
import findRendered from "./modules/pageRender/findRendered.js";
if (process.env.selfURL && process.env.streamSalt && process.env.port) {
if (process.env.selfURL && process.env.port) {
const commitHash = shortCommit();
const branch = getCurrentBranch();
const app = express();
@@ -38,7 +38,7 @@ if (process.env.selfURL && process.env.streamSalt && process.env.port) {
max: 25,
standardHeaders: false,
legacyHeaders: false,
keyGenerator: (req, res) => sha256(getIP(req), process.env.streamSalt),
keyGenerator: (req, res) => sha256(getIP(req), ipSalt),
handler: (req, res, next, opt) => {
res.status(429).json({ "status": "error", "text": loc(languageCode(req), 'ErrorRateLimit') });
return;
@@ -49,7 +49,7 @@ if (process.env.selfURL && process.env.streamSalt && process.env.port) {
max: 28,
standardHeaders: false,
legacyHeaders: false,
keyGenerator: (req, res) => sha256(getIP(req), process.env.streamSalt),
keyGenerator: (req, res) => sha256(getIP(req), ipSalt),
handler: (req, res, next, opt) => {
res.status(429).json({ "status": "error", "text": loc(languageCode(req), 'ErrorRateLimit') });
return;
@@ -96,7 +96,7 @@ if (process.env.selfURL && process.env.streamSalt && process.env.port) {
app.post('/api/json', async (req, res) => {
try {
let ip = sha256(getIP(req), process.env.streamSalt);
let ip = sha256(getIP(req), ipSalt);
let lang = languageCode(req);
let j = apiJSON(0, { t: "Bad request" });
try {
@@ -122,7 +122,7 @@ if (process.env.selfURL && process.env.streamSalt && process.env.port) {
app.get('/api/:type', (req, res) => {
try {
let ip = sha256(getIP(req), process.env.streamSalt);
let ip = sha256(getIP(req), ipSalt);
switch (req.params.type) {
case 'stream':
if (req.query.p) {