diff --git a/src/libpoketube/init/pages-video.js b/src/libpoketube/init/pages-video.js
index 7de1caa5..99c19f17 100644
--- a/src/libpoketube/init/pages-video.js
+++ b/src/libpoketube/init/pages-video.js
@@ -27,7 +27,8 @@ function linkify(text) {
return text.replace(urlRegex, (url) => {
// wrap the URL in an tag with the URL as the href attribute
- return ` tags with href containing "/channel/"
-const regex = / tags with the modified href attribute
-const updatedDescription = text.replace(regex, ' tags with href containing "/channel/"
+ const regex = / tags with the modified href attribute
+ const updatedDescription = text.replace(regex, ' {
- const { dm, region, hl, v, e, r, f, m, quality: q, a, universe } = req.query;
+ const {
+ dm,
+ region,
+ hl,
+ v,
+ e,
+ r,
+ f,
+ m,
+ quality: q,
+ a,
+ universe,
+ } = req.query;
if (!v) {
return res.redirect("/");
}
-
- var contentlang = hl || "en-US";
- var contentregion = region || "US";
+
+ var contentlang = hl || "en-US";
+ var contentregion = region || "US";
const isVideoValid = await core.isvalidvideo(v);
if (!isVideoValid) {
@@ -193,7 +205,7 @@ module.exports = function (app, config, renderTemplate) {
}
const u = await media_proxy(v);
-
+
const secure = ["poketube.fun"].includes(req.hostname);
const verify = req.hostname === "poketube.sudovanilla.com";
@@ -205,14 +217,14 @@ module.exports = function (app, config, renderTemplate) {
const inv_comments = data?.comments || "Disabled";
const inv_vid = data?.vid;
const desc = data?.desc || "";
-
+
let d = false;
if (desc !== "[object Object]") {
d = desc.toString().replace(/\n/g, "
");
}
const descriptionString = String(inv_vid?.description);
-
+
function extractInfo(regex) {
return descriptionString !== "[object Object]"
? (regex.exec(descriptionString) ?? {}).groups
@@ -226,14 +238,21 @@ module.exports = function (app, config, renderTemplate) {
const reddit = extractInfo(REDDIT_REGEX);
const instagram = extractInfo(INSTAGRAM_REGEX);
- var vidurl = u.url
-
- if(inv_vid?.genre === "Music") {
- var vidurl = u.losslessurl
- }
-
- if(req.useragent.source.includes("Pardus")){
- var vidurl = "https://yt.sudovanilla.com"
+ var vidurl = u.url;
+ var isvidious = u.isInvidiousURL;
+
+ if (inv_vid?.genre === "Music") {
+ var vidurl = u.losslessurl;
+ }
+
+ if (inv_vid.author.endsWith(" - Topic")) {
+ var vidurl = u.losslessurl;
+ var isvidious = true;
+ }
+
+ if (req.useragent.source.includes("Pardus")) {
+ var vidurl = "https://yt.sudovanilla.com";
+ var isvidious = true;
}
let badges = "";
@@ -259,8 +278,8 @@ module.exports = function (app, config, renderTemplate) {
if (uaos === "Windows XP" || uaos === "Windows Vista")
res.redirect("/lite?v=" + req.query.v);
- if (req.query.from === "short") var shortsui = true
-
+ if (req.query.from === "short") var shortsui = true;
+
try {
renderTemplate(res, req, "poketube.ejs", {
color: data.color,
@@ -272,7 +291,7 @@ module.exports = function (app, config, renderTemplate) {
support,
shortsui,
u: vidurl,
- isvidious: u.isInvidiousURL,
+ isvidious: isvidious,
video: json,
date: k.Video.uploadDate,
e,
@@ -280,7 +299,7 @@ module.exports = function (app, config, renderTemplate) {
twitter,
k,
dm,
- media_proxy_url : config.media_proxy,
+ media_proxy_url: config.media_proxy,
instagram,
useragent: req.useragent,
verify,
@@ -314,7 +333,7 @@ module.exports = function (app, config, renderTemplate) {
}
} catch (error) {
console.error(error);
- return res.redirect(`/watch?v=${req.query.v}&fx=1&err=${error}`);
+ return res.redirect(`/watch?v=${req.query.v}&fx=1&err=${error}`);
}
});
});
@@ -533,4 +552,4 @@ module.exports = function (app, config, renderTemplate) {
}
}
});
-};
\ No newline at end of file
+};