Настройка Мозиллы на работу с прокси с помощью Imacros, смена прокси на автомате

Так как вопрос довольно актуальный - как менять прокси находу при необходимости смены IP адреса с помощью аймакроса. Готовый командные строчки выкладываю (под управлением явы-скрипта):
var iphttp=   '111.111.111.111'
var ipssl=    '222.222.222.222'
var ipftp=    '333.333.333.333'
var ipsocks=  '444.444.444.444'
var socksver= '5'
var portall=  '8080'
var logAndPassProxy = 'test'

iimPlay("CODE:URL GOTO=about:config\n WAIT SECONDS=1")

var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);

// ручная настройка прокси
prefs.setIntPref("network.proxy.type", 1);

// ставим галочку Для всех протоколов
 prefs.setBoolPref("network.proxy.share_proxy_settings", true);
// each proxy independent
prefs.setBoolPref("network.proxy.share_proxy_settings", false);

// HTTP Proxy
prefs.setCharPref("network.proxy.http", iphttp);
prefs.setIntPref("network.proxy.http_port", portall);

// SSL Proxy
prefs.setCharPref("network.proxy.ssl", ipssl);
prefs.setIntPref("network.proxy.ssl_port", portall);

// FTP Proxy
prefs.setCharPref("network.proxy.ftp",ipftp)
prefs.setIntPref("network.proxy.ftp_port",portall);

// SOCKS Host
prefs.setCharPref("network.proxy.socks", ipsocks);
prefs.setIntPref("network.proxy.socks_port", portall);
prefs.setIntPref("network.proxy.socks_version", socksver);

// login & password proxy
prefs.setCharPref("extensions.proxyauth.authtoken",logAndPassProxy);


То есть для смены прокси достаточно установить HTTP-прокси и поставить галочку в мозилле Использовать этот прокси для всех протоколов. Вот и все настройки.
То есть выше указанный код будет намного короче. А далее можно подключить текстовый файлик с просями и брать айпишки построчно и втыкать их в мозиллу с помощью этого кода. Таким образом, подключил файлик с проксями и воткнув забор айпи с этого файла в цикле можно замутить смену айпи адресов на автомате. Единственный нюанс - достать рабочие прокси. Как вы будете это делать - искать бесплатные или покупать платные, это уже другой вопрос. Но скажу вам что платные пакеты айпишек продают всем пользователям, поэтому перед покупкой вы должны знать, что эти прокси уже поюзали и еще юзают другие клиенты - а оно вам надо? Смотрите сами. А если покупать индивидуальные прокси, на которых еще установлен пароль, и которыми пользоваться будете только вы  и никто кроме вас не может выйти в интернет с этого айпи, стоят довольно дорого, в среднем можно сказать 5$ на месяц. Если затраты оправдают себя, в чем я сомневаюсь, то можно и взять. Но с одним айпи мало чего сделаешь. А покупать по 1000 айпи - как сказал ранее, вы должны знать что их уже юзают.

Ну и еще несколько строк, которые могут пригодиться:
' Заполнение и подтверждение прокси аутентификации
ONLOGIN USER=user PASSWORD=password

' установка нужного прокси
PROXY ADDRESS=12.222.333.333:8000

' установка прокси и списка сайтов на которых будет работать реальный IP (BYPASS)
PROXY ADDRESS=12.222.333.333:8080 BYPASS="yandex.ru 2ip.ru"

' установка прокси и отключение BYPASS списка сайтов
PROXY ADDRESS=12.222.333.333:8080 BYPASS=NULL


Ну и на последок строчки кода, как можно все это дело замутить через обычный iim файл.

' Установка параметров
SET IPHTTP   "111.111.111.111"
SET IPSSL    "222.222.222.222"
SET IPFTP    "333.333.333.333"
SET IPSOCKS  "444.444.444.444"
SET SOCKSVER "4"
SET PORTALL  "8080"
SET LOGPASS  "TEST"

' Переход к вкладке настроек
URL GOTO=about:config
WAIT SECONDS=1

' Непосредственная запись настроек

' Команда которая включает прокси
SET !VAR1 EVAL("prefs=Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);prefs.setIntPref("network.proxy.type",1);")

' Устанавливает один протокол для всех одинаковым
SET !VAR1 EVAL("prefs=Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);prefs.setBoolPref("network.proxy.share_proxy_settings",true);")
' Установить каждому отдельный прокси
SET !VAR1 EVAL("prefs=Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);prefs.setBoolPref("network.proxy.share_proxy_settings",false);")

' Устанавливает HTTP прокси
SET !VAR1 EVAL("prefs=Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);prefs.setCharPref("network.proxy.http",'{{IPHTTP}}');")
' Установить порт для HTTP прокси
SET !VAR1 EVAL("prefs=Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);prefs.setIntPref("network.proxy.http_port",{{PORTALL}});")

' Устанавливаем SSL прокси
SET !VAR1 EVAL("prefs=Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);prefs.setCharPref("network.proxy.ssl",'{{IPSSL}}');")
' Устанавливаем  порт для SSL прокси
SET !VAR1 EVAL("prefs=Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);prefs.setIntPref("network.proxy.ssl_port",{{PORTALL}});")

' Установка FTP прокси
SET !VAR1 EVAL("prefs=Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);prefs.setCharPref("network.proxy.ftp",'{{IPFTP}}');")
' Установка порта для FTP прокси
SET !VAR1 EVAL("prefs=Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);prefs.setIntPref("network.proxy.ftp_port",{{PORTALL}});")

' Установка SOCKS прокси 
SET !VAR1 EVAL("prefs=Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);prefs.setCharPref("network.proxy.socks",'{{IPSOCKS}}');")
' Установка  порта для SOCKS
SET !VAR1 EVAL("prefs=Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);prefs.setIntPref("network.proxy.socks_port",{{PORTALL}});")
' Установка версии SOCKS (4 или 5)
SET !VAR1 EVAL("prefs=Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);prefs.setIntPref("network.proxy.socks_version",{{SOCKSVER}});")

' Установка логина и пароля прокси
SET !VAR1 EVAL("prefs=Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);prefs.setCharPref("extensions.proxyauth.authtoken",'{{LOGPASS}}');")


Штука эта может пригодиться, поэтому кладу здесь, может самому иногда придется заглядывать сюда.

1 комментарий:

  1. Вот кокрас таки лучшеб написал как подключить файл с проксями

    ОтветитьУдалить