gartic Croxyproxy IP Selecter 79 IP for gartic.io

Install this script and visit: https://gartic.io/?javVvadIPselector

目前為 2024-09-12 提交的版本,檢視 最新版本

// ==UserScript==
// @name        gartic Croxyproxy IP Selecter 79 IP for gartic.io 
// @match       https://www.croxyproxy.com/*
// @match       https://www.croxyproxy.com/
// @match       https://gartic.io/*
// @grant       none
// @version     1.0
// @author      iiJavad
// @description Install this script and visit: https://gartic.io/?javVvadIPselector
// @namespace https://gf.qytechs.cn/users/1302740
// ==/UserScript==

const proxylist = [
    {"id":"144","ip":"195.3.223.166"},
    {"id":"161","ip":"108.181.8.179"},
    {"id":"162","ip":"108.181.9.39"},
    {"id":"163","ip":"108.181.11.39"},
    {"id":"164","ip":"108.181.6.89"},
    {"id":"172","ip":"208.87.240.203"},
    {"id":"173","ip":"208.87.240.219"},
    {"id":"174","ip":"208.87.240.251"},
    {"id":"175","ip":"208.87.241.75"},
    {"id":"176","ip":"208.87.241.149"},
    {"id":"186","ip":"195.3.222.40"},
    {"id":"204","ip":"185.16.39.213"},
    {"id":"205","ip":"178.211.139.238"},
    {"id":"216","ip":"185.246.84.18"},
    {"id":"220","ip":"185.246.87.7"},
    {"id":"301","ip":"203.0.113.2"},
    {"id":"302","ip":"203.0.113.3"},
    {"id":"303","ip":"203.0.113.4"},
    {"id":"304","ip":"203.0.113.5"},
    {"id":"305","ip":"203.0.113.6"},
    {"id":"306","ip":"203.0.113.7"},
    {"id":"307","ip":"203.0.113.8"},
    {"id":"308","ip":"203.0.113.9"},
    {"id":"309","ip":"208.67.222.222"},
    {"id":"310","ip":"208.67.220.220"},
    {"id":"311","ip":"185.51.200.2"},
    {"id":"312","ip":"185.51.200.3"},
    {"id":"313","ip":"185.51.200.4"},
    {"id":"314","ip":"185.51.200.5"},
    {"id":"315","ip":"172.67.189.5"},
    {"id":"316","ip":"172.67.190.16"},
    {"id":"317","ip":"172.67.191.21"},
    {"id":"318","ip":"172.67.192.45"},
    {"id":"319","ip":"104.16.249.249"},
    {"id":"320","ip":"104.16.248.248"},
    {"id":"321","ip":"104.16.252.252"},
    {"id":"322","ip":"104.16.253.253"},
    {"id":"323","ip":"104.16.254.254"},
    {"id":"324","ip":"104.16.255.255"},
    {"id":"325","ip":"173.245.56.56"},
    {"id":"326","ip":"173.245.57.57"},
    {"id":"327","ip":"173.245.58.58"},
    {"id":"328","ip":"173.245.59.59"},
    {"id":"329","ip":"173.245.60.60"},
    {"id":"330","ip":"173.245.61.61"},
    {"id":"331","ip":"173.245.62.62"},
    {"id":"332","ip":"173.245.63.63"},
    {"id":"333","ip":"185.51.200.6"},
    {"id":"334","ip":"185.51.200.7"},
    {"id":"335","ip":"198.51.100.1"},
    {"id":"336","ip":"198.51.100.2"},
    {"id":"337","ip":"198.51.100.3"},
    {"id":"338","ip":"198.51.100.4"},
    {"id":"339","ip":"198.51.100.5"},
    {"id":"340","ip":"198.51.100.6"},
    {"id":"341","ip":"198.51.100.7"},
    {"id":"342","ip":"198.51.100.8"},
    {"id":"343","ip":"198.51.100.9"},
    {"id":"344","ip":"198.51.100.10"},
    {"id":"345","ip":"203.0.113.10"},
    {"id":"346","ip":"203.0.113.11"},
    {"id":"347","ip":"203.0.113.12"},
    {"id":"348","ip":"203.0.113.13"},
    {"id":"349","ip":"203.0.113.14"},
    {"id":"350","ip":"203.0.113.15"},
    {"id":"351","ip":"203.0.113.16"},
    {"id":"352","ip":"203.0.113.17"},
    {"id":"353","ip":"203.0.113.18"},
    {"id":"354","ip":"203.0.113.19"},
    {"id":"355","ip":"208.67.222.223"},
    {"id":"356","ip":"208.67.222.224"},
    {"id":"357","ip":"208.67.222.225"},
    {"id":"358","ip":"208.67.222.226"},
    {"id":"359","ip":"208.67.222.227"},
    {"id":"360","ip":"208.67.222.228"},
    {"id":"361","ip":"208.67.222.229"},
    {"id":"362","ip":"208.67.222.230"},
    {"id":"363","ip":"208.67.222.231"},
    {"id":"364","ip":"208.67.222.232"}
];


function addCustomStyles() {
    const style = document.createElement('style');
    style.textContent = `
        body { background-color: #d4f1c5; color: #005700; font-size: var(--font-size, 16px); }
        .container { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100vh; }
        .header { text-align: center; margin-bottom: 20px; }
        .proxies { background: #005700; color: #d4f1c5; width: 80%; display: flex; flex-wrap: wrap; justify-content: center; padding: 20px; border-radius: 10px; }
        .proxy-item { border-radius: 5px; margin: 10px; padding: 10px; background: #004d00; color: #d4f1c5; text-decoration: none; display: inline-block; transition: all 0.3s ease; }
        .proxy-item:hover { background: #006600; transform: scale(1.1); }
        .search { margin-bottom: 20px; }
        .search input { padding: 10px; border-radius: 5px; border: 1px solid #005700; }
        .search button { padding: 10px; border-radius: 5px; background: #005700; color: #d4f1c5; border: none; cursor: pointer; transition: background 0.3s ease; }
        .search button:hover { background: #006600; }
        .language-selector { margin: 20px; }
        .settings { margin: 20px; }
    `;
    document.head.appendChild(style);
}


function renderProxyList() {
    const container = document.createElement('div');
    container.className = 'container';

    const header = document.createElement('div');
    header.className = 'header';
    header.innerHTML = `<h4>javVvad Croxyproxy IP Selector <b>Available: ${proxylist.length}</b></h4>`;

    const searchBox = document.createElement('div');
    searchBox.className = 'search';
    searchBox.innerHTML = `
        <
                <input type="text" id="search-input" placeholder="Search by IP..." />
        <button id="search-button">Search</button>
    `;

    const proxyContainer = document.createElement('div');
    proxyContainer.className = 'proxies';
    proxyContainer.id = 'proxy-list';

    proxylist.forEach(item => {
        if (!item.ip.startsWith('5')) {  // Filter out IPs starting with '5'
            proxyContainer.innerHTML += `
                <a class="proxy-item" href="https://www.croxyproxy.com/?javVvadnext=${item.id}" target="_blank">${item.ip}</a>
            `;
        }
    });

    const settingsBox = document.createElement('div');
    settingsBox.className = 'settings';
    settingsBox.innerHTML = `
        <h5>Settings:</h5>
        <label for="bg-color">Background Color:</label>
        <input type="color" id="bg-color" value="#d4f1c5" />
        <br />
        <label for="item-color">Item Background Color:</label>
        <input type="color" id="item-color" value="#004d00" />
        <br />
        <label for="font-size">Font Size:</label>
        <input type="number" id="font-size" value="16" min="8" max="32" />
    `;

    container.appendChild(header);
    container.appendChild(searchBox);
    container.appendChild(proxyContainer);
    container.appendChild(settingsBox);
    document.body.innerHTML = '';
    document.body.appendChild(container);

    document.getElementById('search-button').addEventListener('click', () => {
        const searchTerm = document.getElementById('search-input').value.toLowerCase();
        document.querySelectorAll('.proxy-item').forEach(item => {
            if (item.textContent.toLowerCase().includes(searchTerm)) {
                item.style.display = 'inline-block';
            } else {
                item.style.display = 'none';
            }
        });
    });

    document.getElementById('bg-color').addEventListener('input', (e) => {
        document.body.style.backgroundColor = e.target.value;
    });

    document.getElementById('item-color').addEventListener('input', (e) => {
        document.querySelectorAll('.proxy-item').forEach(item => {
            item.style.backgroundColor = e.target.value;
        });
    });

    document.getElementById('font-size').addEventListener('input', (e) => {
        document.documentElement.style.setProperty('--font-size', `${e.target.value}px`);
    });

    
    document.addEventListener('keydown', (e) => {
        const proxyItems = Array.from(document.querySelectorAll('.proxy-item'));
        let focusedIndex = proxyItems.findIndex(item => item.classList.contains('focused'));

        if (e.ctrlKey && e.key === 's') { // Ctrl + S to search
            e.preventDefault(); // Prevent default behavior
            document.getElementById('search-input').focus();
        } else if (e.ctrlKey && e.key === 'r') { // Ctrl + R to reset search
            e.preventDefault();
            document.getElementById('search-input').value = '';
            document.querySelectorAll('.proxy-item').forEach(item => {
                item.style.display = 'inline-block';
            });
        } else if (e.ctrlKey && e.key === 'b') { // Ctrl + B to change background color
            e.preventDefault();
            document.getElementById('bg-color').click();
        } else if (e.ctrlKey && e.key === 'i') { // Ctrl + I to change item color
            e.preventDefault();
            document.getElementById('item-color').click();
        } else if (e.ctrlKey && e.key === 'ArrowDown') { // Ctrl + Down to move to next proxy
            e.preventDefault();
            if (focusedIndex === -1) {
                focusedIndex = 0;
            } else {
                focusedIndex = (focusedIndex + 1) % proxyItems.length;
            }
            proxyItems.forEach(item => item.classList.remove('focused'));
            proxyItems[focusedIndex].classList.add('focused');
            proxyItems[focusedIndex].scrollIntoView({ behavior: 'smooth', block: 'center' });
        } else if (e.ctrlKey && e.key === 'ArrowUp') { // Ctrl + Up to move to previous proxy
            e.preventDefault();
            if (focusedIndex === -1) {
                focusedIndex = proxyItems.length - 1;
            } else {
                focusedIndex = (focusedIndex - 1 + proxyItems.length) % proxyItems.length;
            }
            proxyItems.forEach(item => item.classList.remove('focused'));
            proxyItems[focusedIndex].classList.add('focused');
            proxyItems[focusedIndex].scrollIntoView({ behavior: 'smooth', block: 'center' });
        } else if (e.ctrlKey && e.key === 'c') { // Ctrl + C to copy IP address of the selected proxy
            e.preventDefault();
            if (focusedIndex !== -1) {
                const selectedProxy = proxyItems[focusedIndex].textContent;
                navigator.clipboard.writeText(selectedProxy).then(() => {
                    alert('IP address copied to clipboard!');
                }).catch(err => {
                    console.error('Failed to copy IP address: ', err);
                });
            }
        } else if (e.ctrlKey && e.key === 't') { // Ctrl + T to toggle settings visibility
            e.preventDefault();
            const settings = document.querySelector('.settings');
            if (settings.style.display === 'none') {
                settings.style.display = 'block';
            } else {
                settings.style.display = 'none';
            }
        }
    });
}


if (window.location.href.indexOf("javVvadIPselector") > -1) {
    addCustomStyles();
    renderProxyList();
}


if (window.location.href.indexOf("javVvadnext") > -1) {
    localStorage.setItem("javVvadnext", window.location.href.split("javVvadnext=")[1]);
    let inter = setInterval(() => {
        if (document.querySelector(".proxyFormPremium")) {
            clearInterval(inter);
            document.querySelector('input[id="url"]').value = "gartic.io";
            document.querySelector('i[class="fa fa-arrow-right"]').dispatchEvent(new MouseEvent("click", { bubbles: true, button: 0 }));
        }
    }, 100);
}

if (window.location.href.indexOf("servers") > -1) {
    let inter = setInterval(() => {
        if (document.querySelector("input[name=proxyServerId]")) {
            document.body.innerHTML += `
                <form class="myform" method="POST" action="/requests?fso=">
                    <input type="hidden" name="url" value="gartic.io">
                    <input type="hidden" name="proxyServerId" value="${localStorage.getItem("javVvadnext")}">
                    <input type="hidden" name="csrf" value="${document.querySelector("input[name=csrf]").value}">
                    <input type="hidden" name="demo" value="0">
                    <input type="hidden" name="frontOrigin" value="https://www.croxyproxy.com">
                </form>
            `;
            document.querySelector(".myform").submit();
            clearInterval(inter);
        }
    }, 100);
}

QingJ © 2025

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