mirror of
https://github.com/SinTan1729/userscripts.git
synced 2025-02-05 14:12:32 -06:00
feat: Added support for channel links
This commit is contained in:
parent
c011766cdc
commit
b4d9207ff4
1 changed files with 37 additions and 21 deletions
|
@ -1,7 +1,7 @@
|
||||||
// ==UserScript==
|
// ==UserScript==
|
||||||
// @name YouTube2Piped
|
// @name YouTube2Piped
|
||||||
// @namespace YouTube
|
// @namespace YouTube
|
||||||
// @version 1.2.1
|
// @version 1.3.0
|
||||||
// @description Redirect YouTube to chosen Piped instance
|
// @description Redirect YouTube to chosen Piped instance
|
||||||
// @author SinTan
|
// @author SinTan
|
||||||
// @match *://*.youtube.com/*
|
// @match *://*.youtube.com/*
|
||||||
|
@ -15,27 +15,43 @@
|
||||||
(function () {
|
(function () {
|
||||||
"use strict";
|
"use strict";
|
||||||
// Edit instance url here to go to any instance of choice
|
// Edit instance url here to go to any instance of choice
|
||||||
const instance = "https://piped.video"
|
const instance = "https://piped.video";
|
||||||
|
|
||||||
const url = new URL(window.location.href.replace('/shorts/','/watch?v='));
|
const url = new URL(window.location.href.replace('/shorts/','/watch?v='));
|
||||||
|
let url_new = null;
|
||||||
|
|
||||||
let id = url.searchParams.get('v');
|
let id = url.searchParams.get('v');
|
||||||
let ts = url.searchParams.get('t');
|
let ts = url.searchParams.get('t');
|
||||||
|
let listId = url.searchParams.get('list');
|
||||||
|
|
||||||
|
|
||||||
if (id) {
|
if (id) {
|
||||||
let url_new = instance + '/watch?v=' + id;
|
url_new = instance + '/watch?v=' + id;
|
||||||
if (ts) {
|
if (ts) {
|
||||||
url_new = url_new + '&t=' + ts;
|
url_new += '&t=' + ts;
|
||||||
|
}
|
||||||
|
if (listId) {
|
||||||
|
url_new += '&list=' + listId;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
window.location.replace(url_new);
|
|
||||||
} else {
|
|
||||||
|
|
||||||
|
if (!(url_new)) {
|
||||||
|
if (listId) {
|
||||||
|
url_new = instance + '/playlist?list=' + listId;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!(url_new)) {
|
||||||
let pattern = /https:\/\/www\.youtube\.com\/((?:(?:channel\/)|\@)[A-Za-z0-9\_\-]+).*/;
|
let pattern = /https:\/\/www\.youtube\.com\/((?:(?:channel\/)|\@)[A-Za-z0-9\_\-]+).*/;
|
||||||
let channelId = pattern.exec(url)[1];
|
let channelAddr = pattern.exec(url)[1];
|
||||||
|
|
||||||
if (channelId) {
|
if (channelAddr) {
|
||||||
let url_new = instance + '/' + channelId;
|
url_new = instance + '/' + channelAddr;
|
||||||
window.location.replace(url_new);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (url_new) {
|
||||||
|
window.location.replace(url_new);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
)();
|
)();
|
Loading…
Reference in a new issue