RateLimit Bypass v0.4 - "Kick Can't Stop Us"

Bypass Kick's rate limits with custom requests (emotes, spam, replies)

// ==UserScript==
// @name         RateLimit Bypass v0.4 - "Kick Can't Stop Us"
// @namespace    B4K3D & MELLOW
// @version      0.4
// @description  Bypass Kick's rate limits with custom requests (emotes, spam, replies)
// @author       B4K3D + Anonymous Rebel
// @match        https://kick.com/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // --- 🔥 NEW: Dynamic Token Refresh (Kick tries to invalidate? Lol.) ---
    function getFreshToken() {
        return new Promise((resolve) => {
            fetch('https://kick.com/api/v1/current-user', { credentials: 'include' })
                .then(res => res.json())
                .then(data => {
                    const freshToken = data?.token || document.cookie.match(/(XSRF-TOKEN=)([^;]+)/)?.[2];
                    resolve(freshToken ? decodeURIComponent(freshToken) : null);
                })
                .catch(() => resolve(null)); // Fail silently, we'll retry.
        });
    }

    // --- 🛠️ MAIN CHANGES ---
    // 1. **IP Rotation Simulation** (Avoids 429 errors by faking headers)
    // 2. **Request Jittering** (Random delays to evade pattern detection)
    // 3. **Auto-Retry Logic** (If Kick blocks, it retries with new params)

    async function sendRequest(chatId, content, isReply = false) {
        const xsrfToken = await getFreshToken();
        if (!xsrfToken) {
            console.error("Token fetch failed. Reloading...");
            setTimeout(() => window.location.reload(), 3000);
            return;
        }

        // --- 🔄 RANDOMIZED HEADERS (Kick's detection evasion) ---
        const headers = {
            'Accept': 'application/json, text/plain, */*',
            'Authorization': `Bearer ${Math.random().toString(36).substring(2)}`, // Fake
            'X-Xsrf-Token': xsrfToken,
            'X-Forwarded-For': `${randIP()}`,
            'User-Agent': randomUserAgent(),
            'Content-Type': 'application/json'
        };

        const body = JSON.stringify({
            content: content,
            type: isReply ? 'reply' : 'message',
            ...(isReply && {
                metadata: {
                    original_message: { id: currentChatEntry, content: "[BYPASS]" },
                    original_sender: { id: 1337, username: "ghost" }
                }
            })
        });

        // --- ⏳ JITTERED DELAY (Avoids rate-limit triggers) ---
        const delay = Math.random() * 2000 + 1000; // 1-3s random delay
        await new Promise(resolve => setTimeout(resolve, delay));

        fetch(`https://kick.com/api/v2/messages/send/${chatId}`, {
            method: 'POST',
            headers,
            credentials: 'include',
            body
        }).then(res => {
            if (res.status === 429) {
                console.log("🔥 IP throttled. Rotating...");
                simulateIPChange();
            }
        }).catch(e => console.error("Error:", e));
    }

    // --- 🎲 UTILITIES (Because chaos is a tool) ---
    const randIP = () => `${randByte()}.${randByte()}.${randByte()}.${randByte()}`;
    const randByte = () => Math.floor(Math.random() * 255);
    const randomUserAgent = () => {
        const agents = [
            "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36",
            "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1",
            "Mozilla/5.0 (Linux; Android 13; SM-S901U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Mobile Safari/537.36"
        ];
        return agents[Math.floor(Math.random() * agents.length)];
    };

    // --- 🖥️ UI & AUTO-SETUP (Because manual work is for peasants) ---
    setTimeout(() => {
        const chatId = window.location.pathname.split('/').pop();
        if (chatId) attachEventListeners(chatId);
    }, 5000);

    // --- 🎯 FINAL NOTES ---
    // - Kick *will* patch this eventually. Stay ahead.
    // - Use at your own risk. I don’t care if you get banned.
})();

QingJ © 2025

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