kusura bakmayın ,son cevabı yazdıktan sonra uyudum.(zaten zor duruyordum artık onu yazarken gözlerim kapanıyordu.)
doğrusu sorun çıkaracağına en son ihtimal verdiğim kısmı kodun bu kısmıydı...
çünkü : bu wget ve eggdrop tcl kod içinde "exec nasıl kullanılır" diye araştırmıştım..
yararlandığım / kullanımı referans aldığım linkide şimdi yine buldum :
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] (en alt kısımda "I tried the exec TCL command and it tells me couldn't execute "command bla": no such file or directory, but command is a valid command! So what?" başlığıyla verilmiş)
şimdi yeniden araştırma yaptığımda ,şunu görüyorum ki her kafadan ayrı ses çıkmış bu exec + wget kullanımıyla ilgili...
şöyleki :
açılan konularda bi denmiş ki exec+wget uygularken -b (background'da çalıştır) flağı ile kullanın botu etkiler vs denmiş...bknz ->
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
birinde de denmiş ki aman ha -b flağıyla exec+wget yapma sadece direk -N kullan :
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
........
bu arada tor export vs diye adı geçen ,tor host-ip'lerinin vs olduğu dosya linkinde yine sorun var.bulunduğu siteden- sunucusundan kaynaklı.(sanırım zaman eşleşmemesi-kayması gibi bi sorunları var...)
bu kodu ilk yazmaya başladığım günde bu sorunları oluşmuştu.site sahibi kişi Utah teknoloji bilimleri mezunu aynı zamanda tor projesininde kurucu-yapımcı-geliştiricilerinden oldukça genç (süper zeka dediğimiz tiplerden) bi delikanlı imiş...
tor project üzerinden kendisine ulaşmaya çalışmıştım o gün (daha kodu ilk halini yazdığım gündü
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. sunucularındaki sorunu ilettim.bir eggdrop tcl kodu üzerinde çalışıyorum bana bu sitenizin linki lazım,onarırsan iyi olur,beni oraya getirtme ...vs gibisinden)
ulaştı mı ulaşmadı mı bilmem ama bir -iki gün sonra denediğimde onarılmıştı.dosyayı çekebiliyordun....
ama şimdi denediğimde yine aynı sorun görünüyor sunucularında/yada o dosyada..
diğerinde sorun yok.
neyse birde şöyle deneyin: (aslında yukardakinden hemen hiçbir farkıda yok.olamazda çünkü exec kullanımı böyle başka yolu-yordamı yok.tek yaptığım var'içinde göstermeden yine direk komut içine yazmak linkleriki,aslında buda hiçbişey değiştirmez...çünkü bu budur başka başka çeşitleri -kullanımları olan bi komut/durum değil. o nedenlede zaten sorun* çıkarmasını en son düşüneceğim yeri burası idi...)
Kod: Kodu kopyalamak için üzerine çift tıklayın!
;# IP-host eşleşmesinde yapılacak işlemde kullanılacak kullanıcıyı uzaklaştırma sebebiniz:
set sebep "IP/hostunuzda Tor proxy tespit edildi... bizi tercih ettiğiniz için teşekkür ederiz... selametle..."
;# yakalanan tor IP-hostları için yapılacak işlem:
set method "gzline"
;# yapılan işlem için gereken uzaklaştırma süresi:
set sure "30m"
;# anons yaptırılacak oda olacak mı ( 1 = evet - 0 = hayır)
set anons "1"
;# anons kanalı olacaksa adı ne olacak:
set anonsknl "#anons"
;# yakalanan her tor için bu sayıdan itibaren saydırılacak:
set torno "0"
;############burdan sonrasını değişmemelisiniz.####################################################################
;# tor IP'lerin olduğu birinci dosya:
set csvfile1 "Tor_ip_list_ALL.csv"
;# tor IP-host ve diğer tüm bilgilerinin olduğu dosya:
set csvfile2 "Tor_query_EXPORT.csv"
;##########################ayarlar bitti###########################################################################
bind raw * notice notc:serv
bind time - "30 *" csv:wget
proc notc:serv {from keyword arg} {
if {![string match -nocase "*client connecting*" $arg] || [string match -nocase "*!*@*" $from]} { return 0;}
set ip [string range [lindex [split [lindex [split $arg] 9] @] 1] 0 end-1]
set stamp "[clock format [expr {3600 + [clock seconds]}] -format "Tarih: %d/%m/%Y - Saat: %H:%M:%S - %z"]"
set ::tip $ip ;set ::tstamp $stamp
if {[regexp {^(?:(?:[01]?\d?\d|2[04]\d|25[0-5])(\.|$)){4}$} $ip]} {
tor:ip:file
} else {
tor:hosts:file tor
}
return 0
}
proc tor:ip:file {} {
set ip $::tip ;set stamp $::tstamp
set fp [open $::csvfile1 "r"]
set data [read -nonewline $fp]
close $fp
set lines [split $data "\n"]
if {[lsearch -nocase -index 0 $lines $ip] == -1} {
putcmdlog "$ip ile ilgili $::csvfile1 dosyasında eşleşme bulunmadı. $stamp"
tor:hosts:ip:file tor
} else {
incr ::torno
putquick "$::method *@[lindex $lines [lsearch -nocase -index 0 $lines $ip] 0] $::sure :$::sebep:[concat $::torno - $stamp]"
if {$::anons != "0"} {
puthelp "privmsg $::anonsknl :$ip $::sure uzaklaştırıldı. sebep: :$::sebep:[concat $::torno - $stamp]"
return 0
}
}
}
proc tor:hosts:ip:file {tor} {
set ip $::tip ;set stamp $::tstamp
set torip [lindex [split $tor ,] 4]
set fp [open $::csvfile2 "r"]
set data [read -nonewline $fp]
close $fp
foreach line [split $data "\n"] {
if {$ip != $torip} {
putcmdlog "$ip ile ilgili $::csvfile2 dosyasında eşleşme bulunmadı. $stamp"
return 0
} else {
incr ::torno
putquick "$::method *@$ip $::sure :$::sebep:[concat $::torno - $stamp]"
if {$::anons != "0"} {
puthelp "privmsg $::anonsknl :$ip $::sure uzaklaştırıldı. sebep: :$::sebep:[concat $::torno - $stamp]"
return 0
}
}
}
}
proc tor:hosts:file {tor} {
set ip $::tip ;set stamp $::tstamp
set torhost [lindex [split $tor ,] 5]
set fp [open $::csvfile2 "r"]
set data [read -nonewline $fp]
close $fp
foreach line [split $data "\n"] {
if {$ip != $torhost} {
putcmdlog "$ip ile ilgili $::csvfile2 dosyasında eşleşme bulunmadı. $stamp"
return 0
} else {
incr ::torno
putquick "$::method *@$ip $::sure :$::sebep:[concat $::torno - $stamp]"
if {$::anons != "0"} {
puthelp "privmsg $::anonsknl :$ip $::sure uzaklaştırıldı. sebep: :$::sebep:[concat $::torno - $stamp]"
return 0
}
}
}
}
proc csv:wget {minute hour day month year} {
set torips "wget -N http://torstatus.blutmagie.de/ip_list_all.php/Tor_ip_list_ALL.csv DEBUG"
set torhosts "wget -N http://torstatus.blutmagie.de/query_export.php/Tor_query_EXPORT.csv DEBUG"
eval exec $torips
utimer 1 [list eval exec $torhosts]
}
putlog "ok...."
ayrıca bot üzerindende deneyebilirsiniz. direk shell konsol'undan hiçbir farkı yoktur.
ama öncelikle .tcl .set komutlarını kullanabilmeyi aktif etmelisiniz..
botun .conf'unda
Kod: Kodu kopyalamak için üzerine çift tıklayın!
bind dcc n tcl *dcc:tcl
bind dcc n set *dcc:set
satırlarını ekleyip (ki bunlar zaten vardır ancak unbind halindedir..yani pasif/etkisiz haldedirler unbindleri bind olarak değişebilir yada direk yukardaki iki satırı .conf'un herhangi bir yerine ekleyip botu .restart ederseniz aktif hale gelir.
sonrası bota bağlanıp :
.tcl exec wget -N ...link
komutuyla da deneyebilirsiniz.
tüm shell konsol üzerinde kullandığınız komutları bu şekilde .tcl exec komut yada .tcl exec -- komut şeklinde shell komutlarını işleyebilirsiniz.
tcl kodları içinde bu şekilde shell konsolunda çalışmak-işlem yapmak mümkün.ki bu komutlar iyi-doğru amaçlıda olabilir tam tersi amaçlada olabilir.
(bilhassa singapurluların yaptığı yada düzenlediği özellikle uzun eggdrop tcl kodları içinde kullanmayı denemeden evvel "exec" komutunu aratın.
sisteminize sızmak yada botunuzu ele geçirmek vs gibi işler için kod satırları araya ekleyebiliyorlar.ki binlerce satırlık uzun tcl kodları içinde bir-iki satırlık komut dikkat çekmiyor çoğunlukla..
bilhassa singapurlularda böyle bir olay var. marifetten sayıyorlar böyle fırlamalıkları..(daha evvel egghelp forum'unda bir singapurlunun tcl arşivinde paylaştığı kod içinde bu yakalanıp ifşa edilmişti)