mirror of
https://codeberg.org/ashley/poke.git
synced 2024-11-26 08:58:13 +01:00
Merge branch 'main' into main
This commit is contained in:
commit
76435c2c84
5 changed files with 79 additions and 78 deletions
|
@ -3,7 +3,7 @@
|
||||||
"invapi": "https://invid-api.poketube.fun/api/v1",
|
"invapi": "https://invid-api.poketube.fun/api/v1",
|
||||||
"dislikes": "https://returnyoutubedislikeapi.com/votes?videoId=",
|
"dislikes": "https://returnyoutubedislikeapi.com/votes?videoId=",
|
||||||
"invchannel": "https://invid-api.poketube.fun/api/v1",
|
"invchannel": "https://invid-api.poketube.fun/api/v1",
|
||||||
"cacher_max_age": "1800",
|
"cacher_max_age": "864000",
|
||||||
"enablealwayshttps": false,
|
"enablealwayshttps": false,
|
||||||
"t_url": "https://t.poketube.fun/",
|
"t_url": "https://t.poketube.fun/",
|
||||||
"server_port": "6003"
|
"server_port": "6003"
|
||||||
|
|
|
@ -51,12 +51,7 @@
|
||||||
<% } %> <!-- close the } -->
|
<% } %> <!-- close the } -->
|
||||||
<link href="/css/yt-ukraine.svg?v=3" rel=icon>
|
<link href="/css/yt-ukraine.svg?v=3" rel=icon>
|
||||||
<link href=/css/snow.css rel=stylesheet>
|
<link href=/css/snow.css rel=stylesheet>
|
||||||
|
|
||||||
<ptd-event-chunks>
|
|
||||||
poketube.eventloader = this.eventloader
|
|
||||||
load()
|
|
||||||
|
|
||||||
</ptd-event-chunks>
|
|
||||||
<title> <%=inv_vid.title%> | PokeTube </title>
|
<title> <%=inv_vid.title%> | PokeTube </title>
|
||||||
<style>
|
<style>
|
||||||
|
|
||||||
|
@ -357,12 +352,12 @@ a[data-onclick="jump_to_time"] {
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<!-- css files -->
|
<!-- css files -->
|
||||||
<link href="/css/app-cdn.min.css?v=<%=btoa(Date.now())%>" rel=stylesheet>
|
<link href="/css/app-cdn.min.css" rel=stylesheet>
|
||||||
<link href="/css/app.main.css?v=<%=btoa(Date.now())%>" rel=stylesheet>
|
<link href="/css/app.main.css" rel=stylesheet>
|
||||||
<link href="/css/watch.main.css?v=<%=btoa(Date.now())%>" rel=stylesheet>
|
<link href="/css/watch.main.css" rel=stylesheet>
|
||||||
<link href="/css/watch-util.css?v=<%=btoa(Date.now())%>" rel=stylesheet>
|
<link href="/css/watch-util.css" rel=stylesheet>
|
||||||
<link href="/css/watch-navbar.css?v=<%=btoa(Date.now())%>" rel=stylesheet>
|
<link href="/css/watch-navbar.css" rel=stylesheet>
|
||||||
<link href="/css/poketube.css?v=<%=btoa(Date.now())%>" rel=stylesheet>
|
<link href="/css/poketube.css" rel=stylesheet>
|
||||||
|
|
||||||
<!-- ICONS -->
|
<!-- ICONS -->
|
||||||
<link href="https://p.poketube.fun/https://site-assets.fontawesome.com/releases/v6.1.1/css/all.css" rel=stylesheet>
|
<link href="https://p.poketube.fun/https://site-assets.fontawesome.com/releases/v6.1.1/css/all.css" rel=stylesheet>
|
||||||
|
@ -1812,8 +1807,11 @@ window.addEventListener("unload", cleanup)
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<% } %>
|
<% } %>
|
||||||
<script src="/static/app.bundle.js?ver=<%-btoa("1f739d93") %>&bundledat=<%- Date.now() %>"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
<script src="/static/app.bundle.js" > </script>
|
||||||
|
|
||||||
<% if(secure) { %>
|
<% if(secure) { %>
|
||||||
<!-- Matomo -->
|
<!-- Matomo -->
|
||||||
<script>
|
<script>
|
||||||
|
@ -1880,7 +1878,8 @@ if (Ashley && !Ashley.dntEnabled()) {
|
||||||
|
|
||||||
<% } %>
|
<% } %>
|
||||||
<style> img.emoji {height: 1em;width: 1em;margin: 0 .05em 0 .1em;vertical-align: -0.1em;}</style>
|
<style> img.emoji {height: 1em;width: 1em;margin: 0 .05em 0 .1em;vertical-align: -0.1em;}</style>
|
||||||
<script>twemoji.parse(document.body,{ base: 'https://cdn.zptr.cc/twemoji/' })</script><script>
|
<script>twemoji.parse(document.body,{ base: 'https://cdn.zptr.cc/twemoji/' }) </script>
|
||||||
|
<script>
|
||||||
window.GLOBAL_ENV = {
|
window.GLOBAL_ENV = {
|
||||||
API_ENDPOINT_INVID:"https://invid-api.poketube.fun/api/v1",
|
API_ENDPOINT_INVID:"https://invid-api.poketube.fun/api/v1",
|
||||||
API_ENDPOINT_INNER:"https://inner-api.poketube.fun/api/",
|
API_ENDPOINT_INNER:"https://inner-api.poketube.fun/api/",
|
||||||
|
@ -2060,7 +2059,7 @@ a {
|
||||||
<div class="video-player-container" style="background-color:#000">
|
<div class="video-player-container" style="background-color:#000">
|
||||||
<% if (lightOrDark(color) == "dark") { %>
|
<% if (lightOrDark(color) == "dark") { %>
|
||||||
|
|
||||||
<video class="player" id="video" style="border-radius: 6px;box-shadow: 0 10em 7em <%=color2
|
<video class="player" id="video" style="border-radius: 6px;box-shadow: 0 13em 14em <%=color2
|
||||||
%>;" autoplay controls
|
%>;" autoplay controls
|
||||||
|
|
||||||
poster="https://p.poketube.fun/https://i.ytimg.com/vi/<%=inv_vid.videoId%>/maxresdefault.jpg?v=607ddcd4">
|
poster="https://p.poketube.fun/https://i.ytimg.com/vi/<%=inv_vid.videoId%>/maxresdefault.jpg?v=607ddcd4">
|
||||||
|
@ -2068,7 +2067,7 @@ a {
|
||||||
<% } %>
|
<% } %>
|
||||||
<% if (lightOrDark(color) == "light") { %>
|
<% if (lightOrDark(color) == "light") { %>
|
||||||
|
|
||||||
<video class="player" id="video" style="border-radius: 6px;box-shadow: 0 10em 7em <%=color
|
<video class="player" id="video" style="border-radius: 6px;box-shadow: 0 13em 14em <%=color
|
||||||
%>;" autoplay controls
|
%>;" autoplay controls
|
||||||
|
|
||||||
poster="https://p.poketube.fun/https://i.ytimg.com/vi/<%=inv_vid.videoId%>/maxresdefault.jpg?v=607ddcd4">
|
poster="https://p.poketube.fun/https://i.ytimg.com/vi/<%=inv_vid.videoId%>/maxresdefault.jpg?v=607ddcd4">
|
||||||
|
@ -2147,7 +2146,7 @@ font-size: 13px;margin:0;padding:0;white-space: nowrap;
|
||||||
|
|
||||||
<div class="name" style="font-family:var(--text-font-primary);font-weight:var(--text-header-weight);">
|
<div class="name" style="font-family:var(--text-font-primary);font-weight:var(--text-header-weight);">
|
||||||
<div>
|
<div>
|
||||||
<a href="/channel?id=<%=k.Video.Channel.id%>" style="color:#fff;max-width: 9.8em;" class="max-lines-1">
|
<a href="/channel?id=<%=k.Video.Channel.id%>" style="color:#fff;max-width: 7.8em;" class="max-lines-1">
|
||||||
<%=k.Video.Channel.Name%></a>
|
<%=k.Video.Channel.Name%></a>
|
||||||
|
|
||||||
<div class="subscriber-count" style="write-space:nowraap">
|
<div class="subscriber-count" style="write-space:nowraap">
|
||||||
|
@ -2274,46 +2273,61 @@ font-size: 13px;margin:0;padding:0;white-space: nowrap;
|
||||||
|
|
||||||
-->
|
-->
|
||||||
</div>
|
</div>
|
||||||
<% let randomNumber = Math.floor(Math.random() * 2) + 1; %>
|
|
||||||
|
|
||||||
<% if (Array.isArray( inv.comments)) { %>
|
|
||||||
|
|
||||||
<div class="comment-mini" style="padding: 0em;background: #0009;border-radius: 16px;align-self: center;align-items: center;margin-left: 8px;margin-right: 12px;padding-bottom: 0;padding-top:1em;<%= randomNumber === 2 ? 'visibility: collapse;' : '' %>"> <a id="language-button" href="#comments-container" style="" class="switch">
|
|
||||||
|
|
||||||
<div class="video-title" style="font-family:'PokeTube flex';font-weight:1000;white-space:yes;margin-top: -0.5em;margin-left: 0.8em;">Comments - <%- convert(inv.commentCount) %>
|
|
||||||
</div>
|
|
||||||
<div class="" style="padding: 0em !important;margin-left: 0.3em;">
|
|
||||||
|
|
||||||
<div class="desc" style="display: flex;font-size: small;padding: 0;margin: -10px;margin-left: -0.5em">
|
|
||||||
<h5 style="display: flex;margin-top: 7px;padding-top: 10px;margin-left: 12px;">
|
|
||||||
<div class="thumb">
|
|
||||||
|
|
||||||
<div class="thumb">
|
|
||||||
<a href="/channel?id=<%- inv.comments[0].authorId%>" class="avatar" style="width: 40px;height: 40px;margin: 4px;">
|
|
||||||
<img src="/avatars/<%= inv.comments[0].authorThumbnails[1].url.replace("https://yt3.ggpht.com/", "") %>" style="width: 24px;height: 24px;margin-right: inherit;" >
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</h5>
|
|
||||||
<p class="comment" style="font-weight: bold;color: #fff; word-wrap: break-word; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; text-overflow: ellipsis; max-width: 19em;align-self:center;">
|
|
||||||
<%- inv.comments[0].contentHtml %>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</a>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="fromtheweb-inner" style="margin-left: 8px;margin-right: 12px;margin-bottom:6px;">
|
||||||
|
<div style="display: flex;gap: 3px;">
|
||||||
|
<% if (twitter) { %>
|
||||||
|
<div style="background: #000;width: fit-content;padding: 5px;border-radius: 6px;margin-bottom: -15px;">
|
||||||
|
<img src="https://p.poketube.fun/https://cdn.glitch.global/d68d17bb-f2c0-4bc3-993f-50902734f652/8473b88f-36a4-437f-8c14-fb9e38a623d9.image.png?v=1693424579898" class="loaded" style="width: 22px;height: 23px;vertical-align: -7px;"><a style="margin: 1px;" href="https://nitter.net/<%- twitter.name %>"> @<%- twitter.name %></a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<% } %>
|
||||||
|
|
||||||
|
<% if (discord) { %>
|
||||||
|
<div style="background: #000;width: fit-content;padding: 5px;border-radius: 6px;margin-bottom: -15px;">
|
||||||
|
<img src="https://p.poketube.fun/https://cdn.glitch.global/d68d17bb-f2c0-4bc3-993f-50902734f652/34e2accb-41ec-4b10-a1e8-a0d647ea6e76.image.png" class="loaded" style="width: 22px;height: 23px;vertical-align: -7px;"><a style="margin: 1px;" href="https://discord.gg/<%- discord.name %>"> /<%- discord.name %></a>
|
||||||
|
</div>
|
||||||
|
<% } %>
|
||||||
|
|
||||||
|
|
||||||
|
<% if (twitch) { %>
|
||||||
|
<div style="background: #000;width: fit-content;padding: 5px;border-radius: 6px;margin-bottom: -15px;">
|
||||||
|
<img src="https://p.poketube.fun/https://cdn.glitch.global/d68d17bb-f2c0-4bc3-993f-50902734f652/d277ed96-59cd-44fe-a75a-56b3170fa634.image.png?v=1693429282139" class="loaded" style="width: 22px;height: 23px;vertical-align: -7px;"><a style="margin: 1px;" href="https://twitch.tv/<%- twitch.name %>"> /<%- twitch.name %></a>
|
||||||
|
</div>
|
||||||
|
<% } %>
|
||||||
|
|
||||||
|
|
||||||
|
<% if (reddit) { %>
|
||||||
|
<div style="background: #000;width: fit-content;padding: 5px;border-radius: 6px;margin-bottom: -15px;">
|
||||||
|
<img src="https://p.poketube.fun/https://cdn.glitch.global/d68d17bb-f2c0-4bc3-993f-50902734f652/3bea1171-8723-4719-b0ee-d98d1abbd174.image.png?v=1693429333706" class="loaded" style="width: 22px;height: 23px;vertical-align: -7px;"><a style="margin: 1px;" href="https://reddit.com/r/<%- reddit.name %>"> r/<%- reddit.name %></a>
|
||||||
|
</div>
|
||||||
|
<% } %>
|
||||||
|
|
||||||
|
<% if (instagram) { %>
|
||||||
|
<div style="background: #0009;width: fit-content;padding: 5px;border-radius: 6px;margin-bottom: -15px;">
|
||||||
|
<img src="https://p.poketube.fun/https://cdn.glitch.global/d68d17bb-f2c0-4bc3-993f-50902734f652/52704940-684c-41e8-b0de-cca642fa39f8.image.png?v=1693429793193" class="loaded" style="width: 22px;height: 23px;vertical-align: -7px;"><a style="margin: 1px;" href="https://instagram.com/<%- instagram.name %>"> <%- instagram.name %></a>
|
||||||
|
</div>
|
||||||
|
<% } %>
|
||||||
|
|
||||||
|
<% if (!twitter) { %>
|
||||||
|
<% if (!discord) { %>
|
||||||
|
<% if (!reddit) { %>
|
||||||
|
<% if (!twitch) { %>
|
||||||
|
|
||||||
|
<% if (!instagram) { %>
|
||||||
|
<div style="margin-top: 10px;">
|
||||||
|
Nyo connections found ;_;
|
||||||
|
</div>
|
||||||
|
<% } %>
|
||||||
|
<% } %>
|
||||||
|
<% } %>
|
||||||
|
|
||||||
<% } %>
|
<% } %> <% } %>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div id="desc-container">
|
<div id="desc-container">
|
||||||
|
@ -2404,7 +2418,7 @@ the channels social media accounts!
|
||||||
<div style="display: flex;gap: 3px;">
|
<div style="display: flex;gap: 3px;">
|
||||||
<% if (twitter) { %>
|
<% if (twitter) { %>
|
||||||
<div style="background: #0009;width: fit-content;padding: 5px;border-radius: 6px;margin-bottom: -15px;">
|
<div style="background: #0009;width: fit-content;padding: 5px;border-radius: 6px;margin-bottom: -15px;">
|
||||||
<img src="https://p.poketube.fun/https://cdn.glitch.global/d68d17bb-f2c0-4bc3-993f-50902734f652/8473b88f-36a4-437f-8c14-fb9e38a623d9.image.png?v=1693424579898" class="loaded" style="width: 22px;height: 23px;vertical-align: -7px;"><a style="margin: 1px;" href="https://x.com/<%- twitter.name %>"> @<%- twitter.name %></a>
|
<img src="https://p.poketube.fun/https://cdn.glitch.global/d68d17bb-f2c0-4bc3-993f-50902734f652/8473b88f-36a4-437f-8c14-fb9e38a623d9.image.png?v=1693424579898" class="loaded" style="width: 22px;height: 23px;vertical-align: -7px;"><a style="margin: 1px;" href="https://nitter.net/<%- twitter.name %>"> @<%- twitter.name %></a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<% } %>
|
<% } %>
|
||||||
|
|
|
@ -98,7 +98,7 @@ const listener = (req, res) => {
|
||||||
app.get("/", (req, res) => {
|
app.get("/", (req, res) => {
|
||||||
var json = {
|
var json = {
|
||||||
status: "200",
|
status: "200",
|
||||||
version: "1.1.0",
|
version: "1.2.0",
|
||||||
URL_WHITELIST,
|
URL_WHITELIST,
|
||||||
cache: "max-age-232337763",
|
cache: "max-age-232337763",
|
||||||
};
|
};
|
||||||
|
|
|
@ -52,7 +52,7 @@ module.exports = function (app, config, renderTemplate) {
|
||||||
});
|
});
|
||||||
|
|
||||||
app.get("/vi/:v/:t", async function (req, res) {
|
app.get("/vi/:v/:t", async function (req, res) {
|
||||||
var url = `https://invid-api.poketube.fun/vi/${req.params.v}/${req.params.t}`
|
var url = `https://invidious.snopyta.org/vi/${req.params.v}/${req.params.t}`
|
||||||
|
|
||||||
let f = await modules.fetch(url + `?cachefixer=${btoa(Date.now())}`, {
|
let f = await modules.fetch(url + `?cachefixer=${btoa(Date.now())}`, {
|
||||||
method: req.method,
|
method: req.method,
|
||||||
|
@ -63,7 +63,7 @@ module.exports = function (app, config, renderTemplate) {
|
||||||
});
|
});
|
||||||
|
|
||||||
app.get("/avatars/:v", async function (req, res) {
|
app.get("/avatars/:v", async function (req, res) {
|
||||||
var url = `https://invid-api.poketube.fun/ggpht/${req.params.v}`;
|
var url = `https://invidious.snopyta.org/ggpht/${req.params.v}`;
|
||||||
|
|
||||||
let f = await modules.fetch(url + `?cachefixer=${btoa(Date.now())}`, {
|
let f = await modules.fetch(url + `?cachefixer=${btoa(Date.now())}`, {
|
||||||
method: req.method,
|
method: req.method,
|
||||||
|
@ -73,7 +73,7 @@ app.get("/avatars/:v", async function (req, res) {
|
||||||
});
|
});
|
||||||
|
|
||||||
app.get("/ggpht/:v", async function (req, res) {
|
app.get("/ggpht/:v", async function (req, res) {
|
||||||
var url = `https://invid-api.poketube.fun/ggpht/${req.params.v}`;
|
var url = `https://invidious.snopyta.org/ggpht/${req.params.v}`;
|
||||||
|
|
||||||
let f = await modules.fetch(url + `?cachefixer=${btoa(Date.now())}`, {
|
let f = await modules.fetch(url + `?cachefixer=${btoa(Date.now())}`, {
|
||||||
method: req.method,
|
method: req.method,
|
||||||
|
@ -84,7 +84,7 @@ app.get("/avatars/:v", async function (req, res) {
|
||||||
|
|
||||||
|
|
||||||
app.get("/avatars/ytc/:v", async function (req, res) {
|
app.get("/avatars/ytc/:v", async function (req, res) {
|
||||||
var url = `https://invid-api.poketube.fun/ggpht/ytc/${req.params.v.replace("ytc", "")}`;
|
var url = `https://invidious.snopyta.org/ggpht/ytc/${req.params.v.replace("ytc", "")}`;
|
||||||
|
|
||||||
let f = await modules.fetch(url + `?cachefixer=${btoa(Date.now())}`, {
|
let f = await modules.fetch(url + `?cachefixer=${btoa(Date.now())}`, {
|
||||||
method: req.method,
|
method: req.method,
|
||||||
|
|
|
@ -24,25 +24,12 @@ function init(app, config, rendertemplate) {
|
||||||
initlog("wait a few mins... pt on timeout rn");
|
initlog("wait a few mins... pt on timeout rn");
|
||||||
|
|
||||||
|
|
||||||
function isChromeOS(userAgent) {
|
app.get("/*", function (req, res, next) {
|
||||||
return userAgent.includes('CrOS');
|
if (didstart) return next();
|
||||||
}
|
|
||||||
|
|
||||||
// Middleware to handle the Chrome OS check
|
return rendertemplate(res, req, "timeout.ejs");
|
||||||
function checkChromeOS(req, res, next) {
|
});
|
||||||
if (isChromeOS(req.headers['user-agent'])) {
|
|
||||||
res.status(403).send('Forbidden for Chrome OS');
|
|
||||||
} else {
|
|
||||||
next();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Your existing route with the Chrome OS check
|
|
||||||
app.get("/*", checkChromeOS, (req, res, next) => {
|
|
||||||
if (didstart) return next();
|
|
||||||
|
|
||||||
return rendertemplate(res, req, "timeout.ejs");
|
|
||||||
});
|
|
||||||
|
|
||||||
setTimeout(function () {
|
setTimeout(function () {
|
||||||
didstart = true;
|
didstart = true;
|
||||||
|
|
Loading…
Reference in a new issue