adındanda anlaşılacağı gibi bu bot proxy önlemek ve tor girişlerini biraz olsada azaltmak için hazırlanmıştır. İçeriğindeki alıntı olan kodların isimleri yazılmıştır. Saldırı alan sunucular için ideal bir uygulama. Bazı sunucularda raw mesajlarının pointerleri($1,$2,$3- vs ) değişik olabilir. Bu yüzden
eğer herhangi bir hatayla karşılaşırsanız bu başlık altına yazabilirsiniz.
Bota basit dememin sebebi ise , her mirc scriptinge yeni başlamış olan script coder için anlaşılabilir kod yapısına sahip olmasıdır. Kodlarda herhangi bir karmaşık işlem olmadığı için basit komutlar eklenerek dahada geliştirebilirsiniz.
Bot tarafımca hazırlanmıştır. Kullanımı için /bilgi yazınız.
Kod:
alias bilgi {
if !$1- {
echo -a 2Lütfen botun bilgilerini girin.
echo -a 2Örnek: 10/bilgi serverip serverport botnick botnicksifre botoper botopersifre botlogkanal
}
else {
set %serverip $1 | set %serverport $2 | set %botnick $3 | set %botnicksifre $4 | set %botopernick $5 | set %botopersifre $6 | set %botlogkanal $7
echo -a 2Botun bilgileri girildi.
echo -a 2Botu sunucuya sokmak için : 10/bot1 2 yazınız
}
}
on *:sockopen:bot1:{
if ($sockerr) { echo $color(info) -st Bağlantı kesildi.Lütfen Scripti Kapatıp Tekrar Açın. | return }
swbot1 NICK %botnick
swbot1 USER FAT * * : Bilinen en tehlikeli proxy katili ¦:)
}
on *:sockread:bot1:{
if ($sockerr) { echo $color(info) -st Bağlantı kesildi.Lütfen Scripti Kapatıp Tekrar Açın. | return }
var %:; | sockread %:; | tokenize 32 %:;
if !$window(@Bot1) { window -ne @Bot1 %:; }
echo @Bot1 %:;
swalias1 $1-
}
alias swbot1 { if $sock(bot1) { sockwrite -n bot1 $1- } }
alias swalias1 {
if $sock(bot1) {
var %: = echo $color(info) -st > Socket bot:
if *: VERSION * iswm $4- { swbot1 NOTICE $bnick($1) VERSION mIRC v6.21 Khaled Mardam-Bey }
if $1 == PING { swbot1 PONG $2- }
if $2 == NOTICE && $3 == %botnick && *Bu kayitli ve sifre korumali bir nick* iswm $4- {
swbot1 JOIN 0,
swbot1 PRIVMSG nickserv identify %botnicksifre
swbot1 oper %botopernick %botopersifre
swbot1 JOIN 0,
swbot1 JOIN %botlogkanal
swbot1 PRIVMSG %botlogkanal Krouma botu aktif.
}
if $3 == %botlogkanal && $4 == :.guncelle {
if $5 == oto {
swbot1 PRIVMSG $3 Otomatik güncelleme sistemi 1800ms. olarak ayarlandı.
guncelle oto
}
else {
swbot1 PRIVMSG $3 Güncelleme başlatıldı. Tahmini süre 1800ms.
guncelle
}
}
if $2 == 352 {
tor_ $6
madgir $6
}
if *Client connecting* iswm $7- {
inc %mad
if $read(tor.txt,w,$remove($gettok($13,2,64),$chr(41))) {
swbot1 gline *@ $+ $remove($gettok($13,2,64),$chr(41)) +1d 2Proxy yasaktır.
}
else {
swbot1 who +I $12
}
var %ipcik = $remove($gettok($13,2,64),$chr(41))
hinc -mu2 pp %ipcik 1
if ($hget(pp,%ipcik) >= 3) {
swbot1 gzline $+(*@,%ipcik) +15m 2Kurallara aykırı davranış yüzünden banlandınız.
if $gettok(%ipcik,1,45) == adsl || $gettok(%ipcik,1,45) == dslb {
write tor.txt $replace($gettok(%ipcik,2-4,45),-,.)
.halt
}
if !$read(tor.txt,w,$remove($gettok($13,2,64),$chr(41))) {
write tor.txt $remove($gettok($13,2,64),$chr(41))
swbot1 PRIVMSG %botlogkanal $remove($gettok($13,2,64),$chr(41)) karalisteme eklendi.
}
}
}
}
}
alias bot1 {
if !$sock(bot1) {
sockopen bot1 %serverip %serverport
}
}
alias bnick return $gettok($remove($1,:),1,33)
#------- on
on *:Sockopen:proxy2:{
sockwrite -n $sockname GET http://www.dan.me.uk/torlist/ HTTP/1.1
sockwrite -n $sockname User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
sockwrite -n $sockname Host: www.dan.me.uk $crlf
sockwrite -n $sockname Connection: Keep-Alive $+ $crlf $+ $crlf
}
on *:Sockread:proxy2:{
var %proxy2
sockread %proxy2
.tokenize 32 %proxy2
if !$read(tor.txt,w,%proxy2) && $1 != HTTP/1.1 && $1 != Date: && $1 != Server: && $1 != X-Powered-By: && $1 != Location: && $1 != Content-Length: && $1 != Keep-Alive: && $1 != Connection: && $1 != Content-Type: {
write tor.txt %proxy2
}
}
on *:Sockopen:proxy3:{
sockwrite -n $sockname GET http://proxy.org/tor_blacklist.txt HTTP/1.1
sockwrite -n $sockname User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
sockwrite -n $sockname Host: proxy.org $crlf
sockwrite -n $sockname Connection: Keep-Alive $+ $crlf $+ $crlf
}
on *:Sockread:proxy3:{
var %proxy
sockread %proxy
.tokenize 32 %proxy
if *^* iswm $1- && $+(*,$chr(36),*) iswm $1- && *\* iswm $1- {
if !$read(tor.txt,w,$remove($3,^,\,$)) {
write tor.txt $remove($3,^,\,$)
}
}
}
on *:Sockopen:proxy4:{
sockwrite -n $sockname GET http://www.multiproxy.org/txt_all/proxy.txt HTTP/1.1
sockwrite -n $sockname User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
sockwrite -n $sockname Host: multiproxy.org $crlf
sockwrite -n $sockname Connection: Keep-Alive $+ $crlf $+ $crlf
}
on *:Sockread:proxy4:{
var %proxy
sockread %proxy
.tokenize 32 %proxy
if *:* iswm $1- && *.* iswm $1- {
if !$read(tor.txt,w,$gettok($1,1,58)) {
write tor.txt $gettok($1,1,58)
}
}
}
on *:Sockopen:proxy5:{
sockwrite -n $sockname GET /proxylist.txt HTTP/1.1
sockwrite -n $sockname User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
sockwrite -n $sockname Host: tubeincreaser.com $crlf
sockwrite -n $sockname Connection: Keep-Alive $+ $crlf $+ $crlf
}
on *:Sockread:proxy5:{
var %proxy5
sockread %proxy5
.tokenize 32 %proxy5
if *:* iswm $1- && *.* iswm $1- && *Server* !iswm $1- {
if !$read(tor.txt,w,$gettok($1,1,58)) {
write tor.txt $gettok($1,1,58)
}
}
}
on *:Sockopen:proxy6:{
sockwrite -n $sockname GET /tor.shtml HTTP/1.1
sockwrite -n $sockname User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
sockwrite -n $sockname Host: www.textproxylists.com $crlf
sockwrite -n $sockname Connection: Keep-Alive $+ $crlf $+ $crlf
}
on *:Sockread:proxy6:{
var %proxy6
sockread %proxy6
.tokenize 32 %proxy6
if $1 == HTTP/1.1 { goto end }
if $1 == Date: { goto end }
if $1 == Server: { goto end }
if $1 == Last-Modified: { goto end }
if $1 == ETag: { goto end }
if $1 == Accept-Ranges: { goto end }
if $1 == Content-Length: { goto end }
if $1 == Content-Type: { goto end }
if *-* iswm $1- { goto end }
if *Connection* iswm $1- { goto end }
if */* iswm $1- { goto end }
if $1 == 0 { goto end }
if $regex($1-,[a-z]) { goto end }
if $read(tor.txt,w,$gettok($remove($1,$chr(42)),1,58)) { goto end }
else {
write tor.txt $gettok($remove($1,$chr(42)),1,58)
}
:end
}
on *:Sockopen:proxy7:{
sockwrite -n $sockname GET /socks4.txt HTTP/1.1
sockwrite -n $sockname User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
sockwrite -n $sockname Host: www.proxylists.net $crlf
sockwrite -n $sockname Connection: Keep-Alive $+ $crlf $+ $crlf
}
on *:Sockopen:tor:{
sockwrite -n $sockname GET /?list=tor HTTP/1.1
sockwrite -n $sockname User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
sockwrite -n $sockname Host: list.iblocklist.com $crlf
sockwrite -n $sockname Connection: Keep-Alive $+ $crlf $+ $crlf
}
on *:Sockread:tor:{
var %'
sockread %'
if *The Onion Router:* iswm %' {
if !$read(tor.txt,w,$gettok(%',2,45)) {
write tor.txt $gettok(%',2,45)
}
}
}
on *:Sockread:proxy7:{
var %proxy7
sockread %proxy7
.tokenize 32 %proxy7
if *:* iswm $1- && *.* iswm $1- && !$read(tor.txt,w,$gettok($1,1,58)) && $gettok($1,1,58) != proxy.cjb.net {
write tor.txt $gettok($1,1,58)
}
}
on *:Sockopen:proxy8:{
sockwrite -n $sockname GET /socks5.txt HTTP/1.1
sockwrite -n $sockname User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
sockwrite -n $sockname Host: www.proxylists.net $crlf
sockwrite -n $sockname Connection: Keep-Alive $+ $crlf $+ $crlf
}
on *:Sockread:proxy8:{
var %proxy8
sockread %proxy8
.tokenize 32 %proxy8
if *:* iswm $1- && *.* iswm $1- && !$read(tor.txt,w,$gettok($1,1,58)) && $gettok($1,1,58) != proxy.cjb.net {
write tor.txt $gettok($1,1,58)
}
}
alias proxy8 { sockopen proxy8 www.proxylists.net 80 }
alias proxy7 { sockopen proxy7 www.proxylists.net 80 }
alias proxy6 { sockopen proxy6 www.textproxylists.com 80 }
alias proxy5 { sockopen proxy5 www.tubeincreaser.com 80 }
alias proxy4 { sockopen proxy4 www.multiproxy.org 80 }
alias proxy3 { sockopen proxy3 www.proxy.org 80 }
alias proxy2 { sockopen proxy2 www.dan.me.uk 80 }
alias guncelle {
if $1 == oto {
timer 0 1800 guncelle
}
else {
sockopen tor list.iblocklist.com 80
}
}
on *:sockclose:proxy8:{
swbot1 PRIVMSG %botlogkanal 10 8.Proxy listesinin 2 güncellemesi yapıldı.
pbn
}
on *:sockclose:proxy7:{ swbot1 PRIVMSG %botlogkanal 10 7.Proxy listesinin 2 güncellemesi yapıldı. | proxy8 }
on *:sockclose:proxy6:{ swbot1 PRIVMSG %botlogkanal 10 6.Proxy listesinin 2 güncellemesi yapıldı. | proxy7 }
on *:sockclose:proxy5:{ swbot1 PRIVMSG %botlogkanal 10 5.Proxy listesinin 2 güncellemesi yapıldı. | proxy6 }
on *:sockclose:proxy4:{ swbot1 PRIVMSG %botlogkanal 10 4.Proxy listesinin 2 güncellemesi yapıldı. | proxy5 }
on *:sockclose:proxy3:{ swbot1 PRIVMSG %botlogkanal 10 3.Proxy listesinin 2 güncellemesi yapıldı. | proxy4 }
on *:sockclose:proxy2:{ swbot1 PRIVMSG %botlogkanal 10 2.Proxy listesinin 2 güncellemesi yapıldı. | proxy3 }
on *:sockclose:tor:{ swbot1 PRIVMSG %botlogkanal 10 1.TOR/Proxy listesinin 2 güncellemesi yapıldı. | proxy2 }
#------- end
alias tor_ { if ($1) { inc %tor | sockopen $+(tor-*,%tor) www.sectoor.de 80 | sockmark $+(tor-*,%tor) $1 } }
on *:sockopen:tor-*:{
var %s sockwrite -n $sockname
%s GET /tor.php?ip= $+ $sock($sockname).mark HTTP/1.1
%s host: www.sectoor.de
%s $crlf
}
on *:sockread:tor-*:{
var %> [ $+ [ $sockname ] ]
sockread %> [ $+ [ $sockname ] ]
$+(.timer,%mad,$md5($rand($rand(A,Z),$rand(A,Z)))) 1 60 sockclose $sockname
if (*IP is LISTED* iswm %> [ $+ [ $sockname ] ]) {
swbot1 gzline $+(*@,$sock($sockname).mark) 2h Proxy/TOR/Wingate/SC5 Alert.
sockclose $sockname
}
}
on *:sockopen:hppn:{
var %s sockwrite -n $sockname
if %sira == 0 { %s GET /proxy/socks.htm HTTP/1.1 }
if %sira == 1 { %s GET /proxy/socks2.htm HTTP/1.1 }
if %sira == 2 { %s GET /proxy/socks3.htm HTTP/1.1 }
if %sira == 3 { %s GET /proxy/socks4.htm HTTP/1.1 }
if %sira == 4 { %s GET /proxy/socks5.htm HTTP/1.1 }
if %sira == 5 { %s GET /proxy/socks6.htm HTTP/1.1 }
if %sira == 6 { %s GET /proxy/socks7.htm HTTP/1.1 }
if %sira == 7 { %s GET /proxy/socks8.htm HTTP/1.1 }
if %sira == 8 { %s GET /proxy/socks9.htm HTTP/1.1 }
if %sira == 9 { %s GET /proxy/socks10.htm HTTP/1.1 }
if %sira == 10 { %s GET /proxy/socks11.htm HTTP/1.1 }
if %sira == 11 { %s GET /proxy/socks12.htm HTTP/1.1 }
if %sira == 12 { %s GET /proxy/socks13.htm HTTP/1.1 }
if %sira == 13 { %s GET /proxy/socks14.htm HTTP/1.1 }
if %sira == 14 { %s GET /proxy/socks15.htm HTTP/1.1 }
if %sira == 15 { %s GET /proxy/socks16.htm HTTP/1.1 }
if %sira == 16 { %s GET /proxy/socks17.htm HTTP/1.1 }
if %sira == 17 { %s GET /proxy/socks18.htm HTTP/1.1 }
if %sira == 18 { %s GET /proxy/socks19.htm HTTP/1.1 }
if %sira == 19 { %s GET /proxy/socks20.htm HTTP/1.1 }
%s Host: samair.ru $+ $crlf $+ $crlf
}
/*
;h4pp3n yazdığı kod satırıdır. Sadece ekleme ve düzenleme yapılmıştır
*/
on *:sockread:hppn:{
sockread %hppn
if $gettok($gettok(%hppn,1,32),2,58) == 1080 {
var %hp $gettok(%hppn,1,58)
if !$read(tor.txt,w,%hp) {
write tor.txt %hp
}
}
}
on *:sockclose:hppn:{
if %sira == 20 {
swbot1 PRIVMSG %botlogkanal 2Hızlandırılmış proxy listesi çekildi. Toplam $lines(tor.txt) kadar IP mevcut.
}
else {
inc %sira
sockclose hppn*
sockopen hppn samair.ru 80
}
}
alias pbn {
sockclose hppn
sockopen hppn samair.ru 80
set %sira 0
set %prox 0
}
alias madgir {
if ($1) {
inc %x1
sockopen $+(mor*,%x1) rbls.org 80
sockmark $+(mor*,%x1) $1
}
}
on *:sockopen:mor*:{
var %m sockwrite -n $sockname
%m GET / $+ $sock($sockname).mark HTTP/1.1
%m Host: rbls.org
%m $crlf
}
on *:sockread:mor*:{
var %x [ $+ [ $sockname ] ]
sockread %x [ $+ [ $sockname ] ]
$+(.timer,%mad,$md5($rand($rand(A,Z),$rand(A,Z)))) 1 60 sockclose $sockname
if *is listed in opm.tornevall.org* iswm %x [ $+ [ $sockname ] ] || *is listed in rbl.efnetrbl.org* iswm %x [ $+ [ $sockname ] ] || *is listed in tor.dan.me.uk* iswm %x [ $+ [ $sockname ] ] {
swbot1 gline $+(*@,$sock($sockname).mark) 2h Proxy/TOR/Wingate/SC5 Alert.
if !$read(tor.txt,w,$sock($sockname).mark) { write tor.txt $sock($sockname).mark }
}
}
Düzenlendi.
A) Anlık olarak proxy taraması için 1 filitre daha eklendi , fikir ve hamkod sahibi h4pp3n.