PHP 7.4.33
Preview: servicedomains Size: 9.64 KB
/scripts/servicedomains

#!/usr/local/cpanel/3rdparty/bin/perl

#                                      Copyright 2025 WebPros International, LLC
#                                                           All rights reserved.
# [email protected]                                         http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited.

package scripts::servicedomains;

use strict;
use warnings;

use Cpanel::Config::LoadCpConf ();
use Cpanel::Hostname           qw( gethostname );
use Cpanel::Proxy              ();
use Cpanel::Server::Type       qw( is_dnsonly );
use Getopt::Long;
use Pod::Usage;

exit( __PACKAGE__->script(@ARGV) );

sub script {    ## no critic qw(Subroutines::ProhibitExcessComplexity)
    my ( $class, @args ) = @_;

    if ( $> != 0 ) {
        die "Must be root to run $0";
    }

    # process arguments
    my $help;
    my $user;
    my $domain;
    my $man;
    my $subdomain;
    my $force_autodiscover_support;
    my $allow_disabled;
    my $old_autodiscover_host;
    my $no_replace;
    my $ifenabled;
    Getopt::Long::GetOptionsFromArray(
        \@args,
        'domain=s'                     => \$domain,
        'force_autodiscover_support=s' => \$force_autodiscover_support,
        'allow_disabled'               => \$allow_disabled,
        'help'                         => \$help,
        'man'                          => \$man,
        'no_replace=s'                 => \$no_replace,
        'old_autodiscover_host=s'      => \$old_autodiscover_host,
        'subdomain=s'                  => \$subdomain,
        'user=s'                       => \$user,
        'ifenabled'                    => \$ifenabled,
    ) || pod2usage("Invalid options");

    if ($ifenabled) {
        my $conf = Cpanel::Config::LoadCpConf::loadcpconf_not_copy();
        if ( !$conf->{proxysubdomains} ) {
            print "Service subdomains are not enabled; there is nothing to do.\n";
            return;
        }
    }

    my $action = shift @args || ( $help = 1 );
    $action = lc $action if $action;

    # validate

    if ( $user && $domain ) {
        pod2usage("User and Domain cannot be specified at the same time");
    }

    if ( ( $domain eq Cpanel::Hostname::gethostname() ) && Cpanel::Server::Type::is_dnsonly() ) {
        pod2usage("Service subdomains cannot be applied to the hostname of a DNSONLY system.");
    }

    if ( !$help && $action ne 'add' && $action ne 'remove' ) {
        pod2usage("Invalid action ($action) specified");
    }

    my @subdomains;
    if ( defined $subdomain ) {
        @subdomains = split( m{,}, $subdomain );
        if ( grep ( !m/^(?:webmail|webdisk|cpcalendars|cpcontacts|whm|cpanel|autoconfig|autodiscover)$/, @subdomains ) ) {
            pod2usage("Invalid subdomain specified, must be: whm, cpanel, webmail, webdisk, cpcalendars, cpcontacts, autoconfig, and autodiscover");
        }
    }

    pod2usage( { -verbose => 2 } ) if $man;
    pod2usage(1)                   if $help;

    # dispatch

    my %args = ();
    my $function;

    if ($force_autodiscover_support) {
        $args{'force_autodiscover_support'} = 1;
    }

    if ($allow_disabled) {
        $args{'include_disabled'} = 1;
    }

    if ( defined $no_replace ) {
        $args{'no_replace'} = $no_replace;    # we have to replace the old records
    }

    if ($old_autodiscover_host) {
        $args{'old_autodiscover_host'} = $old_autodiscover_host;
    }

    if (@subdomains) {
        $args{'subdomain'} = \@subdomains;
    }

    if ( $action eq 'add' ) {
        if ($user) {
            print "Adding service subdomains for user ${user}.\n";
            $args{'user'} = $user;
            my ( $status, $msg, $results ) = Cpanel::Proxy::setup_proxy_subdomains(%args);    # issafe
            foreach my $response ( sort { $a->{'domain'} cmp $b->{'domain'} } @{ $results->{'domain_status'} } ) {
                print _pad( $response->{'domain'}, 35 ) . $response->{'msg'} . "\n";
            }

            print $msg . "\n" if $msg;
            return 1          if !$status;
        }
        elsif ($domain) {
            print "Adding service subdomains for domain ${domain}.\n";
            $args{'domain'} = $domain;
            my ( $status, $msg, $results ) = Cpanel::Proxy::setup_proxy_subdomains(%args);    # issafe
            foreach my $response ( sort { $a->{'domain'} cmp $b->{'domain'} } @{ $results->{'domain_status'} } ) {
                print _pad( $response->{'domain'}, 35 ) . $response->{'msg'} . "\n";
            }

            print $msg . "\n" if $msg;
            return 1          if !$status;
        }
        else {
            print "Adding service subdomains for all users.\n";
            print "This may take several minutes if there are many accounts on the system.\n";
            my $rsp = Cpanel::Proxy::setup_all_proxy_subdomains(%args);                       # issafe
            foreach my $response ( @{$rsp} ) {
                print _pad( $response->{'domain'}, 35 ) . $response->{'msg'} . "\n";
            }
            return 0;
        }
    }
    elsif ( $action eq 'remove' ) {
        if ($user) {
            print "Removing service subdomains for user ${user}.\n";
            $args{'user'} = $user;
            my ( $status, $msg, $results ) = Cpanel::Proxy::remove_proxy_subdomains(%args);    # issafe
            foreach my $response ( sort { $a->{'domain'} cmp $b->{'domain'} } @{ $results->{'domain_status'} || [] } ) {
                print _pad( $response->{'domain'}, 35 ) . $response->{'msg'} . "\n";
            }

            print $msg . "\n" if $msg;
            return 1          if !$status;
        }
        elsif ($domain) {
            print "Removing service subdomains for domain ${domain}.\n";
            $args{'domain'} = $domain;
            my ( $status, $msg, $results ) = Cpanel::Proxy::remove_proxy_subdomains(%args);    # issafe
            foreach my $response ( sort { $a->{'domain'} cmp $b->{'domain'} } @{ $results->{'domain_status'} || [] } ) {
                print _pad( $response->{'domain'}, 35 ) . $response->{'msg'} . "\n";
            }

            print $msg . "\n" if $msg;
            return 1          if !$status;
        }
        else {
            print "Removing service subdomains for all users.\n";
            print "This may take several minutes if there are many accounts on the system.\n";
            my $rsp = Cpanel::Proxy::remove_all_proxy_subdomains(%args) || [];                 # issafe
            foreach my $response ( @{$rsp} ) {
                print _pad( $response->{'domain'}, 35 ) . $response->{'msg'} . "\n";
            }
            return 0;
        }
    }

    return 0;
}

sub _pad {
    my ( $text, $length ) = @_;

    if ( length($text) > $length ) {
        return substr( $text, 0, ( $length - 1 ) ) . '…';
    }
    else {
        return $text . ( ' ' x ( $length - length $text ) );
    }
}

__END__

=head1 NAME

servicedomains - Add or remove service subdomains

=head1 SYNOPSIS

servicedomains [action] [options]

    Options:
      --help                          Brief help message
      --man                           Full help message
      --user=                         User to configure
      --domain=                       Domain to configure
      --subdomain=                    Service subdomain to manipulate
      --no_replace=0                  Enable replacment of existing records (currently
                                      only used for changing autodiscover hosts)
      --old_autodiscover_host=        The previously configured autodiscover host (used
                                      for matching old records and updating them to the
                                      new host)
      --force_autodiscover_support=1  Behave as if the autodiscover support has not been
                                      disabled even if it has. This is useful for
                                      removing the autodiscovery service subdomains after
                                      the support for them has been disabled.
      --ifenabled                     Only perform the operation if service subdomains
                                      are enabled.

    Actions:
      add          Create service subdomains
      remove       Remove service subdomains

=head1 DESCRIPTION

This script creates the DNS records required to use cpanel.domain.com,
webmail.domain.com, webdisk.domain.com, whm.domain.com, cpcontacts.domain.com,
and cpcalendars.domain.com service redirect domains. This script will add the
required subdomains to the main domain's DNS record without creating any
matching VirtualHost entry in httpd.conf. When the service domains setting in
the WebHostManger Tweak Settings has also been enabled, this will allow http
and https connections to cpanel.domain.com to be internally proxied to
port 2082, webmail.domain.com to port 2095, webdisk.domain.com to port 2077,
whm.domain.com to port 2086, and cpcalendars.domain.com and cpcontacts.domain.com
to port 2079.

When no --user or --domain argument is supplied this script will attempt to
configure the service subdomains for all cPanel accounts.

If no --user or --domain argument is supplied and
the system will not configure autoconfig, autodiscover, or SRV
records for domains that are not listed in /etc/localdomains.

When --subdomain is specified, this script will only add or remove the
specified service subdomain.  When no --subdomain is specified, it will
add or remove all four service subdomains.

The --ifenabled flag causes the script to immediately exit if service subdomains
are not enabled. This may be used as a convenience in cases where systems that
already have service subdomains need to have all of them updated, but systems that
don't have service subdomains should be left alone.

=cut

Directory Contents

Dirs: 2 × Files: 448

Name Size Perms Modified Actions
- drwxr-xr-x 2024-07-25 20:31:52
Edit Download
- drwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.69 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.36 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
6.08 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
3.27 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
92 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.36 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
16.03 KB lrwx------ 2024-11-25 15:45:57
Edit Download
4.31 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
3.05 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.81 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.24 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.57 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
15.75 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
4.56 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.58 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.69 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
6.76 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
7.00 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.60 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
539 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.52 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
3.41 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
3.87 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.14 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
4.91 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.40 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.18 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.22 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
3.10 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.29 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
856 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
10.75 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
6.68 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
5.49 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
187 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
3.57 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.02 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
5.56 KB lrwxr-xr-x 2025-01-23 05:07:15
Edit Download
2.45 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
8.28 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
4.56 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
3.59 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
6.05 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
7.66 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
141 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
416 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.11 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
13.11 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
417 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
735 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
932 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
658 B lrw-r--r-- 2024-07-25 20:31:52
Edit Download
1.61 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
5.89 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.64 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
773 B lrwxr-xr-x 2025-02-25 05:11:57
Edit Download
2.09 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.44 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
4.76 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.27 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
3.56 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.52 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.86 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
999 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
520 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
520 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
520 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
682 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
4.07 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.97 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.66 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.66 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
26.12 KB lrwxr-xr-x 2025-03-20 05:07:58
Edit Download
4.33 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.46 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.25 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.34 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
3.25 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
28.31 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.62 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
67.14 KB lrwxr-xr-x 2025-01-23 05:07:15
Edit Download
965 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.80 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
44.79 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
5.65 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.09 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.23 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
433 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.30 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.87 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
19.29 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
10.85 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
27.58 MB lrwx------ 2025-06-27 05:13:18
Edit Download
5.06 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.84 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
850 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
6.20 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
508 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.19 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.77 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.49 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.16 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
4.44 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.29 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
3.75 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
7.66 KB lrwxr-xr-x 2025-03-25 05:07:14
Edit Download
984 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
866 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
687 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
616 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
913 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.64 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
3.43 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.58 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
381.88 KB lrwx------ 2025-07-11 05:10:17
Edit Download
6.15 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.46 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.10 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
8.83 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.57 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
3.01 MB lrwx------ 2025-06-27 05:16:27
Edit Download
4.82 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.55 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.08 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
3.13 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.51 KB lrwxr-xr-x 2025-03-27 05:08:45
Edit Download
601 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
13.53 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.32 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
867 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.96 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
3.56 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
852 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.06 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
5.16 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.92 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
422 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
6.99 KB lrwxr-xr-x 2025-01-23 05:07:17
Edit Download
6.06 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
3.66 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
29.03 KB lrwxr-xr-x 2025-01-23 05:07:18
Edit Download
3.52 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
6.15 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
4.32 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
572 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1008 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.09 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.22 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
413 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
18.39 KB lrwxr-xr-x 2025-01-23 05:07:18
Edit Download
1.74 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
16.39 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
503 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
4.70 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.00 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
966 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
7.69 KB lrwxr-xr-x 2025-06-16 05:09:19
Edit Download
1.34 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
4.05 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
10.70 KB lrwxr-xr-x 2025-06-16 05:09:28
Edit Download
895 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.20 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
8.31 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.36 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
261 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
5.45 KB lrwx------ 2025-07-10 20:03:00
Edit Download
4.25 KB lrwx------ 2025-07-10 20:03:00
Edit Download
1.74 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
6.26 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
5.70 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.11 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
984 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
13.94 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.16 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
12.67 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.99 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.19 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
3.02 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.45 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.66 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
3.97 MB lrwx------ 2025-06-27 05:18:24
Edit Download
8.39 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
891 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
4.99 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
444 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.76 KB lrwx------ 2025-07-10 20:51:42
Edit Download
19.47 KB lrwxr-xr-x 2025-06-16 05:09:20
Edit Download
4.03 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
575 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
6.46 KB lrwxr-xr-x 2025-06-16 05:09:47
Edit Download
1.82 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.93 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.57 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.80 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
3.93 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
7.45 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
602 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
3.69 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
422 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.15 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
433 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.15 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
853 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
937 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
3.17 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.24 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
538 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.05 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
3.86 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
5.21 KB lrwxr-xr-x 2025-03-25 05:07:14
Edit Download
4.35 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
3.99 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
205 B lrw-r--r-- 2024-07-25 20:31:52
Edit Download
1.94 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
6.08 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
16.53 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.42 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
10.00 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
46.22 KB lrwxr-xr-x 2025-02-12 05:09:20
Edit Download
407 B lrw-r--r-- 2024-07-25 20:31:52
Edit Download
1.16 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
12.41 KB lrwx------ 2025-07-10 20:27:07
Edit Download
16.19 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
16.33 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
47.06 KB lrwxr-xr-x 2025-02-12 05:08:30
Edit Download
7.41 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.95 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.38 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.33 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
4.07 KB lrwxr-xr-x 2025-03-25 05:07:14
Edit Download
9.20 KB lrwx------ 2025-07-10 20:27:07
Edit Download
3.64 KB lrwxr-xr-x 2025-03-25 05:07:14
Edit Download
15.63 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
6.72 KB lrwxr-xr-x 2025-01-23 05:07:15
Edit Download
4.14 KB lrwxr-xr-x 2025-01-23 05:07:15
Edit Download
1.57 KB lrw-r--r-- 2024-07-25 20:31:52
Edit Download
774 B lrw-r--r-- 2024-07-25 20:31:52
Edit Download
9.37 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.33 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.12 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
3.88 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.72 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.39 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.26 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.98 KB lrwxr-xr-x 2025-03-25 05:07:14
Edit Download
528 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.18 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
687 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
9.73 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
88.03 KB lrwxr-xr-x 2025-01-23 05:07:18
Edit Download
2.09 KB lrwxr-xr-x 2025-01-23 05:07:22
Edit Download
6.09 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
62 B lrwxr-xr-x 2024-08-07 14:34:49
Edit Download
2.44 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.73 KB lrwxr-xr-x 2025-06-16 05:10:14
Edit Download
7.27 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
9.64 KB lrwxr-xr-x 2025-06-16 05:08:57
Edit Download
724 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.53 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.08 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
708 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.13 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.29 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
22.36 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.41 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
460 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
4.80 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
5.61 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
3.26 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
5.67 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
425 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
25.50 KB lrwxr-xr-x 2025-06-16 05:09:04
Edit Download
2.60 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.85 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
509 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
948 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.27 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.27 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.45 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
5.80 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.01 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.22 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
5.97 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.18 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
11.60 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
23.60 MB lrwx------ 2025-06-27 05:14:56
Edit Download
5.89 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.98 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.03 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
4.61 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
6.82 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
3.19 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
422 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
10.26 MB lrwxr-xr-x 2025-06-27 05:11:38
Edit Download
10.26 MB lrwxr-xr-x 2025-06-27 05:11:38
Edit Download
10.26 MB lrwxr-xr-x 2025-06-27 05:11:38
Edit Download
427 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
10.26 MB lrwxr-xr-x 2025-06-27 05:11:38
Edit Download
10.26 MB lrwxr-xr-x 2025-06-27 05:11:38
Edit Download
10.26 MB lrwxr-xr-x 2025-06-27 05:11:38
Edit Download
10.26 MB lrwxr-xr-x 2025-06-27 05:11:38
Edit Download
10.26 MB lrwxr-xr-x 2025-06-27 05:11:38
Edit Download
10.26 MB lrwxr-xr-x 2025-06-27 05:11:38
Edit Download
10.26 MB lrwxr-xr-x 2025-06-27 05:11:38
Edit Download
10.26 MB lrwxr-xr-x 2025-06-27 05:11:38
Edit Download
10.26 MB lrwxr-xr-x 2025-06-27 05:11:38
Edit Download
10.26 MB lrwxr-xr-x 2025-06-27 05:11:38
Edit Download
10.26 MB lrwxr-xr-x 2025-06-27 05:11:38
Edit Download
10.26 MB lrwxr-xr-x 2025-06-27 05:11:38
Edit Download
504 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
426 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
911 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
10.26 MB lrwxr-xr-x 2025-06-27 05:11:38
Edit Download
437 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.47 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
10.26 MB lrwxr-xr-x 2025-06-27 05:11:38
Edit Download
437 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
10.26 MB lrwxr-xr-x 2025-06-27 05:11:38
Edit Download
10.26 MB lrwxr-xr-x 2025-06-27 05:11:38
Edit Download
579 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
10.26 MB lrwxr-xr-x 2025-06-27 05:11:38
Edit Download
10.26 MB lrwxr-xr-x 2025-06-27 05:11:38
Edit Download
10.26 MB lrwxr-xr-x 2025-06-27 05:11:38
Edit Download
437 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
427 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
10.26 MB lrwxr-xr-x 2025-06-27 05:11:38
Edit Download
442 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
10.26 MB lrwxr-xr-x 2025-06-27 05:11:38
Edit Download
10.26 MB lrwxr-xr-x 2025-06-27 05:11:38
Edit Download
10.26 MB lrwxr-xr-x 2025-06-27 05:11:38
Edit Download
10.26 MB lrwxr-xr-x 2025-06-27 05:11:38
Edit Download
437 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
10.26 MB lrwxr-xr-x 2025-06-27 05:11:38
Edit Download
10.26 MB lrwxr-xr-x 2025-06-27 05:11:38
Edit Download
2.40 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
10.26 MB lrwxr-xr-x 2025-06-27 05:11:38
Edit Download
10.26 MB lrwxr-xr-x 2025-06-27 05:11:38
Edit Download
422 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.96 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
37.99 MB lrwx------ 2025-06-27 05:17:07
Edit Download
10.00 KB lrw-r--r-- 2024-07-25 20:31:52
Edit Download
5.07 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
5.76 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
440 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.02 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
512 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
3.53 KB lrwx------ 2025-07-10 20:27:07
Edit Download
3.34 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
844 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
4.72 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
4.40 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
3.58 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
15.99 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
474 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
9.64 KB lrwxr-xr-x 2025-06-16 05:08:57
Edit Download
6.04 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
10.47 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
9.39 KB lrwxr-xr-x 2025-06-16 05:09:49
Edit Download
12.52 KB lrwxr-xr-x 2025-01-23 05:07:21
Edit Download
16.19 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.30 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
3.92 KB lrwx------ 2025-07-10 20:27:07
Edit Download
1.75 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
12.97 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
3.05 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
5.78 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
15.13 KB lrwxr-xr-x 2025-06-16 05:09:54
Edit Download
8.15 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
5.88 KB lrwxr-xr-x 2025-01-23 05:07:18
Edit Download
3.74 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
5.85 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.27 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
14.38 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
3.84 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
18.01 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
4.78 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
3.82 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.20 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
6.59 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.92 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.77 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.14 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.36 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
645 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.07 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
9.72 MB lrwx------ 2025-06-27 05:10:25
Edit Download
4.76 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.34 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
3.08 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
312 B lrw-r--r-- 2024-07-25 20:31:52
Edit Download
7.95 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
667 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.20 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
562 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.84 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.62 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
4.60 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
863 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
17.80 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
7.10 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
31.97 KB lrwxr-xr-x 2025-01-23 05:07:17
Edit Download
2.70 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
721.09 KB lrwxr-xr-x 2025-06-27 05:18:32
Edit Download
5.07 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
605 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.66 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
5.18 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.02 MB lrwxr-xr-x 2025-06-27 05:16:02
Edit Download
1.95 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.81 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.49 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.47 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
774 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
480 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
430 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.45 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.21 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
4.78 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
957 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
5.25 KB lrwxr-xr-x 2025-06-16 05:09:04
Edit Download
1002 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
4.56 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
8.34 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.07 KB lrwxr-xr-x 2025-06-16 05:09:09
Edit Download
487 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.14 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
10.73 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
691 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
801 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.22 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.73 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
5.74 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
5.01 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.21 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
757 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.96 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
7.34 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
7.82 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
725 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.33 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.13 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
27.58 MB lrwx------ 2025-06-27 05:13:18
Edit Download
88 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
3.13 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
16.23 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
2.40 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
1.80 KB lrwxr-xr-x 2024-07-25 20:31:52
Edit Download
800 B lrwxr-xr-x 2024-07-25 20:31:52
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).