Welp, there goes VORAPIS.

General project discussion.
Use this as a last resort if your topic does not fit in any of the other boards but it still on-topic.
Forum rules
This General Discussion board is meant for topics that are still relevant to Pale Moon, web browsers, browser tech, UXP applications, and related, but don't have a more fitting board available.

Please stick to the relevance of this forum here, which focuses on everything around the Pale Moon project and its user community. "Random" subjects don't belong here, and should be posted in the Off-Topic board.
User avatar
UCyborg
Fanatic
Fanatic
Posts: 236
Joined: 2019-01-10, 09:37
Location: Slovenia

Re: Welp, there goes VORAPIS.

Unread post by UCyborg » 2024-09-29, 11:40

UCyborg wrote:
2024-09-29, 00:09
The player works, search box suggestions work and dislike count works as well! As at least some of us know, the latter comes from 3rd party Return YouTube Dislike.
Actually, the player still craps out after 40 seconds on some videos. The fetch amendments aren't directly related to that problem, they just fix search box suggestions and dislike count, though they somehow influenced and seemingly fixed some videos.

Don't know about others, but I'm not a programmer and all these hassles aren't worth it for me.

User avatar
UCyborg
Fanatic
Fanatic
Posts: 236
Joined: 2019-01-10, 09:37
Location: Slovenia

Re: Welp, there goes VORAPIS.

Unread post by UCyborg » 2024-10-01, 03:27

This seems to works in Greasemonkey with least issues so far. The modified launcher script modifies the target script to address the issue with strict-origin-when-cross-origin, which breaks dislike count and search box suggestions.

Code: Select all

// ==UserScript==
// @name         Project VORAPIS TURBOLAUNCHER
// @namespace    //www.github.com/VORAPIS
// @version      2.1.0.0
// @description  V3 is the alternative solution to a fast and responsive YouTube frontend which combines performance with beauty, bringing back Google's best web layout.
// @author       eov3cv@hotmail.com
// @include      /.*:\/\/.*\.youtube\.com\/.*/
// @include      /.*:\/\/www\.googleapis\.com\/youtube\/.*/
// @include      /.*:\/\/youtube\.clients6\.google\.com\/.*/
// @include      /.*:\/\/content-youtube\.googleapis\.com\/.*/
// @include      /.*:\/\/myactivity\.google\.com\/.*/
// @include      /.*:\/\/storage\.googleapis\.com\/.*/
// @exclude      /.*:\/\/.*\.youtube\.com\/embed\/.*/
// @exclude      /.*:\/\/studio\.youtube\.com\/.*/
// @exclude      /.*:\/\/consent\.youtube.com\/.*/
// @exclude      /.*:\/\/.*\.youtube.com\/oembed.*/
// @exclude      /.*:\/\/.*\.youtube.com\/api\/.*/
// @exclude      /.*:\/\/.*.youtube.com\/subscribe_embed.*/
// @exclude      /.*:\/\/.*\.youtube.com\/s\/.*/
// @exclude      /.*:\/\/.*\.youtube\.com\/img\/.*/
// @exclude      /.*:\/\/img\.youtube\.com\/.*/
// @icon         https://www.google.com/s2/favicons?sz=64&domain=youtube.com
// @grant        none
// @run-at       document-start
// ==/UserScript==

//Project VORAPIS (V3) License & Disclaimer
//
//Copyright (c) 2024 VORAPIS (eov3cv@hotmail.com)
//
//All rights reserved.
//
//DISCLAIMER
//
//Project VORAPIS (short. V3) is a JavaScript application developed to run as a userscript/extension on www.youtube.com, aiming to recreate the experience of using YouTube as it was in 2013-2014.
//It is important to note:
//
//1. This project is not funded, endorsed, or affiliated with Google LLC, YouTube, or any of their subsidiaries. V3 is developed independently and operates within the Terms of Service (TOS) of the utilized Google and YouTube services, including but not limited to "My Activity", "InnerTube", and "YouTube Data API v3".
//
//2. The developer(s) of V3 claim rights only to the original code that powers this library. No claim is made to any CSS, HTML, JavaScript, or other assets owned by Google, YouTube, or their subsidiaries. This includes a modified version of the 2014 Google/YouTube HTML5 player, adapted for compatibility with today's APIs. The modification efforts are acknowledged, but proprietary rights to the original player remain with Google/YouTube.
//
//LICENSE TERMS
//
//The V3 project is provided "as is" for personal, non-commercial use, free of charge, with the following conditions:
//
//- Sale or any form of commercial exploitation of V3 is strictly prohibited.
//- Users are not allowed to claim V3 or any of its parts as their own work.
//- The developer(s) of V3 offer no warranties or guarantees regarding the software's functionality, performance, or its compliance with any legal standards.
//
//LIMITATION OF LIABILITY
//
//Under no circumstances shall the developer(s) of V3 be liable for any direct, indirect, incidental, special, or consequential damages resulting from the use of or inability to use the project, including but not limited to reliance on any information obtained through the project; or any failure of performance.
//
//COPYRIGHT NOTICE
//
//Copyright (c) 2024 Project VORAPIS. All rights reserved.
//
//By downloading, accessing, or using V3, you acknowledge that you have read, understood, and agree to comply with the terms and conditions outlined in this license and disclaimer.

//page script

void function () {

    window["trusted_policy"] = window["trustedTypes"] ? (window["trustedTypes"].createPolicy("VOR_TRUSTED_USELESS_POLICY", {
        createHTML: function (a) {
            return a;
        }
    })) : {
        createHTML: function (a) {
            return a;
        }
    };
    window["PatcherJSC_TURBO_RUNNING"] = true;
    var turbo_launcher = {};
    turbo_launcher.gcc = {};
    turbo_launcher.gcc.url = "https://vorapis.pages.dev/product/v3/game_service/patcher/get_latest_client";
    turbo_launcher.gcc.update = function () {
        return fetch(turbo_launcher.gcc.url + "?t=" + (new Date()).getTime()).then(function (r) {
            return r.text();
        }).then(function (r) {
            return r;
        });
    };
    turbo_launcher.vss = {};
    turbo_launcher.vss.req = function (u) {
        return fetch(u).then(function (r) {
            return r.text();
        }).then(function (r) {
            return r.replaceAll("strict-origin-when-cross-origin", "");
        });
    };
    turbo_launcher.vss.get = function () {
        var ls = window.localStorage;
        if (!ls) {
            return console.error("LocalStorage error!");
        }
        var info = ls.getItem("VLTURBO_INFO");
        var data = ls.getItem("VLTURBO_DATA");
        var imp = false;
        if (data) {
            imp = true;
            var s = document.createElement("script");
            s.innerHTML = window["trusted_policy"].createHTML(data);
            document.documentElement.appendChild(s);
        } else {
            window.stop();
        }
        return turbo_launcher.gcc.update().then(function (cver) {
            if (info != cver) {
                return turbo_launcher.vss.req(cver).then(function (cvss) {
                    ls.setItem("VLTURBO_DATA", cvss);
                    if (!imp) {
                        window.location.reload();
                    }
                });
            }
            ls.setItem("VLTURBO_INFO", cver);
        });
    };
    turbo_launcher.main = function () {
        turbo_launcher.vss.get();
    };
    turbo_launcher.main();

}();
This hides from the user when the actual V3 interface scripts gets updated, but I guess it's where they're taking it. It's odd that executing V3 script directly in Greasemonkey makes it bug out, but it works through this script. Neither use any Gresemonkey features I think.

It was noticed that unlike original YT interface, loop playback of playlists currently doesn't work (nothing to do with web browser).

User avatar
moonbat
Knows the dark side
Knows the dark side
Posts: 5270
Joined: 2015-12-09, 15:45
Contact:

Re: Welp, there goes VORAPIS.

Unread post by moonbat » 2024-10-01, 04:40

Is this the entire modified script as standalone or does it need the extension that was provided earlier in this thread?
"One hosts to look them up, one DNS to find them and in the darkness BIND them."

Image
KDE Neon on a Slimbook Excalibur (Ryzen 7 8845HS, 64 GB RAM)
AutoPageColor|PermissionsPlus|PMPlayer|Pure URL|RecordRewind|TextFX

User avatar
UCyborg
Fanatic
Fanatic
Posts: 236
Joined: 2019-01-10, 09:37
Location: Slovenia

Re: Welp, there goes VORAPIS.

Unread post by UCyborg » 2024-10-01, 12:50

It's ripped from the extension (extension normally runs it) and modified, works on its own, although that guy that put it together still suspects it's a bad idea to run it with Greasemonkey. Regardless, I didn't notice any additional issues so far.

I only changed original matches to includes/excludes that are specified in the extension code and made it so the script it downloads is changed/stripped of "strict-origin-when-cross-origin" occurrences because Pale Moon doesn't like fetch being called with referrerPolicy set like that.

q160765803
Apollo supporter
Apollo supporter
Posts: 38
Joined: 2023-04-13, 07:57

Re: Welp, there goes VORAPIS.

Unread post by q160765803 » 2024-10-01, 23:38

UCyborg wrote:
2024-10-01, 12:50
It's ripped from the extension (extension normally runs it) and modified, works on its own, although that guy that put it together still suspects it's a bad idea to run it with Greasemonkey. Regardless, I didn't notice any additional issues so far.

I only changed original matches to includes/excludes that are specified in the extension code and made it so the script it downloads is changed/stripped of "strict-origin-when-cross-origin" occurrences because Pale Moon doesn't like fetch being called with referrerPolicy set like that.
Do you mean "mode"? IIRC UXP doesn't support "referrerPolicy" at all.

User avatar
UCyborg
Fanatic
Fanatic
Posts: 236
Joined: 2019-01-10, 09:37
Location: Slovenia

Re: Welp, there goes VORAPIS.

Unread post by UCyborg » 2024-10-02, 16:41

No, I meant "referrerPolicy". If you run the original script, you'll get errors like these in the console:

Code: Select all

TypeError: 'referrerPolicy' member of RequestInit 'strict-origin-when-cross-origin' is not a valid value for enumeration ReferrerPolicy.
So it's obviously not the case of not recognizing "referrerPolicy". And what's this then?

https://repo.palemoon.org/MoonchildProductions/UXP/src/branch/master/netwerk/base/ReferrerPolicy.h

This file hasn't changed since Firefox 52 days and "strict-origin-when-cross-origin" is right there. So what's going on?

q160765803
Apollo supporter
Apollo supporter
Posts: 38
Joined: 2023-04-13, 07:57

Re: Welp, there goes VORAPIS.

Unread post by q160765803 » 2024-10-02, 23:36

UCyborg wrote:
2024-10-02, 16:41
No, I meant "referrerPolicy". If you run the original script, you'll get errors like these in the console:

Code: Select all

TypeError: 'referrerPolicy' member of RequestInit 'strict-origin-when-cross-origin' is not a valid value for enumeration ReferrerPolicy.
So it's obviously not the case of not recognizing "referrerPolicy". And what's this then?

https://repo.palemoon.org/MoonchildProductions/UXP/src/branch/master/netwerk/base/ReferrerPolicy.h

This file hasn't changed since Firefox 52 days and "strict-origin-when-cross-origin" is right there. So what's going on?
The WebIDL part is missing: https://bugzilla.mozilla.org/show_bug.cgi?id=1264792

User avatar
v3core
New to the forum
New to the forum
Posts: 1
Joined: 2024-10-04, 12:33
Contact:

Re: Welp, there goes VORAPIS.

Unread post by v3core » 2024-10-04, 12:39

Hi,
thank you for your interest for v3, i would like to clarify some things because people were worried in the above posts:
-dropping userscript support only implies that the bugs caused by loading the script using a slow userscript manager (like tampermonkey or greasemonkey) are most likely not going to be fixed, it doesnt mean the script will suddenly stop loading
-the upcoming turbolauncher (which will resolve current launcher issues and will finally offer auto-updates for everyone) will be released as WebExtension and XPI extension, that means pale moon can use it too
The searchbox issue is currently active on our github bugraport page, and we will be investigating it soon
The latest public V3 version (0.8.10) actually introduces changes in the codebase that now enable the browser to work as early as 2013 browsers, so no, old browsers support is not going anywhere.
For other misc issues, make sure that you do not have any adblocker active on Youtube.com (you can disable ad renderers directly from v3 configuration menu) and if your requests to "https://jnn-pa.googleapis.com/" fail, it means video player will not work properly
[͞-͞-͞>͞▁ ▂ ▄ ▅ ▆ ▇ █↬[̲̅Ѷ][̲̅3̸̿̈́]↫█ ▇ ▆ ▅ ▄ ▂ ▁<͞-͞-͞-͞]͞
⤡_ http://www.youtube.com/FVideos11 _⤢

User avatar
moonbat
Knows the dark side
Knows the dark side
Posts: 5270
Joined: 2015-12-09, 15:45
Contact:

Re: Welp, there goes VORAPIS.

Unread post by moonbat » 2024-10-04, 16:28

v3core wrote:
2024-10-04, 12:39
the upcoming turbolauncher (which will resolve current launcher issues and will finally offer auto-updates for everyone) will be released as WebExtension and XPI extension, that means pale moon can use it too
This is great news! It would be a big help if you publish your addon officially on the Pale Moon addons site. We can also have it marked as external if it will be updated from your own server.
"One hosts to look them up, one DNS to find them and in the darkness BIND them."

Image
KDE Neon on a Slimbook Excalibur (Ryzen 7 8845HS, 64 GB RAM)
AutoPageColor|PermissionsPlus|PMPlayer|Pure URL|RecordRewind|TextFX

Post Reply