pada kesempatan kali ini saya akan share tentang bagaimana Cara Membuat Plink & Auto Reconnet Dengan Delphi7 Enterprise, plink adalh sebuah tools pengganti bitvise yang akhir2 ini banyak di gunakan para grontonger untuk menjalankan SSh nya *0*
silahkan di simak dengan teliti aja bro :)
berikut adalah langkah2 nya:
- Buka Program Delphi 7 anda
- Tambahkan (6) Edit, (6) Label, (1) CheckBox, (2) Button, (2) Memo, (2) DosCommand, (2) RadioButton
- Ubah semua caption dan text seperti dibawah ini
- Sekarang tambahkan ShellAPI, Registry, Tlhelp32 pada USES
- Masukan Script Code dibawah ini ke VAR tepatnya diatas 'implementation'cmd1: String;cmd2: String;UserName,password,porthost,host,portproxy:string;
- Masukan Script Function dibawah ini ke {$R *.dfm}function KillTask(ExeFileName: string): Integer;constPROCESS_TERMINATE = $0001;varContinueLoop: BOOL;FSnapshotHandle: THandle;FProcessEntry32: TProcessEntry32;beginResult := 0;FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);FProcessEntry32.dwSize := SizeOf(FProcessEntry32);ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32);while Integer(ContinueLoop) <> 0 dobeginif ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =UpperCase(ExeFileName)) or (UpperCase(FProcessEntry32.szExeFile) =UpperCase(ExeFileName))) thenResult := Integer(TerminateProcess(OpenProcess(PROCESS_TERMINATE,BOOL(0),FProcessEntry32.th32ProcessID),0));ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);end;CloseHandle(FSnapshotHandle);end;
- Sekarang Double Clik Tombol Login, kemudian copy Script Code dibawah inivarReg: TRegistry;Path: String;proxymetode: Integer;proxy: string;Proxifier,plinkplonk : string;beginif RadioButton1.Checked then beginProxifier:='Proxifier\Proxifier.exe';plinkplonk:='Proxifier\Profiles\Multi-Plink-KalemSITE.ppx silent-load'; //1 adalah nama profile proxifiershellexecute(handle,'open',pchar(Proxifier),pchar(plinkplonk),nil,SW_HIDE);host:=Edit1.Text; // untuk host akun sshporthost:=Edit2.Text; // untuk port aku sshusername:=Edit3.Text ; // untuk username akun sshpassword:=Edit4.Text; // untuk password akun sshproxy:=Edit5.Text; // untuk proxy 127.0.0.1portproxy:=Edit6.Text; // untuk listen port injectButton2.Enabled := true;Button1.Enabled := false;edit1.Enabled:=false;edit2.Enabled:=false;edit3.Enabled:=false;edit4.Enabled:=false;edit5.Enabled:=false;edit6.Enabled:=false;RadioButton1.Enabled:=false;RadioButton2.Enabled:=false;CheckBox1.Enabled:=false;if CheckBox1.Checked thenproxymetode:=3elsebeginproxymetode:=0;end;Reg := Tregistry.CReate;trywith Reg dobeginRootKey:=HKEY_CURRENT_USER;Path := '\Software\SimonTatham\PuTTY\Sessions\'+host;If Not KeyExists(Path) ThenBeginOpenKey(Path,True);WriteInteger('Present', 1);WriteString('HostName', host);WriteInteger('PortNumber', strToInt(porthost));WriteInteger('PingInterval', 0);WriteInteger('PingIntervalSecs', 10);WriteInteger('TCPNoDelay', 1);WriteInteger('TCPKeepalives', 1);WriteInteger('ProxyMethod', proxymetode);WriteString('ProxyHost', proxy);WriteInteger('ProxyPort', strToInt(portproxy));WriteString('Cipher', 'blowfish');End elseBeginOpenKey(Path,False);WriteInteger('Present', 1);WriteString('HostName', host);WriteInteger('PortNumber', strToInt(porthost));WriteInteger('PingInterval', 0);WriteInteger('PingIntervalSecs', 10);WriteInteger('TCPNoDelay', 1);WriteInteger('TCPKeepalives', 1);WriteInteger('ProxyMethod', proxymetode);WriteString('ProxyHost', proxy);WriteInteger('ProxyPor', strToInt(portproxy));WriteString('Cipher', 'blowfish');End;End;FinallyReg.closekey;Reg.Free;End;CMD1:=extractfilepath(application.exename)+'Plink.exe -v -N -C -D 1 ' +username+ '@' +host+ ' -P ' +porthost+ ' -pw ' +password; //1080 adl Port di Bitvise atau PLINK-nyaDosCommand1.CommandLine:=CMD1;DosCommand1.OutputLines := Memo1.Lines;DosCommand1.Execute;end;if RadioButton2.Checked then beginProxifier:='Proxifier\Proxifier.exe';plinkplonk:='Proxifier\Profiles\Multi-Plink-KalemSITE.ppx silent-load'; //1 adalah nama profile proxifiershellexecute(handle,'open',pchar(Proxifier),pchar(plinkplonk),nil,SW_HIDE);host:=Edit1.Text; // untuk host akun sshporthost:=Edit2.Text; // untuk port aku sshusername:=Edit3.Text ; // untuk username akun sshpassword:=Edit4.Text; // untuk password akun sshproxy:=Edit5.Text; // untuk proxy 127.0.0.1portproxy:=Edit6.Text; // untuk listen port injectButton2.Enabled := true;Button1.Enabled := false;edit1.Enabled:=false;edit2.Enabled:=false;edit3.Enabled:=false;edit4.Enabled:=false;edit5.Enabled:=false;edit6.Enabled:=false;RadioButton1.Enabled:=false;RadioButton2.Enabled:=false;CheckBox1.Enabled:=false;if CheckBox1.Checked thenproxymetode:=3elsebeginproxymetode:=0;end;Reg := Tregistry.CReate;trywith Reg dobeginRootKey:=HKEY_CURRENT_USER;Path := '\Software\SimonTatham\PuTTY\Sessions\'+host;If Not KeyExists(Path) ThenBeginOpenKey(Path,True);WriteInteger('Present', 1);WriteString('HostName', host);WriteInteger('PortNumber', strToInt(porthost));WriteInteger('PingInterval', 0);WriteInteger('PingIntervalSecs', 10);WriteInteger('TCPNoDelay', 1);WriteInteger('TCPKeepalives', 1);WriteInteger('ProxyMethod', proxymetode);WriteString('ProxyHost', proxy);WriteInteger('ProxyPort', strToInt(portproxy));WriteString('Cipher', 'blowfish');End elseBeginOpenKey(Path,False);WriteInteger('Present', 1);WriteString('HostName', host);WriteInteger('PortNumber', strToInt(porthost));WriteInteger('PingInterval', 0);WriteInteger('PingIntervalSecs', 10);WriteInteger('TCPNoDelay', 1);WriteInteger('TCPKeepalives', 1);WriteInteger('ProxyMethod', proxymetode);WriteString('ProxyHost', proxy);WriteInteger('ProxyPor', strToInt(portproxy));WriteString('Cipher', 'blowfish');End;End;FinallyReg.closekey;Reg.Free;End;CMD1:=extractfilepath(application.exename)+'Plink.exe -v -N -C -D 1 ' +username+ '@' +host+ ' -P ' +porthost+ ' -pw ' +password; //1080 adl Port di Bitvise atau PLINK-nyaDosCommand1.CommandLine:=CMD1;DosCommand1.OutputLines := Memo2.Lines;DosCommand1.Execute;CMD2:=extractfilepath(application.exename)+'Plink.exe -v -N -C -D 2 ' +username+ '@' +host+ ' -P ' +porthost+ ' -pw ' +password; //1080 adl Port di Bitvise atau PLINK-nyaDosCommand2.CommandLine:=CMD2;DosCommand2.OutputLines := Memo2.Lines;DosCommand2.Execute;end;
- Lanjut Double Click Tombol Logout, dan masukan Script Code dibawah ini lagivarReg: TRegistry;Path: String;host:string;beginedit1.Enabled:=true;edit2.Enabled:=true;edit3.Enabled:=true;edit4.Enabled:=true;edit5.Enabled:=true;edit6.Enabled:=true;memo1.Enabled:=true;memo2.Enabled:=true;Killtask('Proxifier.exe');Button1.Enabled := true;Button2.Enabled := false;Memo1.Clear;Memo2.Clear;Reg := Tregistry.CReate;trywith Reg dobeginRootKey:=HKEY_CURRENT_USER;Path := '\Software\SimonTatham\PuTTY\Sessions\'+host;If Not KeyExists(Path) ThenBeginDeleteKey(Path);End elseBeginDeleteKey(Path);End;End;FinallyReg.closekey;Reg.Free;end;
- Saatnya kita memasang Auto Reconect pada Project yang dibuat, caranya Double Click pada Komponen DosCommand1 kemudian masukan Script Code Berikutif (pos('network error',NewLine)>0) or (pos('FATAL ERROR',NewLine)>0) thenbeginMemo1.Clear;Sleep($0001);CMD1:=extractfilepath(application.exename)+'Plink.exe -v -N -C -D 1 ' +username+ '@' +host+ ' -P ' +porthost+ ' -pw ' +password; //1080 adl Port di Bitvise atau PLINK-nyaDosCommand1.CommandLine :=CMD1;DosCommand1.OutputLines := Memo1.Lines;DosCommand1.Execute;end;Memo1.Lines.Add(newline);
- Lakukan hal yang sama yaitu Double Click DosCommand2, masukan Script Code berikutif (pos('network error',NewLine)>0) or (pos('FATAL ERROR',NewLine)>0) thenbeginMemo2.Clear;Sleep($0001);CMD2:=extractfilepath(application.exename)+'Plink.exe -v -N -C -D 2 ' +username+ '@' +host+ ' -P ' +porthost+ ' -pw ' +password; //1080 adl Port di Bitvise atau PLINK-nyaDosCommand2.CommandLine :=CMD2;DosCommand2.OutputLines := Memo2.Lines;DosCommand2.Execute;end;Memo2.Lines.Add(newline);
- Silahkan Download Folder Tunnel Multi Plink disini
- Extract Folder Tunnel Multi Plink ke "C:\Program Files (x86)\Borland\Delphi7\Projects(Extract Here)" inti dari semua ini harus 1 folder sama Project Multi Plink yg dibuat.
- Cek terlebih dahulu semua Script Code nya untuk memastikan ada yang Error ataupun Tidak, dengan cara Menu Project > Syntac Text Project
- Jika tidak ada notif Error maka lanjut dengan Save All & Build All ProjectSave Project kamu ke "C:\Program Files (x86)\Borland\Delphi7\Projects(Extract Here)" inti dari semua ini harus 1 folder sama Project Multi Plink yg dibuat.
Save All
- Saatnya untuk uji coba, dan berhasil terlihat seperti gambar dibawah
- Biar Memo1 dan 2 bisa Auto Scroll lihat gambar berikut
- Lakukan Save All & Build All Project setiap ada perubahan pada Project
Itulah Tutorial Cara Membuat Tunnel Multi Plink & Auto Reconnect Di Delphi, jika ada pertanyaan atau kesalahan dalam penulisan panduan ini, silahkan tinggalkan komentar anda pada artikel ini.
sumber post:http://www.kalemsite.com/