NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name hidemy.io proxy parser // @namespace dimaslanjaka:hideme-parser-proxy // @version 1.2 // @description parse proxy from site page // @author dimaslanjaka // @supportURL https://github.com/dimaslanjaka/php-proxy-hunter/issues // @homepageURL https://dimaslanjaka.github.io/ // @contributionURL https://github.com/dimaslanjaka/php-proxy-hunter // @license MIT // @match https://hidemy.name/*/proxy-list/* // @match https://hidemy.io/*/proxy-list/* // @match https://hidemyna.me/*/proxy-list/* // @match https://hidemyname.io/*/proxy-list/* // @require https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js // @downloadURL https://raw.githack.com/dimaslanjaka/php-proxy-hunter/master/userscripts/hidemy.user.js // @updateURL https://raw.githack.com/dimaslanjaka/php-proxy-hunter/master/userscripts/hidemy.user.js // ==/UserScript== (function () { "use strict"; const addProxyFun = (dataToSend) => { const url = "https://sh.webmanajemen.com/proxyAdd.php"; fetch(url, { signal: AbortSignal.timeout(5000), method: "POST", headers: { "Content-Type": "application/x-www-form-urlencoded" }, body: `proxies=${encodeURIComponent(dataToSend)}` }) .then((response) => { if (!response.ok) { throw new Error("Network response was not ok"); } return response.text(); }) .then((data) => { console.log(data); }) .catch((error) => { console.log("There was a problem with your fetch operation: (" + error.message + ")"); }); }; // eslint-disable-next-line no-undef $(".table_block>table>tbody>tr").on("click", function () { // eslint-disable-next-line no-undef let tds = $(this).children("td"); let ip = tds.eq(0).text(); let port = tds.eq(1).text(); let host = ip + ":" + port; // eslint-disable-next-line no-undef GM_setClipboard(host); // eslint-disable-next-line no-undef GM_notification({ title: "Copied", text: host, timeout: 2000, silent: true }); }); const parseNow = () => { var resultText = ""; // eslint-disable-next-line no-undef $(".table_block>table>tbody>tr").each(function (i, e) { // eslint-disable-next-line no-undef var tr = $(e); var tdList = tr.children("td"); var host = tdList.get(0).innerText; var port = tdList.get(1).innerText; resultText += host + ":" + port + "<br>"; }); addProxyFun(resultText); return resultText; }; const btn = document.createElement("button"); btn.id = "php-proxy-hunter-grab-proxy"; btn.setAttribute("style", "position: fixed;bottom: 2em;left: 2em;"); btn.innerText = "PARSE PROXIES"; btn.classList.add("btn", "button", "btn-primary"); btn.onclick = () => { window.open(URL.createObjectURL(new Blob([parseNow()], { type: "text/html" })), "width=800,height=600"); }; document.body.appendChild(btn); })();