Proxy 6 Download Selected

Proxy 6 Download Selected Proxy

// ==UserScript==
// @name         Proxy 6 Download Selected
// @namespace    Proxy 6 Download Selected
// @version      0.1
// @description  Proxy 6 Download Selected Proxy
// @author       el9in
// @license      el9in
// @match        https://proxy6.net/user/proxy*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=proxy6.net
// @grant        none
// ==/UserScript==

(function() {
    'use strict';
    const format = document.querySelector('input[name="format"]').value;
    if(format) {
        const navBar = document.querySelector('.nav.nav-bar.user_proxy_nav');
        if (navBar) {
            const listItem = document.createElement('li');
            const link = document.createElement('a');
            link.href = '#';
            link.id = 'all-view-toggle';
            link.textContent = 'Скачать выделенные';
            listItem.appendChild(link);
            navBar.appendChild(listItem);
            link.addEventListener('click', function (event) {
                event.preventDefault();
                const elements = document.querySelectorAll('[id^="el-"].active');
                let proxies = "";
                for(let element of elements) {
                    const ip_port = element.querySelector("td:nth-child(3) > ul > li:nth-child(1) > div.right.clickselect > b").innerText;
                    const [ ip, port ] = ip_port.split(":");
                    const login = element.querySelector("td:nth-child(3) > ul > li:nth-child(2) > div.right.clickselect > b").innerText;
                    const password = element.querySelector("td:nth-child(3) > ul > li:nth-child(3) > div.right.clickselect > b").innerText;
                    let _proxy_in_format = format.replace("host", ip).replace("port", port).replace("user", login).replace("pass", password);
                    proxies += `${_proxy_in_format}\n`;
                }
                const blob = new Blob([proxies], { type: "text/plain" });
                const url = URL.createObjectURL(blob);
                const a = document.createElement("a");
                a.href = url;
                a.download = "proxies.txt";
                document.body.appendChild(a);
                a.click();
                document.body.removeChild(a);
            });
        }
    }
})();