Kullanıcı kanala giriş yaptığında ip adresini /dns komutuyla çeker ve proxy kontrolü için ip adresi, DroneBL' de sorgulanır.
Eğer ip adresi bir proxy/vpn olarak listelenmişse, kullanıcı kanaldan yasaklanır (kick+ban). (proxy/vpn değilse, bilgi mesajı gönderir.) Kod: Kodu kopyalamak için üzerine çift tıklayın! on *:JOIN:#: {
; Kendi nick'inizi hariç tut
if ($nick != $me) {
; Kullanıcının IP'sini al
.dns $nick
}
}
on *:RESOLVED:*: {
if ($dns(0).ip) {
var %ip = $dns(0).ip
var %chan = $dns(0).chan
; Proxy kontrolü için socket aç
sockopen proxyche dronebl.org 80
set %proxyche.ip %ip
set %proxyche.chan %chan
set %proxyche.nick $dns(0).nick
}
}
on *:SOCKOPEN:proxyche: {
if ($sockerr) { echo -a Hata: Bağlantı başarısız! | return }
; DroneBL'ye HTTP isteği gönder
sockwrite -n $sockname GET /RPC2/lookup?ip=%proxyche.ip HTTP/1.1
sockwrite -n $sockname Host: dronebl.org
sockwrite -n $sockname Connection: close
sockwrite -n $sockname $crlf
}
on *:SOCKREAD:proxyche: {
var %data
sockread %data
; DroneBL yanıtı kontrol et
if (listed isin %data) {
; Proxy tespit edildi, kullanıcıyı yasakla
ban -k %proxyche.chan %proxyche.nick 2 Proxy/VPN tespit edildi!
msg %proxyche.chan %proxyche.nick Proxy/VPN kullandığı için yasaklandı.
}
elseif (not listed isin %data) {
; Proxy bulunmadı
msg %proxyche.chan %proxyche.nick Proxy/VPN kullanmıyor.
}
sockclose $sockname
unset %proxyche.*
} |