Решил выложить свой скрипт. Этот скрипт освобождает от ручной работы когда надо залезть в irc через прокси. Имея список прокси не факт что из них все работают, не факт что эта прокся еще не заглайнена в irc сети и не факт что она не находится в блек листе. Потому довольно много надо сделать телодвижений чтоб залесть в irc через прокси, после чего можно через пару минут схватить глайн и искать дальше следуйщую проксю. А что если надо завести как можно больше ботов (хочется побаловатся киберсквоттингом или задосить вредного собеседника)? Как правило 1 proxy = 3 бота. Тогда Вам пригодится следуйщий скрипт. Code: ;begin-------------прокси-скрипт elimS------------------------------ alias proxy_on_of { if (%proxy_connect == on) { %proxy_connect = off timer_proxy_conect off firewall off } else { %proxy_connect = on | %proxy_n_file = 1 | %proxy_poputka = sock4 | %proxy_n = 1 | firewall on } } alias proxy_connect { if (%proxy_n_file = 1) $iif(%proxy_socks4_5 == on,%filename_proxylist = %filename_proxylist_4_5,inc %proxy_n_file 1) if (%proxy_n_file = 2) $iif(%proxy_socks4 == on,%filename_proxylist = %filename_proxylist_4,inc %proxy_n_file 1) if (%proxy_n_file = 3) $iif(%proxy_socks5 == on,%filename_proxylist = %filename_proxylist_5,inc %proxy_n_file 1) if (%proxy_n_file = 4) $iif(%proxy_socks@ == on,%filename_proxylist = %filename_proxylist_@,%proxy_n_file = 1) %proxy_n = $lines( %filename_proxylist ) if ( %proxy_dic_use == on ) { fullname $read( %filename_dic ) emailaddr $read( %filename_dic ) nick $read( %filename_dic ) anick $read( %filename_dic ) identd on $read( %filename_dic ) } %proxy_info = $read( %filename_proxylist , p , %proxy_i ) %proxy_ip = $gettok(%proxy_info,1,58 ) %proxy_port = $gettok(%proxy_info,2,58 ) if ( %proxy_n_file = 4 ) %proxy_port = $gettok(%proxy_port,1,64 ) if ( %proxy_poputka == sock5 ) && ( %proxy_n_file == 1 ) %proxy_poputka = sock4 if ( %proxy_n_file = 1 ) { $iif(%proxy_poputka == sock4,%proxy_sock = -m4,%proxy_sock = -m5) | %proxy_poputka = sock5 } if ( %proxy_n_file = 2 ) %proxy_sock = -m4 if ( %proxy_n_file = 3 ) %proxy_sock = -m5 if ( %proxy_n_file = 4 ) $iif($gettok(%proxy_info,2,64 ) == SOCKS4,%proxy_sock = -m4,%proxy_sock = -m5) echo -e прокся № %proxy_i из %proxy_n проксей. Прокся %proxy_ip , порт %proxy_port , тип socks %proxy_sock firewall %proxy_sock on %proxy_ip %proxy_port if ( %proxy_i <= %proxy_n ) { server if (%proxy_timeout == on) timer_proxy_conect 1 %proxy_secs proxy_connect } if ( %proxy_n_file != 1 ) inc %proxy_i 1 if ( %proxy_i > %proxy_n ) { %proxy_i = 1 | inc %proxy_n_file 1 } if ( %proxy_n_file > 4 ) && ( %proxy_random == on ) %proxy_n_file = 1 } menu menubar { прокси-скрипт elimS .$iif(%proxy_connect == on,$style(1)) вкл/выкл: proxy_on_of .$iif(%proxy_random == on,$style(1)) ходить по проксям по кругу: $iif(%proxy_random == on,%proxy_random = off,%proxy_random = on) .$iif(%proxy_dic_use == on,$style(1)) использовать словарь: $iif(%proxy_dic_use == on,%proxy_dic_use = off,%proxy_dic_use = on) .настройка: dialog -m proxy_options proxy_options } dialog proxy_options { title "Настройки прокси скрипта" size -1 -1 140 250 option dbu check " вкл/выкл прокси скрипт", 10, 10 3 113 10 check " прыгать по кругу", 9, 10 15 113 10 check " таймаут, секунд", 26, 10 25 55 10 edit "",27, 70 25 20 10, read autohs box "файл словаря",4, 5 40 124 40 button "...",2, 85 65 40 10 edit "",3, 10 65 70 10, read autohs check " использовать словарь", 6, 10 50 113 10 box "файл прокси листа, тип socks4/5",5, 5 80 124 40 button "...",7, 85 105 40 10 edit "",8, 10 105 70 10, read autohs check " использовать", 19, 10 90 113 10 box "файл прокси листа, тип socks4",11, 5 120 124 40 button "...",12, 85 145 40 10 edit "",13, 10 145 70 10, read autohs check " использовать", 14, 10 130 113 10 box "файл прокси листа, тип socks5",15, 5 160 124 40 button "...",16, 85 185 40 10 edit "",17, 10 185 70 10, read autohs check " использовать", 18, 10 170 113 10 box "файл прокси листа c записями proxy:port@socks",22, 5 200 124 40 check " использовать", 23, 10 210 113 10 button "...",24, 85 225 40 10 edit "",25, 10 225 70 10, read autohs text "написал elimS", 20, 10 240 40 10 link "mailto:[email protected]", 21, 60 240 70 10 } on 1:dialog:proxy_options:init:0: { did -a proxy_options 3 %filename_dic did -a proxy_options 8 %filename_proxylist_4_5 did -a proxy_options 13 %filename_proxylist_4 did -a proxy_options 17 %filename_proxylist_5 did -a proxy_options 25 %filename_proxylist_@ did -a proxy_options 27 %proxy_secs if (%proxy_connect == on) did -c proxy_options 10 if (%proxy_random == on) did -c proxy_options 9 if (%proxy_dic_use == on) did -c proxy_options 6 if (%proxy_socks4_5 == on) did -c proxy_options 19 if (%proxy_socks4 == on) did -c proxy_options 14 if (%proxy_socks5 == on) did -c proxy_options 18 if (%proxy_socks@ == on) did -c proxy_options 23 if (%proxy_timeout == on) did -c proxy_options 26 } on 1:dialog:proxy_options:sclick,edit:*: { if ($did == 2) { %filename_dic = $file="Выберите текстовый файл для словаря:" .txt did -r proxy_options 3 did -a proxy_options 3 %filename_dic } if ($did == 7) { %filename_proxylist_4_5 = $file="Выберите текстовый файл для прокси листа socks4/5:" .txt did -r proxy_options 8 did -a proxy_options 8 %filename_proxylist_4_5 } if ($did == 12) { %filename_proxylist_4 = $file="Выберите текстовый файл для прокси листа socks4:" .txt did -r proxy_options 13 did -a proxy_options 13 %filename_proxylist_4 } if ($did == 16) { %filename_proxylist_5 = $file="Выберите текстовый файл для прокси листа socks5:" .txt did -r proxy_options 17 did -a proxy_options 17 %filename_proxylist_5 } if ($did == 24) { %filename_proxylist_@ = $file="Выберите текстовый файл для прокси листа proxy:port@socks:" .txt did -r proxy_options 25 did -a proxy_options 25 %filename_proxylist_@ } if ($did == 26) { $iif(%proxy_timeout == on,%proxy_timeout = off,%proxy_timeout = on) if (%proxy_timeout == on) %proxy_secs = $?="Укажите задержку в секундах" if (%proxy_timeout == off) %proxy_secs = $null did -r proxy_options 27 did -a proxy_options 27 %proxy_secs } if ($did == 6) $iif(%proxy_dic_use == on,%proxy_dic_use = off,%proxy_dic_use = on) if ($did == 9) $iif(%proxy_random == on,%proxy_random = off,%proxy_random = on) if ($did == 10) proxy_on_of if ($did == 19) $iif(%proxy_socks4_5 == on,%proxy_socks4_5 = off,%proxy_socks4_5 = on) if ($did == 14) $iif(%proxy_socks4 == on,%proxy_socks4 = off,%proxy_socks4 = on) if ($did == 18 ) $iif(%proxy_socks5 == on,%proxy_socks5 = off,%proxy_socks5 = on) if ($did == 21 ) run explorer mailto:[email protected] if ($did == 23 ) $iif(%proxy_socks@ == on,%proxy_socks@ = off,%proxy_socks@ = on) } on *:CONNECTFAIL: { if ( %proxy_connect == on ) proxy_connect } on *:DISCONNECT: { if ( %proxy_connect == on ) proxy_connect } on *:snotice:*: { if ( $1- == *** Looking up your hostname... ) timer_proxy_conect off } on *:CONNECT: { if ( %proxy_dic_use == on ) { anick $read( %filename_dic ) } } ;end---------------прокси-скрипт elimS------------------------------- копируем этот код и заходим в mirc-редактор скритов (сочетание клавиш alt+r). Вы должны увидеть приблезительно следуйщее: Если окошко у Вас не пустое и в нем уже есть какой-то скрипт, тогда создавайте новый как показано выше на рисунке. Вставляйте код и жмите "ок". Теперь жмем на меню со скриптами. У меня оно называется "Смайл Скрипт", у Вас оно будет называться по другому, в зависимости от клиента, но находится это меню всегда в одном и том же месте - между "tools" и "windows". Выбираем "прокси-скрипт elimS" и жмем "Настройка". Перейдем к настройке. У Вас должно появится следуйщее окошко: "Вкл/Выкл" - включение/выключение работы скрипта "Прыгать по кругу" - после того, как скрипт дошел до последней прокси, все начинается заново, по кругу, с первой прокси. "Таймут, секунд" - ждем конекта к проксе указанное количество секунд, если нету ответа переходим к следуйщей "Использовать словарь" - рандомайзит из словаря Ваш ник, альтернатив ник, id, full name, email. Жмите кнопку и указывайте файл словаря. Я обычно использую словарь с фамилиями и именами актеров. "файл прокси листа, тип socks4/5" - текстовый файл, в каждой строке по одной проксе, запись в виде "proxy:рort". Скрипт сначала пытается конектится через socks4, потом через socks5. "файл прокси листа, тип socks4" - тоже самое что и предыдущий пункт, скрипт пытается конектится к проксе только по протоколу socks4. "файл прокси листа, тип socks5" - скрипт пытается конектится к проксе только по протоколу socks5 "файл прокси листа c записями proxy:рort@socks" - текстовый файл, в каждой строке по одной проксе, запись в виде "proxy:рort@SOCKS4" или "proxy:рort@SOCKS5". Скрипт конектится по протоколу который указан после собаки. Можно выбрать сразу все типы прокси листов, тогда скрипт будет проходить по порядку по каждому прокси-листу. При Глайне, Дисконекте или неудачном соединении скрипт переходит к следуйщей проксе и пытается соединиться. Обратите внимание - даже если Вы нажмете кнопку "отсоединиться" - скрипт начнет соединятся со следуйщей проксей. Это удобно когда Вам не понравилась прокся, или вы захотели поменять IP. Потому если Вы действительно хотите просто отсоединиться - не забудьте сначала отключить скрипт. Имейте в виду что далеко не во всех сетях можно подключится через прокси: одни фильтруют по блек-листам, другие смотрят с какого порта идет конект, третьи вообще хитрыми способами проверяют наличие прокси. Например далнет при попытке конекта через проксю сообщает что надо "Install identd". Удачи! Тестируйте. Замечания и предложения по расширению возможностей пишите сюда - буду добавлять.
пара вопросов по скрипту По всему должна быть шикарная вещь, давно такой искал. Но что-то не работает. Прицепил к mIRC'у, приладил socks4-4,5 list, запускаю connect... В окне трейсера пишет что firewall on, но ни до одного из серверов достучаться не может. Проксевые сервера из списка почему-то не переключает, по крайней мене в окне трейсера не пишет. Waitstate установлен 5 sec. Типа помогите чайнику. Надеючь это не "троянское" чудо.
то что не троянское - отвечаю, да и если ты разбираешься в скриптинге - без проблем можешь прочитать код. да и я могу помочь разьяснить каждую строчку. ща подумаю почему у тебя не работает. я им пользуюсь постоянно Напиши плиз версию мирк. Кста ты поставил галочку напротив: "включить прокси-скрипт"?. какого типа прокси используешь. кинь сюда свой текстовый файл с проксями, чтоб я знал в каком синтаксисе там хранятся прокси. кста прокси нужны соксовые. и после того как ты настроил скрипт, нажал кнопочку "использовать прокси-скрипт". надо нажать на стандартную кнопку "конект" в мирк-клиенте
я тут еще подумал.. помню что была проблема если в адресе находятся пробелы. тоесть сделай чтоб полный путь к файлам с проксями был без пробелов. если поможет и проблема была в этом - скажешь, буду править
Спасибо за быстрый ответ! Вот перекинул файл с проксями на C:\proxy.txt, еще на всякий случай сделал только socks4, но все по прежнему: "* Firewall is on Socks4 (xxx.xxx.xxx.xxx 1080) - * Connecting to irc.dal.net (6661) - * Firewall: Unable to connect to firewall - * Connect retry #1 irc.dal.net (6661) (dns pool) - * Firewall: Unable to connect to firewall - * Connect retry #2 hotspeed.sg.as.dal.net (6666) - * Firewall: Unable to connect to firewall". И так может до бесконечности. Может я туплю, и надо сервер IRC'шный как-то особенно подобрать? Прокси из файла берет как-то хитро, почему-то только третий по списку, и уже никуда его не переключает, хотя опция "ходить по кругу" включена. Если есть идеи как пофиксить то было бы здорово. Но если нет, то как говориться - увы. p.s. Пока это писал насчитал 40 failed попыток. Пользую mIRC v6.31 engl.
убери в настройках мирка конект ретри К далнету через прокси мне неудавалось подключится, у них система хитроумная, на проверку идентов. прокси соксовые можешь взять отсюда: Free Socks Proxy прокси сервера скриптом должны менятся, надо только сесть и подождать пока живая и быстрая найдется зы: надо будет в скрипте сделать чтоб эта опция автоматом отключалась) зы2: посмотрел - нету смысла посредством скрипта автоматически отключать "conect retry". там такая функция не предусмотрена, можно отключить только если перезаписывать скриптом файл mirc.ini. оно хранится в файле вот тут : n0=0,1,0,1,1,0,300,1,0,1,1,0,0,0,0,0,1,0,0,0,4096,0,1,0,0,0,1,1,0,50,1,0,0,1,0 n1=5,100,1,1,551,27,22,0,4,1,0,0,1,1,1,1,1,1,0,0,1,1,1,0,5,0,1,0,0,0,1,0,1,0,1,10 n2=0,0,0,1,1,1,1,1,0,60,120,0,0,1,0,0,1,1,0,120,20,10,0,0,1,0,0,1,0,0,0,0,0,0,1,3 n3=10000,0,0,0,0,0,1,1,0,1,0,0,0,0,1,1,1,1,0,1,0,0,0,0,1,1,0,2,0,2,1,3,180,0,1,0,0 n4=1,0,1,0,0,0,9999,0,0,1,1,1,1024,1,1,9974,10,0,0,0,1,1,1,4,1,5000,1,5,0,0,3,0,1,1,0,0,0 n5=1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,0,300,30,10,0,1,29,0,0,1,8192,1,0,0,115,0,1,0,0 n6=0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,0,0,1,1000,1,1,0,1,1,0,1,4,1,0,1,0,0 n7=1,0,0,0,0,0,0,1,1,0,1,1,0,0,0,0,1,70,0,4,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,1 n8=1,3,1,207,1,1,1,2,0,0,0,0,0,0,0,0,1,0,0,0,0,0 мне такой способ хранения не понравился) есть подозрения что структура этого файла меняется от версии до версии. а я стараюсь писать скрипты универсальные) так что лучше всего при надобности сам отключай в менюшке
незачто баги и пожелания пиши сюда) кста в планах опубликовать инвайт-скрипт: собирает по сети все ники, а потом тупо начинает всех инвайтит на канал. при превышении лимита инвайтов - реконект и дальше продолжение инвайтов. канал быстро растет, так как у многих стоит автоджойн при инвайте. а если еще поставить галочку напротив - "инвайтить при выходе из канала". челове просто не может покинуть канал и спам скрипт - тоже собирает по сети ники, и потом всем начинает писать в приват указанное сообщение
Такая проблемма: Мирк не хочет коннектиться к http проксям 00:58:55 * Connect retry #1 irc.tambov.ru (6667) - 00:58:56 * Proxy: Connection rejected Прокси абсолютно рабочие. В браузере работают. Не знаю в чем проблемма раньше норм коннектилось. В чем подвох?
хм, я заходил в ирц с помощью скрипта только через соксовые прокси, да и сам скрипт, насколько помню, был настроен под соксы