theYNC.com Underground bypass

Watch theYNC Underground videos without needing an account

目前为 2024-12-10 提交的版本。查看 最新版本

// ==UserScript==
// @name        theYNC.com Underground bypass
// @description Watch theYNC Underground videos without needing an account
// @namespace   Violentmonkey Scripts
// @match       https://theync.com/*
// @match       https://theync.net/*
// @match       https://theync.org/*
// @grant       none
// @version     1.2
// @license MIT
// @author      -
// ==/UserScript==
function getTheYNCVideoURL(url) {
    for (const [, group_url] of url.matchAll(
        /https:\/\/theync.com\/media\/thumbs\/(.*?)\.[a-zA-Z0-9_.-]*/gm
    )) {
        return `https://media.theync.com/videos/${group_url}.mp4`;
    }
}
function waitForElm(selector) {
    return new Promise((resolve) => {
        if (document.querySelector(selector)) {
            return resolve(document.querySelector(selector));
        }

        const observer = new MutationObserver((mutations) => {
            if (document.querySelector(selector)) {
                observer.disconnect();
                resolve(document.querySelector(selector));
            }
        });

        // If you get "parameter 1 is not of type 'Node'" error, see https://stackoverflow.com/a/77855838/492336
        observer.observe(document.body, {
            childList: true,
            subtree: true,
        });
    });
}

waitForElm(".content-block").then((contentBlock) =>
    contentBlock
        .querySelectorAll(".inner-block > a:has(>.item-info>.border-gold)")
        .forEach((element) => {
            const thumbnailURL = element.querySelector(".image > img").src;
            if (thumbnailURL) {
                const videoURL = getTheYNCVideoURL(thumbnailURL);
                if (videoURL) {
                    element.href = getTheYNCVideoURL(thumbnailURL);
                }
            }
        })
);
waitForElm(".content-block").then((contentBlock) => {
    contentBlock
        .querySelectorAll(".upgrade-profile > .upgrade-info-block")
        .forEach((element) => {
            const thumbnailURL = element.querySelector(".image-block > .image > img").src;
            if (thumbnailURL) {
                const videoURL = getTheYNCVideoURL(thumbnailURL);
                if (videoURL) {
                    location.href = videoURL;
                }
            }
        })
    contentBlock
        .querySelectorAll(".inner-block > a:has(>.item-info>.border-gold)")
        .forEach((element) => {
            const thumbnailURL = element.querySelector(".image > img").src;
            if (thumbnailURL) {
                const videoURL = getTheYNCVideoURL(thumbnailURL);
                if (videoURL) {
                    element.href = getTheYNCVideoURL(thumbnailURL);
                }
            }
        })
}

);

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址