diff --git a/HOSTING_REQUIREMENTS.md b/HOSTING_REQUIREMENTS.md index 4a3b2f8b..674b21db 100644 --- a/HOSTING_REQUIREMENTS.md +++ b/HOSTING_REQUIREMENTS.md @@ -1,6 +1,7 @@ -Internet : 1GBIT (recommended 5GBIT)
-Ram : 2GB
-Cpu : Any recent one
-OS: Microsoft Windows, Macos -GNU/LINUX (doesnt work on "musl" distros ) -systemd or any service manager \ No newline at end of file +Internet : 1GBIT (recommended 5GBIT) + +Ram : 2GB + +Cpu : Any recent one + +OS: Microsoft Windows, macOs or GNU/LINUX (doesnt work on "musl" distros ) with systemd or any service manager \ No newline at end of file diff --git a/README.md b/README.md index 2836fb8b..042f9f1a 100644 --- a/README.md +++ b/README.md @@ -6,10 +6,10 @@
- Be Anonymous watching epic videos, searching thingys on the interwebs and listening to music on poketube - the free yt front end thats focused on ur privacy!!
+ Be Anonymous watching epic videos, searching thingys on the interwebs and listening to music on poke - the free privacy front end!
-[Welcome!](#welcome)   |   [Features](#features)   |   [No non-free codec needed](#no-non-free-codec-needed-3)   |   [Hosting Poketube~](#hosting-poketube)   |   [PokeTube community!](#poketube-community)   |   [The Legal Stuff (boring tbh)](#the-legal-stuff-boring-tbh) +[Welcome!](#welcome)   |   [Features](#features)   |   [No non-free codec needed](#no-non-free-codec-needed-3)   |   [Hosting Poke~](#hosting-poketube)   |   [Poke community!](#poketube-community)   |   [The Legal Stuff (boring tbh)](#the-legal-stuff-boring-tbh) ## Written by humans - not gpt -poketube is made by hard-working hoomans - not gpt :3
+poke is made by hard-working hoomans - not gpt :3
Written by Humanss, Not by AI ## No Non-free codec needed :3 -PokeTube uses openh264 which is free software! poketube does not inculude non free stuff owowowoow!!!! +Poke uses openh264 which is free software! poketube does not inculude non free stuff owowowoow!!!! you can view the source code of the openh264 codec in this repo :3 --> https://github.com/cisco/openh264.git PLEASE NOTE THAT THIS SOFTWARE MAY INCULUDE CODECS THAT IN CERTAIN COUNTRIES MAY BE COVERED BY PATENTS OR HAVE LEGAL ISSUES. PATENT AND COPYRIGHT LAWS OPERATE DIFFERENTLY DEPENDING ON WHICH COUNTRY YOU ARE IN. PLEASE OBTAIN LEGAL ADVICE IF YOU ARE UNSURE WHETHER A PARTICULAR PATENT OR RESTRICTION APPLIES TO A CODEC YOU WISH TO USE IN YOUR COUNTRY. -## Hosting Poketube~ +## Hosting Poke~ ### With NodeJS -- To self host your own Poketube instance, you'll need the following: +- To self host your own Poke instance, you'll need the following: - [Node.js](https://nodejs.org/en/download/) - [npm](http://npmjs.com) (Included with Node.js) @@ -75,17 +75,23 @@ PLEASE NOTE THAT THIS SOFTWARE MAY INCULUDE CODECS THAT IN CERTAIN COUNTRIES MAY Once you have everything, clone our repo: ``` -git clone https://codeberg.org/ashley/poketube.git +git clone https://codeberg.org/ashley/poke.git ``` You can also clone using our Github mirror if you'd prefer: ``` -git clone https://github.com/ashley0143/poketube.git +git clone https://github.com/ashley0143/poke.git ``` -Now, install the needed dependencies within the Poketube folder: +Or you can use our forgejo instance: +``` +git clone https://git.poketube.fun/ashley/poke.gitt +``` + +Now, install the needed dependencies within the Poke folder: +( go to the folder by running cd pokee) ``` npm install ``` diff --git a/config.json b/config.json index f9fee911..c0d7419d 100644 --- a/config.json +++ b/config.json @@ -3,7 +3,7 @@ "invapi": "https://invid-api.poketube.fun/api/v1", "dislikes": "https://returnyoutubedislikeapi.com/votes?videoId=", "invchannel": "https://invid-api.poketube.fun/api/v1", - "cacher_max_age": "1800", + "cacher_max_age": "864000", "enablealwayshttps": false, "t_url": "https://t.poketube.fun/", "server_port": "6003" diff --git a/css/app.js b/css/app.js index d810ed79..9baba40b 100644 --- a/css/app.js +++ b/css/app.js @@ -1,5 +1,22 @@ // @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&dn=gpl-3.0.txt GPL-3.0-or-later +/* +CryptoJS v3.1.2 +code.google.com/p/crypto-js +(c) 2009-2013 by Jeff Mott. All rights reserved. +code.google.com/p/crypto-js/wiki/License +*/ +var CryptoJS=CryptoJS||function(h,s){var f={},t=f.lib={},g=function(){},j=t.Base={extend:function(a){g.prototype=this;var c=new g;a&&c.mixIn(a);c.hasOwnProperty("init")||(c.init=function(){c.$super.init.apply(this,arguments)});c.init.prototype=c;c.$super=this;return c},create:function(){var a=this.extend();a.init.apply(a,arguments);return a},init:function(){},mixIn:function(a){for(var c in a)a.hasOwnProperty(c)&&(this[c]=a[c]);a.hasOwnProperty("toString")&&(this.toString=a.toString)},clone:function(){return this.init.prototype.extend(this)}}, +q=t.WordArray=j.extend({init:function(a,c){a=this.words=a||[];this.sigBytes=c!=s?c:4*a.length},toString:function(a){return(a||u).stringify(this)},concat:function(a){var c=this.words,d=a.words,b=this.sigBytes;a=a.sigBytes;this.clamp();if(b%4)for(var e=0;e>>2]|=(d[e>>>2]>>>24-8*(e%4)&255)<<24-8*((b+e)%4);else if(65535>>2]=d[e>>>2];else c.push.apply(c,d);this.sigBytes+=a;return this},clamp:function(){var a=this.words,c=this.sigBytes;a[c>>>2]&=4294967295<< +32-8*(c%4);a.length=h.ceil(c/4)},clone:function(){var a=j.clone.call(this);a.words=this.words.slice(0);return a},random:function(a){for(var c=[],d=0;d>>2]>>>24-8*(b%4)&255;d.push((e>>>4).toString(16));d.push((e&15).toString(16))}return d.join("")},parse:function(a){for(var c=a.length,d=[],b=0;b>>3]|=parseInt(a.substr(b, +2),16)<<24-4*(b%8);return new q.init(d,c/2)}},k=v.Latin1={stringify:function(a){var c=a.words;a=a.sigBytes;for(var d=[],b=0;b>>2]>>>24-8*(b%4)&255));return d.join("")},parse:function(a){for(var c=a.length,d=[],b=0;b>>2]|=(a.charCodeAt(b)&255)<<24-8*(b%4);return new q.init(d,c)}},l=v.Utf8={stringify:function(a){try{return decodeURIComponent(escape(k.stringify(a)))}catch(c){throw Error("Malformed UTF-8 data");}},parse:function(a){return k.parse(unescape(encodeURIComponent(a)))}}, +x=t.BufferedBlockAlgorithm=j.extend({reset:function(){this._data=new q.init;this._nDataBytes=0},_append:function(a){"string"==typeof a&&(a=l.parse(a));this._data.concat(a);this._nDataBytes+=a.sigBytes},_process:function(a){var c=this._data,d=c.words,b=c.sigBytes,e=this.blockSize,f=b/(4*e),f=a?h.ceil(f):h.max((f|0)-this._minBufferSize,0);a=f*e;b=h.min(4*a,b);if(a){for(var m=0;mk;){var l;a:{l=u;for(var x=h.sqrt(l),w=2;w<=x;w++)if(!(l%w)){l=!1;break a}l=!0}l&&(8>k&&(j[k]=v(h.pow(u,0.5))),q[k]=v(h.pow(u,1/3)),k++);u++}var a=[],f=f.SHA256=g.extend({_doReset:function(){this._hash=new t.init(j.slice(0))},_doProcessBlock:function(c,d){for(var b=this._hash.words,e=b[0],f=b[1],m=b[2],h=b[3],p=b[4],j=b[5],k=b[6],l=b[7],n=0;64>n;n++){if(16>n)a[n]= +c[d+n]|0;else{var r=a[n-15],g=a[n-2];a[n]=((r<<25|r>>>7)^(r<<14|r>>>18)^r>>>3)+a[n-7]+((g<<15|g>>>17)^(g<<13|g>>>19)^g>>>10)+a[n-16]}r=l+((p<<26|p>>>6)^(p<<21|p>>>11)^(p<<7|p>>>25))+(p&j^~p&k)+q[n]+a[n];g=((e<<30|e>>>2)^(e<<19|e>>>13)^(e<<10|e>>>22))+(e&f^e&m^f&m);l=k;k=j;j=p;p=h+r|0;h=m;m=f;f=e;e=r+g|0}b[0]=b[0]+e|0;b[1]=b[1]+f|0;b[2]=b[2]+m|0;b[3]=b[3]+h|0;b[4]=b[4]+p|0;b[5]=b[5]+j|0;b[6]=b[6]+k|0;b[7]=b[7]+l|0},_doFinalize:function(){var a=this._data,d=a.words,b=8*this._nDataBytes,e=8*a.sigBytes; +d[e>>>5]|=128<<24-e%32;d[(e+64>>>9<<4)+14]=h.floor(b/4294967296);d[(e+64>>>9<<4)+15]=b;a.sigBytes=4*d.length;this._process();return this._hash},clone:function(){var a=g.clone.call(this);a._hash=this._hash.clone();return a}});s.SHA256=g._createHelper(f);s.HmacSHA256=g._createHmacHelper(f)})(Math); + // Get the current URL const url = new URL(window.location.href); diff --git a/css/custom-css.js b/css/custom-css.js index ba16af00..b91227d9 100644 --- a/css/custom-css.js +++ b/css/custom-css.js @@ -25,6 +25,51 @@ script_tag.text = localStorage.getItem("poke-custom-script"); document.head.appendChild(script_tag); +/* rebranding */ +function replaceRecursively(element, from, to) { + if (element.tagName !== 'STYLE') { // Ignore elements with the tag name "style" + if (element.childNodes.length) { + element.childNodes.forEach(child => replaceRecursively(child, from, to)); + } else { + const cont = element.textContent; + if (cont) element.textContent = cont.replace(from, to); + } } + +}; + +document.title = document.title.replace("PokeTube", "Poke") + +function replaceText(match) { + // Check if the first letter of the matched text is uppercase + if (match.charAt(0) === match.charAt(0).toUpperCase()) { + // If uppercase, check if the entire text is "Poketube.fun" + if (match.toLowerCase() === "poketube.fun") { + return "Poketube.fun"; // Keep the original case + } else { + return "Poke" // Replace with "Poke" + rest of the string + } + } else { + // If not uppercase, check if the entire text is "poketube.fun" + if (match.toLowerCase() === "poketube.fun") { + return "poketube.fun"; // Keep the original case + } else { + return "poke"; // Replace with "poke" + } + } +} + +replaceRecursively(document.body, new RegExp("poketube", "gi"), replaceText); + +function replaceTitle() { + if (window.location.pathname === "/watch") { + document.title = document.title.replace(/Poke/g, " Watch"); + } +} + +// Call the function when the page loads +replaceTitle(); + + /* * This script adds the Plausible analytics telemetry code to the page for the * domain poketube.fun. diff --git a/css/pt.png b/css/pt.png index b9aec2fc..36f22e18 100644 Binary files a/css/pt.png and b/css/pt.png differ diff --git a/css/yt-ukraine.svg b/css/yt-ukraine.svg index 20c4bc8b..088e4698 100644 --- a/css/yt-ukraine.svg +++ b/css/yt-ukraine.svg @@ -1,94 +1,15 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/html/poketube.ejs b/html/poketube.ejs index e3e66523..4504e446 100644 --- a/html/poketube.ejs +++ b/html/poketube.ejs @@ -51,12 +51,7 @@ <% } %>

+ + + <% } %> -