5.0-dev1
- rewrote and/or optimized all service modules - rewrote matching and processing modules to optimize readability and performance - added support for reddit gifs - fixed various issues with twitter error explanations - code optimizations and enhancements (such as finally getting rid of ==, prettier and more readable formatting, etc) - added branch information - all functions in currentCommit submodule run only once and cache received data - added a test script. only twitter and soundcloud are 100% covered and tested atm, will add tests (and probably fixes) for the rest of services in next commits - changed some localization strings for russian - added more clarity to rate limit message - moved services folder into processing folder
This commit is contained in:
@@ -47,7 +47,8 @@ export function verifyStream(ip, id, hmac, exp) {
|
||||
return { error: 'this stream token does not exist', status: 400 };
|
||||
}
|
||||
let ghmac = sha256(`${id},${streamInfo.service},${ip},${exp}`, salt);
|
||||
if (hmac == ghmac && exp.toString() == streamInfo.exp && ghmac == streamInfo.hmac && ip == streamInfo.ip && exp > Math.floor(new Date().getTime())) {
|
||||
if (String(hmac) === ghmac && String(exp) === String(streamInfo.exp) && ghmac === String(streamInfo.hmac)
|
||||
&& String(ip) === streamInfo.ip && Number(exp) > Math.floor(new Date().getTime())) {
|
||||
return streamInfo;
|
||||
}
|
||||
return { error: 'Unauthorized', status: 401 };
|
||||
|
||||
@@ -8,12 +8,12 @@ function closest(goal, array) {
|
||||
}
|
||||
|
||||
export default function(service, quality, maxQuality) {
|
||||
if (quality == "max") return maxQuality;
|
||||
if (quality === "max") return maxQuality;
|
||||
|
||||
quality = parseInt(mq[quality], 10)
|
||||
maxQuality = parseInt(maxQuality, 10)
|
||||
|
||||
if (quality >= maxQuality || quality == maxQuality) return maxQuality;
|
||||
if (quality >= maxQuality || quality === maxQuality) return maxQuality;
|
||||
|
||||
if (quality < maxQuality) {
|
||||
if (!services[service]["quality"][quality]) {
|
||||
|
||||
@@ -116,7 +116,7 @@ export function streamVideoOnly(streamInfo, res) {
|
||||
'-i', streamInfo.urls,
|
||||
'-c', 'copy', '-an'
|
||||
]
|
||||
if (format == "mp4") args.push('-movflags', 'faststart+frag_keyframe+empty_moov')
|
||||
if (format === "mp4") args.push('-movflags', 'faststart+frag_keyframe+empty_moov')
|
||||
args.push('-f', format, 'pipe:3');
|
||||
const ffmpegProcess = spawn(ffmpeg, args, {
|
||||
windowsHide: true,
|
||||
|
||||
Reference in New Issue
Block a user