PHP 7.4.33
Preview: update_mailman_cache Size: 8.34 KB
/home/godevadmin/public_html/upload_images/home/000~ROOT~000/scripts/update_mailman_cache

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

# cpanel - scripts/update_mailman_cache            Copyright 2022 cPanel, L.L.C.
#                                                           All rights reserved.
# [email protected]                                         http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited

package scripts::update_mailman_cache;

use strict;
use warnings;
use Cpanel::Config::LoadCpConf ();
use Cpanel::Config::Users      ();
use Cpanel::CachedDataStore    ();
use Cpanel::Mailman::Filesys   ();

use Cpanel::DatastoreDir        ();
use Cpanel::DatastoreDir::Init  ();
use Cpanel::UserDatastore       ();
use Cpanel::UserDatastore::Init ();

require Cpanel::Mailman::DiskUsage;
require Cpanel::Mailman::NameUtils;
require Cpanel::Config::FlushConfig;
require Cpanel::Config::LoadConfig;
require Cpanel::AcctUtils::DomainOwner::Tiny;
require Cpanel::PwCache;
require Cpanel::SafeFile;
require Cpanel::Finally;
require Cpanel::Timezones;

my $missing_info_mail_list = {};
my $MAILMAN_DISK_USAGE_REF = {};
my $MAILMAN_LIST_USAGE_REF = {};

my $message      = undef;
my $alert_status = undef;

exit( __PACKAGE__->run(@ARGV) ) unless caller();

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

    # We call localtime quote a bit, lets make it a bit faster
    local $ENV{'TZ'} = Cpanel::Timezones::calculate_TZ_env();

    my $cpanel_conf  = Cpanel::Config::LoadCpConf::loadcpconf_not_copy();
    my $NEEDDISKUSED = exists $cpanel_conf->{'disk_usage_include_mailman'} ? $cpanel_conf->{'disk_usage_include_mailman'} : 1;

    if ( !$NEEDDISKUSED ) {
        clear_db_caches();
        return 0;
    }

    my $datastore_path          = Cpanel::DatastoreDir::Init::initialize();
    my $missing_info_yaml_file  = "$datastore_path/mailman_missing_info_mail_list.yaml";
    my $mailman_list_usage_file = _mailman_list_usage_file();
    my $mailman_disk_usage_file = _mailman_disk_usage_file();
    my $progress_file           = "$datastore_path/update_mailman_cache-in-progress";

    my ( $user_to_rebuild, $list_to_rebuild ) = @args;

    if ( $user_to_rebuild && !Cpanel::PwCache::getpwnam_noshadow($user_to_rebuild) ) {
        die "Usage: $0 <user> [<list>]\n";
    }

    my $mmlock = Cpanel::SafeFile::safeopen( my $fh, '>', $progress_file );
    if ( !$mmlock ) {
        warn "Could not get a lock on '$progress_file': $!\n";
        return 1;
    }

    my $finally = Cpanel::Finally->new( sub { unlink($progress_file); Cpanel::SafeFile::safeclose( $fh, $mmlock ); } );

    $missing_info_mail_list = Cpanel::CachedDataStore::fetch_ref($missing_info_yaml_file);
    $MAILMAN_LIST_USAGE_REF = Cpanel::CachedDataStore::fetch_ref($mailman_list_usage_file);

    Cpanel::AcctUtils::DomainOwner::Tiny::build_domain_cache();
    if ($user_to_rebuild) {

        # load disk usage for all other users
        $MAILMAN_DISK_USAGE_REF = Cpanel::Config::LoadConfig::loadConfig( $mailman_disk_usage_file, undef, ':\s+' );

        # reset disk usage for current user ( will be computed later )
        #   need to be deleted from hash as we do not want to save 0 in disk-usage
        delete $MAILMAN_DISK_USAGE_REF->{$user_to_rebuild};
    }

    my %SEEN_LISTS;
    if ( opendir( my $list_dir_dh, Cpanel::Mailman::Filesys::MAILING_LISTS_DIR() ) ) {
        my $listuser;
        while ( my $list = readdir($list_dir_dh) ) {
            next if index( $list, '.' ) == 0;
            $SEEN_LISTS{$list} = 1;
            if ( index( $list, '_' ) != -1 ) {
                ## takes advantage of the first .* being greedy; e.g. my_list_name_domain.com
                ##   will appropriately split my_list_name and domain.com
                my ( $listname, $listdomain ) = Cpanel::Mailman::NameUtils::parse_name($list);
                $listuser = Cpanel::AcctUtils::DomainOwner::Tiny::getdomainowner( $listdomain, { 'default' => '' } );
            }
            else {
                $listuser = '';
            }
            if ( !$listuser ) {
                $listuser = 'root' if $list eq 'mailman';
            }

            if ( !$listuser ) {

                # When detecting no listuser, only provide warning message once on the first time
                # (The mailing list without the listuser info is added to the yaml file
                # to prevent redundant notification on subsequent runs.)
                $alert_status = 'provided message';
                if ( !( exists( $missing_info_mail_list->{$list} ) && $missing_info_mail_list->{$list}->{'alert_status'} eq $alert_status ) ) {
                    $message = "Could not determine the list owner for mailman mailing list \"$list\"";
                    _warn_about_list_owner($message);
                    $missing_info_mail_list->{$list}->{'alert_status'} = $alert_status;
                    $missing_info_mail_list->{$list}->{'message'}      = $message;
                }

                next;
            }

            # skip other users ( usage comes from previous file ) when a user is defined
            if ( $user_to_rebuild && $listuser ne $user_to_rebuild ) { next; }

            my $disk_used;

            if ( exists $MAILMAN_LIST_USAGE_REF->{$listuser}{$list} && ( $list_to_rebuild && $list ne $list_to_rebuild ) ) {

                # Use previous value if we are only rebuilding a specific list
                $disk_used = $MAILMAN_LIST_USAGE_REF->{$listuser}{$list};
            }
            else {
                $disk_used = Cpanel::Mailman::DiskUsage::get_mailman_archive_dir_disk_usage($list) + Cpanel::Mailman::DiskUsage::get_mailman_archive_dir_mbox_disk_usage($list) + Cpanel::Mailman::DiskUsage::get_mailman_list_dir_disk_usage($list);
                $MAILMAN_LIST_USAGE_REF->{$listuser}{$list} = $disk_used;
            }
            $MAILMAN_DISK_USAGE_REF->{$listuser} += $disk_used;
        }

        if ( !Cpanel::CachedDataStore::store_ref( $missing_info_yaml_file, $missing_info_mail_list, { mode => 0600 } ) ) {
            warn "Error: Unable to save yaml file \"$missing_info_yaml_file\". \n";
        }

    }

    foreach my $user ( $user_to_rebuild ? ($user_to_rebuild) : Cpanel::Config::Users::getcpusers() ) {
        my $user_datastore_path = Cpanel::UserDatastore::Init::initialize($user);

        if ( my @deleted_lists = map { !$SEEN_LISTS{$_} } keys %{ $MAILMAN_LIST_USAGE_REF->{$user} } ) {
            delete @SEEN_LISTS{@deleted_lists};
        }
        if ( !exists $MAILMAN_LIST_USAGE_REF->{$user} || !scalar keys %{ $MAILMAN_LIST_USAGE_REF->{$user} } ) {
            delete $MAILMAN_LIST_USAGE_REF->{$user};
            unlink $user_datastore_path . '/mailman-disk-usage', $user_datastore_path . '/mailman-list-usage';
            next;
        }

        if ( open( my $disk_usage_fh, '>', $user_datastore_path . '/mailman-disk-usage' ) ) {
            print {$disk_usage_fh} int( $MAILMAN_DISK_USAGE_REF->{$user} || 0 );
            close($disk_usage_fh);
        }
        Cpanel::Config::FlushConfig::flushConfig( $user_datastore_path . '/mailman-list-usage', $MAILMAN_LIST_USAGE_REF->{$user}, ': ', undef, { perms => 0644 } );
    }

    my $umask = umask(0027);
    Cpanel::Config::FlushConfig::flushConfig( $mailman_disk_usage_file, $MAILMAN_DISK_USAGE_REF, ': ', undef, { perms => 0600 } );
    Cpanel::CachedDataStore::store_ref( $mailman_list_usage_file, $MAILMAN_LIST_USAGE_REF, { mode => 0600 } );
    umask($umask);

    return 0;
}

sub _mailman_list_usage_file {
    my $datastore_path = Cpanel::DatastoreDir::PATH();
    return "$datastore_path/mailman-list-usage.yaml";
}

sub _mailman_disk_usage_file {
    my $datastore_path = Cpanel::DatastoreDir::PATH();
    return "$datastore_path/mailman-disk-usage";
}

sub clear_db_caches {
    my $datastore_path = Cpanel::DatastoreDir::PATH();

    return if !-d $datastore_path;

    foreach my $db ( _mailman_list_usage_file(), _mailman_disk_usage_file() ) {
        unlink($db) if -e $db;
    }

    foreach my $user ( Cpanel::Config::Users::getcpusers() ) {
        my $user_datastore_path = Cpanel::UserDatastore::get_path($user);
        unlink grep { -e $_ } map { $user_datastore_path . '/' . $_ } ( 'mailman-list-usage', 'mailman-disk-usage' );
        rmdir $user_datastore_path;    # This should be safe, rmdir will fail if anything is left in the directory
    }

    return;
}

# stubbed out in tests to avoid spurious warnings
sub _warn_about_list_owner {
    my ($message) = @_;
    warn $message;
    return;
}

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).