IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  sohbet

 Kayıt ol  Topluluk
4Beğeni(ler)
  • 4 Post By L4roXyL

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 26 Haziran 2012, 23:46   #1
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
FTP Upload v0.2a




Yazan: L4roXyL - Hasan AYDENİZ
Kod: FTP Upload v0.2a
Tarih: 20/11/2011
Not: [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] dökümanıdır.

Hawkee-deki konuya [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] bakabilirsiniz. (ingilizcedir)


Açıklama: Kodun çalışma şekli, Türkiye'de her yerde bilinen ve kullanılan (ezbere tek yol olarak bilinen) /write sistemi ile değildir. Tamamen socket bağlantı, FTP Raw Command-ları ve ftp passive(pasif modda) işlev yaptırarak, işlem yapılır. Yetkiniz dahilindeki herhangi bir FTP sunucusuna istediğiniz dosyayı yükleyebilirsiniz. Aynı zamanda meraklısına iki farklı kullanım şekli sundum. İsteyen dialog-tablo üzerinden, isteyen direkt komut girerek custom-window üzerinden kodu çalıştırabilir. Kod içerisinde Binary files dosya işleme sistemini kullandım.(file handling ilede yapılabilir) Ek olarak upload edilecek dosya, boyutuna göre parça transfer etme işlemini 3 parçaya böldüm. Kısacası düşük boyutlu dosyalar ile yüksek boyutlu dosyaları upload ederken, hız konusunda herhangi bir sıkıntı yaşanmayacaktır.

Ek açıklama: Custom window-da dosya upload ederken, sonlandırmak için pencereyi kapatın veya Pause/Break tuşuna basın.

Kullanım şekli: /sendfile <d(ialog)|c(ommand)> <address> <username> <password> <dizin> <port>
Dialog için: /sendfile d
Pencere için: /sendfile c <address> <username> <password> <dizin> <port>
Pencere örnek: /sendfile c mircscripting.net kullanıcı_adım şifrem /
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
21


Dialog menüsü resmi:


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.



Custom window resmi:


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.



-

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
;----------------------------------------------------------------------------------- ;FTP upload v0.2a ;l4roxyl code series - 2011,,. ;date: 20/11/2011 ;use: /sendfile <d(ialog)|c(ommand)> <address> <username> <password> <dizin> <port> ;----------------------------------------------------------------------------------- ;started code alias -l _input $iif($input($1-,wo,Hata) = $true,,) | dialog -v ftp_ | halt alias _did $iif($dialog(ftp_),did -ra ftp_ 15,$iif($window(@ftp_upload),aline -c2 $v1 +++)) $1- alias _len if ($len($1-) >= 20) { return $left($1-,20) $+ .. } | else return $1- alias _did2 if ($dialog(ftp_)) did - $+ $1 ftp_ 5-9,13,14 alias _file_byte { var %_. = $file($1).size if (%_. < 1048576) return 9182 if (%_. > 1048576 && %_. < 3145728) return 18364 if (%_. > 3145728) return 55092 } on *:keydown:@ftp_upload:*: { if ($keyval = 19) { $iif($sock(ftp),sockclose ftp) $iif($sock(ftp2),sockclose ftp2) $iif($hget(_ftp),hfree _ftp) unset %_sfile window -c $target } } on *:load: { var %e = echo -ac info +++ %e FTP Upload v0.2a yüklendi. %e Kullanım: /sendfile <d(ialog)|c(ommand)> <address> <username> <password> <dizin> <port> %e Dialog için: /sendfile d %e Pencere için: /sendfile c <address> <username> <password> <dizin> <port> %e Pencere örnek: /sendfile c mircscripting.net kullanıcı_adım şifrem /public_ftp 21 linesep %e l4roxyl(Hasan AYDENİZ) -
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
20/11/2011 } on *:close:@ftp_upload: { $iif($sock(ftp),sockclose ftp) $iif($sock(ftp2),sockclose ftp2) $iif($hget(_ftp),hfree _ftp) unset %_sfile } menu status,menubar { FTP Upload v0.2a .Run: if ($dialog(ftp_)) return | sendfile d .About:echo -aec info +++ l4roxyl(Hasan AYDENİZ) -
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
20/11/2011 } dialog -l ftp_ { title "FTP Upload" size -1 -1 94 117 option dbu text "FTP Adresi:", 1, 5 7 34 8 text "Kullanıcı Adı:", 2, 5 17 34 8 text "Şifre/login:", 3, 5 27 34 8 text "Port(21):", 4, 5 37 34 8 edit "", 5, 41 6 50 10, autohs edit "", 6, 41 16 50 10 edit "", 7, 41 26 50 10, pass edit "", 8, 41 36 50 10 button "Gönderilecek Dosyayı Seç", 9, 4 47 86 10, flat text "", 10, 4 60 86 8, center text "Hedef Klasör:", 12, 5 71 34 8 edit "", 13, 41 70 50 10 button "Karşıya Yükle", 14, 4 82 86 10, flat text "", 15, 4 106 86 8, center button "İptal", 16, 4 94 86 10, flat } alias sendfile { if (!$1) { echo -aec info +++ Err: /sendfile <d(ialog)|c(ommand)> <address> <username> <password> [port] return } if ($sock(ftp)) sockclose ftp if ($sock(ftp2)) sockclose ftp2 if ($1 = d) $iif(!$dialog(ftp_),dialog -mdi ftp_ ftp_,_input Dialog zaten açık.) if ($1 = c) { if (!$6) { $iif($dialog(_ftp),dialog -c _ftp) echo -aec info +++ Err: /sendfile <d(ialog)|c(ommand)> <address> <username> <password> <dizin> <port> return } $iif(!$window(@ftp_upload),window -aCldk0 +l @ftp_upload -1 -1 300 300) $iif($window(@ftp_upload),clear $v1) $iif($dialog(ftp_),dialog -c $v1 $v1) %_sfile = $sfile($mircdir,Gönderilecek dosyayı seç,Seç) if (!%_sfile) { if ($window(@ftp_upload)) aline -c2 @ftp_upload Gönderilecek dosya seçilmedi. return } else { sockopen ftp $2 $iif($6,$6,21) var %_h = hadd -m _ftp %_h _user $3 %_h _pass $4 %_h _file $shortfn(%_sfile) %_h dir $iif($5,$5,/) } } } on *:dialog:ftp_:*:*: { if ($devent = close) { $iif($sock(ftp),sockclose ftp) $iif($sock(ftp2),sockclose ftp2) $iif($hget(_ftp),hfree _ftp) unset %_sfile } if ($devent = init) { $iif($window(@ftp_upload),window -c $v1) did -a $dname 10 Gönderilecek dosya seçilmedi. did -a $dname 15 Durum: Aktarım yok. did -a $dname 8 21 } if ($devent = sclick) { if ($did = 16) { $iif($sock(ftp),sockclose ftp) $iif($sock(ftp2),sockclose ftp2) $iif($hget(_ftp),hfree _ftp) _did2 b dialog -c ftp_ ftp_ } if ($did = 9) { %_sfile = $sfile($mircdir,Gönderilecek dosyayı seç,Seç) if (!%_sfile) { did -a $dname 10 Gönderilecek dosya seçilmedi. return } else did -ra $dname 10 Dosya: $_len($nopath(%_sfile)) } if ($did = 14) { if (!$did($dname,5)) _input Adresi giriniz. $crlf $+ Örnek: mircscripting.net if (!$did($dname,6)) _input Kullanıcı adını girin. if (!$did($dname,7)) _input Şifre girin. if (!$did($dname,8)) { hadd -m _ftp port 21 did -a $dname 8 21 } else { if ($did($dname,8) !isnum) _input Port sadece rakamdan oluşur. $crlf $+ Örneğin: FTP için 21 } if (!$did($dname,13)) _input Hedef klasör seçin. $crlf $+ Örnek: /
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
Anadizin için: / if (!%_sfile) _input Gönderilecek dosyayı seçin. if (%_sfile && $did($dname,5) && $did($dname,6) && $did($dname,7) && $did($dname,8) && $did($dname,13)) { $iif($sock(ftp),sockclose ftp) $iif($sock(ftp2),sockclose ftp2) $iif($hget(_ftp),hfree _ftp) hadd -m _ftp _file $shortfn(%_sfile) hadd -m _ftp address $did($dname,5) hadd -m _ftp _user $did($dname,6) hadd -m _ftp _pass $did($dname,7) hadd -m _ftp port $did($dname,8) hadd -m _ftp dir $did($dname,13) sockopen ftp $hget(_ftp,address) $iif($hget(_ftp,port),$v1,21) did -ra $dname 15 Durum: Bağlantı kuruluyor.. _did2 b } } } } on *:sockopen:ftp: { if ($sockerr) { _did Durum: Bağlantı başarısız. _did2 e return } } on *:sockread:ftp: { if ($sockerr) { _did2 e _did Bağlantı başarısız. return } sockread %_data while ($sockbr) { var %_raw = $token(%_data,1,32) if (%_raw = 220) { sockwrite -n $sockname user $hget(_ftp,_user) _did Kullanıcı adı girildi. } if (%_raw = 331) { sockwrite -n $sockname pass $hget(_ftp,_pass) _did Şifre girildi, bekleniyor.. } if (%_raw = 230) { sockwrite -n $sockname TYPE I _did Bağlantı doğrulandı. } if (%_raw = 200) sockwrite -n $sockname PASV if (%_raw = 227) { _did Pasif moda geçildi. var %s = $remove($token(%_data,-1,32),$chr(40),$chr(41)) var %port = $token(%_data,5,44), %port2 = $token(%_data,6,44) var %port3 = $calc((%port * 2^8) + %port2) var %s = $replace($token(%s,1-4,44),$chr(44),$chr(46)) sockopen ftp2 %s %port3 sockwrite -n $sockname CWD $iif($hget(_ftp,dir),$v1,/) } if (%_raw = 250) { sockwrite -n $sockname STOR $nopath($longfn($hget(_ftp,_file))) _did Dizin seçildi: $token(%_data,-1,32) if ($window(@ftp_upload)) { aline -c2 $v1 +++ Dosya: $_len($nopath(%_sfile)) / $bytes($file(%_sfile).size).suf } } if (%_raw = 150) { _did Veri gönderme kabul edildi. %=t = $ctime var %_pos = 0, %file = $hget(_ftp,_file) bread %file %_pos $_file_byte(%file) &_file sockwrite ftp2 &_file hadd -m pos pos $calc(%pos + $bvar(&_file,0)) } if (%_raw = 530) { _did Kimlik doğrulama başarısız. _did2 e .timer 1 2 _did Bağlantılar koparıldı. } if (%_raw = 226) { _did Dosya yüklendi. _did Yüklenme süresi: $duration($calc($ctime - %=t),3) _did2 e $iif($hget(_ftp),hfree $v1) } if (%_raw = 221) .timer 1 2 _did Çıkış yapıldı. sockread %_data } if (%_raw = 550) { _did Dizin bulunamadı. _did2 e $iif($sock(ftp),sockclose ftp) $iif($sock(ftp2),sockclose ftp2) _did Bağlantı koparıldı. } } on *:sockwrite:ftp2:{ if ($sockerr) { _did Aktarımda sorun oluştu. _did2 e return } var %_pos = $hget(pos,pos), %_file = $hget(_ftp,_file) var %_p1 = $+(%,$round($calc((%_pos * 100)/ $file(%_file).size),1)) var %_s = $bytes(%_pos,3).suf / $bytes($file(%_file).size,3).suf if ($dialog(ftp_)) did -ra ftp_ 15 Yük.. ( $+ %_p1 $+ ) - %_s if ($window(@ftp_upload)) { var %l = $line($v1,0) - 1 rline -c2 $v1 $calc(%l +1) ++++ Yük.. ( $+ %_p1 $+ ) - %_s } if (%_pos < $file(%_file).size) { bread %_file %_pos $_file_byte(%_file) &_file sockwrite $sockname &_file hadd -m pos pos $calc(%_pos + $bvar(&_file,0)) } else { sockclose $sockname sockwrite -n ftp QUIT } }


Not: İleriki zamanlarda FTP socket bağlantıları hakkında geniş bir ders yazabilirim vaktim olursa.
Not2: Bu kod işlev yapma amacı ile yazıldığından herhangi bir görsellik öğesi aramamanız tavsiye edilir.
Not3: Birden fazla karmaşık veri işleyicileri ile yazıldığından, editleme yapmanız tavsiye edilmez. Aksi taktirde kodu bozabilirsiniz. (normalde editlemeniz beni ilgilendirmez)

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları reklam ver Benimmekan Mobil Sohbet
Alt 26 Haziran 2012, 23:57   #2
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: FTP Upload v0.2a




Bak yegenim böyle seyler yapma.. gözlerim kamasıyor.. simdi sana derdim cuteFtp kullan ama onu yapan senden dahamı iyiydi? q: eline saglık bi ara mIRC kurup dosya atmak için söz bunu kullanıcam (;

__________________
2b|!2b=?
 
Alıntı ile Cevapla

Alt 27 Haziran 2012, 00:07   #3
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: FTP Upload v0.2a




FTP raw komutları ile mIRC bize, CuteFTP gibi bir program yapmamıza olanak sağlıyor aslında ümit abi. "Ama kim uğraşır? Varmı o kadar zaman? Geçmedimi bizden." diyesi gelir insanın aniden. .)

 
Alıntı ile Cevapla

Alt 27 Haziran 2012, 00:09   #4
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: FTP Upload v0.2a




ben anlamam o işlerden
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.

__________________
2b|!2b=?
 
Alıntı ile Cevapla

Alt 27 Haziran 2012, 01:11   #5
Toprak
Guest
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Yüzdesi:(%)
Cevap: FTP Upload v0.2a




Eline saglık Hasan hocam

 
Alıntı ile Cevapla

Cevapla

Etiketler
ftp, upload, v02a


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Upload djiNn mIRC Scripting Sorunları 5 22 Eylül 2006 17:50