IRCForumu.Net - Türkiye'nin IRC ve mIRC Kullanıcılarının Buluştuğu Forum

IRCForumu.Net - Türkiye'nin IRC ve mIRC Kullanıcılarının Buluştuğu Forum (https://www.ircforumu.net/)
-   TCL Scriptler (https://www.ircforumu.net/tcl-scriptler/)
-   -   Bopm TCL (https://www.ircforumu.net/tcl-scriptler/2872-bopm-tcl.html)

immortaL 02 Temmuz 2016 14:29

Bopm TCL
 
Kod:

###########################################################################################################
#                                                                                                        #
# Herkesin proxy korumasi aradigini gordum ve forumda ki proxy korumalarinin calismadigini farkettim.    #
# Bu nedenle guncel ve calisan bir proxy korumasi yapmaya karar verince ortaya guzel bisey cikti. :)      #
# Bopm'un tcl versiyonudur, sunucunuza giren IP'leri dnsbl sitelerinden dns ile taratir.                  #
# Taratilan IP adresi proxy veri tabanlarinda mevcut ise tekrar bir taramaya tabi tutar.                  #
# Ikinci taramada IP adresinin lokasyonuna bakar, eger Turk IP adresi ise islem yapmaz.                  #
# Boylelikle bopm'ta yasamis oldugunuz yanlis atilan banlarin onune gecmis olursunuz.                    #
# Pek test edemedim test etmek size kaldi artik, hata vb. durum yasarsaniz yorum yaziniz.                #
# Tam 70 adet dnsbl sitesi mevcut bu 70 siteden tarama yapmaktadir, gerci pek kaciracagini sanmiyorum. :) #
# Yine de %100 koruma saglar diyemiyorum dnsbl sitelerinin verilerine guvenmemek lazim.                  #
# Neden diye soracak olursaniz Turk IP adreslerinin bir cogu spam olarak veri tabanlarinda mevcut.        #
# Zaten bopm'un tercih edilmemesinin sebebi budur diye dusunuyorum bende bu nedenle kullanmiyordum.      #
# Yani bu tcl ile bopm'un yaptigi islemi yapmis olacak ve Turk IP adreslerini de muaf kilacaksiniz.      #
# Aklima gelmisken http.tcl'yi muhakkak source etmeniz gerekir yoksa tcl calismayacaktir, bilginize...    #
# Ayrica bildiginiz calisan dnsbl siteleri biliyorsaniz soyleyin bot'a ekleme yapalim. :)                #
#                                                                                                        #
###########################################################################################################

#########################
#                      #
#  Ayarlarinizi Yapin.  #
#                      #
########## bopm.tcl # ¿ #

# Komutu belirtiniz.
# Korumayi acip kapatabilmek vb. ayarlari yapabilmek icin gereklidir.
set proxy(komut) ".proxy"

# Yonetim kanalini belirtiniz.
set proxy(kanal) "#Opers"

# Koruma durumu.
# Acmak icin: "1"
# Kapatmak icin: "0"
set proxy(durum) "1"

# Log durumu.
# Acmak icin: "1"
# Kapatmak icin: "0"
set proxy(logdurum) "1"

# Ban turunu belirtiniz.
# G:Zline icin: "GZLINE"
# G:Line icin: "GLINE"
# K:Line icin: "KLINE"
# Shun icin: "SHUN"
set proxy(banturu) "GZLINE"

# Ban suresini belirtin.
# 1 gun: "1d"
# 1 saat: "1h"
# 1 dakika: "1m"
# Suresiz: "0"
set proxy(bansure) "1h"

# Ban sebebini belirtiniz.
set proxy(bansebep) "Sunucumuza wingate/socks/tor/proxy kullanarak giris yapamazsiniz."

#####################
#                  #
#  Ayarlar Bitti !  #
#  DOKUNMA CISS :)  #
#                  #
###### bopm.tcl # ¿ #

set proxydb {
"bl.spamcop.net"
"proxy.block.transip.nl"
"cbl.abuseat.org"
"dnsbl.inps.de"
"psbl.surriel.com"
"ubl.unsubscore.com"
"db.wpbl.info"
"ix.dnsbl.manitu.net"
"rbl.megarbl.net"
"korea.services.net"
"ips.backscatterer.org"
"residential.block.transip.nl"
"dnsbl.dronebl.org"
"bl.blocklist.de"
"rbl.efnet.org"
"bl.spamcannibal.org"
"b.barracudacentral.org"
"tor.ahbl.org"
"ircbl.ahbl.org"
"dyna.spamrats.com"
"spam.spamrats.com"
"noptr.spamrats.com"
"dnsbl-1.uceprotect.net"
"dnsbl-2.uceprotect.net"
"dnsbl-3.uceprotect.net"
"xbl.spamhaus.org"
"zen.spamhaus.org"
"pbl.spamhaus.org"
"sbl.spamhaus.org"
"dnsbl.sorbs.net"
"dul.dnsbl.sorbs.net"
"misc.dnsbl.sorbs.net"
"http.dnsbl.sorbs.net"
"smtp.dnsbl.sorbs.net"
"socks.dnsbl.sorbs.net"
"spam.dnsbl.sorbs.net"
"web.dnsbl.sorbs.net"
"zombie.dnsbl.sorbs.net"
"recent.spam.dnsbl.sorbs.net"
"bl.emailbasura.org"
"blackholes.five-ten-sg.com"
"blacklist.woody.ch"
"bogons.cymru.com"
"cdl.anti-spam.org.cn"
"spam.abuse.ch"
"drone.abuse.ch"
"combined.abuse.ch"
"combined.rbl.msrbl.net"
"dnsbl.cyberlogic.net"
"duinv.aupads.org"
"dul.ru"
"dynip.rothen.com"
"images.rbl.msrbl.net"
"orvedb.aupads.org"
"phishing.rbl.msrbl.net"
"proxy.bl.gweep.ca"
"rbl.interserver.net"
"relays.bl.gweep.ca"
"relays.bl.kundenserver.de"
"relays.nether.net"
"short.rbl.jp"
"spam.rbl.msrbl.net"
"spamlist.or.kr"
"spamrbl.imp.ch"
"tor.dnsbl.sectoor.de"
"torserver.tor.dnsbl.sectoor.de"
"ubl.lashback.com"
"virbl.bit.nl"
"virus.rbl.jp"
"virus.rbl.msrbl.net"
"wormrbl.imp.ch"
}

bind pub - $proxy(komut) proxy:ayar
proc proxy:ayar {nick host hand chan text} {
global botnick proxy
        if {[string match -nocase $proxy(kanal) $chan]} {
                set dncr "[lindex $text 0]"
                if {$dncr == ""} {
                        putquick "PRIVMSG $chan :Kullanimi: \002$proxy(komut) \002"
                        return
                }
                if {[string match -nocase "ac" $dncr]} {
                        set proxy(durum) "1"
                        putquick "PRIVMSG $chan :Proxy korumasi \002acildi\002."
                }
                if {[string match -nocase "kapat" $dncr]} {
                        set cc "0"
                        putquick "PRIVMSG $chan :Proxy korumasi \002kapatildi\002."
                }
                if {[string match -nocase "durum" $dncr]} {
                        if {$proxy(durum) == "1"} {
                                putquick "PRIVMSG $chan :Proxy korumasi su anda \002acik\002 durumdadir."
                        } else {
                                putquick "PRIVMSG $chan :Proxy korumasi su anda \002kapali\002 durumdadir."
                        }
                }
        }
}

bind raw * notice proxy-kontrol
proc proxy-kontrol {from keyword text} {
global botnick proxy
        if {[string match -nocase "*Client connecting*" $text]} {
                if {$proxy(durum) == "1"} {
                        set nick "[lindex $text 9]"
                        putquick "WHO +I $nick"
                }
        }
}

bind raw - "352" proxy-tara
proc proxy-tara {from keyword arg} {
global botnick proxy proxydb
        set ::proxys "0"
        set nick [lindex $arg 5]
        set ipveri "[lindex $arg 3]"
        regexp {([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3})} $ipveri -> ip1 ip2 ip3 ip4
        set yeniip "$ip4.$ip3.$ip2.$ip1"
        foreach proxylist $proxydb {
                if {$::proxys == "0"} {
                        dnslookup "$yeniip.$proxylist" proxy-sonuc $ipveri $nick
                } else {
                        break
                }
        }
}

proc proxy-sonuc {ip host status ipveri nick} {
global botnick proxy
        if {$status} {
                set ::proxys "1"
                set kontrol "https://www.ipaddresslocation.org/ip-address-locator.php?lookup="
                catch {set sayfa [::http::geturl $kontrol$ipveri -timeout 5000]} error
                if {[string match -nocase "*couldn't open socket*" $error]} {
                        putlog "Hata: Suan siteye baglanilamiyor..."
                        ::http::cleanup $sayfa
                        return
                }
                if {[::http::status $sayfa] == "*timeout*"} {
                        putlog "Hata: Baglanti zaman asimina ugradi..."
                        ::http::cleanup $sayfa
                        return
                }
                set html "[::http::data $sayfa]"
                ::http::cleanup $sayfa
                regexp -- {IP Country: (.*?)} $html - ulke
                if {[info exists ulke]} {
                        if {$ulke == "Turkey"} {
                                if {$proxy(logdurum) == "1"} {
                                        putquick "PRIVMSG $proxy(kanal) :\00303\002$ipveri\002 numarali IP adresi \002PROXY\002 olarak algilandi, ancak \002Turk\002 IP adresi oldugu icin uzaklastirilmadi. ($host)\003"
                                }
                        } else {
                                putquick "$proxy(banturu) $nick $proxy(bansure) $proxy(bansebep) ($host)"
                                if {$proxy(logdurum) == "1"} {
                                        putquick "PRIVMSG $proxy(kanal) :\00304\002$ipveri\002 numarali IP adresi \002PROXY\002 olarak algilandi ve sunucudan \002uzaklastirildi\002. ($host)\003"
                                }
                        }
                } else {
                        putquick "$proxy(banturu) $nick $proxy(bansure) $proxy(bansebep) ($host)"
                        if {$proxy(logdurum) == "1"} {
                                putquick "PRIVMSG $proxy(kanal) :\00304\002$ipveri\002 numarali IP adresi \002PROXY\002 olarak algilandi ve sunucudan \002uzaklastirildi\002. ($host)\003"
                        }
                }
                ::http::cleanup $html
        }
}

#########################
putlog " bopm.tcl v1.0  "
putlog " Kodlayan: ..    "
putlog " www.ircforumu.net "
#########################


pektek 22 Haziran 2023 13:38

Cevap: Bopm TCL
 
Öncelikle tcl için teşekkür ederiz. Fakat tcl de proxy durumunu sürekli açık göstermektedir.Ben yetkili kanalı Dj olarak belirttim.isteğinize göre değiştirebilirsiniz. Bu tcl tarafımca düzenlenmiş olup Açık veya Kapalı olduğunu anlayabiliriz.. Kırmızı ile işaretlediğim yerleri scriptten renklendirmeyi unutmayınız.



Kod:

###########################################################################################################
#                                                                                                        #
# Herkesin proxy korumasi aradigini gordum ve forumda ki proxy korumalarinin calismadigini farkettim.    #
# Bu nedenle guncel ve calisan bir proxy korumasi yapmaya karar verince ortaya guzel bisey cikti. :)      #
# Bopm'un tcl versiyonudur, sunucunuza giren IP'leri dnsbl sitelerinden dns ile taratir.                  #
# Taratilan IP adresi proxy veri tabanlarinda mevcut ise tekrar bir taramaya tabi tutar.                  #
# Ikinci taramada IP adresinin lokasyonuna bakar, eger Turk IP adresi ise islem yapmaz.                  #
# Boylelikle bopm'ta yasamis oldugunuz yanlis atilan banlarin onune gecmis olursunuz.                    #
# Pek test edemedim test etmek size kaldi artik, hata vb. durum yasarsaniz yorum yaziniz.                #
# Tam 70 adet dnsbl sitesi mevcut bu 70 siteden tarama yapmaktadir, gerci pek kaciracagini sanmiyorum. :) #
# Yine de %100 koruma saglar diyemiyorum dnsbl sitelerinin verilerine guvenmemek lazim.                  #
# Neden diye soracak olursaniz Turk IP adreslerinin bir cogu spam olarak veri tabanlarinda mevcut.        #
# Zaten bopm'un tercih edilmemesinin sebebi budur diye dusunuyorum bende bu nedenle kullanmiyordum.      #
# Yani bu tcl ile bopm'un yaptigi islemi yapmis olacak ve Turk IP adreslerini de muaf kilacaksiniz.      #
# Aklima gelmisken http.tcl'yi muhakkak source etmeniz gerekir yoksa tcl calismayacaktir, bilginize...    #
# Ayrica bildiginiz calisan dnsbl siteleri biliyorsaniz soyleyin bot'a ekleme yapalim. :)                #
#                                                                                                        #
###########################################################################################################

#########################
#                      #
#  Ayarlarinizi Yapin.  #
#                      #
########## bopm.tcl # ¿ #

# Komutu belirtiniz.
# Korumayi acip kapatabilmek vb. ayarlari yapabilmek icin gereklidir.
set proxy(komut) ".proxy"

# Yonetim kanalini belirtiniz.
set proxy(kanal) "#Dj"

# Koruma durumu.
# Acmak icin: "1"
# Kapatmak icin: "0"
set proxy(durum) "1"

# Log durumu.
# Acmak icin: "1"
# Kapatmak icin: "0"
set proxy(logdurum) "1"

# Ban turunu belirtiniz.
# G:Zline icin: "GZLINE"
# G:Line icin: "GLINE"
# K:Line icin: "KLINE"
# Shun icin: "SHUN"
set proxy(banturu) "GZLINE"

# Ban suresini belirtin.
# 1 gun: "1d"
# 1 saat: "1h"
# 1 dakika: "1m"
# Suresiz: "0"
set proxy(bansure) "1h"

# Ban sebebini belirtiniz.
set proxy(bansebep) "Sunucumuza wingate/socks/tor/proxy kullanarak giris yapamazsiniz."

#####################
#                  #
#  Ayarlar Bitti !  #
#  DOKUNMA CISS :)  #
#                  #
###### bopm.tcl # ¿ #

set proxydb {
"bl.spamcop.net"
"proxy.block.transip.nl"
"cbl.abuseat.org"
"dnsbl.inps.de"
"psbl.surriel.com"
"ubl.unsubscore.com"
"db.wpbl.info"
"ix.dnsbl.manitu.net"
"rbl.megarbl.net"
"korea.services.net"
"ips.backscatterer.org"
"residential.block.transip.nl"
"dnsbl.dronebl.org"
"bl.blocklist.de"
"rbl.efnet.org"
"bl.spamcannibal.org"
"b.barracudacentral.org"
"tor.ahbl.org"
"ircbl.ahbl.org"
"dyna.spamrats.com"
"spam.spamrats.com"
"noptr.spamrats.com"
"dnsbl-1.uceprotect.net"
"dnsbl-2.uceprotect.net"
"dnsbl-3.uceprotect.net"
"xbl.spamhaus.org"
"zen.spamhaus.org"
"pbl.spamhaus.org"
"sbl.spamhaus.org"
"dnsbl.sorbs.net"
"dul.dnsbl.sorbs.net"
"misc.dnsbl.sorbs.net"
"http.dnsbl.sorbs.net"
"smtp.dnsbl.sorbs.net"
"socks.dnsbl.sorbs.net"
"spam.dnsbl.sorbs.net"
"web.dnsbl.sorbs.net"
"zombie.dnsbl.sorbs.net"
"recent.spam.dnsbl.sorbs.net"
"bl.emailbasura.org"
"blackholes.five-ten-sg.com"
"blacklist.woody.ch"
"bogons.cymru.com"
"cdl.anti-spam.org.cn"
"spam.abuse.ch"
"drone.abuse.ch"
"combined.abuse.ch"
"combined.rbl.msrbl.net"
"dnsbl.cyberlogic.net"
"duinv.aupads.org"
"dul.ru"
"dynip.rothen.com"
"images.rbl.msrbl.net"
"orvedb.aupads.org"
"phishing.rbl.msrbl.net"
"proxy.bl.gweep.ca"
"rbl.interserver.net"
"relays.bl.gweep.ca"
"relays.bl.kundenserver.de"
"relays.nether.net"
"short.rbl.jp"
"spam.rbl.msrbl.net"
"spamlist.or.kr"
"spamrbl.imp.ch"
"tor.dnsbl.sectoor.de"
"torserver.tor.dnsbl.sectoor.de"
"ubl.lashback.com"
"virbl.bit.nl"
"virus.rbl.jp"
"virus.rbl.msrbl.net"
"wormrbl.imp.ch"
}

bind pub - $proxy(komut) proxy:ayar
proc proxy:ayar {nick host hand chan text} {
global botnick proxy
    if {[string match -nocase $proxy(kanal) $chan]} {
        set dncr "[lindex $text 0]"
        if {$dncr == ""} {
            putquick "PRIVMSG $chan :Kullanimi: \002$proxy(komut) \002"
            return
        }
        if {[string match -nocase "ac" $dncr]} {
            set proxy(durum) "1"
            putquick "PRIVMSG $chan :2Proxy korumasi \4acildi\."
        }
        if {[string match -nocase "kapat" $dncr]} {
            set proxy(durum) "0"
            putquick "PRIVMSG $chan :2Proxy korumasi \4kapatildi\."
        }
        if {[string match -nocase "durum" $dncr]} {
            if {$proxy(durum) == "1"} {
            set dncr "[lindex $text 0]"
              set dncr "[lindex $text 1]"
putquick "PRIVMSG $chan :2Proxy korumasi su anda \4acik\ 2durumdadir."
            } else {
                putquick "PRIVMSG $chan :2Proxy korumasi su anda \4kapali\ 2durumdadir."
            }
        }
    }
}

bind raw * notice proxy-kontrol
proc proxy-kontrol {from keyword text} {
global botnick proxy
    if {[string match -nocase "*Client connecting*" $text]} {
        if {$proxy(durum) == "1"} {
            set nick "[lindex $text 9]"
            putquick "WHO +I $nick"
        }
    }
}

bind raw - "352" proxy-tara
proc proxy-tara {from keyword arg} {
global botnick proxy proxydb
    set ::proxys "0"
    set nick [lindex $arg 5]
    set ipveri "[lindex $arg 3]"
    regexp {([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3})} $ipveri -> ip1 ip2 ip3 ip4
    set yeniip "$ip4.$ip3.$ip2.$ip1"
    foreach proxylist $proxydb {
        if {$::proxys == "0"} {
            dnslookup "$yeniip.$proxylist" proxy-sonuc $ipveri $nick
        } else {
            break
        }
    }
}

proc proxy-sonuc {ip host status ipveri nick} {
global botnick proxy
    if {$status} {
        set ::proxys "1"
        set kontrol "https://www.ipaddresslocation.org/ip-address-locator.php?lookup="
        catch {set sayfa [::http::geturl $kontrol$ipveri -timeout 5000]} error
        if {[string match -nocase "*couldn't open socket*" $error]} {
            putlog "Hata: Suan siteye baglanilamiyor..."
            ::http::cleanup $sayfa
            return
        }
        if {[::http::status $sayfa] == "*timeout*"} {
            putlog "Hata: Baglanti zaman asimina ugradi..."
            ::http::cleanup $sayfa
            return
        }
        set html "[::http::data $sayfa]"
        ::http::cleanup $sayfa
        regexp -- {IP Country: (.*?)} $html - ulke
        if {[info exists ulke]} {
            if {$ulke == "Turkey"} {
                if {$proxy(logdurum) == "1"} {
                    putquick "PRIVMSG $proxy(kanal) :\00303\002$ipveri\002 numarali IP adresi \002PROXY\002 olarak algilandi, ancak \002Turk\002 IP adresi oldugu icin uzaklastirilmadi. ($host)\003"
                }
            } else {
                putquick "$proxy(banturu) $nick $proxy(bansure) $proxy(bansebep) ($host)"
                if {$proxy(logdurum) == "1"} {
                    putquick "PRIVMSG $proxy(kanal) :\00304\002$ipveri\002 numarali IP adresi \002PROXY\002 olarak algilandi ve sunucudan \002uzaklastirildi\002. ($host)\003"
                }
            }
        } else {
            putquick "$proxy(banturu) $nick $proxy(bansure) $proxy(bansebep) ($host)"
            if {$proxy(logdurum) == "1"} {
                putquick "PRIVMSG $proxy(kanal) :\00304\002$ipveri\002 numarali IP adresi \002PROXY\002 olarak algilandi ve sunucudan \002uzaklastirildi\002. ($host)\003"
            }
        }
        ::http::cleanup $html
    }
}

#########################
putlog " bopm.tcl v1.0  "
putlog " Kodlayan: ..    "
putlog " www.ircforumu.net "
#########################


LaNeTLy 22 Haziran 2023 14:20

Cevap: Bopm TCL
 
Eline sağlık teşekkürler güzel olmuş bu şekilde de kullanılabilir.


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 06:28.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.6.0
Copyright ©2005 - 2023 IRCForumu.Net - Tüm Hakları Saklıdır.