- // ==UserScript==
- // @name Cqmbo Client for YT!
- // @namespace http://tampermonkey.net/
- // @version 1.1
- // @description Anti - Adblocker Removal, Download Video, Auto Like & More!
- // @author Cqmbo__
- // @match https://www.youtube.com/*
- // @icon https://yt3.googleusercontent.com/ofXbHpiwGc4bYnwwljjZJo53E7JRODr-SG32NPV1W6QiUnGUtVAYDwTP2NMz2pUPGnt99Juh5w=s160-c-k-c0x00ffffff-no-rj
- // @grant none
- // @license MIT
- // ==/UserScript==
-
- (function() {
- 'use strict';
-
-
- var removalInterval;
- var isRemoving = false;
- var removeAdsInterval
- var isRemovingAds = false;
- var autoLikeInterval;
- var isAutoLiking = false;
- var autoDislikeInterval;
- var isAutoDisliking = false;
- var repeatVideoInterval;
- var isRepeating = false;
- var autoSubscribeInterval;
- var isAutoSubscribing = false;
- var ishidden = false;
-
- function toggleelements(){
- const elements = [
- 'download-button',
- 'screenshot-button',
- 'thumbnail-button',
- 'repeat-button',
- 'youtubelabel',
- 'youtubeinput',
- 'auto-subscribe-button',
- 'colored-ui-button',
- 'auto-dislike-button',
- 'auto-like-button',
- 'removeads-button',
- 'removal-button',
- ];
-
- elements.forEach(id => {
- const toggleableelement = document.getElementById(id);
- if (toggleableelement) {
- toggleableelement.style.display = toggleableelement.style.display === 'none' ? 'block' : 'none';
- }
- });
- }
-
-
- var toggleelementbutton = document.createElement('button');
- toggleelementbutton.id = 'toggle-element-button';
- toggleelementbutton.textContent = 'Hide Menu';
- toggleelementbutton.style.position = 'fixed';
- toggleelementbutton.style.top = '520px';
- toggleelementbutton.style.right = '10px';
- toggleelementbutton.style.zIndex = '10000';
- toggleelementbutton.title = 'Toggle Menu/Functions';
-
- toggleelementbutton.addEventListener('click', function() {
- if (!ishidden) {
- toggleelementbutton.textContent = 'Show Menu';
- toggleelements();
- ishidden = true;
- } else {
- toggleelementbutton.textContent = 'Hide Menu';
- toggleelements();
- ishidden = false;
- }
- });
-
- document.body.appendChild(toggleelementbutton);
-
-
- function startRemovingElement() {
- removalInterval = setInterval(function() {
- var element1 = document.querySelector('.style-scope.yt-playability-error-supported-renderers');
- if (element1) {
- element1.remove();
- }
- }, 100);
- isRemoving = true;
- }
-
- function stopRemovingElement() {
- clearInterval(removalInterval);
- isRemoving = false;
- }
-
- var removalButton = document.createElement('button');
- removalButton.id = 'removal-button';
- removalButton.textContent = 'Remove Anti-Adblocker (Disabled)';
- removalButton.style.position = 'fixed';
- removalButton.style.top = '160px';
- removalButton.style.right = '10px';
- removalButton.style.zIndex = '10000';
- removalButton.title = 'Remove Anti-Adblocker';
-
- removalButton.addEventListener('click', function() {
- if (!isRemoving) {
- removalButton.textContent = 'Remove Anti-Adblocker (Enabled)';
- startRemovingElement();
- } else {
- removalButton.textContent = 'Remove Anti-Adblocker (Disabled)';
- stopRemovingElement();
- }
- });
-
- document.body.appendChild(removalButton);
-
- var autoLikeButton = document.createElement('button');
- autoLikeButton.id = 'auto-like-button';
- autoLikeButton.textContent = 'Auto Like (Disabled)';
- autoLikeButton.style.position = 'fixed';
- autoLikeButton.style.top = '410px';
- autoLikeButton.style.right = '10px';
- autoLikeButton.style.zIndex = '10000';
- autoLikeButton.title = 'Automatically like video every 10 seconds';
-
- autoLikeButton.addEventListener('click', function() {
- if (!isAutoLiking) {
- autoLikeButton.textContent = 'Auto Like (Enabled)';
- startAutoLiking();
- } else {
- autoLikeButton.textContent = 'Auto Like (Disabled)';
- stopAutoLiking();
- }
- });
-
- document.body.appendChild(autoLikeButton);
-
- function startAutoLiking() {
- clickLikeButton(); // Click immediately when enabled
- autoLikeInterval = setInterval(clickLikeButton, 10000);
- isAutoLiking = true;
- }
-
- function stopAutoLiking() {
- clearInterval(autoLikeInterval);
- isAutoLiking = false;
- }
-
-
- function clickLikeButton() {
- var dislikeButton = document.querySelector('.yt-spec-button-shape-next.yt-spec-button-shape-next--tonal.yt-spec-button-shape-next--mono.yt-spec-button-shape-next--size-m.yt-spec-button-shape-next--icon-button.yt-spec-button-shape-next--segmented-end');
- var likeButton = document.querySelector('.yt-spec-button-shape-next.yt-spec-button-shape-next--tonal.yt-spec-button-shape-next--mono.yt-spec-button-shape-next--size-m.yt-spec-button-shape-next--icon-leading.yt-spec-button-shape-next--segmented-start');
- if (likeButton && likeButton.getAttribute('aria-pressed') === 'false' && !isAutoDisliking && dislikeButton && dislikeButton.getAttribute('aria-pressed') === 'false') {
- likeButton.click();
- }
- var ShortsdislikeButton = document.querySelector('[aria-label="Dislike this video"]');
- var ShortslikeButton = document.querySelector('.yt-spec-button-shape-next.yt-spec-button-shape-next--tonal.yt-spec-button-shape-next--mono.yt-spec-button-shape-next--size-l.yt-spec-button-shape-next--icon-button');
- var DislikeButtonConfirmer = document.querySelector('.yt-spec-button-shape-next.yt-spec-button-shape-next--filled.yt-spec-button-shape-next--mono.yt-spec-button-shape-next--size-l.yt-spec-button-shape-next--icon-button');
- if (ShortslikeButton && ShortslikeButton.getAttribute('aria-pressed') === 'false' && !isAutoDisliking && ShortsdislikeButton && !DislikeButtonConfirmer) {
- ShortslikeButton.click();
- }
- }
-
- var autoDislikeButton = document.createElement('button');
- autoDislikeButton.id = 'auto-dislike-button';
- autoDislikeButton.textContent = 'Auto Dislike (Disabled)';
- autoDislikeButton.style.position = 'fixed';
- autoDislikeButton.style.top = '500px';
- autoDislikeButton.style.right = '10px';
- autoDislikeButton.style.zIndex = '10000';
- autoDislikeButton.title = 'Automatically dislike video every 10 seconds';
-
- autoDislikeButton.addEventListener('click', function() {
- if (!isAutoDisliking) {
- autoDislikeButton.textContent = 'Auto Dislike (Enabled)';
- startAutoDisliking();
- } else {
- autoDislikeButton.textContent = 'Auto Dislike (Disabled)';
- stopAutoDisliking();
- }
- });
-
- document.body.appendChild(autoDislikeButton);
-
- function startAutoDisliking() {
- clickDislikeButton(); // Click immediately when enabled
- autoDislikeInterval = setInterval(clickDislikeButton, 10000);
- isAutoDisliking = true;
- }
-
- function stopAutoDisliking() {
- clearInterval(autoDislikeInterval);
- isAutoDisliking = false;
- }
-
- function clickDislikeButton() {
- var dislikeButton = document.querySelector('.yt-spec-button-shape-next.yt-spec-button-shape-next--tonal.yt-spec-button-shape-next--mono.yt-spec-button-shape-next--size-m.yt-spec-button-shape-next--icon-button.yt-spec-button-shape-next--segmented-end');
- var likeButton = document.querySelector('.yt-spec-button-shape-next.yt-spec-button-shape-next--tonal.yt-spec-button-shape-next--mono.yt-spec-button-shape-next--size-m.yt-spec-button-shape-next--icon-leading.yt-spec-button-shape-next--segmented-start');
- if (dislikeButton && dislikeButton.getAttribute('aria-pressed') === 'false' && !isAutoLiking && likeButton && likeButton.getAttribute('aria-pressed') === 'false') {
- dislikeButton.click();
- }
- var ShortsdislikeButton = document.querySelector('[aria-label="Dislike this video"]');
- var ShortslikeButton = document.querySelector('.yt-spec-button-shape-next.yt-spec-button-shape-next--tonal.yt-spec-button-shape-next--mono.yt-spec-button-shape-next--size-l.yt-spec-button-shape-next--icon-button');
- var DislikeButtonConfirmer = document.querySelector('.yt-spec-button-shape-next.yt-spec-button-shape-next--filled.yt-spec-button-shape-next--mono.yt-spec-button-shape-next--size-l.yt-spec-button-shape-next--icon-button');
- if (ShortsdislikeButton && !isAutoLiking && ShortslikeButton && ShortslikeButton.getAttribute('aria-pressed') === 'false' && !DislikeButtonConfirmer) {
- ShortsdislikeButton.click();
- }
- }
-
- var validButtons = true;
- // Create the screenshot button
- const screenshotButton = document.createElement('button');
- screenshotButton.id = 'screenshot-button';
- screenshotButton.title = 'Screenshot Video at Current Timestamp';
- screenshotButton.style.position = 'fixed';
- screenshotButton.style.top = '210px';
- screenshotButton.style.right = '10px';
- screenshotButton.style.zIndex = '10000';
- screenshotButton.style.backgroundColor = '#4caf50';
- screenshotButton.style.color = 'white';
-
- // Create and append the screenshot icon
- const screenshotIcon = document.createElement('img');
- screenshotIcon.src = 'https://static-00.iconduck.com/assets.00/screenshot-icon-512x512-hmhvvh50.png';
- screenshotIcon.alt = 'Screenshot';
- screenshotIcon.style.width = '24px';
- screenshotIcon.style.height = '24px';
- screenshotButton.appendChild(screenshotIcon);
-
- // Create the thumbnail button
- const thumbnailButton = document.createElement('button');
- thumbnailButton.id = 'thumbnail-button';
- thumbnailButton.title = 'Download Video Thumbnail';
- thumbnailButton.style.position = 'fixed';
- thumbnailButton.style.top = '255px';
- thumbnailButton.style.right = '10px';
- thumbnailButton.style.zIndex = '10000';
- thumbnailButton.style.backgroundColor = '#ff5722';
- thumbnailButton.style.color = 'white';
-
- // Create and append the thumbnail icon
- const thumbnailIcon = document.createElement('img');
- thumbnailIcon.src = 'https://th.bing.com/th/id/R.5d0756cfcc115698fa5571019979269b?rik=CyyaHNz7YvDWyQ&pid=ImgRaw&r=0';
- thumbnailIcon.alt = 'Thumbnail';
- thumbnailIcon.style.width = '24px';
- thumbnailIcon.style.height = '24px';
- thumbnailButton.appendChild(thumbnailIcon);
-
- // Create the download button
- const downloadButton = document.createElement('button');
- downloadButton.id = 'download-button';
- downloadButton.title = 'Download Video';
- downloadButton.style.position = 'fixed';
- downloadButton.style.top = '300px';
- downloadButton.style.right = '10px';
- downloadButton.style.zIndex = '10000';
- downloadButton.style.backgroundColor = '#2196F3';
- downloadButton.style.color = 'white';
-
- // Create and append the download icon
- const downloadIcon = document.createElement('img');
- downloadIcon.src = 'https://th.bing.com/th/id/OIP.tdSxNLAn5NVt39tvjk9tIAHaHa?w=159&h=180&c=7&r=0&o=5&pid=1.7';
- downloadIcon.alt = 'Download';
- downloadIcon.style.width = '24px';
- downloadIcon.style.height = '24px';
- downloadButton.appendChild(downloadIcon);
-
-
- // Create the speed button
- const speedButton = document.createElement('button');
- speedButton.id = 'speed-button';
- speedButton.title = 'Modify Speed of Video';
- speedButton.style.position = 'fixed';
- speedButton.style.top = '345px';
- speedButton.style.right = '10px';
- speedButton.style.zIndex = '10000';
- speedButton.style.backgroundColor = '#ffff00';
- speedButton.style.color = 'white';
-
- // Create and append the speed icon
- const speedIcon = document.createElement('img');
- speedIcon.src = 'https://th.bing.com/th/id/OIP.FqXL96sm01sDe4pfJAl0cwHaHa?w=180&h=180&c=7&r=0&o=5&pid=1.7';
- speedIcon.alt = 'Speed';
- speedIcon.style.width = '24px';
- speedIcon.style.height = '24px';
- speedButton.appendChild(speedIcon);
-
-
- function renderizarContenido() {
- if (validButtons) {
- validButtons = false;
- // Append the buttons to the body
- document.body.appendChild(screenshotButton);
- document.body.appendChild(thumbnailButton);
- document.body.appendChild(speedButton);
- document.body.appendChild(downloadButton);
-
- // Attach event listeners for buttons
- attachButtonListeners();
- }
- }
-
- function attachButtonListeners() {
- const screenShotButton = document.getElementById('screenshot-button');
- if (screenShotButton) {
- screenShotButton.onclick = () => {
- const video = document.querySelector('video');
- const canvas = document.createElement('canvas');
- canvas.width = video.videoWidth;
- canvas.height = video.videoHeight;
- const context = canvas.getContext('2d');
- context.drawImage(video, 0, 0, canvas.width, canvas.height);
- const imagenURL = canvas.toDataURL('image/png');
- const linkDownload = document.createElement('a');
- linkDownload.href = imagenURL;
- const titleVideo = document.querySelector('h1.style-scope.ytd-watch-metadata').innerText;
- linkDownload.download = `${video.currentTime.toFixed(0)}s_${titleVideo}.png`;
- linkDownload.click();
- };
- }
-
- const downloadButton = document.getElementById('download-button');
- if (downloadButton) {
- downloadButton.onclick = () => {
- let currentUrl = window.location.href;
-
- // Check if the URL contains 'shorts/' and replace it with 'watch?v='
- if (currentUrl.includes('/shorts/')) {
- currentUrl = currentUrl.replace('/shorts/', '/watch?v=');
- }
-
- const CutURL = new URLSearchParams(new URL(currentUrl).search);
- let enlace = CutURL.get('v');
-
- if (enlace) {
- window.open(
- `https://www.y2mate.com/en/convert-youtube/${enlace}`,
- 'popUpWindow',
- 'height=800,width=1000,left=50%,top=100,resizable=no,scrollbars=yes,toolbar=no,menubar=yes,location=no,directories=yes,status=no'
- );
- } else {
- alert('No video ID found in the URL.');
- }
- };
- }
-
- const thumbnailButton = document.getElementById('thumbnail-button');
- if (thumbnailButton) {
- thumbnailButton.onclick = () => {
- let currentUrl = window.location.href;
-
- // Check if the URL contains 'shorts/' and replace it with 'watch?v='
- if (currentUrl.includes('/shorts/')) {
- currentUrl = currentUrl.replace('/shorts/', '/watch?v=');
- }
-
- const CutURL = new URLSearchParams(new URL(currentUrl).search);
- let enlace = CutURL.get('v');
-
- if (enlace) {
- const maxResImageUrl = `https://i1.ytimg.com/vi/${enlace}/maxresdefault.jpg`;
- const highQualityImageUrl = `https://i1.ytimg.com/vi/${enlace}/hqdefault.jpg`;
-
- fetchImage(maxResImageUrl)
- .catch(() => fetchImage(highQualityImageUrl))
- .catch((error) => {
- alert('No image found');
- console.error('Error getting image:', error);
- });
- }
- };
- }
- var ans = '';
- const speedbutton = document.getElementById('speed-button');
- speedbutton.onclick = () => {
- ans = prompt('How much do you want to in/decrease the speed of your video? 1 is default.');
- document.getElementsByTagName('video')[0].playbackRate = Number(ans);
- }
- }
-
- function fetchImage(imageUrl) {
- return fetch(imageUrl)
- .then((response) => {
- if (!response.ok) {
- throw new Error(`HTTP error! Status: ${response.status}`);
- }
- return response.blob();
- })
- .then((blob) => {
- const imageSizeKB = blob.size / 1024;
-
- if (imageSizeKB >= 20) {
- window.open(
- imageUrl,
- 'popUpWindow',
- 'height=500,width=400,left=100,top=100,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no,status=yes'
- );
-
- const imageUrlObject = URL.createObjectURL(blob);
- const linkDownload = document.createElement('a');
- linkDownload.href = imageUrlObject;
- const titleVideo = document.querySelector('h1.style-scope.ytd-watch-metadata').innerText;
- linkDownload.download = `thumbnail_${titleVideo}.jpg`;
- linkDownload.click();
- } else {
- alert('No image found');
- throw new Error('No image found');
- }
- });
- }
-
-
-
-
- function observeDOM() {
- const observer = new MutationObserver(mutations => {
- mutations.forEach(mutation => {
- if (mutation.type === 'childList' && mutation.addedNodes.length) {
- renderizarContenido();
- }
- });
- });
-
- observer.observe(document.body, { childList: true, subtree: true });
- }
-
- observeDOM();
-
- var coloredElements = ['video-title', 'style-scope ytd-watch-metadata'];
- var whiteElements = ['primary'];
-
- const rainbowColors = ['#ff0000', '#ff7f00', '#ffff00', '#00ff00', '#0000ff', '#4b0082', '#9400d3'];
-
- let currentColor = 'black'; // Default color
- let savedCustomColor = 'black'; // Save custom color to restore it later
- let isCustomColorEnabled = false;
- let isRainbowEnabled = false;
- let isColoredUIEnabled = false;
- let rainbowFlashInterval;
-
- function toggleColoredUI() {
- const button = document.getElementById('colored-ui-button');
- if (!isColoredUIEnabled) {
- isColoredUIEnabled = true;
- button.textContent = 'Colored UI (Enabled)';
- createColoredUIDropdown();
- if (isCustomColorEnabled) {
- applyCustomColor(savedCustomColor);
- } else if (isRainbowEnabled) {
- startRainbowFlash();
- } else {
- applyCustomColor(currentColor);
- }
- } else {
- isColoredUIEnabled = false;
- button.textContent = 'Colored UI (Disabled)';
- removeColoredUIDropdown();
- applyCustomColor('black');
- stopRainbowFlash();
- }
- }
-
- function createColoredUIDropdown() {
- const dropdown = document.createElement('div');
- dropdown.id = 'colored-ui-dropdown';
- dropdown.style.position = 'fixed';
- dropdown.style.top = '360px';
- dropdown.style.right = '10px';
- dropdown.style.zIndex = '10000';
-
- const label = document.createElement('div');
- label.textContent = 'Select Color:';
- dropdown.appendChild(label);
-
- const defaultOption = createOptionElement('Black (Default)', 'black');
- const customOption = createOptionElement('Custom Color', 'custom');
- const rainbowOption = createOptionElement('Rainbow Flash', 'rainbow');
- const dropdownMenu = document.createElement('select');
- dropdownMenu.id = 'colored-ui-dropdown-menu';
- dropdownMenu.appendChild(defaultOption);
- dropdownMenu.appendChild(customOption);
- dropdownMenu.appendChild(rainbowOption);
- dropdown.appendChild(dropdownMenu);
-
- if (isCustomColorEnabled) {
- dropdownMenu.value = 'custom';
- } else if (isRainbowEnabled) {
- dropdownMenu.value = 'rainbow';
- } else {
- dropdownMenu.value = currentColor;
- }
-
- dropdownMenu.addEventListener('change', function() {
- const selectedColor = this.value;
- if (selectedColor === 'custom') {
- isCustomColorEnabled = true;
- stopRainbowFlash();
- openCustomColorPicker();
- } else if (selectedColor === 'rainbow') {
- isRainbowEnabled = true;
- isCustomColorEnabled = false;
- startRainbowFlash();
- } else {
- isCustomColorEnabled = false;
- stopRainbowFlash();
- applyCustomColor(selectedColor);
- }
- });
-
- document.body.appendChild(dropdown);
- }
-
- function removeColoredUIDropdown() {
- const dropdown = document.getElementById('colored-ui-dropdown');
- if (dropdown) {
- dropdown.remove();
- }
- }
-
- function createOptionElement(text, value) {
- const option = document.createElement('option');
- option.text = text;
- option.value = value;
- return option;
- }
-
- function openCustomColorPicker() {
- if (document.getElementById('custom-color-picker')) {
- return;
- }
-
- const customColorPicker = document.createElement('input');
- customColorPicker.type = 'color';
- customColorPicker.id = 'custom-color-picker';
- customColorPicker.style.position = 'fixed';
- customColorPicker.style.top = '395px';
- customColorPicker.style.right = '10px';
- customColorPicker.style.zIndex = '10000';
-
- customColorPicker.addEventListener('input', function() {
- const selectedColor = this.value;
- currentColor = selectedColor;
- savedCustomColor = selectedColor;
- applyCustomColor(selectedColor);
- });
-
- document.body.appendChild(customColorPicker);
- }
-
- function applyCustomColor(color) {
- coloredElements.forEach(elementId => {
- const elements = document.getElementsByClassName(elementId);
- for (let element of elements) {
- element.style.color = color;
- }
- });
-
- whiteElements.forEach(elementId => {
- const elements = document.getElementsByClassName(elementId);
- for (let element of elements) {
- element.style.color = (isColoredUIEnabled && (isCustomColorEnabled || isRainbowEnabled)) ? color : 'white';
- }
- });
-
- currentColor = color;
- }
-
- function startRainbowFlash() {
- if (rainbowFlashInterval) {
- clearInterval(rainbowFlashInterval);
- }
- let currentIndex = 0;
-
- rainbowFlashInterval = setInterval(() => {
- const currentColor = rainbowColors[currentIndex];
- applyCustomColor(currentColor);
- currentIndex = (currentIndex + 1) % rainbowColors.length;
- }, 500);
- }
-
- function stopRainbowFlash() {
- clearInterval(rainbowFlashInterval);
- isRainbowEnabled = false;
- if (!isColoredUIEnabled) {
- applyCustomColor('black');
- } else if (isCustomColorEnabled) {
- applyCustomColor(savedCustomColor);
- } else {
- applyCustomColor(currentColor);
- }
- }
-
- function toggleElement() {
- const elementToToggle = [
- 'custom-color-picker'
- ];
-
- elementToToggle.forEach(id => {
- const element = document.getElementById(id);
- if (element) {
- element.style.display = element.style.display === 'none' ? 'block' : 'none';
- }
- });
- }
-
- function createColoredUIButton() {
- if (document.getElementById('colored-ui-button')) {
- return;
- }
-
- const button = document.createElement('button');
- button.id = 'colored-ui-button';
- button.textContent = 'Colored UI (Disabled)';
- button.style.position = 'fixed';
- button.style.top = '480px';
- button.style.right = '10px';
- button.title = 'Color Selected Elements';
- button.style.zIndex = '10000';
-
- button.addEventListener('click', toggleElement);
- button.addEventListener('click', toggleColoredUI);
-
- document.body.appendChild(button);
- }
-
- createColoredUIButton();
-
- // New background function
- function createBackgroundFunctionality() {
- const youtubeLabel = document.createElement('label');
- youtubeLabel.textContent = 'Background Image:';
- youtubeLabel.style.position = 'fixed';
- youtubeLabel.style.top = '430px';
- youtubeLabel.style.right = '10px';
- youtubeLabel.style.zIndex = '10000';
- youtubeLabel.id = 'youtubelabel';
- youtubeLabel.style.color = 'red';
-
- const youtubeInput = document.createElement('input');
- youtubeInput.type = 'text';
- youtubeInput.placeholder = 'Paste image URL here...';
- youtubeInput.style.position = 'fixed';
- youtubeInput.style.top = '460px';
- youtubeInput.style.right = '10px';
- youtubeInput.style.zIndex = '10000';
- youtubeInput.id = 'youtubeinput';
-
- youtubeInput.addEventListener('keydown', function(event) {
- if (event.key === 'Enter') {
- const url = youtubeInput.value;
- console.log('URL Entered:', url); // Debugging line
- if (url) {
- setBackground(url);
- } else {
- clearBackground();
- }
- }
- });
-
- document.body.appendChild(youtubeLabel);
- document.body.appendChild(youtubeInput);
- }
-
- function setBackground(url) {
- const primaryInner = document.getElementById('primary-inner');
- console.log('Setting background for primary-inner with URL:', url); // Debugging line
- if (primaryInner) {
- primaryInner.style.backgroundImage = `url(${url})`;
- primaryInner.style.backgroundSize = 'cover';
- primaryInner.style.backgroundPosition = 'center';
- }
- }
-
- function clearBackground() {
- const primaryInner = document.getElementById('primary-inner');
- console.log('Clearing background for primary-inner'); // Debugging line
- if (primaryInner) {
- primaryInner.style.backgroundImage = '';
- }
- }
-
- createBackgroundFunctionality();
-
- var autoSubscribeButton = document.createElement('button');
- autoSubscribeButton.id = 'auto-subscribe-button';
- autoSubscribeButton.textContent = 'Auto Subscribe (Disabled)';
- autoSubscribeButton.style.position = 'fixed';
- autoSubscribeButton.style.top = '120px';
- autoSubscribeButton.style.right = '10px';
- autoSubscribeButton.style.zIndex = '10000';
- autoSubscribeButton.title = 'Automatically subscribe to channels';
-
- autoSubscribeButton.addEventListener('click', function() {
- if (!isAutoSubscribing) {
- autoSubscribeButton.textContent = 'Auto Subscribe (Enabled)';
- startAutoSubscribing();
- } else {
- autoSubscribeButton.textContent = 'Auto Subscribe (Disabled)';
- stopAutoSubscribing();
- }
- });
-
- document.body.appendChild(autoSubscribeButton);
-
- function startAutoSubscribing() {
- clickSubscribeButton(); // Click immediately when enabled
- autoSubscribeInterval = setInterval(clickSubscribeButton, 10000);
- isAutoSubscribing = true;
- }
-
- function stopAutoSubscribing() {
- clearInterval(autoSubscribeInterval);
- isAutoSubscribing = false;
- }
-
- function clickSubscribeButton() {
- var subscribeButton = document.querySelector('[aria-label^="Subscribe to"]');
- if (subscribeButton && subscribeButton.textContent.includes('Subscribe')) {
- subscribeButton.click();
- }
- }
-
-
- })();