Sunteți pe pagina 1din 4

unit Unit1;

interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, sSkinProvider, sSkinManager, IdIPWatch, IdBaseComponent,
IdComponent, IdTCPServer, IdMappedPortTCP, ExtCtrls, StdCtrls, sButton,
sEdit, sGroupBox, sComboBox, sRadioButton, ComCtrls, sStatusBar, VrScope,
VrControls, VrScale, sPanel, sLabel, sCheckBox;
type
THaidar = class(TForm)
ldownload: TsLabel;
lupload: TsLabel;
sPanel1: TsPanel;
VrScale1: TVrScale;
VrScope1: TVrScope;
sStatusBar1: TsStatusBar;
dl: TsRadioButton;
ul: TsRadioButton;
Opsel: TsComboBox;
sGroupBox1: TsGroupBox;
sGroupBox2: TsGroupBox;
Proxy: TsComboBox;
sGroupBox3: TsGroupBox;
Port: TsComboBox;
Bug: TsEdit;
Login: TsButton;
shp1: TShape;
shp2: TShape;
Timer1: TTimer;
IdMappedPortTCP1: TIdMappedPortTCP;
IdIPWatch1: TIdIPWatch;
sSkinManager1: TsSkinManager;
sSkinProvider1: TsSkinProvider;
lportcombox: TsGroupBox;
lport: TsComboBox;
sCheckBox1: TsCheckBox;
procedure ShapeDownload;
procedure ShapeUpload;
procedure LoginClick(Sender: TObject);
procedure IdMappedPortTCP1Execute(AThread: TIdMappedPortThread);
procedure IdMappedPortTCP1OutboundData(AThread: TIdMappedPortThread);
procedure Timer1Timer(Sender: TObject);
procedure dlClick(Sender: TObject);
procedure ulClick(Sender: TObject);
procedure sCheckBox1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Haidar: THaidar;
Download : Integer;
Upload
: Integer;
implementation

{$R *.dfm}
procedure THaidar.ShapeDownload;
begin
shp1.Refresh;
if shp1.brush.color=clWhite then
begin
shp1.brush.color:=clRed;
end else
begin
shp1.brush.color:=clWhite;
end;
end;
procedure THaidar.ShapeUpload;
begin
shp2.Refresh;
if shp2.brush.color=clWhite then
begin
shp2.brush.color:=clLime;
end else
begin
shp2.brush.color:=clWhite;
end;
end;
procedure THaidar.LoginClick(Sender: TObject);
begin
if Login.Caption ='Login' then begin
IdMappedPortTCP1.Bindings.Add.IP
:= '127.0.0.1';
IdMappedPortTCP1.Bindings.Add.Port := StrToInt(lport.Text);
IdMappedPortTCP1.Active
:= True;
Login.Caption
:= 'Stop';
Login.ImageIndex
:= 1;
IdMappedPortTCP1.MappedHost
:= Proxy.Text;
IdMappedPortTCP1.MappedPort
:= StrToInt(Port.Text);
Bug.Enabled
:= False;
lport.Enabled
:= False;
Opsel.Enabled
:= False;
Proxy.Enabled
:= False;
Port.Enabled
:= False;
end else begin
Sleep(100);
IdMappedPortTCP1.Active
:= False;
IdMappedPortTCP1.Bindings.Clear;
login.Caption
:= 'Login';
login.ImageIndex
:= 0;
Bug.Enabled
:= True;
lport.Enabled
:= True;
Opsel.Enabled
:= True;
Proxy.Enabled
:= True;
Port.Enabled
:= True;
end;
end;
procedure THaidar.IdMappedPortTCP1Execute(AThread: TIdMappedPortThread);
Var
haidar: string;

begin
ShapeUpload;
upload:= upload+Length(AThread.NetData);
if Opsel.Text = 'Telkomsel' then begin
if Pos('CONNECT',AThread.NetData)<>0 then begin
haidar:= 'METODE http://'+Bug.Text+'/ HTTP/1.1'#13#10#13#10'Host:
xt+''#13#10#13#10#13#10;
AThread.NetData := haidar;
end;
end else
if Opsel.Text = 'Three' then begin
if Pos('CONNECT',AThread.NetData)<>0 then begin
haidar:= 'METODE http://'+Bug.Text+'/ HTTP/1.1'#13#10#13#10'Host:
xt+''#13#10#13#10#13#10;
AThread.NetData := haidar;
end;
end else
if Opsel.Text = 'Xl' then begin
if Pos('CONNECT',AThread.NetData)<>0 then begin
haidar:= 'METODE http://'+Bug.Text+'/ HTTP/1.1'#13#10#13#10'Host:
xt+''#13#10#13#10#13#10;
AThread.NetData := haidar;
end;
end else
if Opsel.Text = 'Indosat' then begin
if Pos('CONNECT',AThread.NetData)<>0 then begin
haidar:= 'METODE http://'+Bug.Text+'/ HTTP/1.1'#13#10#13#10'Host:
xt+''#13#10#13#10#13#10;
AThread.NetData := haidar;
end;
end else
if Opsel.Text = 'Axis' then begin
if Pos('CONNECT',AThread.NetData)<>0 then begin
haidar:= 'METODE http://'+Bug.Text+'/ HTTP/1.1'#13#10#13#10'Host:
xt+''#13#10#13#10#13#10;
AThread.NetData := haidar;
end;
end;
end;

'+Bug.Te

'+Bug.Te

'+Bug.Te

'+Bug.Te

'+Bug.Te

procedure THaidar.IdMappedPortTCP1OutboundData(
AThread: TIdMappedPortThread);
begin
ShapeDownload;
download:= download+Length(AThread.NetData);
if Pos ('403 Forbidden', AThread.NetData) <>0 then begin
AThread.NetData := StringReplace(athread.NetData,'403 Forbidden','200 OK'
,[rfReplaceAll]);
end else
if Pos ('407 Proxy Authentication Required', AThread.NetData) <>0 then begin
AThread.NetData := StringReplace(athread.NetData,'407 Proxy Authenticatio
n Required','200 OK',[rfReplaceAll]);
end else
if Pos ('302 Found', AThread.NetData) <>0 then begin
AThread.NetData := StringReplace(athread.NetData,'302 Found','200 OK',[rf
ReplaceAll]);
end else
if Pos ('301 Moved Permanently', AThread.NetData) <>0 then begin
AThread.NetData := StringReplace(athread.NetData,'301 Moved Permanently',
'200 OK',[rfReplaceAll]);

end else
if Pos ('407 Proxy Authentication Required', AThread.NetData) <>0 then begin
AThread.NetData := StringReplace(athread.NetData,'407 Proxy Authenticatio
n Required','200 OK',[rfReplaceAll]);
end else
if Pos (' Set-Cookie', AThread.NetData) <>0 then begin
AThread.NetData := StringReplace(AThread.NetData,' Set-Cookie',' 200 OK',
[rfReplaceAll]);
end else
if Pos ('HTTP/1.1 302 Moved Temporarily', AThread.NetData) <> 0 then begin
AThread.NetData := '';
end;
end;
procedure THaidar.Timer1Timer(Sender: TObject);
begin
ldownload.Caption := FormatFloat('0',download/1024);
lupload.Caption := FormatFloat('0',upload/1024);
vrscope1.SetData(0,strtoint(ldownload.Caption));
vrscope1.SetData(1,strtoint(lupload.Caption));
sStatusBar1.Panels[1].Text := idipwatch1.LocalName;
sStatusBar1.Panels[0].Text := idipwatch1.LocalIP;
download:= 0;
upload:= 0;
end;
procedure THaidar.dlClick(Sender: TObject);
begin
vrScope1.Channels[0].Visible := dl.Checked;
end;
procedure THaidar.ulClick(Sender: TObject);
begin
vrScope1.Channels[1].Visible := ul.Checked;
end;
procedure THaidar.sCheckBox1Click(Sender: TObject);
begin
if sCheckBox1.Checked = true then
begin
Bug.PasswordChar:='+';
end else begin
Bug.PasswordChar:=#0;
end;
end;
end.

S-ar putea să vă placă și