15 Kasım 2009, 12:15
#12 Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
Cevap: Proxy Koruma Yardım Lütfen.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
##
## proxy.tcl
## proxy girişleri için benzersiz koruma.
##
## Yapımcı: SaW
##
# Sunucu IP adresini belirtiniz.
set sunucuip "10.0.0.2"
bind time - "30 * * * *" proxy:check
bind time - "00 * * * *" proxy:check
bind time - "01 * * * *" proxy:socks
package require http
proc proxy:check {nick uhost hand chan text} {
set havasite "Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. set sayfa ""
catch {set sayfa [::http::geturl $havasite -timeout 5000]} error
if {[string match -nocase "*couldn't open socket*" $error]} {
putquick "PRIVMSG $chan :Hata: Şuan siteye bağlanılamıyor.. Daha Sonra Tekrar Deneyiniz.."
::http::cleanup $sayfa
return
}
if { [::http::status $sayfa] == "*timeout*" } {
putquick "PRIVMSG $chan :Hata: Bağlantı zaman aşımına uğradı.."
::http::cleanup $sayfa
return
}
set html [::http::data $sayfa]
::http::cleanup $sayfa
set bugun [strftime %Y-%m-%d]
set gh [open proxy2.txt w]
foreach y [split $html \n] {
if {[regexp {<td>[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}</td>} $y]} {
regexp -- {<td>(.*?)</td>} $y - ip
puts $gh $ip
}
}
close $gh
}
proc proxy:socks {nick uhost hand chan text} {
set havasite "Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. set sayfa ""
catch {set sayfa [::http::geturl $havasite -timeout 5000]} error
if {[string match -nocase "*couldn't open socket*" $error]} {
putquick "PRIVMSG $chan :Hata: Şuan siteye bağlanılamıyor.. Daha Sonra Tekrar Deneyiniz.."
::http::cleanup $sayfa
return
}
if { [::http::status $sayfa] == "*timeout*" } {
putquick "PRIVMSG $chan :Hata: Bağlantı zaman aşımına uğradı.."
::http::cleanup $sayfa
return
}
set html [::http::data $sayfa]
::http::cleanup $sayfa
set acikmi 0
set gh [open proxy.txt w]
foreach y [split $html \n] {
if {[string match -nocase "*dir=\"ltr\">" $y]} { set acikmi 1 }
if {[string match -nocase "</pre>" $y]} { set acikmi 0 }
if {$acikmi == 1 && [regexp {[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\:[0-9]{2,5}} $y]} {
puts $gh [lindex [split $y :] 0]
}
}
close $gh
}
set portlar "1080,1081,3380,3381,16104,41188,20769,47712"
bind raw * notice clsnotice
proc clsnotice {from keyword arg} {
global portlar sunucuip
if { [string match "*Client connecting*" $arg] } {
if {[lindex $arg 6] == "on"} {set sa 10}
if {[lindex $arg 6] == "at"} {set sa 9}
if {[lindex [join [split [split [lindex $arg $sa] @] )]] 1] == "$sunucuip"} {return 0}
set ip [lindex [join [split [split [lindex $arg $sa] @] )]] 1]
if {![regexp {[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}} $ip]} {
set ip [dnslookup $ip dienes]
}
if {$ip == "un"} { putlog "Host çözülemedi.." ; return 0 }
set ::pr ($ip) 0
pr :sbak $ip
if {$::pr ($ip) == 0} {
foreach {x} [split $portlar \x2c] {
if {![catch {socket -async $ip $x} s]} {
fileevent $s writable[list check:sock $s $ip]
}
}
}
if {$::pr ($ip) == 0} { pr :bak $ip }
}
}
proc check:sock {s ip} {
if {[string equal {} [fconfigure $s -error]]} {
putquick "gzline *@$ip :Proxy Girişi Tesbit Edilmiştir! \002Proxy Check System By SaW\002"
set ::pr ($ip) 1
}
close $s
}
proc pr :bak {ip} {
set t [open proxy2.txt r]
set fg [unixtime]
while {1} {
set line [gets $t]
if {[eof $t]} {
close $t
break
}
if {$ip == $line} {
putquick "gzline *@$ip :Proxy Girişi Tesbit Edilmiştir! \002Proxy Check System By SaW\002"
close $t
break
}
}
}
proc pr :sbak {ip} {
set t [open proxy.txt r]
set fg [unixtime]
while {1} {
set line [gets $t]
if {[eof $t]} {
close $t
break
}
if {$ip == $line} {
putquick "gzline *@$ip :Proxy Girişi Tesbit Edilmiştir! \002Proxy Check System By SaW\002"
set ::pr ($ip) 1
close $t
break
}
}
}
proc dienes {ip host status} {
if {!$status} {return un }
return $ip
}
putlog "proxy.tcl by SaW"