array set fxp_bannedips { NGZ "213.202.0.0 2" LeaseWeb "83.149.0.0 2" NA "195.56.151.100 4" } set fxp_excluded_ips "" set fxp_excluded_users "crusher Zero-X" ################################################################################ proc wstools:prebind {event command} { global precommand if {[info exists precommand($event)]} { if {[lsearch $precommand($event) $command] == -1} { set precommand($event) [linsert $precommand($event) 0 $command] } } else { set precommand($event) [list $command] } } wstools:prebind "SYSOP" "wstools:pre:sysop" ################ proc wstools:pre:sysop {event section line} { global glroot staffchan fxp_bannedips fxp_excluded_users fxp_excluded_ips set text [join $line " "] if {[string match "*foreign*" $text]} { set user [string map {"\'" ""} [lindex $text 0]] if {[string match "*$user*" $fxp_excluded_users]} {return 0} set transmode [lindex $text 2] set fxpip [lindex $text 7] set fxpblocks [split $fxpip "."] foreach ban_entry [array names fxp_bannedips] { set banblocks [split [lindex $fxp_bannedips($ban_entry) 0] "."] set checkcount [lindex $fxp_bannedips($ban_entry) 1] if {[string match "*$fxpip*" $fxp_excluded_ips]} {set denied 0} else {set denied 1} for {set count 0} {$count<$checkcount} {incr count} { if {[lindex $banblocks $count] != [lindex $fxpblocks $count] && $denied==1} {set denied 0} } if {$denied==1} { exec $glroot/bin/zx-sitekick.sh $user & putserv "PRIVMSG $staffchan :( \002SYSOP\002 )-( \002\00304FXP BANNED\003\002 )-( User: \002$user\002 )-( Mode: \002$transmode\002 )-( Provider/Site: \002$ban_entry\002 )" } } return 0 } else { return 1 } } putlog ":: fxp-chegg0r v0.2b by Zero-X loaded"