Linux vmi2545633.contaboserver.net 6.1.0-32-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.129-1 (2025-03-06) x86_64
Apache/2.4.62 (Debian)
Server IP : 127.0.0.1 & Your IP : 127.0.0.1
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
share /
perl5 /
URI /
Delete
Unzip
Name
Size
Permission
Date
Action
file
[ DIR ]
drwxr-xr-x
2025-04-08 14:06
urn
[ DIR ]
drwxr-xr-x
2025-04-08 14:06
Escape.pm
7.73
KB
-rw-r--r--
2022-11-02 17:03
Heuristic.pm
6.37
KB
-rw-r--r--
2022-11-02 17:03
IRI.pm
794
B
-rw-r--r--
2022-11-02 17:03
QueryParam.pm
655
B
-rw-r--r--
2022-11-02 17:03
Split.pm
2.3
KB
-rw-r--r--
2022-11-02 17:03
URL.pm
5.36
KB
-rw-r--r--
2022-11-02 17:03
WithBase.pm
3.77
KB
-rw-r--r--
2022-11-02 17:03
_foreign.pm
107
B
-rw-r--r--
2022-11-02 17:03
_generic.pm
6.66
KB
-rw-r--r--
2022-11-02 17:03
_idna.pm
2.03
KB
-rw-r--r--
2022-11-02 17:03
_ldap.pm
3.17
KB
-rw-r--r--
2022-11-02 17:03
_login.pm
231
B
-rw-r--r--
2022-11-02 17:03
_punycode.pm
5.49
KB
-rw-r--r--
2022-11-02 17:03
_query.pm
4.37
KB
-rw-r--r--
2022-11-02 17:03
_segment.pm
416
B
-rw-r--r--
2022-11-02 17:03
_server.pm
3.79
KB
-rw-r--r--
2022-11-02 17:03
_userpass.pm
1.01
KB
-rw-r--r--
2022-11-02 17:03
data.pm
3.31
KB
-rw-r--r--
2022-11-02 17:03
file.pm
9.46
KB
-rw-r--r--
2022-11-02 17:03
ftp.pm
1.03
KB
-rw-r--r--
2022-11-02 17:03
gopher.pm
2.37
KB
-rw-r--r--
2022-11-02 17:03
http.pm
425
B
-rw-r--r--
2022-11-02 17:03
https.pm
144
B
-rw-r--r--
2022-11-02 17:03
ldap.pm
2.86
KB
-rw-r--r--
2022-11-02 17:03
ldapi.pm
440
B
-rw-r--r--
2022-11-02 17:03
ldaps.pm
144
B
-rw-r--r--
2022-11-02 17:03
mailto.pm
1.62
KB
-rw-r--r--
2022-11-02 17:03
mms.pm
125
B
-rw-r--r--
2022-11-02 17:03
news.pm
1.42
KB
-rw-r--r--
2022-11-02 17:03
nntp.pm
127
B
-rw-r--r--
2022-11-02 17:03
nntps.pm
144
B
-rw-r--r--
2022-11-02 17:03
pop.pm
1.18
KB
-rw-r--r--
2022-11-02 17:03
rlogin.pm
129
B
-rw-r--r--
2022-11-02 17:03
rsync.pm
207
B
-rw-r--r--
2022-11-02 17:03
rtsp.pm
125
B
-rw-r--r--
2022-11-02 17:03
rtspu.pm
126
B
-rw-r--r--
2022-11-02 17:03
sftp.pm
98
B
-rw-r--r--
2022-11-02 17:03
sip.pm
1.63
KB
-rw-r--r--
2022-11-02 17:03
sips.pm
143
B
-rw-r--r--
2022-11-02 17:03
snews.pm
172
B
-rw-r--r--
2022-11-02 17:03
ssh.pm
175
B
-rw-r--r--
2022-11-02 17:03
telnet.pm
128
B
-rw-r--r--
2022-11-02 17:03
tn3270.pm
128
B
-rw-r--r--
2022-11-02 17:03
urn.pm
2.12
KB
-rw-r--r--
2022-11-02 17:03
Save
Rename
package URI::_query; use strict; use warnings; use URI (); use URI::Escape qw(uri_unescape); our $VERSION = '5.17'; sub query { my $self = shift; $$self =~ m,^([^?\#]*)(?:\?([^\#]*))?(.*)$,s or die; if (@_) { my $q = shift; $$self = $1; if (defined $q) { $q =~ s/([^$URI::uric])/ URI::Escape::escape_char($1)/ego; utf8::downgrade($q); $$self .= "?$q"; } $$self .= $3; } $2; } # Handle ...?foo=bar&bar=foo type of query sub query_form { my $self = shift; my $old = $self->query; if (@_) { # Try to set query string my $delim; my $r = $_[0]; if (ref($r) eq "ARRAY") { $delim = $_[1]; @_ = @$r; } elsif (ref($r) eq "HASH") { $delim = $_[1]; @_ = map { $_ => $r->{$_} } sort keys %$r; } $delim = pop if @_ % 2; my @query; while (my($key,$vals) = splice(@_, 0, 2)) { $key = '' unless defined $key; $key =~ s/([;\/?:@&=+,\$\[\]%])/ URI::Escape::escape_char($1)/eg; $key =~ s/ /+/g; $vals = [ref($vals) eq "ARRAY" ? @$vals : $vals]; for my $val (@$vals) { $val = '' unless defined $val; $val =~ s/([;\/?:@&=+,\$\[\]%])/ URI::Escape::escape_char($1)/eg; $val =~ s/ /+/g; push(@query, "$key=$val"); } } if (@query) { unless ($delim) { $delim = $1 if $old && $old =~ /([&;])/; $delim ||= $URI::DEFAULT_QUERY_FORM_DELIMITER || "&"; } $self->query(join($delim, @query)); } else { $self->query(undef); } } return if !defined($old) || !length($old) || !defined(wantarray); return unless $old =~ /=/; # not a form map { s/\+/ /g; uri_unescape($_) } map { /=/ ? split(/=/, $_, 2) : ($_ => '')} split(/[&;]/, $old); } # Handle ...?dog+bones type of query sub query_keywords { my $self = shift; my $old = $self->query; if (@_) { # Try to set query string my @copy = @_; @copy = @{$copy[0]} if @copy == 1 && ref($copy[0]) eq "ARRAY"; for (@copy) { s/([;\/?:@&=+,\$\[\]%])/ URI::Escape::escape_char($1)/eg; } $self->query(@copy ? join('+', @copy) : undef); } return if !defined($old) || !defined(wantarray); return if $old =~ /=/; # not keywords, but a form map { uri_unescape($_) } split(/\+/, $old, -1); } # Some URI::URL compatibility stuff sub equery { goto &query } sub query_param { my $self = shift; my @old = $self->query_form; if (@_ == 0) { # get keys my (%seen, $i); return grep !($i++ % 2 || $seen{$_}++), @old; } my $key = shift; my @i = grep $_ % 2 == 0 && $old[$_] eq $key, 0 .. $#old; if (@_) { my @new = @old; my @new_i = @i; my @vals = map { ref($_) eq 'ARRAY' ? @$_ : $_ } @_; while (@new_i > @vals) { splice @new, pop @new_i, 2; } if (@vals > @new_i) { my $i = @new_i ? $new_i[-1] + 2 : @new; my @splice = splice @vals, @new_i, @vals - @new_i; splice @new, $i, 0, map { $key => $_ } @splice; } if (@vals) { #print "SET $new_i[0]\n"; @new[ map $_ + 1, @new_i ] = @vals; } $self->query_form(\@new); } return wantarray ? @old[map $_+1, @i] : @i ? $old[$i[0]+1] : undef; } sub query_param_append { my $self = shift; my $key = shift; my @vals = map { ref $_ eq 'ARRAY' ? @$_ : $_ } @_; $self->query_form($self->query_form, $key => \@vals); # XXX return; } sub query_param_delete { my $self = shift; my $key = shift; my @old = $self->query_form; my @vals; for (my $i = @old - 2; $i >= 0; $i -= 2) { next if $old[$i] ne $key; push(@vals, (splice(@old, $i, 2))[1]); } $self->query_form(\@old) if @vals; return wantarray ? reverse @vals : $vals[-1]; } sub query_form_hash { my $self = shift; my @old = $self->query_form; if (@_) { $self->query_form(@_ == 1 ? %{shift(@_)} : @_); } my %hash; while (my($k, $v) = splice(@old, 0, 2)) { if (exists $hash{$k}) { for ($hash{$k}) { $_ = [$_] unless ref($_) eq "ARRAY"; push(@$_, $v); } } else { $hash{$k} = $v; } } return \%hash; } 1;