IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   TCL Scriptler (https://www.ircforumlari.net/tcl-scriptler/)
-   -   Proxy koruma chatgpt (https://www.ircforumlari.net/tcl-scriptler/1065408-proxy-koruma-chatgpt.html)

GhostLy 26 Temmuz 2025 08:12

Proxy koruma chatgpt
 
📌 Yapılandırma Seçimlerin:
Kanal: #Sohbet

GeoIP izinli ülkeler: TR (Türkiye dışı giriş engellenir)

DNSBL: Kullanılacak (DroneBL, EFNet RBL, Tornevall gibi yaygın servislerle)

📁 Ekstra Gerekli Dosyalar:
proxy.txt → scripts/proxy.txt
İçeriği örnek:

Kodu kopyala
185.220.101.
tor
vpn
geoip_whitelist.txt → scripts/geoip_whitelist.txt
İçeriği:

css
Kodu kopyala
TR
✅ Hazır: guvenlikpaketi.tcl
Aşağıdaki script tam korumalı, her şeyi içeren bir dosyadır. Bu dosyayı scripts/guvenlikpaketi.tcl olarak kaydedip eggdrop.conf içine ekleyebilirsin:

Kod:

# guvenlikpaketi.tcl – Tümleşik Proxy/DNSBL/GeoIP Koruması
# Hazırlayan: ChatGPT / OpenAI

set guvenlik::kanallar {#Sohbet}
set guvenlik::admins {admin1 admin2}
set guvenlik::proxyfile "scripts/proxy.txt"
set guvenlik::geoip_whitelist_file "scripts/geoip_whitelist.txt"
set guvenlik::mod "kick" ;# log | kick | ban | akill
set guvenlik::sure "1d"
set guvenlik::akillkomut "/msg OperServ AKILL ADD"
set guvenlik::dnsbl_list {dnsbl.dronebl.org rbl.efnetrbl.org dnsbl.tornevall.org}

bind join - * guvenlik::kontrol
bind pub - !proxyekle guvenlik::proxy_ekle
bind pub - !proxykaldir guvenlik::proxy_kaldir
bind pub - !proxylist guvenlik::proxy_liste

proc guvenlik::kontrol {nick host hand chan} {
    if {[lsearch -exact $::guvenlik::kanallar $chan] == -1} { return }
    set ip ""
    if {[regexp {(\d+\.\d+\.\d+\.\d+)} $host -> ip]} {}

    if {[guvenlik::proxy_kontrol $host $ip]} {
        guvenlik::uygula $nick $host $chan "Proxy.txt eşleşmesi"
        return
    }

    if {$ip ne "" && [guvenlik::dnsbl_kontrol $ip]} {
        guvenlik::uygula $nick $host $chan "DNSBL kara liste"
        return
    }

    if {$ip ne "" && ![guvenlik::geoip_izinli $ip]} {
        guvenlik::uygula $nick $host $chan "GeoIP ülke izinsiz"
        return
    }
}

proc guvenlik::proxy_kontrol {host ip} {
    if {[catch {set f [open $::guvenlik::proxyfile r]}]} { return 0 }
    set satirlar [split [read $f] "\n"]
    close $f
    foreach s $satirlar {
        set s [string trim $s]
        if {$s eq ""} { continue }
        if {[string match "*$s*" $host] || [string match "*$s*" $ip]} {
            return 1
        }
    }
    return 0
}

proc guvenlik::dnsbl_kontrol {ip} {
    set reversed [join [lreverse [split $ip "."]] "."]
    foreach bl $::guvenlik::dnsbl_list {
        set query "${reversed}.${bl}"
        catch { exec nslookup $query } result
        if {[string match "*127.*" $result]} {
            return 1
        }
    }
    return 0
}

proc guvenlik::geoip_izinli {ip} {
    catch {
        set country [exec curl -s https://ipapi.co/$ip/country/]
        set f [open $::guvenlik::geoip_whitelist_file r]
        set izinliler [split [read $f] "\n"]
        close $f
        foreach izin [lmap x $izinliler {string trim $x}] {
            if {[string toupper $country] eq $izin} { return 1 }
        }
    }
    return 0
}

proc guvenlik::uygula {nick host chan neden} {
    putlog "🚫 Güvenlik: $nick @$host – Sebep: $neden"
    switch -- $::guvenlik::mod {
        "log" { return }
        "kick" { putquick "KICK $chan $nick :Güvenlik ihlali ($neden)" }
        "ban" {
            putquick "MODE $chan +b *!*@$host"
            putquick "KICK $chan $nick :Güvenlik banı ($neden)"
        }
        "akill" {
            putquick "$::guvenlik::akillkomut *!@${host} $::guvenlik::sure :Güvenlik ihlali ($neden)"
            putquick "KICK $chan $nick :AKILL uygulandı ($neden)"
        }
    }
}

# Admin Komutları
proc guvenlik::proxy_ekle {nick host hand chan text} {
    if {[lsearch -exact $::guvenlik::admins $nick] == -1} { return }
    set ip [string trim $text]
    if {$ip eq ""} {
        putquick "PRIVMSG $chan :Kullanım: !proxyekle <ip/host-parçası>"
        return
    }
    if {[guvenlik::proxy_kontrol $ip $ip]} {
        putquick "PRIVMSG $chan :Zaten listede: $ip"
        return
    }
    catch {
        set f [open $::guvenlik::proxyfile a]
        puts $f $ip
        close $f
        putquick "PRIVMSG $chan :Eklendi: $ip"
        putlog "$nick proxy listesine ekledi: $ip"
    }
}

proc guvenlik::proxy_kaldir {nick host hand chan text} {
    if {[lsearch -exact $::guvenlik::admins $nick] == -1} { return }
    set ip [string trim $text]
    set f [open $::guvenlik::proxyfile r]
    set satirlar [split [read $f] "\n"]
    close $f
    set yeniliste {}
    set silindi 0
    foreach s $satirlar {
        if {[string trim $s] eq $ip} {
            set silindi 1
            continue
        }
        lappend yeniliste [string trim $s]
    }
    set f [open $::guvenlik::proxyfile w]
    foreach s $yeniliste {
        puts $f $s
    }
    close $f
    if {$silindi} {
        putquick "PRIVMSG $chan :Kaldırıldı: $ip"
        putlog "$nick proxy listesinden kaldırdı: $ip"
    } else {
        putquick "PRIVMSG $chan :Listede yok: $ip"
    }
}

proc guvenlik::proxy_liste {nick host hand chan text} {
    if {[lsearch -exact $::guvenlik::admins $nick] == -1} { return }
    if {[catch {set f [open $::guvenlik::proxyfile r]}]} {
        putquick "PRIVMSG $chan :proxy.txt bulunamadı."
        return
    }
    set lines [split [read $f] "\n"]
    close $f
    putquick "PRIVMSG $chan :Aktif Proxy Engelleri:"
    foreach line $lines {
        set clean [string trim $line]
        if {$clean ne ""} {
            putquick "PRIVMSG $chan :- $clean"
        }
    }
}

putlog "✅ guvenlikpaketi.tcl yüklendi – Full koruma aktif!"
📦 KURULUM ADIMLARI
Yukarıdaki kodu scripts/guvenlikpaketi.tcl olarak kaydet

eggdrop.conf dosyana şunu ekle:

tcl
Kodu kopyala
source scripts/guvenlikpaketi.tcl
Aşağıdaki dosyaları oluştur:

scripts/proxy.txt

scripts/geoip_whitelist.txt (sadece TR yaz)

.rehash komutu ver veya botu yeniden başlat

✅ Komutlar:
!proxyekle <ip> – Listeye IP/host ekler

!proxykaldir <ip> – Listeden siler

!proxylist – Proxy.txt'deki kayıtları gösterir


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

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk