09 February 2016

Cara Membuat SSH Simple Dengan Delphi

Sekarang pada postingan kali ini saya akan mencoba untuk membuat aplikasi dimana aplikasi ini bisa untuk menjalankan bitvise dan juga bagaimana agar sebagian profilenya bisa saya isi dengan perintah delphi dan juga bisa autlogin pada saat di start.
Mungkin teman-teman ada yang belum tahu apa fungsi dan kegunaan dari bitvise tersebut teman-teman bisa membacanya di web resminya bitvise,dan untuk penyetingannya bitvise bisa teman-teman baca dipostingan saya sebelumnya,untuk itu postingan ini saya kasih judul dengan Membuat SSH Simple.

Persiapan

Pada dasarnya bitvise ini ada dua versi yaitu versi instal dan satunya lagi versi portable,disini saya akan mencoba membuat dengan versi yang instal untuk itu persiapkan atau download dahulu  bitvise versi install pada pc dan juga download proxifiernya karena saya akan coba sekaligus untuk bisa menjalankan proxifier tersebut.
Setelah di download kemudian install bitvise dan proxifier tersebut kemudian cari dimana lokasi hasil install dari kedua aplikasi tersebut berada setelah di install, karena disini saya menggunakan OS Windows 64 Bit maka kedua aplikasi tersebut berada pada directory 'C:\Program Files (x86)\Bitvise SSH Client\BvSsh.exe' dan 'C:\Program Files (x86)\Proxifier\Proxifier.exe'.

Langkah Pembuatan

Setelah selesai penginstalan kedua aplikasi tersebut dan sudah didapatkan path atau directory nya kemudian saya buka aplikasi delphinya dan buat project baru kemudian saya coba untuk save dahulu project baru tersebut karena pada project baru tersebut saya akan menambahkan satu folder untuk profile bitvise dan proxifier.

menambahkan profile bitvise dan proxifier
Menambahkan Profile Bitvise dan Proxifier

Kemudian saya kembali lagi ke project dan pada form yang baru saya coba tambahkan beberapa komponen yaitu
1. 2 buah Groupbox.
2. 6 buah Label.
3. 6 buah Edit.
4. 3 buah Button.
Dan saya coba posisikan atau tempatkan tiap-tiap komponen tersebut sehingga tampak seperti gambar di bawah ini

menambahkan komponen pada form dan memposisikan tata letaknya
Menambahkan Beberapa Komponen Pada Form

Source Code

Setelah selesai menempatkan komponen saya lanjutkan untuk ke bagian kode dimana button1 disini saya akan fungsikan untuk menyimpan setingan akun untuk bitvise kemudian button2 akan difungsikan untuk menjalankan bitvise dan proxifier dan button3 akan saya fungsikan untuk menghentikan atau mengeluarkan bitvise dan proxifier.

Penambahan Unit

Dalam pembuatan project ini saya harus menambahkan beberapa unit dalam uses dimana unit tersebut adalah untuk membuat function killtas kemudian unit untuk menyimpan dan satu unnit lagi untuk menjalankan aplikasi bitvise dan proxifier.Untuk itu dalam pembuatan project ini alangkah lebih baik membaca terlebih dahulu postingan berikut dibawah ini


Untuk itu unit yang saya tambahkan adalah IniFiles, ShellAPI dan TLHelp32.

Membuat Function Killtask

Langkah yang pertama saya lakukan adalah pembuatan function killtask yaitu untuk menutup aplikasi bitvise dan proxifier dalam project ini,dimana untuk cara membuatnya telah saya posting sebelumnya pada judul Cara Membuat Killtask.

Kode Formcreate

Setelah membuat function saya coba klik 2X pada form untuk membuat procedure daripada formcreate yang mana pembuatan procedure ini adalah supaya pada saat kita buka aplikasi ssh simple ini bisa membaca atau meload config yang telah disave sebelumnya.Sebelum pada procedure formcreate saya coba tambahkan config: TIniFile dibawah Form1: TForm1,kemudian lanjut ke procedure formcreate dimana procedurenya menjadi seperti dibawah ini
procedure TForm1.FormCreate(Sender: TObject);
begin
  Config := TIniFile.Create(ExtractFilePath(Application.ExeName)+ 'Profile\Config.ini');
  try
  Edit1.Text := Config.ReadString('CONFIG', 'Host', Edit1.Text);
  Edit2.Text := Config.ReadString('CONFIG', 'Port', Edit2.Text);
  Edit3.Text := Config.ReadString('CONFIG', 'User', Edit3.Text);
  Edit4.Text := Config.ReadString('CONFIG', 'Pass', Edit4.Text);
  CheckBox1.Checked := Config.ReadBool('CONFIG', 'Uproxy', CheckBox1.Checked);
  Edit5.Text := Config.ReadString('CONFIG', 'Lproxy', Edit5.Text);
  Edit6.Text := Config.ReadString('CONFIG', 'Lport', Edit6.Text);
  finally
  Config.Free;
  end;
end;

Kode Button Save

Kemudian lanjut ke pembuatan procedure save atau untuk menyimpan disini button1 saya buat untuk tombol save tersebut saya klik 2X button save tersebut kemudian saya buat procedurenya seperti berikut
procedure TForm1.Button1Click(Sender: TObject);
begin
  Config := TIniFile.Create(ExtractFilePath(Application.ExeName)+ 'Profile\Config.ini');
  try
  Config.WriteString('CONFIG', 'Host', Edit1.Text);
  Config.WriteString('CONFIG', 'Port', Edit2.Text);
  Config.WriteString('CONFIG', 'User', Edit3.Text);
  Config.WriteString('CONFIG', 'Pass', Edit4.Text);
  Config.WriteBool('CONFIG', 'Uproxy', CheckBox1.Checked);
  Config.WriteString('CONFIG', 'Lproxy', Edit5.Text);
  Config.WriteString('CONFIG', 'Lport', Edit6.Text);
  finally
  Config.Free;
  end;
end;

Kode Button Start

Saya lanjut lagi untuk pembuatan procedure button Start dimana disini button2 saya buat untuk button start dan saya klik 2X button start tersebut kemudian saya buat procedure nya seperti berikut ini
procedure TForm1.Button2Click(Sender: TObject);
var
  bitvise, loginSSH, profSSH, host, port, user, pass: String;
  lproxy, lport: String;
  pf, profPf: String;
begin
  host := Edit1.Text;
  port := Edit2.Text;
  user := Edit3.Text;
  pass := Edit4.Text;
  lproxy := Edit5.Text;
  lport := Edit6.Text;
  if CheckBox1.Checked then
  begin
    loginSSH := ' -host='+host+' -port='+port+' -user='+user+' -password='+pass+
                ' -proxy=y -proxyType=HTTP -proxyServer='+lproxy+' -proxyPort='+lport+' -loginOnStartup -menu=small';
  end
    else begin
      loginSSH := ' -host='+host+' -port='+port+' -user='+user+' -password='+pass+' -proxy=n -loginOnStartup -menu=small';
      end;
  bitvise := 'C:\Program Files (x86)\Bitvise SSH Client\BvSsh.exe';
  profSSH := ' -profile=Profile\ssh.bscp'+loginSSH;
  pf := 'C:\Program Files (x86)\Proxifier\Proxifier.exe';
  profPf := 'Profile\ssh.ppx silent-load';
  ShellExecute(Handle, 'open', PAnsiChar(bitvise), PAnsiChar(profSSH), nil, SW_HIDE);
  ShellExecute(Handle, 'open', PAnsiChar(pf), PAnsiChar(profPf), nil, SW_HIDE);
end;

Kode Button Stop

Dan yang terakhir lanjut ke button Stop dimana disini button3 saya buat sebagai button stop dan untuk membuat procedure nya saya klik 2X button stop tersebut kemudian saya buat procedurenya seperti ini
procedure TForm1.Button3Click(Sender: TObject);
begin
  KillTask('BvSsh.exe');
  KillTask('Proxifier.exe');
end;
Setelah itu saya kira semua kode sudah siap dan saya coba dengan mengklik Run pada menu atau bisa juga dengan menekan F9 pada keyboard dan coba jalankan aplikasi tersebut kemudian saya tes dari pada semua tombol save,start dan stop ternyata semua sesuai dengan apa yang saya inginkan dengan kata lain project ini success

tes running project ssh simple
Tes Run Project  Ssh Simple

Demikianlah untuk postingan kali ini tentang cara membuat SSH SIMPLE menurut experiment saya semoga postingan ini bermanfaat bagi teman-teman yang ingin mencoba membuat juga dan semoga teman-teman bisa mengembangkannya.Nantikan lagi experiment saya selanjutnya oke sukses selalu.

Salam Blogger And Happy Coding.

No comments:

Post a Comment