diff --git a/server.js b/server.js
index 8a5980ad..f9236198 100644
--- a/server.js
+++ b/server.js
@@ -431,7 +431,7 @@ app.get("/search", async (req, res) => {
app.get("/channel/", async (req, res) => {
const ID = req.query.id;
const tab = req.query.tab;
-
+
// about
const bout = await fetch(config.tubeApi + `channel?id=${ID}&tab=about`);
const h = await bout.text();
@@ -441,7 +441,7 @@ app.get("/channel/", async (req, res) => {
const channel = await fetch(config.tubeApi + `channel?id=${ID}&tab=videos`);
const c = await channel.text();
const tj = JSON.parse(toJson(c));
-
+
const summary = await wiki.summary(k.Channel.Metadata.Name);
var w = "";
@@ -451,15 +451,15 @@ app.get("/channel/", async (req, res) => {
if (summary.title !== "Not found.") {
w = summary;
}
-
+
const { Subscribers: subscribers } = k.Channel.Metadata;
- const description = k.Channel.Contents.ItemSection.About.Description
-
- var d = description.toString().replace(/\n/g, "
")
- if(d === "[object Object]"){
- var d = ""
- }
-
+ const description = k.Channel.Contents.ItemSection.About.Description;
+
+ var d = description.toString().replace(/\n/g, "
");
+ if (d === "[object Object]") {
+ var d = "";
+ }
+
renderTemplate(res, req, "channel.ejs", {
ID: ID,
tab: tab,
@@ -472,7 +472,7 @@ app.get("/channel/", async (req, res) => {
typeof subscribers === "string"
? subscribers.replace("subscribers", "")
: "Private",
- desc: d
+ desc: d,
});
});
@@ -508,9 +508,37 @@ app.get("/video/upload", (req, res) => {
///////////// API /////////////
app.get("/embed/:v", async function (req, res) {
+ var e = req.query.e;
+ var f = req.query.f;
+ var t = req.query.t;
+ var q = req.query.quality;
var v = req.params.v;
- res.redirect(`https://tube.kuylar.dev/proxy/media/${v}/18`);
+ var fetching = await fetcher(v);
+ const video = await fetch(config.tubeApi + `video?v=${v}`);
+
+ const json = fetching.video.Player;
+ const h = await video.text();
+ const k = JSON.parse(toJson(h));
+ const engagement = fetching.engagement;
+
+ if (!v) res.redirect("/");
+
+ //video
+ if (!q) url = `https://tube.kuylar.dev/proxy/media/${v}/22`;
+ if (q === "medium") {
+ var url = `https://tube.kuylar.dev/proxy/media/${v}/18`;
+ }
+
+ renderTemplate(res, req, "poketube-iframe.ejs", {
+ video: json,
+ url: url,
+ sha384: sha384,
+ qua: q,
+ engagement: engagement,
+ optout: t,
+ t: config.t_url,
+ });
});
app.get("/api/search", async (req, res) => {
@@ -572,8 +600,6 @@ app.get("/video/upload", (req, res) => {
res.redirect("https://youtube.com/upload");
});
-
-
///////////// 404 AND MAIN PAGES ETC /////////////
app.get("/", async function (req, res) {
const trends = await fetch(config.tubeApi + `trending`);
@@ -584,7 +610,6 @@ app.get("/", async function (req, res) {
isMobile: req.useragent.isMobile,
});
});
-
app.get("*", function (req, res) {
const things = random_words[Math.floor(Math.random() * random_words.length)];
@@ -593,7 +618,7 @@ app.get("*", function (req, res) {
});
});
- ////////////////////////////////////////////////////
+////////////////////////////////////////////////////
// listen