Tutorial Membuat Tunnel / Aplikasi Openvpn Menggunakan Delphi 7

[Kincaimedia.net]
Kali ini admin akan berbagi bagaimana cara membuat aplikasi Openvpn dengan delphi7 yang dapat kita gunakan untuk menjalankan configurasi openvpn di PC.

Step by step tutorialnya agar tidak ada error di dalam kode yang Anda terapkan, silahkan perhatikan tutorial dengan teliti. Sebelum melakukan penerapan kode ini Anda harus terlebih dahulu menginstal beberapa komponen yang di butuhkan, antara lain Doscommand, komponen BSF, kenapa perlu BSF ?
Karena nantinya kita akan membutuhkan sebuah open dialog yang di miliki oleh komponen BSF ini, karena jika menggunakan open dialog biasa yaitu di palet standar, listning kodenya tidak bisa di baca, bisa juga di bilang khusus untuk komponen BSF ini.

Tutorial Membuat Tunnel Openvpn Menggunakan Delphi 7

Langkah 1 :
Buat project baru dengan memasukkan beberapa toolbox / komponen dibawah ini
4 komponen Editberi nama : 1.EdtVpnUser, 2.EdtVpnPass, 3.EdtVpnProxy, 4.EdtVpnPort

4 komponen buttonberi caption : 1.Load, 2.Start, 3.Stop, 4.Edit

1 komponen memoberi nama : Mvpn

3 komponen checkboxberi nama : 1.noproji, 2.useproji, 3.useproji2

1 buah label :beri nama : cfgovpn

2 buah label :beri caption : username & password

1 komponen open dialog


1 komponen Timer

Berikut tampilan standart nya, Bisa Anda buat lagi menjadi lebih menarik :)
Source Coding Program Tunnel / Aplikasi Openvpn Lengkap Di Delphi 7, download Coding Program Tunnel / Aplikasi Openvpn delphi, Program Tunnel


Langkah 2 :
Jika sudah memasukan komponen-komponen yang terdapat di langkh 1, lanjut ke lintinya yaitu memasukan kodingnya.

1.Tambahkan kode ini pada Uses.
INIFiles,TlHelp32,ShellApi
2. Masukan procedure di bawah ini di bawah type
procedure Simpanconfig(config: string);
procedure Loadconfig(config: string);
procedure am;
3. Kemudian  masukan kode ini di bawah implementation
function KillTask(ExeFileName: string): Integer;
const
PROCESS_TERMINATE = $0001;
var
ContinueLoop: BOOL;
FSnapshotHandle: THandle;
FProcessEntry32: TProcessEntry32;
begin
Result := 0;
FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
FProcessEntry32.dwSize := SizeOf(FProcessEntry32);
ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32);
while Integer(ContinueLoop) <> 0 do
begin
if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =
UpperCase(ExeFileName)) or (UpperCase(FProcessEntry32.szExeFile) =
UpperCase(ExeFileName))) then
Result := Integer(TerminateProcess(
OpenProcess(PROCESS_TERMINATE,
BOOL(0),
FProcessEntry32.th32ProcessID),
0));
ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);
end;
CloseHandle(FSnapshotHandle);
end;
4.  Selanjutnya tambahkan kode ini di bawah kode ‘{$R *.dfm}’
procedure TForm1.Simpanconfig(config: string);
var
f: textfile;
begin
AssignFile(f, config);
Rewrite(f);
Writeln(f, cfgovpn.Caption);
CloseFile(f);
end;
//load config
procedure TForm1.Loadconfig(config: string);
var
f: textfile;
txt: string;
begin
if not FileExists(config) then Exit;
AssignFile(f, config);
Reset(f);
while not EOF(f) do begin
Readln(f, txt);
cfgovpn.Caption := txt;
end;
CloseFile(f);
end;
//Edit Config
procedure OpenAsTextFile(const FileName: string);
var
sei: TShellExecuteInfo;
begin
ZeroMemory(@sei, SizeOf(sei));
sei.cbSize := SizeOf(sei);
sei.fMask := SEE_MASK_CLASSNAME;
sei.lpFile := PChar(FileName);
sei.lpClass := ‘.rtf’;
sei.nShow := SW_SHOWNORMAL;
ShellExecuteEx(@sei);
end;
procedure Tform1.am;
begin
cfgovpn.Caption:=config;
end;
5. Masukan kode ini di Form1-Event-OnCreate
var
F: TextFile;
S: string;
begin
if FileExists(‘data\pass.txt’) then begin
AssignFile(F, ‘data\pass.txt’);
Reset(F);
ReadLn(F, S);
EdtVpnUser.Text := S;
ReadLn(F, S);
EdtVpnPass.Text := S;
CloseFile(F);
Loadconfig(ExtractFilePath(Application.ExeName) + ‘data\User.cfg’);
end;
//form1.ClientHeight:=288;
//form1.ClientWidth:=367;
load.Hint:=cfgovpn.Caption;
//Dos Create
ping := TDosCommand.Create(nil);
end;
6. Klik 2 kali pada button start, kemudian masukan kode ini
var
F: TextFile;
doscommand : TDosCommand;
vpnparam : string;
vpndir : string;
begin
if useproji.Checked=true then begin
Mvpn.Clear;
doscommand := TDosCommand.Create(nil);
vpndir := ExtractFilePath(ParamStr(0)) + ‘data\’;
vpnparam := ‘openvpn –config “‘+cfgovpn.Caption+'” –auth-user-pass pass.txt –http-proxy ‘+EdtVpnProxy.Text+’ ‘+EdtVpnPort.Text+'”‘;
doscommand.CommandLine := ‘cmd /C cd ‘ + vpndir + ‘ & ‘ + vpnparam;
doscommand.OutputLines := Mvpn.Lines;
doscommand.Execute;
end;
if useproji2.Checked=true then begin
Mvpn.Clear;
doscommand := TDosCommand.Create(nil);
vpndir := ExtractFilePath(ParamStr(0)) + ‘data\’;
vpnparam := ‘openvpn –config “‘+cfgovpn.Caption+'” –auth-user-pass pass.txt –socks-proxy ‘+EdtVpnProxy.Text+’ ‘+EdtVpnPort.Text+’ ‘;
doscommand.CommandLine := ‘cmd /C cd ‘ + vpndir + ‘ & ‘ + vpnparam;
doscommand.OutputLines := Mvpn.Lines;
doscommand.Execute;
end;
if noproji.Checked=true then begin
Mvpn.Clear;
doscommand := TDosCommand.Create(nil);
vpndir := ExtractFilePath(ParamStr(0)) + ‘data\’;
vpnparam := ‘openvpn –config “‘+cfgovpn.Caption+'” –auth-user-pass pass.txt ‘;
doscommand.CommandLine := ‘cmd /C cd ‘ + vpndir + ‘ & ‘ + vpnparam;
doscommand.OutputLines := Mvpn.Lines;
doscommand.Execute;
end;
Simpanconfig( ExtractFilePath(Application.ExeName) + ‘data\User.cfg’ );
//KillTask(‘openvpn.exe’);
AssignFile(F, ‘data\pass.txt’);
Rewrite(F);
WriteLn(F, EdtVpnUser.Text);
WriteLn(F, EdtVpnPass.Text);
CloseFile(F);
Load.Enabled:=false;
EdtVpnUser.Enabled:=false;
EdtVpnPass.Enabled:=false;
stopvpn.Visible:=true;
startvpn.Visible:=false;
end;
7.Klik 2x pada button Load, kemudian masukan kode di bawah ini
if openCfgDlg.Execute then
begin
config:=openCfgDlg.FileName;
cfgovpn.Caption:=config;
am;
end;
8. Klik 2x pada button stop, kemudian masukan kode ini
KillTask(‘openvpn.exe’);
stopvpn.Visible:=false;
startvpn.Visible:=true;
Load.Enabled:=true;
EdtVpnUser.Enabled:=true;
EdtVpnPass.Enabled:=true;
Mvpn.Clear;
9. Kemudian klik 2x pada Mvpn, kemudian masukan kode di bawah ini
SendMessage(Mvpn.Handle, EM_LINESCROLL, 0,Mvpn.Lines.Count);
SendMessage(Mvpn.Handle, EM_LINESCROLL, 0,Mvpn.Lines.Count);
if pos(‘TCP/UDP: Closing socket’,Mvpn.Text) >0 then begin
Mvpn.clear;
end; //
if pos(‘Enter Auth Username:’,Mvpn.Text) >0 then begin
startvpn.Caption:=’Start’;
load.Enabled:= True;
bsSkinMessage1.MessageDlg(‘config Ovpn meminta Anda untuk mengisi Username dan password..!’,mtInformation,[mbok],0);
end;
if pos(‘process exiting’,Mvpn.Text) >0 then begin
startvpn.Caption:=’Start’;
load.Enabled:= True;
end;
if pos(‘process exiting’,Mvpn.Text) >0 then begin
startvpn.ButtonClick;
startvpn.Caption:=’Stop’;
load.Enabled:= False;
end;
// if pos(‘Initialization Sequence Completed’,Mvpn.Text) >0 then begin
// AddSysTrayIcon;
// ShowBalloonTips;
// end;
end;
10. Klik 2x pada useproji, kemudian masukan kode di bawah ini
if useproji.Checked = true then begin
EdtVpnProxy.Enabled:=True;
EdtVpnPort.Enabled:=true;
useproji2.Checked:=false;
noproji.Checked:=false;
end;
if useproji.Checked = False then begin
end;
11. Klik 2x pada useprohi2, kemudian masukan kode di bawah ini
if useproji2.Checked = true then begin
useproji.Checked:=false;
noproji.Checked:=false;
EdtVpnProxy.Enabled:=true;
EdtVpnPort.Enabled:=true;
end;
if useproji2.Checked = False then begin
end;
12. Klik 2x pada noproji, kemudian masukan kode di bawah ini
if noproji.Checked = true then begin
useproji.Checked:=false;
useproji2.Checked:=false;
EdtVpnProxy.Enabled:=false;
EdtVpnPort.Enabled:=false;
end;
13. Kembali ke Form1-Event-OnClose, kemudian masukan kode di bawah ini
var
F: TextFile;
begin
Simpanconfig( ExtractFilePath(Application.ExeName) + ‘data\User.cfg’ );
//KillTask(‘openvpn.exe’);
AssignFile(F, ‘data\pass.txt’);
Rewrite(F);
WriteLn(F, EdtVpnUser.Text);
WriteLn(F, EdtVpnPass.Text);
CloseFile(F);
14. Masih di Form1-Event kali ini pilih di On Destroy, kemudian masukan kode di bawah ini
Simpanconfig( ExtractFilePath(Application.ExeName) + ‘data\User.cfg’ );
KillTask(‘openvpn.exe’);
15. Klik 2x pada Button Edit, kemudian masukan kode di bawah ini.
OpenAsTextFile(load.Hint);
16. Silahkan save kemudian compile projectnya, kemudian test Run.
Download Folder Project Openvpn Diatas : Coding & Project Openvpn.rar
Tag : Source Code Tunnel Openvpn di Delphi 7, download Code Program Openvpn delphi.

Tidak ada komentar :

Posting Komentar

Leave A Comment...

© Cara Menghilangkan m=1 di URL Blogger Terbaru | Ulasanesia Artikel ini telah terbit di ulasanesia, cantumkan URL di bawah ini agar terhindar dari pelanggaran hak cipta https://www.ulasanesia.com/2024/01/cara-menghilangkan-m1-di-url-blogger.html