您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Automates solving Cloudflare challenges
当前为
- // ==UserScript==
- // @name CloudFlare Challenge Optimized
- // @version 0.1
- // @author AstralRift
- // @description Automates solving Cloudflare challenges
- // @namespace https://greasyfork.org/users/1300060
- // @match https://challenges.cloudflare.com/*
- // @grant none
- // @license MIT
- // ==/UserScript==
- (function() {
- 'use strict';
- function attemptChallenge() {
- const stageSpan = document.querySelector("#cf-stage > div.ctp-checkbox-container > label > span");
- if (stageSpan) {
- stageSpan.click();
- return true;
- }
- const verifyButton = document.querySelector("input[value='Verify you are human']");
- if (verifyButton) {
- verifyButton.click();
- return true;
- }
- const checkboxLabel = document.querySelector('.ctp-checkbox-label');
- if (checkboxLabel) {
- checkboxLabel.click();
- return true;
- }
- return false;
- }
- let challengeSolved = attemptChallenge();
- if (!challengeSolved) {
- const observer = new MutationObserver(() => {
- if (attemptChallenge()) {
- observer.disconnect();
- }
- });
- observer.observe(document.body, { childList: true, subtree: true });
- const intervalId = setInterval(() => {
- if (attemptChallenge()) {
- clearInterval(intervalId);
- }
- }, 2000);
- setTimeout(() => {
- clearInterval(intervalId);
- observer.disconnect();
- }, 60000);
- }
- })();