Kod: Kodu kopyalamak için üzerine çift tıklayın!
; Kanal katılımında IP sorgulama
on *:JOIN:#: {
if ($nick != $me) {
; Kullanıcı için DNS sorgusu başlat
dns -h $nick
}
}
; DNS sonucu geldiğinde işlenir
on *:RESOLVED:*: {
if ($dns(0).ip) {
var %ip = $dns(0).ip
var %nick = $dns(0).nick
var %id = $+($ctime,.,$rand(1000,9999)) ; benzersiz ID oluştur
; Kullanıcı bilgilerini ID ile sakla
set %proxyche. [ %id $+ .ip ] %ip
set %proxyche. [ %id $+ .nick ] %nick
set %proxyche. [ %id $+ .chan ] $dns(0).chan
; Socket başlat
sockopen proxyche. [ %id ] dronebl.org 80
}
}
; Socket açıldığında
on *:SOCKOPEN:proxyche.*: {
if ($sockerr) {
echo -s [ProxyCheck] Bağlantı hatası: $sockname
return
}
var %id = $gettok($sockname,2,46)
var %ip = %proxyche. [ %id $+ .ip ]
sockwrite -n $sockname GET /RPC2/lookup?ip= $+ %ip HTTP/1.1
sockwrite -n $sockname Host: dronebl.org
sockwrite -n $sockname Connection: close
sockwrite -n $sockname $crlf
}
; DroneBL yanıtı geldiğinde
on *:SOCKREAD:proxyche.*: {
var %data
sockread %data
if ($sockerr > 0) return
var %id = $gettok($sockname,2,46)
var %nick = %proxyche. [ %id $+ .nick ]
var %chan = %proxyche. [ %id $+ .chan ]
if (listed isin %data) {
; Proxy tespit edildi
ban -k %chan %nick 2 [Proxy Tespiti] VPN/Proxy kullanımı yasak!
msg %chan %nick IP adresiniz bir proxy listesinde bulundu ve yasaklandınız.
}
elseif (not listed isin %data) {
; Temiz
echo -s [ProxyCheck] %nick (%ip) temiz.
}
; Temizlik
unset %proxyche. [ %id $+ .* ]
sockclose $sockname
}
buda benden