0% found this document useful (0 votes)
82 views

SCHQ Source Code

This document defines a unit called Unit1 that contains the interface and implementation for a form called TForm1. The interface section defines various components on the form like group boxes, labels, buttons, check boxes, etc. The implementation section defines event handler procedures for the components and includes other variables and functions used in the form.

Uploaded by

Khaeru Roziqin
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
82 views

SCHQ Source Code

This document defines a unit called Unit1 that contains the interface and implementation for a form called TForm1. The interface section defines various components on the form like group boxes, labels, buttons, check boxes, etc. The implementation section defines event handler procedures for the components and includes other variables and functions used in the form.

Uploaded by

Khaeru Roziqin
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 18

unit Unit1;

interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, sSpeedButton, Menus, StdCtrls, sGroupBox, ExtCtrls,
sPanel, sLabel, ComCtrls, sStatusBar, sEdit, sCheckBox, sSkinManager,
acPNG, sComboBox, sRadioButton, ImgList, acAlphaImageList, sPageControl,
sMemo, sRichEdit, sButton, IdBaseComponent, IdComponent, IdTCPServer,
IdMappedPortTCP, ISEP, DsiWin32, WinSock, inifiles;
type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
sPanel1: TsPanel;
Beranda: TsGroupBox;
Server: TsGroupBox;
Replace: TsGroupBox;
Query: TsGroupBox;
F1: TMenuItem;
L1: TMenuItem;
S1: TMenuItem;
S2: TMenuItem;
a1: TMenuItem;
E1: TMenuItem;
T1: TMenuItem;
R1: TMenuItem;
A2: TMenuItem;
V1: TMenuItem;
N1: TMenuItem;
A3: TMenuItem;
sSpeedButton1: TsSpeedButton;
sSpeedButton3: TsSpeedButton;
sSpeedButton4: TsSpeedButton;
Server1: TsSpeedButton;
sStatusBar1: TsStatusBar;
sSkinManager1: TsSkinManager;
sGroupBox1: TsGroupBox;
sCheckBox1: TsCheckBox;
sCheckBox2: TsCheckBox;
sCheckBox3: TsCheckBox;
sCheckBox4: TsCheckBox;
Shape1: TShape;
Shape2: TShape;
Shape3: TShape;
sCheckBox5: TsCheckBox;
Shape4: TShape;
Shape5: TShape;
sGroupBox2: TsGroupBox;
sLabel6: TsLabel;
sLabel7: TsLabel;
sLabel2: TsLabel;
EMetode: TsComboBox;
HTTP: TsComboBox;
TLine: TsComboBox;
sLabel8: TsLabel;
sLabel9: TsLabel;
Header: TsEdit;
Mline: TsComboBox;

sLabel10: TsLabel;
sLabel11: TsLabel;
Host2: TsEdit;
Eline: TsComboBox;
sSpeedButton5: TsSpeedButton;
sCheckBox7: TsCheckBox;
sEdit4: TsEdit;
sComboBox6: TsComboBox;
sComboBox7: TsComboBox;
sLabel1: TsLabel;
sGroupBox3: TsGroupBox;
rb1: TsRadioButton;
rb2: TsRadioButton;
rb3: TsRadioButton;
rb4: TsRadioButton;
sPanel2: TsPanel;
replace1: TsCheckBox;
replace2: TsCheckBox;
replace3: TsCheckBox;
replace4: TsCheckBox;
replace5: TsCheckBox;
replace6: TsCheckBox;
sEdit5: TsEdit;
sEdit6: TsEdit;
sEdit7: TsEdit;
sEdit8: TsEdit;
sEdit9: TsEdit;
sEdit10: TsEdit;
sEdit11: TsEdit;
sEdit12: TsEdit;
sEdit13: TsEdit;
sEdit14: TsEdit;
sEdit15: TsEdit;
sEdit16: TsEdit;
sSpeedButton6: TsSpeedButton;
sSpeedButton7: TsSpeedButton;
sAlphaImageList1: TsAlphaImageList;
sPanel3: TsPanel;
btnStart: TsSpeedButton;
sLabel3: TsLabel;
ListenInject: TsEdit;
sCheckBox6: TsCheckBox;
c1: TsCheckBox;
c2: TsCheckBox;
c3: TsCheckBox;
c4: TsCheckBox;
c5: TsCheckBox;
front: TsEdit;
back: TsEdit;
host: TsEdit;
xoh: TsEdit;
xff: TsEdit;
Tunnel: TsCheckBox;
sPanel4: TsPanel;
sGroupBox4: TsGroupBox;
sLabel4: TsLabel;
sLabel5: TsLabel;
ProxyOp: TsEdit;
PortOp: TsEdit;
sSpeedButton2: TsSpeedButton;

Other: TsGroupBox;
sPageControl1: TsPageControl;
Home: TsTabSheet;
sTabSheet2: TsTabSheet;
sTabSheet1: TsTabSheet;
sGroupBox6: TsGroupBox;
sCheckBox14: TsCheckBox;
sCheckBox15: TsCheckBox;
Shape6: TShape;
Shape7: TShape;
ModePF: TsGroupBox;
sGroupBox7: TsGroupBox;
sRadioButton5: TsRadioButton;
sRadioButton6: TsRadioButton;
Shape8: TShape;
Shape9: TShape;
sRadioButton7: TsRadioButton;
sRadioButton8: TsRadioButton;
sLabel12: TsLabel;
ListenBV: TsEdit;
sSpeedButton9: TsSpeedButton;
sSpeedButton10: TsSpeedButton;
sLabel13: TsLabel;
sComboBox5: TsComboBox;
sLabel14: TsLabel;
sEdit20: TsEdit;
sLabel15: TsLabel;
sEdit21: TsEdit;
sEdit22: TsEdit;
sSpeedButton11: TsSpeedButton;
sSpeedButton12: TsSpeedButton;
sSpeedButton13: TsSpeedButton;
sAlphaImageList2: TsAlphaImageList;
sLabel16: TsLabel;
sEdit23: TsEdit;
sLabel17: TsLabel;
sRichEdit1: TsRichEdit;
sLabel18: TsLabel;
sEdit24: TsEdit;
sLabel19: TsLabel;
sComboBox8: TsComboBox;
sTabSheet3: TsTabSheet;
sMemo1: TsMemo;
sButton1: TsButton;
sSpeedButton14: TsSpeedButton;
Timer1: TTimer;
sAlphaImageList3: TsAlphaImageList;
IdMappedPortTCP1: TIdMappedPortTCP;
chk1: TsCheckBox;
Buka: TOpenDialog;
Simpan: TSaveDialog;
procedure FormCreate(Sender: TObject);
procedure sSpeedButton1Click(Sender: TObject);
procedure Server1Click(Sender: TObject);
procedure sSpeedButton3Click(Sender: TObject);
procedure sSpeedButton4Click(Sender: TObject);
procedure sCheckBox1Click(Sender: TObject);
procedure sCheckBox2Click(Sender: TObject);
procedure sCheckBox3Click(Sender: TObject);
procedure sCheckBox5Click(Sender: TObject);

procedure sCheckBox4Click(Sender: TObject);


procedure sSpeedButton5Click(Sender: TObject);
procedure sButton1Click(Sender: TObject);
procedure sCheckBox6Click(Sender: TObject);
procedure sCheckBox14Click(Sender: TObject);
procedure sCheckBox15Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure sRadioButton5Click(Sender: TObject);
procedure sRadioButton6Click(Sender: TObject);
procedure replace1Click(Sender: TObject);
procedure replace2Click(Sender: TObject);
procedure replace3Click(Sender: TObject);
procedure replace4Click(Sender: TObject);
procedure replace5Click(Sender: TObject);
procedure replace6Click(Sender: TObject);
procedure c1Click(Sender: TObject);
procedure c2Click(Sender: TObject);
procedure c3Click(Sender: TObject);
procedure c4Click(Sender: TObject);
procedure c5Click(Sender: TObject);
procedure E1Click(Sender: TObject);
procedure sCheckBox7Click(Sender: TObject);
procedure btnStartClick(Sender: TObject);
procedure IdMappedPortTCP1Execute(AThread: TIdMappedPortThread);
procedure IdMappedPortTCP1OutboundData(AThread: TIdMappedPortThread);
procedure FormActivate(Sender: TObject);
procedure Logs(xType:Char; s:string);
procedure TLineChange(Sender: TObject);
procedure S1Click(Sender: TObject);
procedure L1Click(Sender: TObject);
procedure S2Click(Sender: TObject);
private
mulai:Boolean;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
Download : Integer;
Upload : Integer;
ini: TIniFile;
OpenFile : TextFile;
SaveFile : TextFile;
line1,line2:string;
Proxy,Port,Listen,UseOther,UseReplace,UseQuery,Metode,HTTPP,TypeLine,Headerr ,Ho
stt ,lineDepan ,lineBelakang,UseForward ,ProxyFIP ,MetodeF,
Fline ,Frontt,Writee ,Backk ,Disablee ,URep1 ,URep2 ,URep3 ,URep4 ,URep5 ,URep6
,Res1 ,Rep1 ,Res2 ,Rep2 ,Res3 ,Rep3 ,Res4 ,Rep4 ,Res5,
Rep5 ,Res6 ,Rep6 ,FQ ,BQ ,Host1 ,Xohh ,Xfff ,FrontQ ,BackQ ,HostQ ,XohQ ,XffQ:st
ring;
implementation
Uses Unit2;
{$R *.dfm}
Function GetIPAddress():String;

type
pu_long = ^u_long;
var
varTWSAData : TWSAData;
varPHostEnt : PHostEnt;
varTInAddr : TInAddr;
namebuf : Array[0..255] of char;
begin
If WSAStartup($101,varTWSAData) <> 0 Then
Result := '127.0.0.1'
Else Begin
gethostname(namebuf,sizeof(namebuf));
varPHostEnt := gethostbyname(namebuf);
varTInAddr.S_addr := u_long(pu_long(varPHostEnt^.h_addr_list^)^);
Result := inet_ntoa(varTInAddr);
End;
WSACleanup;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
sPanel1.Width := 251;
sPanel1.Height:=263;
if c2.checked = true then
begin
tunnel.Enabled:=True;
end;
end;
procedure TForm1.sSpeedButton1Click(Sender: TObject);
begin
Beranda.Visible:=true;
Beranda.Top:= -1;
Beranda.Left:= 5;
Server.Visible:=false;
Replace.Visible:=false;
Query.Visible:=false;
Other.Visible:=false;
end;
procedure TForm1.Server1Click(Sender: TObject);
begin
Server.Visible:=true;
Server.Top:= -1;
Server.Left:= 5;
Beranda.Visible:=false;
Replace.Visible:=false;
Query.Visible:=false;
Other.Visible:=false;
end;
procedure TForm1.sSpeedButton3Click(Sender: TObject);
begin
Replace.Visible:=true;
Replace.Top:= -1;
Replace.Left:= 5;
Beranda.Visible:=false;
Server.Visible:=false;
Query.Visible:=false;
Other.Visible:=false;

end;
procedure TForm1.sSpeedButton4Click(Sender: TObject);
begin
Query.Visible:=true;
Query.Top:=-1;
Query.Left:= 5;
Beranda.Visible:=false;
Server.Visible:=false;
Replace.Visible:=false;
Other.Visible:=false;
end;
procedure TForm1.sCheckBox1Click(Sender: TObject);
begin
if sCheckBox1.Checked = true then
begin
end else begin
sCheckBox1.Checked:=true;
MessageBox(Self.Handle, 'Not Support If Dont Use Proxy :p', 'Eror 404', MB_OK or
MB_ICONEXCLAMATION);
end; end;
procedure TForm1.sCheckBox2Click(Sender: TObject);
begin
if sCheckBox2.Checked = true then
begin
Other.Enabled:=true;
Shape2.Brush.Color := clGreen ;
end else begin
Other.Enabled:=false;
Shape2.Brush.Color := clRed ;
end; end;
procedure TForm1.sCheckBox3Click(Sender: TObject);
begin
if sCheckBox3.Checked = true then
begin
Replace.Enabled:=true;
Shape3.Brush.Color := clGreen ;
end else begin
Replace.Enabled:=false;
Shape3.Brush.Color := clRed ;
end; end;
procedure TForm1.sCheckBox5Click(Sender: TObject);
begin
if sCheckBox5.Checked = true then
begin
Query.Enabled:=true;
Shape4.Brush.Color := clGreen ;
end else begin
Query.Enabled:=false;
Shape4.Brush.Color := clRed ;
end; end;
procedure TForm1.sCheckBox4Click(Sender: TObject);
begin
if sCheckBox4.Checked = true then
begin

Form2.Show;
Shape5.Brush.Color := clGreen;
end else begin
Shape5.Brush.Color := clRed;
Form2.Close;
end; end;
procedure TForm1.sSpeedButton5Click(Sender: TObject);
begin
Other.Visible:=true;
Other.Top:=-1;
Other.Left:= 5;
Beranda.Visible:=false;
Server.Visible:=false;
Replace.Visible:=false;
Query.Visible:=false;
end;

procedure TForm1.sButton1Click(Sender: TObject);


begin
sMemo1.Clear;
end;
procedure TForm1.sCheckBox6Click(Sender: TObject);
begin
if sCheckBox6.Checked = true then
begin
ProxyOp.PasswordChar:=#0;
PortOp.PasswordChar:=#0;
Header.PasswordChar:=#0;
Host2.PasswordChar:=#0;
sEdit4.PasswordChar:=#0;
end else begin
ProxyOp.PasswordChar:='+';
PortOp.PasswordChar:='+';
Header.PasswordChar:='+';
Host2.PasswordChar:='+';
sEdit4.PasswordChar:='+';
end;end;
procedure TForm1.sCheckBox14Click(Sender: TObject);
begin
if sCheckBox14.Checked = true then
begin
sCheckBox15.Checked :=false;
Shape6.Brush.Color := clGreen;
end else begin
Shape6.Brush.Color := clRed;
sCheckBox15.Checked :=true;
Shape7.Brush.Color := clGreen;
end; end;

procedure TForm1.sCheckBox15Click(Sender: TObject);


begin
if sCheckBox15.Checked = true then
begin

sCheckBox14.Checked :=false;
Shape7.Brush.Color := clGreen;
end else begin
Shape7.Brush.Color := clRed;
sCheckBox14.Checked :=true;
Shape6.Brush.Color := clGreen;
end; end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
ListenBV.Text:=ListenInject.Text;
DsiWin32.DsiTrimWorkingset;
sStatusBar1.Panels[1].Text:=GetIPAddress;
sLabel6.Caption := FormatFloat('##0.## KB/s',download/1024);
sLabel7.Caption := FormatFloat('##0.## KB/s',upload/1024);
download:= 0;
upload:= 0;
end;
procedure TForm1.sRadioButton5Click(Sender: TObject);
begin
if sRadioButton5.Checked = true then
begin
ModePF.Enabled:=true;
Shape9.Brush.Color := clRed;
Shape8.Brush.Color := clGreen;
end else begin
ModePF.Enabled:=false;
Shape8.Brush.Color := clRed;
end; end;
procedure TForm1.sRadioButton6Click(Sender: TObject);
begin
if sRadioButton6.Checked = true then
begin
Shape8.Brush.Color := clRed;
Shape9.Brush.Color := clGreen;
end else begin
Shape9.Brush.Color := clRed;
end; end;
{Replace}
procedure TForm1.replace1Click(Sender: TObject);
begin
if replace1.Checked = true then
begin
sEdit5.Enabled:=true;
sEdit6.Enabled:=true;
end else begin
sEdit5.Enabled:=false;
sEdit6.Enabled:=false;
end;end;
procedure TForm1.replace2Click(Sender: TObject);
begin
if replace2.Checked = true then
begin
sEdit7.Enabled:=true;
sEdit8.Enabled:=true;
end else begin
sEdit7.Enabled:=false;

sEdit8.Enabled:=false;
end;end;
procedure TForm1.replace3Click(Sender: TObject);
begin
if replace3.Checked = true then
begin
sEdit9.Enabled:=true;
sEdit10.Enabled:=true;
end else begin
sEdit9.Enabled:=false;
sEdit10.Enabled:=false;
end;end;
procedure TForm1.replace4Click(Sender: TObject);
begin
if replace4.Checked = true then
begin
sEdit11.Enabled:=true;
sEdit12.Enabled:=true;
end else begin
sEdit11.Enabled:=false;
sEdit12.Enabled:=false;
end;end;
procedure TForm1.replace5Click(Sender: TObject);
begin
if replace5.Checked = true then
begin
sEdit13.Enabled:=true;
sEdit14.Enabled:=true;
end else begin
sEdit13.Enabled:=false;
sEdit14.Enabled:=false;
end;end;
procedure TForm1.replace6Click(Sender: TObject);
begin
if replace6.Checked = true then
begin
sEdit15.Enabled:=true;
sEdit16.Enabled:=true;
end else begin
sEdit15.Enabled:=false;
sEdit16.Enabled:=false;
end;end;
{Query}
procedure TForm1.c1Click(Sender: TObject);
begin
if c1.Checked = true then
begin
front.Enabled:=true;
end else begin
front.Enabled:=false;
end;end;
procedure TForm1.c2Click(Sender: TObject);
begin
if c2.Checked = true then

begin
back.Enabled:=true;
Tunnel.Enabled:=true;
end else begin
Tunnel.Enabled:=false;
back.Enabled:=false;
end;end;
procedure TForm1.c3Click(Sender: TObject);
begin
if c3.Checked = true then
begin
host.Enabled:=true;
end else begin
host.Enabled:=false;
end;end;
procedure TForm1.c4Click(Sender: TObject);
begin
if c4.Checked = true then
begin
xoh.Enabled:=true;
end else begin
xoh.Enabled:=false;
end;end;
procedure TForm1.c5Click(Sender: TObject);
begin
if c5.Checked = true then
begin
xff.Enabled:=true;
end else begin
xff.Enabled:=false;
end;end;
procedure TForm1.E1Click(Sender: TObject);
begin
close;
end;
procedure TForm1.sCheckBox7Click(Sender: TObject);
begin
if sCheckBox7.Checked = true then
begin
sEdit4.Enabled:=true;
sComboBox6.Enabled:=true;
sComboBox7.Enabled:=true;
end else begin
sEdit4.Enabled:=false;
sComboBox6.Enabled:=false;
sComboBox7.Enabled:=false;
end; end;
procedure TForm1.Logs(xType:Char; s:string);
begin
if chk1.Checked then begin
case UpCase(xType) of
'1': {untuk si header}
begin

Form2.sMemo1.Lines.Add(s);
end;
'2': {untuk si response}
begin
Form2.sMemo1.Lines.Add(s);
end;
end;
end;
end;
procedure TForm1.btnStartClick(Sender: TObject);
begin
if Mulai then
begin
IdMappedPortTCP1.Active := False;
IdMappedPortTCP1.Bindings.Clear;
Sleep(1000);
btnStart.Caption := 'Start';
Mulai := False;
ProxyOP.Enabled:=true;
PortOP.Enabled:=true;
end
else
begin
btnStart.Caption := 'Stop';
IdMappedPortTCP1.Bindings.Add.IP:= '127.0.0.1';
IdMappedPortTCP1.Bindings.Add.Port := StrToInt(ListenInject.Text);
IdMappedPortTCP1.MappedHost :=ProxyOp.Text;
IdMappedPortTCP1.MappedPort := StrToInt(PortOP.Text);
IdMappedPortTCP1.Active := True;
Mulai := True;
ProxyOP.Enabled:=false;
PortOP.Enabled:=false;
end;end;
procedure TForm1.IdMappedPortTCP1Execute(AThread: TIdMappedPortThread);
var
ArayDAMN:string;
Res2:string;
begin
upload:= upload+Length(AThread.NetData);
Res2 := get_url_from_request2(AThread.NetData);
{front netdata}
if rb1.Checked = True then begin
if (Pos('GET',AThread.NetData)<>0) or (Pos('HEAD',AThread.NetData)<>0) or (Pos('
CONNECT',AThread.NetData)<>0) then begin
ArayDAMN := EMetode.text +' '+ Header.Text +' '+ HTTP.Text +' '+ line1 +'Host: '
+ Host2.Text +' '+ line2 +' '+ Athread.NetData ;
if POS('CONNECT',ATHREAD. NetData)<>0 THEN
AThread.NetData := AThread.NetData + ArayDAMN;
end;
end;
{write Netdata}
if rb2.Checked = True then begin
if (Pos('GET',AThread.NetData)<>0) or (Pos('HEAD',AThread.NetData)<>0) or (Pos('
CONNECT',AThread.NetData)<>0) then begin
AThread.OutboundClient.Write(EMetode.text +' '+ Header.Text +' '+ HTTP.Text +' '
+ line1);
AThread.OutboundClient.Write('Host: '+ Host2.Text +' '+ line2 );
Athread.OutboundClient.Write('Proxy-Connection: http://sigratisan.blogspot.com/'

+ #13#10);
AThread.OutboundClient.Write(#13);
AThread.OutboundClient.Write(#10);
AThread.OutboundClient.Write(#13);
AThread.OutboundClient.Write(#10);
AThread.OutboundClient.Write(AThread.NetData + #13#10);
end;
end;
{back Netdata}
if rb3.Checked = True then begin
if back.Text <> '' then begin
AThread.NetData := AThread.NetData; // <- Back
end;
end;
{Disable/ None}
if rb4.Checked = True then begin
AThread.NetData := '';
end;
{front Query}
if c1.checked = true then
begin
if front.Text <> '' then begin
AThread.NetData := Set_FQ2(AThread.NetData, front.Text);
end;
end;
{back Query}
if c2.checked = true then
begin
if back.Text <> '' then begin
if tunnel.Checked then begin
AThread.NetData := ReplaceSubURI(AThread.NetData,Res2,set_tunnel_mode(Res2,b
ack.Text));
end else begin
AThread.NetData := set_BQ2(AThread.NetData,back.Text);
end;
end;
end;
{host Query}
if c3.checked = true then
begin
if host.Text <> '' then begin
AThread.NetData := AddHeader(AThread.NetData,'Host: '+host.Text);
end;
end;
{x-online-h}
if c4.checked = true then
begin
if xoh.Text <> '' then begin
AThread.NetData := AddHeader(AThread.NetData,'X-Online-Host: '+xoh.Text);
end;
end;
{x-forward-f}
if c5.checked = true then
begin
if xff.Text <> '' then begin
AThread.NetData := ReplaceSub(AThread.NetData,' X-Forward-F: ', xff.Text, Fals
e);
end else begin
IdMappedPortTCP1.MappedHost:= Host2.Text;

end;
end;
{log}
Form2.sMemo1.Alignment := taLeftJustify;
Logs('1',AThread.NetData);
end;
procedure TForm1.IdMappedPortTCP1OutboundData(AThread: TIdMappedPortThread);
begin
download:= download+Length(AThread.NetData);
{replace1}
if replace1.Checked = true then begin
if Pos (sEdit5.text, AThread.NetData) <>0 then begin
AThread.NetData := StringReplace(AThread.NetData,sEdit5.Text,sEdit6.text,[rfRepl
aceAll]);
end;
end;
{replace2}
if replace2.Checked=true then begin
if Pos (sEdit7.text, AThread.NetData) <>0 then begin
AThread.NetData := StringReplace(AThread.NetData,sEdit7.Text,sEdit8.text,[rfRepl
aceAll]);
end;
end;
{replace3}
if replace3.Checked=true then begin
if Pos (sEdit9.text, AThread.NetData) <>0 then begin
AThread.NetData := StringReplace(AThread.NetData,sEdit9.Text,sEdit10.text,[rfRep
laceAll]);
end;
end;
{replace4}
if replace4.Checked=true then begin
if Pos (sEdit11.text, AThread.NetData) <>0 then begin
AThread.NetData := StringReplace(AThread.NetData,sEdit11.Text,sEdit12.text,[rfRe
placeAll]);
end;
end;
{replace5}
if replace5.Checked=true then begin
if Pos (sEdit13.text, AThread.NetData) <>0 then begin
AThread.NetData := StringReplace(AThread.NetData,sEdit13.Text,sEdit14.text,[rfRe
placeAll]);
end;
end;
{replace6}
if replace6.Checked=true then begin
if Pos (sEdit15.text, AThread.NetData) <>0 then begin
AThread.NetData := StringReplace(AThread.NetData,sEdit15.Text,sEdit16.text,[rfRe
placeAll]);
end;
end;
{log}
Form2.sMemo1.Alignment := taLeftJustify;
Logs('2',AThread.NetData);
end;
procedure TForm1.FormActivate(Sender: TObject);

begin
front.Enabled := False;
back.Enabled := False;
xoh.Enabled := False;
xff.Enabled := False;
host.Enabled := False;
tunnel.Enabled := False;
end;
procedure TForm1.TLineChange(Sender: TObject);
begin
//mode line
if (TLine.Text='CR') and (Mline.Text='1 Lines') then line1:= #13;
if (TLine.Text='CR') and (Mline.Text='2 Lines') then line1:= #13#13;
if (TLine.Text='CR') and (Mline.Text='3 Lines') then line1:= #13#13#13;
if (TLine.Text='CR') and (Mline.Text='4 Lines') then line1:= #13#13#13#13;
if (TLine.Text='CR') and (Mline.Text='5 Lines') then line1:= #13#13#13#13#13;
if (TLine.Text='LF') and (Mline.Text='1 Lines') then line1:= #10;
if (TLine.Text='LF') and (Mline.Text='2 Lines') then line1:= #10#10;
if (TLine.Text='LF') and (Mline.Text='3 Lines') then line1:= #10#10#10;
if (TLine.Text='LF') and (Mline.Text='4 Lines') then line1:= #10#10#10#10;
if (TLine.Text='LF') and (Mline.Text='5 Lines') then line1:= #10#10#10#10#10;
if (TLine.Text='CR+LF') and (Mline.Text='1 Lines') then line1:= #13#10;
if (TLine.Text='CR+LF') and (Mline.Text='2 Lines') then line1:= #13#10#13#10;
if (TLine.Text='CR+LF') and (Mline.Text='3 Lines') then line1:= #13#10#13#10#13#
10;
if (TLine.Text='CR+LF') and (Mline.Text='4 Lines') then line1:= #13#10#13#10#13#
10#13#10;
if (TLine.Text='CR+LF') and (Mline.Text='5 Lines') then line1:= #13#10#13#10#13#
10#13#10#13#10;
//End line
if (TLine.Text='CR') and (Eline.Text='1 Lines') then line2:= #13;
if (TLine.Text='CR') and (Eline.Text='2 Lines') then line2:= #13#13;
if (TLine.Text='CR') and (Eline.Text='3 Lines') then line2:= #13#13#13;
if (TLine.Text='CR') and (Eline.Text='4 Lines') then line2:= #13#13#13#13;
if (TLine.Text='CR') and (Eline.Text='5 Lines') then line2:= #13#13#13#13#13;
if (TLine.Text='LF') and (Eline.Text='1 Lines') then line2:= #10;
if (TLine.Text='LF') and (Eline.Text='2 Lines') then line2:= #10#10;
if (TLine.Text='LF') and (Eline.Text='3 Lines') then line2:= #10#10#10;
if (TLine.Text='LF') and (Eline.Text='4 Lines') then line2:= #10#10#10#10;
if (TLine.Text='LF') and (Eline.Text='5 Lines') then line2:= #10#10#10#10#10;
if (TLine.Text='CR+LF') and (Eline.Text='1 Lines') then line2:= #13#10;
if (TLine.Text='CR+LF') and (Eline.Text='2 Lines') then line2:= #13#10#13#10;
if (TLine.Text='CR+LF') and (Eline.Text='3 Lines') then line2:= #13#10#13#10#13#
10;
if (TLine.Text='CR+LF') and (Eline.Text='4 Lines') then line2:= #13#10#13#10#13#
10#13#10;
if (TLine.Text='CR+LF') and (Eline.Text='5 Lines') then line2:= #13#10#13#10#13#
10#13#10#13#10;
end;
procedure TForm1.S1Click(Sender: TObject);
begin
AssignFile(SaveFile,ExtractFilePath(Application.EXEName)+'Default.sqr');
Rewrite(SaveFile); {Menghapus file}
Writeln(SaveFile,'Proxy: *'+ProxyOp.Text);
Writeln(SaveFile,'Port: *'+PortOp.Text);
Writeln(SaveFile,'Listen: *'+ListenInject.Text);
Writeln(SaveFile,'UseOther: *'+BoolToStr(sCheckBox2.Checked));

Writeln(SaveFile,'UseReplace: *'+BoolToStr(sCheckBox3.Checked));
Writeln(SaveFile,'UseQuery: *'+BoolToStr(sCheckBox5.Checked));
Writeln(SaveFile,'Metode: *'+EMetode.Text);
Writeln(SaveFile,'HTTP: *'+HTTP.Text);
Writeln(SaveFile,'TypeLine: *'+TLine.Text);
Writeln(SaveFile,'Header: *'+Header.Text);
Writeln(SaveFile,'Host: *'+Host2.Text);
Writeln(SaveFile,'lineDepan: *'+Mline.Text);
Writeln(SaveFile,'lineBelakang: *'+Eline.Text);
Writeln(SaveFile,'UseForward: *'+BoolToStr(sCheckBox7.Checked));
Writeln(SaveFile,'ProxyFIP: *'+sEdit4.Text);
Writeln(SaveFile,'MetodeF: *'+sComboBox6.Text);
Writeln(SaveFile,'Fline: *'+sComboBox7.Text);
Writeln(SaveFile,'Front: *'+BoolToStr(rb1.Checked));
Writeln(SaveFile,'Write: *'+BoolToStr(rb2.Checked));
Writeln(SaveFile,'Back: *'+BoolToStr(rb3.Checked));
Writeln(SaveFile,'Disable: *'+BoolToStr(rb4.Checked));
Writeln(SaveFile,'URep1: *'+BoolToStr(replace1.Checked));
Writeln(SaveFile,'URep2: *'+BoolToStr(replace2.Checked));
Writeln(SaveFile,'URep3: *'+BoolToStr(replace3.Checked));
Writeln(SaveFile,'URep4: *'+BoolToStr(replace4.Checked));
Writeln(SaveFile,'URep5: *'+BoolToStr(replace5.Checked));
Writeln(SaveFile,'URep6: *'+BoolToStr(replace6.Checked));
Writeln(SaveFile,'Res1: *'+sEdit5.Text);
Writeln(SaveFile,'Rep1: *'+sEdit6.Text);
Writeln(SaveFile,'Res2: *'+sEdit7.Text);
Writeln(SaveFile,'Rep2: *'+sEdit8.Text);
Writeln(SaveFile,'Res3: *'+sEdit9.Text);
Writeln(SaveFile,'Rep3: *'+sEdit10.Text);
Writeln(SaveFile,'Res4: *'+sEdit11.Text);
Writeln(SaveFile,'Rep4: *'+sEdit12.Text);
Writeln(SaveFile,'Res5: *'+sEdit13.Text);
Writeln(SaveFile,'Rep5: *'+sEdit14.Text);
Writeln(SaveFile,'Res6: *'+sEdit15.Text);
Writeln(SaveFile,'Rep6: *'+sEdit16.Text);
Writeln(SaveFile,'FQ: *'+BoolToStr(c1.Checked));
Writeln(SaveFile,'BQ: *'+BoolToStr(c2.Checked));
Writeln(SaveFile,'Host1: *'+BoolToStr(c3.Checked));
Writeln(SaveFile,'Xoh: *'+BoolToStr(c4.Checked));
Writeln(SaveFile,'Xff: *'+BoolToStr(c5.Checked));
Writeln(SaveFile,'FrontQ: *'+front.Text);
Writeln(SaveFile,'BackQ: *'+back.Text);
Writeln(SaveFile,'HostQ: *'+host.Text);
Writeln(SaveFile,'XohQ: *'+xoh.Text);
Writeln(SaveFile,'XffQ: *'+xff.Text);
CloseFile(SaveFile);
MessageBox(Handle,'Config Save Default.sqr ^_^','Save config',MB_OK + MB_ICONINF
ORMATION);
end;
procedure TForm1.L1Click(Sender: TObject);
begin
if Buka.Execute then begin
AssignFile(OpenFile,Buka.FileName);
Reset(OpenFile); {Ini bergerak fokus ke awal baris pertama dalam file}
While not eof(OpenFile) do begin
Repeat {Repeat}
ReadLn(OpenFile,Proxy); {Ini membaca garis dan memberikan jalur untuk variabel
}
ReadLn(OpenFile,Port); {Ketika garis finish, fokus bergerak ke baris berikutny
a}

Readln(OpenFile,Listen);
ReadLn(OpenFile,UseOther);
ReadLn(OpenFile,UseReplace);
ReadLn(OpenFile,UseQuery);
ReadLn(OpenFile,Metode);
ReadLn(OpenFile,HTTPP);
ReadLn(OpenFile,TypeLine);
ReadLn(OpenFile,Headerr);
ReadLn(OpenFile,Hostt);
ReadLn(OpenFile,lineDepan);
ReadLn(OpenFile,lineBelakang);
ReadLn(OpenFile,UseForward);
ReadLn(OpenFile,ProxyFIP);
ReadLn(OpenFile,MetodeF);
ReadLn(OpenFile,Fline);
ReadLn(OpenFile,Frontt);
ReadLn(OpenFile,Writee);
ReadLn(OpenFile,Backk);
ReadLn(OpenFile,Disablee);
ReadLn(OpenFile,URep1);
ReadLn(OpenFile,URep2);
ReadLn(OpenFile,URep3);
ReadLn(OpenFile,URep4);
ReadLn(OpenFile,URep5);
ReadLn(OpenFile,URep6);
ReadLn(OpenFile,Res1);
ReadLn(OpenFile,Rep1);
ReadLn(OpenFile,Res2);
ReadLn(OpenFile,Rep2);
ReadLn(OpenFile,Res3);
ReadLn(OpenFile,Rep3);
ReadLn(OpenFile,Res4);
ReadLn(OpenFile,Rep4);
ReadLn(OpenFile,Res5);
ReadLn(OpenFile,Rep5);
ReadLn(OpenFile,Res6);
ReadLn(OpenFile,Rep6);
ReadLn(OpenFile,FQ);
ReadLn(OpenFile,BQ);
ReadLn(OpenFile,Host1);
ReadLn(OpenFile,Xohh);
ReadLn(OpenFile,Xfff);
ReadLn(OpenFile,FrontQ);
ReadLn(OpenFile,BackQ);
ReadLn(OpenFile,HostQ);
ReadLn(OpenFile,XohQ);
ReadLn(OpenFile,XffQ);
Until eof(OpenFile); {Sampai akhir file}
end; //Repeat
CloseFile(OpenFile); {tutup file ketika selesai, selain itu akan terus memak
an memori}
MessageBox(Handle,'Load Config Succes ^_^','Load Config',MB_OK + MB_ICONINFO
RMATION);
sStatusBar1.Panels[0].Text:=ExtractFileName(Buka.FileName);
end;//open.execute
ProxyOp.Text:=Copy(Proxy,Pos('*',Proxy)+1,length(Proxy));
PortOp.Text:=Copy(Port,Pos('*',Port)+1,length(Port));
ListenInject.Text:=Copy(Listen,Pos('*',Listen)+1,length(Listen));
sCheckBox2.Checked:=StrToBool(Copy(UseOther,Pos('*',UseOther)+1,length(UseOther)
));

sCheckBox3.Checked:=StrToBool(Copy(UseReplace,Pos('*',UseReplace)+1,length(UseRe
place)));
sCheckBox5.Checked:=StrToBool(Copy(UseQuery,Pos('*',UseQuery)+1,length(UseQuery)
));
EMetode.Text:=Copy(Metode,Pos('*',Metode)+1,length(Metode));
HTTP.Text:=Copy(HTTPP,Pos('*',HTTPP)+1,length(HTTPP));
TLine.Text:=Copy(TypeLine,Pos('*',TypeLine)+1,length(TypeLine));
Header.Text:=Copy(Headerr,Pos('*',Headerr)+1,length(Headerr));
Host2.Text:=Copy(Hostt,Pos('*',Hostt)+1,length(Hostt));
Mline.Text:=Copy(lineDepan,Pos('*',lineDepan)+1,length(lineDepan));
Eline.Text:=Copy(lineBelakang,Pos('*',lineBelakang)+1,length(lineBelakang));
sCheckBox7.Checked:=StrToBool(Copy(UseForward,Pos('*',UseForward)+1,length(UseFo
rward)));
sEdit4.Text:=Copy(ProxyFIP,Pos('*',ProxyFIP)+1,length(ProxyFIP));
sComboBox6.Text:=Copy(MetodeF,Pos('*',MetodeF)+1,length(MetodeF));
sComboBox7.Text:=Copy(Fline,Pos('*',Fline)+1,length(Fline));
rb1.Checked:=StrToBool(Copy(Frontt,Pos('*',Frontt)+1,length(Frontt)));
rb2.Checked:=StrToBool(Copy(Writee,Pos('*',Writee)+1,length(Writee)));
rb3.Checked:=StrToBool(Copy(Backk,Pos('*',Backk)+1,length(Backk)));
rb4.Checked:=StrToBool(Copy(Disablee,Pos('*',Disablee)+1,length(Disablee)));
replace1.Checked:=StrToBool(Copy(URep1,Pos('*',URep1)+1,length(URep1)));
replace2.Checked:=StrToBool(Copy(URep2,Pos('*',URep2)+1,length(URep2)));
replace3.Checked:=StrToBool(Copy(URep3,Pos('*',URep3)+1,length(URep3)));
replace4.Checked:=StrToBool(Copy(URep4,Pos('*',URep4)+1,length(URep4)));
replace5.Checked:=StrToBool(Copy(URep5,Pos('*',URep5)+1,length(URep5)));
replace6.Checked:=StrToBool(Copy(URep6,Pos('*',URep6)+1,length(URep6)));
sEdit5.Text:=Copy(Res1,Pos('*',Res1)+1,length(Res1));
sEdit6.Text:=Copy(Rep1,Pos('*',Rep1)+1,length(Rep1));
sEdit7.Text:=Copy(Res2,Pos('*',Res2)+1,length(Res2));
sEdit8.Text:=Copy(Rep2,Pos('*',Rep2)+1,length(Rep2));
sEdit9.Text:=Copy(Res3,Pos('*',Res3)+1,length(Res3));
sEdit10.Text:=Copy(Rep3,Pos('*',Rep3)+1,length(Rep3));
sEdit11.Text:=Copy(Res4,Pos('*',Res4)+1,length(Res4));
sEdit12.Text:=Copy(Rep4,Pos('*',Rep4)+1,length(Rep4));
sEdit13.Text:=Copy(Res5,Pos('*',Res5)+1,length(Res5));
sEdit14.Text:=Copy(Rep5,Pos('*',Rep5)+1,length(Rep5));
sEdit15.Text:=Copy(Res6,Pos('*',Res6)+1,length(Res6));
sEdit16.Text:=Copy(Rep6,Pos('*',Rep6)+1,length(Rep6));
c1.Checked:=StrToBool(Copy(FQ,Pos('*',FQ)+1,length(FQ)));
c2.Checked:=StrToBool(Copy(BQ,Pos('*',BQ)+1,length(BQ)));
c3.Checked:=StrToBool(Copy(Host1,Pos('*',Host1)+1,length(Host1)));
c4.Checked:=StrToBool(Copy(Xohh,Pos('*',Xohh)+1,length(Xohh)));
c5.Checked:=StrToBool(Copy(Xfff,Pos('*',Xfff)+1,length(Xfff)));
front.Text:=Copy(FrontQ,Pos('*',FrontQ)+1,length(FrontQ));
back.Text:=Copy(BackQ,Pos('*',BackQ)+1,length(BackQ));
host.Text:=Copy(HostQ,Pos('*',HostQ)+1,length(HostQ));
xoh.Text:=Copy(XohQ,Pos('*',XohQ)+1,length(XohQ));
xff.Text:=Copy(XffQ,Pos('*',XffQ)+1,length(XffQ));
end;
procedure TForm1.S2Click(Sender: TObject);
begin
if Simpan.Execute then begin
AssignFile(SaveFile,Simpan.FileName+'.sqr');
Rewrite(SaveFile);
Writeln(SaveFile,'Proxy: *'+ProxyOp.Text);
Writeln(SaveFile,'Port: *'+PortOp.Text);
Writeln(SaveFile,'Listen: *'+ListenInject.Text);
Writeln(SaveFile,'UseOther: *'+BoolToStr(sCheckBox2.Checked));
Writeln(SaveFile,'UseReplace: *'+BoolToStr(sCheckBox3.Checked));

Writeln(SaveFile,'UseQuery: *'+BoolToStr(sCheckBox5.Checked));
Writeln(SaveFile,'Metode: *'+EMetode.Text);
Writeln(SaveFile,'HTTP: *'+HTTP.Text);
Writeln(SaveFile,'TypeLine: *'+TLine.Text);
Writeln(SaveFile,'Header: *'+Header.Text);
Writeln(SaveFile,'Host: *'+Host2.Text);
Writeln(SaveFile,'lineDepan: *'+Mline.Text);
Writeln(SaveFile,'lineBelakang: *'+Eline.Text);
Writeln(SaveFile,'UseForward: *'+BoolToStr(sCheckBox7.Checked));
Writeln(SaveFile,'ProxyFIP: *'+sEdit4.Text);
Writeln(SaveFile,'MetodeF: *'+sComboBox6.Text);
Writeln(SaveFile,'Fline: *'+sComboBox7.Text);
Writeln(SaveFile,'Front: *'+BoolToStr(rb1.Checked));
Writeln(SaveFile,'Write: *'+BoolToStr(rb2.Checked));
Writeln(SaveFile,'Back: *'+BoolToStr(rb3.Checked));
Writeln(SaveFile,'Disable: *'+BoolToStr(rb4.Checked));
Writeln(SaveFile,'URep1: *'+BoolToStr(replace1.Checked));
Writeln(SaveFile,'URep2: *'+BoolToStr(replace2.Checked));
Writeln(SaveFile,'URep3: *'+BoolToStr(replace3.Checked));
Writeln(SaveFile,'URep4: *'+BoolToStr(replace4.Checked));
Writeln(SaveFile,'URep5: *'+BoolToStr(replace5.Checked));
Writeln(SaveFile,'URep6: *'+BoolToStr(replace6.Checked));
Writeln(SaveFile,'Res1: *'+sEdit5.Text);
Writeln(SaveFile,'Rep1: *'+sEdit6.Text);
Writeln(SaveFile,'Res2: *'+sEdit7.Text);
Writeln(SaveFile,'Rep2: *'+sEdit8.Text);
Writeln(SaveFile,'Res3: *'+sEdit9.Text);
Writeln(SaveFile,'Rep3: *'+sEdit10.Text);
Writeln(SaveFile,'Res4: *'+sEdit11.Text);
Writeln(SaveFile,'Rep4: *'+sEdit12.Text);
Writeln(SaveFile,'Res5: *'+sEdit13.Text);
Writeln(SaveFile,'Rep5: *'+sEdit14.Text);
Writeln(SaveFile,'Res6: *'+sEdit15.Text);
Writeln(SaveFile,'Rep6: *'+sEdit16.Text);
Writeln(SaveFile,'FQ: *'+BoolToStr(c1.Checked));
Writeln(SaveFile,'BQ: *'+BoolToStr(c2.Checked));
Writeln(SaveFile,'Host1: *'+BoolToStr(c3.Checked));
Writeln(SaveFile,'Xoh: *'+BoolToStr(c4.Checked));
Writeln(SaveFile,'Xff: *'+BoolToStr(c5.Checked));
Writeln(SaveFile,'FrontQ: *'+front.Text);
Writeln(SaveFile,'BackQ: *'+back.Text);
Writeln(SaveFile,'HostQ: *'+host.Text);
Writeln(SaveFile,'XohQ: *'+xoh.Text);
Writeln(SaveFile,'XffQ: *'+xff.Text);
CloseFile(SaveFile);
MessageBox(Self.Handle, 'Config telah di simpan :p', 'Save Config', MB_OK or MB_
ICONEXCLAMATION);
Exit;
end;
end;
end.

You might also like