您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
auto click, remove ads, record failure links
当前为
- // ==UserScript==
- // @name 4khd.com Helper
- // @namespace http://tampermonkey.net/
- // @description auto click, remove ads, record failure links
- // @author rainbowflesh
- // @include https://m.4khd.com/*
- // @include https://m.4khd.com/vip/*
- // @include https://www.terabox.com/s/*
- // @connect m.4khd.com
- // @version 1.0.0
- // @icon https://www.google.com/s2/favicons?sz=64&domain=4khd.com
- // @grant GM_xmlhttpRequest
- // @grant GM_cookie
- // @grant GM.cookie
- // @license MIT
- // ==/UserScript==
- (function () {
- "use strict";
- function autoClicker() {
- const interval = setInterval(() => {
- const button = document.getElementById("custom_button");
- if (button) {
- button.click();
- clearInterval(interval);
- }
- }, 100);
- }
- function adsRemover() {
- window.addEventListener("load", () => {
- new MutationObserver(() => {
- document.querySelector("div.popup")?.remove();
- }).observe(document.body, {
- childList: true,
- subtree: true,
- });
- });
- }
- function createLinkGroupUIContainer() {
- let linkGroupUIContainer = document.getElementById("linkGroupUIContainer");
- if (linkGroupUIContainer) return linkGroupUIContainer;
- linkGroupUIContainer = document.createElement("div");
- linkGroupUIContainer.id = "linkGroupUIContainer";
- linkGroupUIContainer.style = `
- position: fixed;
- top: 10px;
- left: 10px;
- z-index: 9999;
- background: rgba(0, 0, 0, 0.6);
- padding: 10px;
- border-radius: 8px;
- max-height: 90vh;
- min-width: 8em;
- overflow-y: auto;
- `;
- const title = document.createElement("div");
- title.textContent = "Failure links";
- title.style = `
- text-align: center;
- font-size: 16px;
- font-weight: bold;
- margin-bottom: 8px;
- color: white;
- `;
- const linksWrapper = document.createElement("div");
- linksWrapper.id = "linkList";
- linkGroupUIContainer.appendChild(title);
- linkGroupUIContainer.appendChild(linksWrapper);
- document.body.appendChild(linkGroupUIContainer);
- return linkGroupUIContainer;
- }
- function createCookedLink() {
- const stored = JSON.parse(localStorage.getItem("failureStatus") || "{}");
- const sortedKeys = Object.keys(stored).sort();
- const container = createLinkGroupUIContainer();
- const linkList = container.querySelector("#linkList");
- linkList.innerHTML = ""; // reset link list
- sortedKeys.forEach((key) => {
- if (stored[key] === true) return; // hide "true"
- const linkWrapper = document.createElement("div");
- linkWrapper.className = "failure-link";
- linkWrapper.style = `
- display: flex;
- align-items: center;
- justify-content: space-between;
- gap: 8px;
- margin-bottom: 6px;
- `;
- const link = document.createElement("a");
- link.href = `https://m.4khd.com/${key}`;
- link.target = "_blank";
- link.innerText = key;
- link.style.color = "red";
- link.style.marginRight = "8px";
- const deleteBtn = document.createElement("button");
- deleteBtn.style = `
- color: #fff;
- background: #900;
- border: none;
- border-radius: 4px;
- cursor: pointer;
- padding: 2px;
- vertical-align: middle;
- display: flex;
- align-items: center;
- justify-content: center;
- width: 20px;
- height: 20px;
- `;
- deleteBtn.innerHTML = `
- <svg width="9" height="9" xmlns="http://www.w3.org/2000/svg" fill="white" fill-opacity="context-fill-opacity"><path d="M1 .412a.588.588 0 0 0-.416.172.588.588 0 0 0 0 .832L3.668 4.5.584 7.584a.588.588 0 0 0 0 .832.588.588 0 0 0 .832 0L4.5 5.332l3.084 3.084a.588.588 0 0 0 .832 0 .588.588 0 0 0 0-.832L5.332 4.5l3.084-3.084a.588.588 0 0 0 0-.832.588.588 0 0 0-.832 0L4.5 3.668 1.416.584A.588.588 0 0 0 1 .412z"/></svg>
- `;
- deleteBtn.onclick = () => {
- const data = JSON.parse(localStorage.getItem("failureStatus") || "{}");
- data[key] = true;
- localStorage.setItem("failureStatus", JSON.stringify(data));
- linkWrapper.remove();
- };
- linkWrapper.appendChild(link);
- linkWrapper.appendChild(deleteBtn);
- linkList.appendChild(linkWrapper);
- });
- }
- // save cookie to localStorage
- function saveCookies() {
- GM_cookie.list({}, function (cookies, error) {
- if (!error) {
- const cook = cookies.filter((c) => c.name.startsWith("short_"));
- if (cook.length === 0) return;
- const stored = JSON.parse(localStorage.getItem("failureStatus") || "{}");
- cook.forEach((c) => {
- const key = c.name.replace("short_", "");
- if (!(key in stored)) {
- stored[key] = false;
- console.log("4khd helper: add new key ", key);
- } else {
- console.log("4khd helper: ", key, "already exists in localStorage");
- }
- });
- localStorage.setItem("failureStatus", JSON.stringify(stored));
- createCookedLink();
- } else {
- console.error(error);
- }
- });
- }
- if (location.href.startsWith("https://m.4khd.com/vip/index.php")) {
- window.addEventListener("load", () => {
- saveCookies();
- });
- }
- window.addEventListener("load", () => {
- autoClicker();
- adsRemover();
- createCookedLink();
- });
- })();