-->

27 Juli 2015

Cara Membuat Plink & Auto Reconnet Dengan Delphi7 Enterprise 2015


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:
  1. Buka Program Delphi 7 anda
  2. Tambahkan (6) Edit, (6) Label, (1) CheckBox, (2) Button, (2) Memo, (2) DosCommand, (2) RadioButton
  3. Ubah semua caption dan text seperti dibawah ini
  4. Sekarang tambahkan ShellAPI, Registry, Tlhelp32 pada USES
  5. Masukan Script Code dibawah ini ke VAR tepatnya diatas 'implementation'
    cmd1: String;
    cmd2: String;
    UserName,password,porthost,host,portproxy:string;
  6. Masukan Script Function dibawah ini ke {$R *.dfm}
    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;
  7. Sekarang Double Clik Tombol Login, kemudian copy Script Code dibawah ini
    var
    Reg: TRegistry;
    Path: String;
    proxymetode: Integer;
    proxy: string;
    Proxifier,plinkplonk : string;
    begin
    if RadioButton1.Checked then begin
    Proxifier:='Proxifier\Proxifier.exe';
    plinkplonk:='Proxifier\Profiles\Multi-Plink-KalemSITE.ppx silent-load'; //1 adalah nama profile proxifier
    shellexecute(handle,'open',pchar(Proxifier),pchar(plinkplonk),nil,SW_HIDE);
    host:=Edit1.Text; // untuk host akun ssh
    porthost:=Edit2.Text; // untuk port aku  ssh
    username:=Edit3.Text ; // untuk username akun ssh
    password:=Edit4.Text; // untuk password akun ssh
    proxy:=Edit5.Text; // untuk proxy 127.0.0.1
    portproxy:=Edit6.Text; // untuk listen port inject
    Button2.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 then
    proxymetode:=3
    else
    begin
    proxymetode:=0;
    end;
    Reg := Tregistry.CReate;

    try
    with Reg do
    begin
    RootKey:=HKEY_CURRENT_USER;
    Path := '\Software\SimonTatham\PuTTY\Sessions\'+host;

    If Not KeyExists(Path) Then
    Begin
    OpenKey(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 else
    Begin
    OpenKey(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;
    Finally
    Reg.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-nya
    DosCommand1.CommandLine:=CMD1;
    DosCommand1.OutputLines := Memo1.Lines;
    DosCommand1.Execute;
    end;
    if RadioButton2.Checked then begin
    Proxifier:='Proxifier\Proxifier.exe';
    plinkplonk:='Proxifier\Profiles\Multi-Plink-KalemSITE.ppx silent-load'; //1 adalah nama profile proxifier
    shellexecute(handle,'open',pchar(Proxifier),pchar(plinkplonk),nil,SW_HIDE);
    host:=Edit1.Text; // untuk host akun ssh
    porthost:=Edit2.Text; // untuk port aku  ssh
    username:=Edit3.Text ; // untuk username akun ssh
    password:=Edit4.Text; // untuk password akun ssh
    proxy:=Edit5.Text; // untuk proxy 127.0.0.1
    portproxy:=Edit6.Text; // untuk listen port inject
    Button2.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 then
    proxymetode:=3
    else
    begin
    proxymetode:=0;
    end;
    Reg := Tregistry.CReate;

    try
    with Reg do
    begin
    RootKey:=HKEY_CURRENT_USER;
    Path := '\Software\SimonTatham\PuTTY\Sessions\'+host;

    If Not KeyExists(Path) Then
    Begin
    OpenKey(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 else
    Begin
    OpenKey(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;
    Finally
    Reg.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-nya
    DosCommand1.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-nya
    DosCommand2.CommandLine:=CMD2;
    DosCommand2.OutputLines := Memo2.Lines;
    DosCommand2.Execute;
    end;
  8. Lanjut Double Click Tombol Logout, dan masukan Script Code dibawah ini lagi
    var
    Reg: TRegistry;
    Path: String;
    host:string;
    begin
    edit1.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;
    try
    with Reg do
    begin
    RootKey:=HKEY_CURRENT_USER;
    Path := '\Software\SimonTatham\PuTTY\Sessions\'+host;
    If Not KeyExists(Path) Then
    Begin
    DeleteKey(Path);
    End else
    Begin
    DeleteKey(Path);
    End;
    End;
    Finally
    Reg.closekey;
    Reg.Free;
    end;
  9. Saatnya kita memasang Auto Reconect pada Project yang dibuat, caranya Double Click pada Komponen DosCommand1 kemudian masukan Script Code Berikut
    if (pos('network error',NewLine)>0) or (pos('FATAL ERROR',NewLine)>0) then
    begin
    Memo1.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-nya
    DosCommand1.CommandLine :=CMD1;
    DosCommand1.OutputLines := Memo1.Lines;
    DosCommand1.Execute;
    end;
    Memo1.Lines.Add(newline);
  10. Lakukan hal yang sama yaitu Double Click DosCommand2, masukan Script Code berikut
    if (pos('network error',NewLine)>0) or (pos('FATAL ERROR',NewLine)>0) then
    begin
    Memo2.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-nya
    DosCommand2.CommandLine :=CMD2;
    DosCommand2.OutputLines := Memo2.Lines;
    DosCommand2.Execute;
    end;
    Memo2.Lines.Add(newline);
  11. Silahkan Download Folder Tunnel Multi Plink disini
  12. 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.
  13. Cek terlebih dahulu semua Script Code nya untuk memastikan ada yang Error ataupun Tidak, dengan cara Menu Project > Syntac Text Project
  14. Jika tidak ada notif Error maka lanjut dengan Save All & Build All Project
    Save 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

  15. Saatnya untuk uji coba, dan berhasil terlihat seperti gambar dibawah
  16. Biar Memo1 dan 2 bisa Auto Scroll lihat gambar berikut
  17. 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/
NEXT ARTICLE Next Post
PREVIOUS ARTICLE Previous Post
NEXT ARTICLE Next Post
PREVIOUS ARTICLE Previous Post
 

Ads3

Delivered by FeedBurner