, çalışma için sağ ol güzel iş görür. Peki bu yasaklı ip listesine toplu eklemeye bilir miyiz? elimde bununla alakalı mevcut bir eklenti vardı. Anladığım kadarıyla koduna göre düzenledim. Bir bakar mısın? hatalı ise gerekli düzeltmeleri yapar mısın?
Not: Ben belirtilen txt içinde ki ipleri 88.35. şeklinde değil 88.35.7. yani 3 noktadan sonrasını baz alarak düzenledim
Kodun tamama mı aşağıda'dır.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
;################################# IP BAN Koruma Sistemi ################################
menu channel,status,menubar,query {
-
Proxy Koruma { dialog -m proxycik proxycik }
-
}
;- Web Sorgulamalı değildir, manuel çalışır, eklenen IP direk banlanır.
dialog proxycik {
title "IP Ban Koruma Sistemi"
size -1 -1 255 153
option dbu
list 1, 7 14 50 84, size
edit "", 4, 7 101 50 10, return autohs
button "Ekle", 2, 20 113 24 11, flat
text "IP LISTESI", 3, 18 6 28 8
list 5, 73 14 50 84, size
edit "", 6, 73 101 50 10, return autohs
button "Ekle", 7, 87 113 24 11, flat
text "MUAF IP", 8, 87 6 23 8
list 9, 140 14 50 84, size
edit "", 10, 140 101 50 10, return autohs
button "Ekle", 11, 154 113 24 11, flat
text "MUAF NICK", 12, 150 6 29 8
radio "Zline At", 13, 204 22 41 10
radio "Shun At", 14, 204 34 42 10
radio "Gzline At", 15, 204 61 40 10
radio "Gline At", 16, 204 47 42 10
radio "Kill At", 17, 204 85 40 10
radio "Kline At", 18, 204 73 39 10
box "Ceza Türü", 19, 198 5 50 140
edit "", 20, 201 117 44 10, return autohs
check "SİSTEM AÇ/KAPA", 22, 36 134 55 10
radio "Kanal Çek", 21, 204 105 40 10
button "Tamam", 23, 109 133 55 12, flat ok
text "#KANALADI", 24, 208 131 31 8
}
on *:dialog:proxycik:*:*: {
if $devent == sclick {
if $did == 2 { did -a $dname 1 $did(4) | hadd -m t1 $did(4) | hsave t1 TXT/IPBAN/t1.hash }
if $did == 7 { did -a $dname 5 $did(6) | hadd -m t2 $did(6) | hsave t2 TXT/IPBAN/t2.hash }
if $did == 11 { did -a $dname 9 $did(10) | hadd -m t3 $did(10) | hsave t3 TXT/IPBAN/t3.hash }
if $did(13).state == 1 { set %cezatur zline }
if $did(14).state == 1 { set %cezatur shun }
if $did(16).state == 1 { set %cezatur gline }
if $did(15).state == 1 { set %cezatur gzline }
if $did(18).state == 1 { set %cezatur kline }
if $did(17).state == 1 { set %cezatur kill }
if $did(21).state == 1 { set %cezatur kcek | set %kcek1 $did(20) }
if $did(22).state == 1 { set %proxysistem on }
else { unset %proxysistem }
}
if $devent == init {
;mdx MarkDialog $dname
;mdx SetFont $dname 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 +b Turkish 12 600 Arial
;mdx SetColor $dname 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 text $rgb(0,0,0)
;mdx SetDialog $dname style title tool sysmenu
var %t 1
while %t <= $hmatch(t1,*,0) {
did -a $dname 1 $hmatch(t1,*,%t)
inc %t
}
var %t 1
while %t <= $hmatch(t2,*,0) {
did -a $dname 5 $hmatch(t2,*,%t)
inc %t
}
var %t 1
while %t <= $hmatch(t3,*,0) {
did -a $dname 9 $hmatch(t3,*,%t)
inc %t
}
if %cezatur == zline { did -c $dname 13 }
if %cezatur == shun { did -c $dname 14 }
if %cezatur == gline { did -c $dname 16 }
if %cezatur == gzline { did -c $dname 15 }
if %cezatur == kline { did -c $dname 18 }
if %cezatur == kill { did -c $dname 17 }
if %cezatur == shun { did -c $dname 14 }
if %cezatur == kcek { did -c $dname 21 }
did -a $dname 20 %kcek1
if %proxysistem { did -c $dname 22 }
}
if $devent == dclick {
if ($did == 1) { hdel t1 $did(1).seltext | did -d $dname 1 $did(1).sel | hsave t1 TXT/IPBAN/t1.hash }
if ($did == 5) { hdel t2 $did(5).seltext | did -d $dname 5 $did(5).sel | hsave t2 TXT/IPBAN/t2.hash }
if ($did == 9) { hdel t3 $did(9).seltext | did -d $dname 9 $did(9).sel | hsave t3 TXT/IPBAN/t3.hash }
}
if $devent == close {
if $did(20) != $null { set %kcek1 $did(20) }
}
}
on *:start: {
hmake t1 200
hmake t2 200
hmake t3 200
.hload t1 TXT/IPBAN/t1.hash
.hload t2 TXT/IPBAN/t2.hash
.hload t3 TXT/IPBAN/t3.hash
}
on *:snotice:*:{
if *Client connecting to* on isin $1- {
if %proxysistem && $hmatch(t1,$token($gettok($10,2,64),1,41)) && !$hmatch(t3,$9) && !$hmatch(t2,$token($gettok($10,2,64),1,41)) {
if %cezatur == kcek { sajoin $9 %kcek1 }
elseif %cezatur == kill { kill $9 Sebep %banlogo }
else {
%cezatur $9 900 Sebep %logo
}
}
}
}
alias iekle { if ($dialog(Proxy_ekle)) { dialog -c Proxy_ekle } | dialog -ma Proxy_ekle Proxy_ekle }
dialog Proxy_ekle {
title "Hash Proxy Ekleme"
size -1 -1 264 163
option pixels
box "Ekleme yapmak için dosya seçin", 1, 11 6 240 130
button "Proxy IP Ekle", 2, 33 34 197 80, normal
text "Yüklenen Proxy Adet:", 3, 62 140 108 16
text "0", 4, 171 140 50 16, center
}
on 1:dialog:Proxy_ekle:*:*:{
if ($devent == init) { }
if ($devent == sclick) {
if ($Did == 2) {
Var %F = $SFile($mIRCDir,Txt Dosyasını Seçiniz,Ekle), %eklenen = 0
If (%F) {
Var %I = 1
While ($Read(%F,%I)) {
Var %F1 = $Read(%F,%I), %j = $regsubex(%F1,/(^\d+\.\d+\.\d+\.).+/gi,\1*)
if !$hget(p,%j) {
hadd -m t1.hash %j
hsave -o t1.hash
hsave -o t2.hash
hsave -o t3.hash
inc %eklenen
}
inc %I
}
}
did -o Proxy_ekle 4 1 %eklenen
}
}
}