Home » Delphi, Networking » Script Code Agar PLink dari Putty Bisa Menggunakan Proxy

Script Code Agar PLink dari Putty Bisa Menggunakan Proxy

Script Code Agar PLink dari Putty Bisa Menggunakan Proxy

Kali ini akan share source code delphi agar Plink bisa support proxy. Kode ini sama persis dengan yang saya terapkan pada software GO-PLink yang telah saya posting sebelumnya. Berhubung banyak yang bertanya dan penasaran, bagaimana sih agar PLink bisa bekerja menggunakan proxy? maka, kali ini saya sempatkan untuk men-share-nya. :D

Contoh command string untuk menjalankan PLink pada delphi :

CMD1:=extractfilepath(application.exename)+’Plink.exe -v -N -C -D 1080 ‘ +username+ ‘@’ +host+ ‘ -P ‘ +porthost+ ‘ -pw ‘ +password;
DosCommand1.CommandLine:=CMD1;
DosCommand1.Execute;

Pada intinya, agar PLink bisa bekerja menggunakan proxy atau tanpa via proxy yaitu dengan mengatur session pada system registry putty, tidak ada options settingan proxy di dalam command PLink di atas. Jadi mau menjalankan PLink via proxy atau enggak commandnya tetep seperti contoh di atas, melainkan yang harus kita set adalah registry puttynya. Meskipun disini tanpa menggunakan Putty, tapi kita tetap membutuhkan registry putty.

Kita lihat lagi screenshot GO-Plink :

source-go-plink.png

Inti cara kerja GO-PLink di atas, kalau options enable proxy kita check (centang), kita menjalankan PLink via proxy. Jadi ketika tombol start ditekan, sebelum menjalankan command PLink terlebih dahulu membuat sessions host pada registry yang intinya proxy enable. Dan sebaliknya, ketika option enable proxy kita uncheck, kita ingin menjalankan PLink direct tanpa via proxy. Jadi ketika tombol start start ditekan, sebelum menjalankan command PLink, session host pada registry kita set proxy disabled.

Berikut sorce codenya :

procedure TForm1.startBtnClick(Sender: TObject);
var
Reg: TRegistry;
Path: String;
cmd1: String;
proxymetode: Integer;
proxy: string;

begin

begin

username:=usernameTxt.Text ;
password:=passwordTxt.Text;
host:=hostTxt.Text;
porthost:=porthostTxt.Text;
proxy:=proxyTxt.Text;
portproxy:=portproxyTxt.Text;
saveBtn.Enabled := false;
exitBtn.Enabled := false;
stopBtn.Enabled := true;
startBtn.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(‘ProxyPort’, strToInt(portproxy));
WriteString(‘Cipher’, ‘blowfish’);
End;
End;
Finally
Reg.closekey;
Reg.Free;
End;

CMD1:=extractfilepath(application.exename)+’Plink.exe -v -N -C -D 1080 ‘ +username+ ‘@’ +host+ ‘ -P ‘ +porthost+ ‘ -pw ‘ +password;
DosCommand1.CommandLine:=CMD1;
DosCommand1.Execute;
end;
end;

Screenshoot sessions registry putty menggunakan source code di atas (proxy enable, proxymetode:=3) :

plink-enable-proxy.png

Screenshoot sessions registry putty menggunakan source code di atas (proxy disable, proxymetode:=0) :

plink-disable-proxy.png

Seperti itulah bedanya.

Nah, jika ingin sessions host hilang saat tombol stop atau exit ditekan, seperti ini codenya :

procedure TForm1.stopBtnClick(Sender: TObject);

var
Reg: TRegistry;
Path: String;

begin
startBtn.Enabled := true;
stopBtn.Enabled := false;
exitBtn.Enabled := true;
saveBtn.Enabled := true;
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;
end;


Silahkan dicoba dan dikembangkan sendiri-sendiri ya, gimana enaknya. :D Hanya seperti itu versi saya yang saya terapkan di software GO-PLink. Mungkin agan-agan bisa lebih mengembangkan dan menyempurnakannya lagi. :)

Semoga Bermanfaat

Sing podo digolek'i :

bolt injector apk, cara menggunakan http injector tanpa root, cara menggunakan tapvpn, auto proxy apk tanpa root, remote proxy indosat, tidak dapat terhubung ke host, remote proxy telkomsel, remote proxy smartfren, payload smartfren, ehi unlocker pro

[ DOWNLOAD Script Code Agar PLink dari Putty Bisa Menggunakan Proxy ]

Related Posts To "Script Code Agar PLink dari Putty Bisa Menggunakan Proxy"

Tags: , ,

This entry was posted on Thursday, November 6th, 2014 at 9:15 pm and is filed under Delphi, Networking. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

9 Responses to “Script Code Agar PLink dari Putty Bisa Menggunakan Proxy”

aska November 14th, 2014 at 9:22 pm

makasih banyak mas yono , saya coba build tapi belum bisa , pertanyaan saya , komponen apa saja yang diperlukan , uses apa aja ? bagi pemula bener2 bingung mas. kalau bisa share saosnya =D . Trims

Floydian November 16th, 2014 at 2:40 am

melu belaajar mas dab

cenalcenul November 20th, 2014 at 10:37 pm

nyoba buat sendiri gagal

cenalcenul November 20th, 2014 at 10:38 pm

banyak sekali yang eror
kalau boleh ada source code. mas yono
maklum tidak ada basic IT

WENDI November 21st, 2014 at 1:48 am

pagi bang,
terima kasih untuk GO-PLink nya :beer
mau lapor dikit bug,
1. pertama koneksi kadang muncul peringatan
di kolom koneksi cannot find ip, yang ternyata
ip nya jadi ada spasinya (eg. 128. 119.xx. xx)
namun setelah di stop dan start, ok lagi.
2. sama seperti diatas tapi keluar peringatan
window gitu.
3. kadang terputus, namun signal, keadaan modem,
kompi stabil, tapi kadang2 aja sih.. =)
4. oiya bang, bisa dibuatkan untuk 2 koneksi
login, seperti bitvise, 1 SSH-2 multi login.
hehe. =)

thanks berat ya bang.

cenalcenul November 21st, 2014 at 11:57 pm

boleh bagi yang sudah jadi bang,
saya buat eror terus

Adi December 1st, 2014 at 1:10 pm

Mas, saya mau tanya kenapa Putty sering hang dan tidak support semua SSH ? Hanya bisa dipakai untuk SSH Singapura dan Amerika.

gundol December 4th, 2014 at 1:27 am

kalau mau auto reconnect gmn ya.. thanks

Asep December 6th, 2014 at 4:55 pm

Maaf masyono kalo boleh sama Script Code buat auto reconnect nya dong…? makasih

Leave a Reply