// ==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);
}