Предистория: Думаю всем часто попадались ссылки вроде этих: http://uzhgorodelims.myminicity.com/ind - Перейдя по этой ссылке вы приведете в этот город еденицу индустрии. Идея построить свой город. или например: http://fishki.net/fun/opengirl.php?fun_og=maNJOQzKYUfE - Перейдя по этой ссылке, вы откроете мне плюс одну фотографию интимного содержания. Под новый год популярным становиться как можно больше позвать по своей рефссылке пользователей и вырастить свою елочку. Иногда бывает интересно действительно посмотреть, что будет, если по Вашей рефссылке ломанеться народ. Но как-то откровенно влом спамить всем своим контактам в асе и бегать по ирц-каналам прося народ зайти по ссылке. Но зачем нам, опытным пользователям компьютера, страдать такой херней? Особенно если мы знаем что есть такое, как прокси. Вот и я так подумал и решил написать софтинку. Да, я знаю что есть куча решений для такой вот задачи, но это обычно тяжеловесные комбайны, которые брутять пароли, залазят с разных ип и делают еще много чего лишнего. Да и обычно просят установки, потому я решил быстренько за 10-20 минут накидать формочку. Написал для себя, а потом подумал почему б не выложить. Может кому пригодиться. Итак скрины и описание возможностей программы: Верхнее поле ввода: тут указывайте ссылку странички, на которую следует заходить. Если программа уже запущена, работает, но вам надо сменить ссылку, вставляйте ее в это поле и следуйщий заход автоматом будет уже по новой ссылке. Второе сверху поле ввода: сюда указывайте число в секундах, с какой переодичностью заходить по ссылке, время так-же можете менять в ходе работы програмы, перезапусков и остановок процеса для этого не требуеться. Кнопка "Старт": собственно начинаем работу. Начинает заходить по ссылке с самого начала списка проксей, когда дойдет до последней - начинает покругу, снова с первой . Не забудьте заполнить поля с ссылкой, временем и списком проксей. Кнопка "Стоп": останавливает работу, но открытое окошко интернет експлорера не закрывает. Можно использовать в качестве паузы. Кнопка "Открыть файл с проксями": открывает диалоговое окно, где Вы выбираете текстовый файл со списком прокси. Список должен быть в таком формате: proxy:рort Пример: Code: 200.19.159.34:3128 193.136.191.26:3128 72.36.112.74:3128 194.36.10.154:3124 142.150.238.13:3128 156.17.10.52:3124 130.37.198.243:3124 193.167.182.130:3124 64.157.13.111:80 208.185.127.41:80 218.103.71.153:80 216.194.70.3:8118 Кнопка "Продолжить": после того как вы остановили работу кнопкой "Стоп", вы можете продолжить работу с той прокси, на которой остановились. А не с самого начала списка. Так же эту кнопку можно использовать как "next", тоесть когда программа работает, перескочить на следующую проксю, не задерживаясь на текущей. Поле readonly "Текущая прокся": указывает через какую проксю мы сейчас лезем. Поле readonly "Номер прокси в листе": номер текущей прокси в листе. Сделано для того, чтоб знать на каком этапе прохождения всего листа мы находимся. Ну и самое большее поле ввода "Поле для проксей": Сюда загружаеться список прокси из файла. Также в него можно ручками копипастнуть список. Теперь раскажу о принципе работы: Как я уже выше писал, эту програмку я создавал на скору руку, не хотел сильно заморачиваться и пошел самым легким путем. После того как Вы нажимаете кнопочку старт, в настройках InternetExplorer (через реестр) включаеться использование прокси и там же указываеться какое именно прокси. После чего запускаеться InternetExplorer с заходом на ссылку. Отсчитываеться время, которое Вы указали. InternetExplorer закрываеться и открываеться с ипользованием следующей прокси. Имейте ввиду, что закрываються все копии InternetExplorerа со всеми вкладками, но так как очень мало из нас используют этот браузер для серфинга, то это не проблема. При закрытии программы использование прокси отключаеться. И еще одна "фича" - когда вы закрываете програмку, в директории где эта програмка находиться, создаеться текстовый файл saves.txt. Внутри которого: Code: C:\Documents and Settings\elimS\Desktop\_proxy.txt http://free-proxy.org.ua/proxy-judge.php 15 6 Первая строка - адрес к вашему файлу с проксям Вторая строка - ссылка Третья строка - с каким периодом заходить Четвертая строка - на какой проксе мы остановились При следуйщем запуске программы - автоматически подгрузиться список проксей с последнего файла. Сылка и время уже будут введены в соответсвующие поля. Ну и Вам надо нажать только на кнопку "продолжить" - и программа начнет с того места, на котором мы предыдущий раз остановились. Скачать ProxyFucker: http://dl.dropbox.com/u/7851690/ProxyFucker.rar ПЕРЕЗАЛИТО! Скачать Сорсы: http://narod.ru/disk/2455362000/source.rar.html pass: forum.antichat.ru Исходный код программы, написанной на Delphi7: Code: unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,ShellAPI, ExtCtrls, registry ; type TForm1 = class(TForm) ButtonStart: TButton; Timer1: TTimer; OpenDialog1: TOpenDialog; ButtonOpen: TButton; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Label1: TLabel; Edit4: TEdit; Label2: TLabel; ButtonStop: TButton; ButtonContinue: TButton; Memo1: TMemo; procedure ButtonStartClick(Sender: TObject); procedure ButtonStopClick(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure ButtonOpenClick(Sender: TObject); procedure FormCreate(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure ButtonContinueClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; Reg : TRegistry; i,j,Lines_Count:integer; knopky_nazali:boolean; saves_file:TextFile; dir,temp:string; b:byte; implementation {$R *.DFM} procedure TForm1.ButtonStartClick(Sender: TObject); begin Lines_Count:=Form1.Memo1.Lines.Count ; j:=0; i:=0; knopky_nazali:=true; Timer1.Enabled:=true; if Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Internet Settings', True) then Reg.WriteInteger('ProxyEnable',1); end; procedure TForm1.ButtonStopClick(Sender: TObject); begin Timer1.Enabled:=false; end; procedure TForm1.Timer1Timer(Sender: TObject); var t:string; t2:pchar; begin if knopky_nazali = true then begin if i = 0 then i:=strtoint(edit2.text); if i = strtoint(edit2.text) then begin if Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Internet Settings', True) then Reg.WriteString('ProxyServer',form1.memo1.lines.Strings[j]); t:='explorer ' + char(34) + edit1.text + char(34); t2:=pchar(t); WinExec( t2 , SW_SHOW); edit3.Text:=form1.memo1.lines.Strings[j]; edit4.Text:=inttostr(j) + ' èç ' + inttostr(Lines_Count); Append(saves_file); Writeln(saves_file,OpenDialog1.FileName); CloseFile(saves_file); end; dec(i); if i = 0 then begin WinExec('taskkill /f /im iexplore.exe ', SW_SHOW); inc(j); if j > Lines_Count then j:=0; end; end; end; procedure TForm1.ButtonOpenClick(Sender: TObject); begin if OpenDialog1.Execute and FileExists(OpenDialog1.FileName) then Form1.Memo1.Lines.LoadFromFile(OpenDialog1.FileName); end; procedure TForm1.FormCreate(Sender: TObject); begin Reg := TRegistry.Create; Reg.RootKey:=HKEY_CURRENT_USER; b:=0; knopky_nazali:=false; getdir(b,dir); AssignFile(saves_file, dir + '\saves.txt'); If(FileExists('saves.txt'))Then begin Reset(saves_file); Readln(saves_file,temp); if FileExists(temp) then begin OpenDialog1.FileName:=temp; //filename Form1.Memo1.Lines.LoadFromFile(OpenDialog1.FileName); end; Readln(saves_file,temp); edit1.text:=temp; //url Readln(saves_file,temp); edit2.text:=temp; //time Readln(saves_file,temp); edit4.text:=temp; if temp<>'' then j:=strtoint(edit4.text); // # of proxy CloseFile(saves_file); end; end; procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin Rewrite(saves_file); Writeln(saves_file,OpenDialog1.FileName); Writeln(saves_file,edit1.text); Writeln(saves_file,edit2.text); Writeln(saves_file,inttostr(j)); CloseFile(saves_file); if Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Internet Settings', True) then Reg.WriteInteger('ProxyEnable',0); end; procedure TForm1.ButtonContinueClick(Sender: TObject); begin WinExec('taskkill /f /im iexplore.exe ', SW_SHOW); Lines_Count:=Form1.Memo1.Lines.Count ; inc(j); if j >= Lines_Count then j:=0; i:=0; Reg := TRegistry.Create; Reg.RootKey:=HKEY_CURRENT_USER; knopky_nazali:=true; Timer1.Enabled:=true; end; end. Все пожелания и сведения о ошибках пишите сюда. Приятно использования Надеюсь кому-то пригодиться. PS: прошу прощения у модеров если запостил не в ту ветку форума или не выполнил одно из условий темы.
А поясни пжста нафиг ты открываешь ИЕ для каждого Http запроса, а не шлёшь этот запрос "ручками"? Или может я чего не понял в твоей проге?
pento "Как я уже выше писал, эту програмку я создавал на скору руку, не хотел сильно заморачиваться и пошел самым легким путем." Реально, было влом читать как там эти запросы посылать и работать с сокетами. Да и не програмер я Знаю что решение корявое, но главное что работает) Пользоватся или не пользоватся - решать самим. Я просто поделился
elimS2, Решение действительно корявое, без обид. Если ты планируешь и дальше юзать прогу, то тебе надо как минимум сделать через сокеты, ну или либу для работы с HTTP заюзать + добавить потоки. Это делается чуть дольше, чем на скорую руку.
а если во время юзанья мего софта нужен ослик? ага, и шобы люди сразу могли компилить, ну если сие ЧУДО комунито понравится выложи его вместе с файлами формы
Мда, аж посмеялся... а что нить типо button_click...ну ладно не так важно...ты говоришь пошел легким путем мое мнение ты пошел каким то кривым путем... и куда более сложным... Ведь чуществуют компоненты...но есть сокеты и WinInet(на них сложнее но лучше..) На компонентах это было бы и быстрее и лучше...
Вот возмущаетесь все, человек старался, кто шарит возьмите да парепешите прогу, добавьте фишки и навороты....
Имхо удобней: Code: URL="http://www.ya.ru?id=34" for PROXY in $( cat proxy.txt ); do curl -x $PROXY $URL & done 1. На шелле создаем click.sh (с вышеприведенным текстом) и proxy.txt (в формате proxyort) 2. Запускаем chmod +x click.sh && ./click.sh все скрипт начал многопоточно накручивать счетчик...
К сожалению эта программа не умеет отправлять запросы методом POST, и темболее в ней нету таких настроек как передача заголовков(было бы не плохо передавать useragent), и я уже молчу про многопоточность