Linux iad1-shared-b7-18 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64
Apache
: 67.205.6.31 | : 216.73.216.20
Cant Read [ /etc/named.conf ]
8.2.29
fernandoquevedo
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
share /
irssi /
scripts /
[ HOME SHELL ]
Name
Size
Permission
Action
autoop.pl
3.33
KB
-rw-r--r--
autorejoin.pl
2
KB
-rw-r--r--
buf.pl
4.51
KB
-rw-r--r--
command.pl
477
B
-rw-r--r--
dns.pl
5.41
KB
-rw-r--r--
kills.pl
2.84
KB
-rw-r--r--
mail.pl
12.11
KB
-rw-r--r--
mlock.pl
3.41
KB
-rw-r--r--
msg-event.pl
1.08
KB
-rw-r--r--
quitmsg.pl
896
B
-rw-r--r--
redirect.pl
982
B
-rw-r--r--
scriptassist.pl
37.14
KB
-rw-r--r--
usercount.pl
5.53
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : mlock.pl
# /MLOCK <channel> <mode> # # Locks the channel mode to <mode>, if someone else tries to change the mode # Irssi will automatically change it back. +k and +l are a bit special since # they require the parameter. If you omit the parameter, like setting the # mode to "+ntlk", Irssi will allow all +k and +l (or -lk) mode changes. # You can remove the lock with /MODE #channel - use Irssi; use Irssi::Irc; use strict; use vars qw($VERSION %IRSSI); $VERSION = "1.00"; %IRSSI = ( authors => 'Timo Sirainen', name => 'mlock', description => 'Channel mode locking', license => 'Public Domain', changed => 'Sun Mar 10 23:18 EET 2002' ); my %keep_channels; sub cmd_mlock { my ($data, $server) = @_; my ($channel, $mode) = split(/ /, $data, 2); if ($mode eq "-") { # remove checking delete $keep_channels{$channel}; } else { $keep_channels{$channel} = $mode; mlock_check_mode($server, $channel); } } sub mlock_check_mode { my ($server, $channame) = @_; my $channel = $server->channel_find($channame); return if (!$channel || !$channel->{chanop}); my $keep_mode = $keep_channels{$channame}; return if (!$keep_mode); # old channel mode my ($oldmode, $oldkey, $oldlimit); $oldmode = $channel->{mode}; $oldmode =~ s/^([^ ]*).*/\1/; $oldkey = $channel->{key}; $oldlimit = $channel->{limit}; # get the new channel key/limit my (@newmodes, $newkey, $limit); @newmodes = split(/ /, $keep_mode); $keep_mode = $newmodes[0]; if ($keep_mode =~ /k/) { if ($keep_mode =~ /k.*l/) { $newkey = $newmodes[1]; $limit = $newmodes[2]; } elsif ($keep_mode =~ /l.*k/) { $limit = $newmodes[1]; $newkey = $newmodes[2]; } else { $newkey = $newmodes[1]; } } elsif ($keep_mode =~ /l/) { $limit = $newmodes[1]; } # check the differences my %allmodes; $keep_mode =~ s/^\+//; for (my $n = 0; $n < length($keep_mode); $n++) { my $modechar = substr($keep_mode, $n, 1); $allmodes{$modechar} = '+'; } for (my $n = 0; $n < length($oldmode); $n++) { my $modechar = substr($oldmode, $n, 1); if ($allmodes{$modechar} eq '+') { next if (($modechar eq "k" && $newkey ne $oldkey) || ($modechar eq "l" && $limit != $oldlimit)); delete $allmodes{$modechar}; } else { $allmodes{$modechar} = '-'; } } # create the mode change string my ($modecmd, $extracmd); foreach my $mode (keys %allmodes) { Irssi::print("key = '$mode':".$allmodes{$mode}); if ($mode eq "k") { if ($allmodes{$mode} eq '+') { next if ($newkey eq ""); if ($oldkey ne "") { # we need to get rid of old key too $modecmd .= "-k"; $extracmd .= " $oldkey"; } $extracmd .= " $newkey"; } else { $extracmd .= " $oldkey"; } } if ($mode eq "l" && $allmodes{$mode} eq '+') { next if ($limit <= 0); $extracmd .= " $limit"; } $modecmd .= $allmodes{$mode}.$mode; } if ($modecmd ne "") { $channel->{server}->command("/mode $channame $modecmd$extracmd"); } } sub mlock_mode_changed { my ($server, $data) = @_; my ($channel, $mode) = split(/ /, $data, 2); mlock_check_mode($server, $channel); } sub mlock_synced { my $channel = $_[0]; mlock_check_mode($channel->{server}, $channel->{name}); } Irssi::command_bind('mlock', 'cmd_mlock'); Irssi::signal_add_last("event mode", "mlock_mode_changed"); Irssi::signal_add("channel synced", "mlock_synced");
Close