OceanHero Requester

Send repeated requests to OceanHero in a controlled way.

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         OceanHero Requester
// @namespace    http://greasyfork.org/
// @version      1.0
// @description  Send repeated requests to OceanHero in a controlled way.
// @author       Taeyang
// @match        https://oceanhero.today/*
// @grant        none
// @license      MIT
// ==/UserScript==

(function () {
    'use strict';

    // Settings
    const targetUrl = "https://oceanhero.today/web?q=test"; // URL to send requests
    const requestInterval = 1000; // Time between requests in milliseconds (e.g., 1000ms = 1 second)
    const maxThreads = 5; // Number of concurrent requests (equivalent to Python threads)

    // Counter for the number of requests sent
    let totalRequests = 0;

    // Function to perform the fetch request
    async function sendRequest(threadName) {
        try {
            const response = await fetch(targetUrl, {
                method: "GET",
                credentials: "include", // Include cookies automatically if logged in
            });

            if (response.ok) {
                totalRequests++;
                console.log(`<${threadName}> Request #${totalRequests}: Success`);
            } else {
                console.warn(`<${threadName}> Request failed with status: ${response.status}`);
            }
        } catch (error) {
            console.error(`<${threadName}> Error: ${error}`);
        }
    }

    // Function to start threads (concurrent requests)
    function startThreads() {
        for (let i = 1; i <= maxThreads; i++) {
            const threadName = `Thread${i}`;
            setInterval(() => sendRequest(threadName), requestInterval); // Repeat requests in each thread
        }
    }

    // Start the script
    console.log("Starting OceanHero Requester script...");
    startThreads();
})();