Linux s1.hostinginusa.com 5.14.0-687.26.1.el9_8.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Jul 14 16:32:02 EDT 2026 x86_64
Apache
Server IP : 67.222.28.226 & Your IP : 216.73.216.79
Domains : 206 Domain
User : agvfen
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
local /
cpanel /
scripts /
Delete
Unzip
Name
Size
Permission
Date
Action
Cpanel
[ DIR ]
drwxr-xr-x
2026-04-16 08:42
cpan_sandbox
[ DIR ]
drwxr-xr-x
2026-03-30 12:55
php_sandbox
[ DIR ]
drwxr-xr-x
2026-03-30 12:55
MirrorSearch_pingtest
2.38
KB
-rwxr-xr-x
2022-02-09 18:45
activesync-invite-reply
1.69
KB
-rwxr-xr-x
2022-02-09 18:45
add_dns
2.36
KB
-rwxr-xr-x
2022-02-09 18:45
adddns
2.36
KB
-rwxr-xr-x
2022-02-09 18:45
addpop
6.08
KB
-rwxr-xr-x
2022-02-09 18:45
addsystemuser
3.27
KB
-rwxr-xr-x
2022-02-09 18:45
adduser
92
B
-rwxr-xr-x
2015-02-11 17:35
agent360.sh
16.03
KB
-rwx------
2026-04-13 20:58
analyze_config
3.98
KB
-rwxr-xr-x
2026-04-16 08:42
apachelimits
4.31
KB
-rwxr-xr-x
2022-02-09 18:45
archive_sync_zones
3.05
KB
-rwxr-xr-x
2025-02-11 05:07
auto-adjust-mysql-limits
1.81
KB
-rwxr-xr-x
2022-02-09 18:45
autorepair
1.24
KB
-rwxr-xr-x
2022-02-09 18:45
backup_jobs_helper
10.88
KB
-rwxr-xr-x
2026-07-14 13:33
backups_clean_metadata_for_missing_backups
1.57
KB
-rwxr-xr-x
2022-02-09 18:45
backups_create_metadata
15.75
KB
-rwxr-xr-x
2022-02-09 18:45
backups_list_user_files
4.56
KB
-rwxr-xr-x
2022-02-09 18:45
balance_linked_node_quotas
2.58
KB
-rwxr-xr-x
2022-02-09 18:45
biglogcheck
1.69
KB
-rwxr-xr-x
2022-02-09 18:45
build_bandwidthdb_root_cache_in_background
1.52
KB
-rwxr-xr-x
2022-02-09 18:45
build_cpnat
3.41
KB
-rwxr-xr-x
2022-02-09 18:45
build_mail_sni
3.87
KB
-rwxr-xr-x
2022-07-28 00:22
build_maxemails_config
1.14
KB
-rwxr-xr-x
2022-02-09 18:45
builddovecotconf
9.64
KB
-rwxr-xr-x
2026-03-24 00:19
buildeximconf
7
KB
-rwxr-xr-x
2025-02-11 05:07
buildhttpdconf
2.6
KB
-rwxr-xr-x
2022-02-09 18:45
buildpureftproot
539
B
-rwxr-xr-x
2022-02-09 18:45
call_pkgacct
2.25
KB
-rwxr-xr-x
2026-07-14 13:33
ccs-check
4.91
KB
-rwxr-xr-x
2022-02-09 18:45
check_cpanel_pkgs
10.75
KB
-rwxr-xr-x
2022-02-09 18:45
check_domain_tls_service_domains.pl
6.68
KB
-rwxr-xr-x
2022-02-09 18:45
check_immutable_files
5.49
KB
-rwxr-xr-x
2022-02-09 18:45
check_mail_spamassassin_compiledregexps_body_0
187
B
-rwxr-xr-x
2016-04-13 18:55
check_maxmem_against_domains_count
3.57
KB
-rwxr-xr-x
2022-02-09 18:45
check_mount_procfs
2.02
KB
-rwxr-xr-x
2022-02-09 18:45
check_mysql
5.56
KB
-rwxr-xr-x
2025-02-11 05:07
check_plugin_pkgs
2.45
KB
-rwxr-xr-x
2025-02-11 05:07
check_security_advice_changes
8.28
KB
-rwxr-xr-x
2025-02-11 05:07
check_unmonitored_enabled_services
4.56
KB
-rwxr-xr-x
2022-07-28 00:22
check_unreliable_resolvers
3.59
KB
-rwxr-xr-x
2022-02-09 18:45
check_users_my_cnf
6.05
KB
-rwxr-xr-x
2022-02-09 18:45
check_valid_server_hostname
7.66
KB
-rwxr-xr-x
2022-07-28 00:22
checkalldomainsmxs
2.4
KB
-rwxr-xr-x
2022-02-09 18:45
checkbashshell
1.18
KB
-rwxr-xr-x
2022-02-09 18:45
checkccompiler
1.22
KB
-rwxr-xr-x
2022-02-09 18:45
checkexim.pl
3.1
KB
-rwxr-xr-x
2022-02-09 18:45
checklink
1.29
KB
-rwxr-xr-x
2022-02-09 18:45
checkusers
856
B
-rwxr-xr-x
2022-02-09 18:45
chkpaths
141
B
-rwxr-xr-x
2015-02-11 17:35
chpass
416
B
-rwxr-xr-x
2022-02-09 18:45
ckillall
1.11
KB
-rwxr-xr-x
2022-02-09 18:45
clean_dead_mailman_locks
2.09
KB
-rwxr-xr-x
2022-02-09 18:45
clean_up_temp_wheel_users
2.44
KB
-rwxr-xr-x
2022-02-09 18:45
clean_user_php_sessions
4.76
KB
-rwxr-xr-x
2022-07-28 00:22
cleandns
13.11
KB
-rwxr-xr-x
2025-02-11 05:07
cleandns8
417
B
-rwxr-xr-x
2022-02-09 18:45
cleanmsglog
735
B
-rwxr-xr-x
2015-02-11 17:35
cleanphpsessions
932
B
-rwxr-xr-x
2022-02-09 18:45
cleanphpsessions.php
658
B
-rw-r--r--
2022-08-31 17:28
cleanquotas
1.61
KB
-rwxr-xr-x
2022-02-09 18:45
cleansessions
5.89
KB
-rwxr-xr-x
2025-02-11 05:07
cleanupinterchange
2.64
KB
-rwxr-xr-x
2022-02-09 18:45
cleanupmysqlprivs
773
B
-rwxr-xr-x
2025-03-07 15:31
clear_orphaned_virtfs_mounts
3.56
KB
-rwxr-xr-x
2022-02-09 18:45
comet_license_registration_sync
1.67
KB
-rwxr-xr-x
2026-07-14 13:33
comet_protected_item_maintenance
20.78
KB
-rwxr-xr-x
2026-07-14 13:33
comparecdb
1.52
KB
-rwxr-xr-x
2022-02-09 18:45
compilers
2.86
KB
-rwxr-xr-x
2022-02-09 18:45
compilerscheck
999
B
-rwxr-xr-x
2022-02-09 18:45
configure_firewall_for_cpanel
520
B
-rwxr-xr-x
2022-02-09 18:45
configure_rh_firewall_for_cpanel
520
B
-rwxr-xr-x
2022-02-09 18:45
configure_rh_ipv6_firewall_for_cpanel
520
B
-rwxr-xr-x
2022-02-09 18:45
convert2dovecot
682
B
-rwxr-xr-x
2022-02-09 18:45
convert_accesshash_to_token
4.07
KB
-rwxr-xr-x
2022-02-09 18:45
convert_and_migrate_from_legacy_backup
1.97
KB
-rwxr-xr-x
2022-02-09 18:45
convert_maildir_to_mdbox
1.66
KB
-rwxr-xr-x
2022-02-09 18:45
convert_mdbox_to_maildir
1.66
KB
-rwxr-xr-x
2022-02-09 18:45
convert_roundcube_mysql2sqlite
26.12
KB
-rwxr-xr-x
2025-03-07 15:31
convert_to_dovecot_delivery
4.33
KB
-rwxr-xr-x
2022-02-09 18:45
convert_whmxfer_to_sqlite
1.46
KB
-rwxr-xr-x
2022-02-09 18:45
copy_user_mail_as_root
1.25
KB
-rwxr-xr-x
2022-02-09 18:45
copy_user_mail_as_user
1.34
KB
-rwxr-xr-x
2022-02-09 18:45
cpan_config
2.8
KB
-rwxr-xr-x
2022-02-09 18:45
cpanel_initial_install
67.95
KB
-rwxr-xr-x
2026-06-11 04:42
cpanelsync
28.31
KB
-rwxr-xr-x
2022-02-09 18:45
cpanelsync_postprocessor
1.62
KB
-rwxr-xr-x
2022-02-09 18:45
cpanpingtest
965
B
-rwxr-xr-x
2022-02-09 18:45
cpbackup
44.79
KB
-rwxr-xr-x
2025-02-11 05:07
cpbackup_transport_file
5.65
KB
-rwxr-xr-x
2022-07-28 00:22
cpdig
2.09
KB
-rwxr-xr-x
2025-02-11 05:07
cpfetch
1.23
KB
-rwxr-xr-x
2022-02-09 18:45
cphulkdblacklist
433
B
-rwxr-xr-x
2022-02-09 18:45
cphulkdwhitelist
1.3
KB
-rwxr-xr-x
2022-02-09 18:45
cpservice
2.87
KB
-rwxr-xr-x
2022-02-09 18:45
cpuser_port_authority
19.29
KB
-rwxr-xr-x
2022-02-09 18:45
cpuser_service_manager
10.85
KB
-rwxr-xr-x
2022-07-28 00:22
create_default_featurelist
11.62
KB
-rwx------
2026-07-27 20:59
createacct
30.22
MB
-rwx------
2026-07-24 04:42
custom_backup_destination.pl.sample
5.06
KB
-rwxr-xr-x
2022-07-28 00:22
custom_backup_destination.pl.skeleton
2.84
KB
-rwxr-xr-x
2022-02-09 18:45
dcpumon-wrapper
850
B
-rwxr-xr-x
2022-02-09 18:45
delpop
6.2
KB
-rwxr-xr-x
2022-02-09 18:45
detect_env_capabilities
508
B
-rwxr-xr-x
2022-02-09 18:45
disable_prelink
2.77
KB
-rwxr-xr-x
2022-02-09 18:45
disable_sqloptimizer
1.49
KB
-rwxr-xr-x
2022-02-09 18:45
disablefileprotect
2.19
KB
-rwxr-xr-x
2025-02-11 05:07
distro_changed_hook
1.16
KB
-rwxr-xr-x
2022-02-09 18:45
dnscluster
4.44
KB
-rwxr-xr-x
2022-02-09 18:45
dnsqueuecron
1.29
KB
-rwxr-xr-x
2022-02-09 18:45
dnssec-cluster-keys
3.75
KB
-rwxr-xr-x
2022-02-09 18:45
dovecot_maintenance
7.66
KB
-rwxr-xr-x
2025-02-11 05:07
dovecot_set_defaults.pl
984
B
-rwxr-xr-x
2022-02-09 18:45
dump_databases_and_users
2.3
KB
-rwxr-xr-x
2026-04-16 08:42
dumpcdb
866
B
-rwxr-xr-x
2022-02-09 18:45
dumpinodes
687
B
-rwxr-xr-x
2022-02-09 18:45
dumpquotas
616
B
-rwxr-xr-x
2022-02-09 18:45
dumpstor
913
B
-rwxr-xr-x
2022-02-09 18:45
ea4_fresh_install
2.64
KB
-rwxr-xr-x
2022-02-09 18:45
edit_cpanelsync_exclude_list
2.58
KB
-rwxr-xr-x
2022-02-09 18:45
editquota
3.43
KB
-rwxr-xr-x
2025-02-11 05:07
email_archive_maintenance
6.15
KB
-rwxr-xr-x
2022-02-09 18:45
email_hold_maintenance
1.46
KB
-rwxr-xr-x
2022-02-09 18:45
enable_spf_dkim_globally
8.83
KB
-rwxr-xr-x
2022-02-09 18:45
enable_sqloptimizer
1.57
KB
-rwxr-xr-x
2022-02-09 18:45
enablefileprotect
2.1
KB
-rwxr-xr-x
2022-02-09 18:45
ensure_autoenabled_features
3.15
MB
-rwx------
2026-07-24 04:42
ensure_conf_dir_crt_key
4.82
KB
-rwxr-xr-x
2022-02-09 18:45
ensure_cpuser_file_ip
2.55
KB
-rwxr-xr-x
2022-02-09 18:45
ensure_crontab_permissions
1.08
KB
-rwxr-xr-x
2022-02-09 18:45
ensure_dovecot_memory_limits_meet_minimum
3.13
KB
-rwxr-xr-x
2022-02-09 18:45
ensure_hostname_resolves
2.51
KB
-rwxr-xr-x
2025-04-01 22:57
ensure_includes
601
B
-rwxr-xr-x
2022-02-09 18:45
ensure_vhost_includes
13.53
KB
-rwxr-xr-x
2022-02-09 18:45
exim_tidydb
2.96
KB
-rwxr-xr-x
2022-02-09 18:45
eximconfgen
1.32
KB
-rwxr-xr-x
2022-02-09 18:45
eximstats_spam_check
867
B
-rwxr-xr-x
2022-02-09 18:45
expunge_expired_certificates_from_sslstorage
3.56
KB
-rwxr-xr-x
2022-02-09 18:45
expunge_expired_pkgacct_sessions
852
B
-rwxr-xr-x
2022-02-09 18:45
expunge_expired_transfer_sessions
1.06
KB
-rwxr-xr-x
2022-02-09 18:45
fastmail
5.16
KB
-rwxr-xr-x
2022-02-09 18:45
featuremod
1.92
KB
-rwxr-xr-x
2022-02-09 18:45
fetchfile
422
B
-rwxr-xr-x
2022-02-09 18:45
find_and_fix_rpm_issues
6.99
KB
-rwxr-xr-x
2025-02-11 05:07
find_outdated_services
6.06
KB
-rwxr-xr-x
2025-02-11 05:07
find_pids_with_inotify_watch_on_path
3.66
KB
-rwxr-xr-x
2022-02-09 18:45
fix-cpanel-perl
28.43
KB
-rwxr-xr-x
2026-07-24 04:42
fix-listen-on-localhost
3.94
KB
-rwxr-xr-x
2026-06-02 04:42
fix-web-vhost-configuration
6.15
KB
-rwxr-xr-x
2022-02-09 18:45
fix_dns_zone_ttls
1.34
KB
-rwxr-xr-x
2022-02-09 18:45
fix_innodb_tables
4.05
KB
-rwxr-xr-x
2022-02-09 18:45
fix_reseller_acls
10.7
KB
-rwxr-xr-x
2025-06-16 13:21
fixetchosts
4.32
KB
-rwxr-xr-x
2022-02-09 18:45
fixheaders
572
B
-rwxr-xr-x
2022-02-09 18:45
fixmailinglistperms
1008
B
-rwxr-xr-x
2022-02-09 18:45
fixmailman
2.09
KB
-rwxr-xr-x
2022-02-09 18:45
fixnamedviews
1.22
KB
-rwxr-xr-x
2022-02-09 18:45
fixndc
413
B
-rwxr-xr-x
2022-02-09 18:45
fixquotas
18.39
KB
-rwxr-xr-x
2025-02-11 05:07
fixrelayd
1.74
KB
-rwxr-xr-x
2022-02-09 18:45
fixrndc
16.39
KB
-rwxr-xr-x
2025-02-11 05:07
fixtar
503
B
-rwxr-xr-x
2022-02-09 18:45
fixtlsversions
4.7
KB
-rwxr-xr-x
2022-02-09 18:45
fixvaliases
2
KB
-rwxr-xr-x
2022-02-09 18:45
fixwebalizer
966
B
-rwxr-xr-x
2022-02-09 18:45
forcelocaldomain
895
B
-rwxr-xr-x
2022-02-09 18:45
ftpfetch
2.2
KB
-rwxr-xr-x
2019-12-06 17:06
ftpquotacheck
8.31
KB
-rwxr-xr-x
2022-02-09 18:45
ftpsfetch
2.36
KB
-rwxr-xr-x
2019-12-06 17:06
ftpupdate
261
B
-rwxr-xr-x
2020-01-10 19:19
gather_update_log_stats
4.25
KB
-rwx------
2026-07-27 21:43
gather_update_logs_setupcrontab
5.45
KB
-rwx------
2026-07-27 21:43
gemwrapper
1.74
KB
-rwxr-xr-x
2022-02-09 18:45
gencrt
6.26
KB
-rwxr-xr-x
2022-02-09 18:45
generate_account_suspension_include
5.7
KB
-rwxr-xr-x
2022-02-09 18:45
generate_google_drive_credentials
1.11
KB
-rwxr-xr-x
2022-02-09 18:45
generate_google_drive_oauth_uri
984
B
-rwxr-xr-x
2022-02-09 18:45
generate_maildirsize
14.56
KB
-rwxr-xr-x
2026-07-02 04:42
gensysinfo
1.16
KB
-rwxr-xr-x
2022-02-09 18:45
get_locale_from_legacy_name_info
1.99
KB
-rwxr-xr-x
2022-02-09 18:45
getremotecpmove
12.67
KB
-rwxr-xr-x
2022-07-28 00:22
grpck
1.19
KB
-rwxr-xr-x
2022-02-09 18:45
hackcheck
3.02
KB
-rwxr-xr-x
2022-02-09 18:45
hook
1.45
KB
-rwxr-xr-x
2022-02-09 18:45
httpspamdetect
2.66
KB
-rwxr-xr-x
2022-02-09 18:45
hulk-unban-ip
4.07
MB
-rwx------
2026-07-24 04:42
import_exim_data
8.39
KB
-rwxr-xr-x
2022-07-28 00:22
increase_filesystem_limits
891
B
-rwxr-xr-x
2022-02-09 18:45
initacls
4.99
KB
-rwxr-xr-x
2022-02-09 18:45
initfpsuexec
444
B
-rwxr-xr-x
2022-02-09 18:45
initialize_360monitoring
2.76
KB
-rwx------
2026-06-25 13:40
initquotas
19.35
KB
-rwxr-xr-x
2026-03-24 00:19
initsuexec
4.03
KB
-rwxr-xr-x
2022-02-09 18:45
install_cpanel_analytics
1.93
KB
-rwxr-xr-x
2022-12-02 16:41
install_dovecot_fts
1.57
KB
-rwxr-xr-x
2022-02-09 18:45
install_plugin
2.8
KB
-rwxr-xr-x
2022-07-28 00:22
install_tuxcare_els_php
1.84
KB
-rwxr-xr-x
2025-12-10 16:17
installpkg
575
B
-rwxr-xr-x
2022-02-09 18:45
installpostgres
6.56
KB
-rwxr-xr-x
2025-09-12 13:40
installsqlite3
1.82
KB
-rwxr-xr-x
2022-02-09 18:45
ipcheck
3.93
KB
-rwxr-xr-x
2022-02-09 18:45
ipusage
7.45
KB
-rwxr-xr-x
2022-02-09 18:45
is_update_available
3.26
KB
-rwxr-xr-x
2026-05-20 04:42
isdedicatedip
602
B
-rwxr-xr-x
2022-02-09 18:45
jetbackup-check
3.69
KB
-rwxr-xr-x
2022-02-09 18:45
killdns
422
B
-rwxr-xr-x
2022-02-09 18:45
killdns-dnsadmin
1.15
KB
-rwxr-xr-x
2022-02-09 18:45
killmysqluserprivs
433
B
-rwxr-xr-x
2022-02-09 18:45
killmysqlwildcard
1.15
KB
-rwxr-xr-x
2022-02-09 18:45
killpvhost
853
B
-rwxr-xr-x
2022-02-09 18:45
killspamkeys
937
B
-rwxr-xr-x
2022-02-09 18:45
link_3rdparty_binaries
1.24
KB
-rwxr-xr-x
2022-03-11 15:43
linksubemailtomainacct
3.17
KB
-rwxr-xr-x
2022-02-09 18:45
listcheck
538
B
-rwxr-xr-x
2022-02-09 18:45
listsubdomains
1.05
KB
-rwxr-xr-x
2022-02-09 18:45
litespeed-check
3.86
KB
-rwxr-xr-x
2022-02-09 18:45
locale_export
5.21
KB
-rwxr-xr-x
2025-02-11 05:07
locale_import
4.35
KB
-rwxr-xr-x
2022-02-09 18:45
locale_info
3.99
KB
-rwxr-xr-x
2022-02-09 18:45
log_retention
21.28
KB
-rwxr-xr-x
2026-03-24 00:19
logo.dat
205
B
-rw-r--r--
2015-02-11 17:35
magicloader
1.94
KB
-rwxr-xr-x
2022-02-09 18:45
maildir_converter
6.08
KB
-rwxr-xr-x
2022-02-09 18:45
mailperm
16.53
KB
-rwxr-xr-x
2025-02-11 05:07
mailscannerupdate
2.42
KB
-rwxr-xr-x
2022-02-09 18:45
mainipcheck
10
KB
-rwxr-xr-x
2022-02-09 18:45
maintenance
52.07
KB
-rwxr-xr-x
2026-07-24 04:42
make_config
407
B
-rw-r--r--
2015-02-11 17:35
make_hostname_unowned
1.16
KB
-rwxr-xr-x
2022-02-09 18:45
manage_extra_marketing
12.76
KB
-rwx------
2026-07-27 20:59
manage_greylisting
16.33
KB
-rwxr-xr-x
2026-06-11 04:42
manage_mysql_profiles
16.33
KB
-rwxr-xr-x
2025-02-11 05:07
migrate_ccs_to_cpdavd
47.06
KB
-rwxr-xr-x
2025-02-11 05:07
migrate_local_ini_to_php_ini
7.41
KB
-rwxr-xr-x
2022-02-09 18:45
migrate_whmtheme_file_to_userdata
2.95
KB
-rwxr-xr-x
2022-02-09 18:45
mkwwwacctconf
2.33
KB
-rwxr-xr-x
2022-08-31 17:28
modify_accounts
4.07
KB
-rwxr-xr-x
2025-02-11 05:07
modify_featurelist
11.33
KB
-rwx------
2026-07-27 20:59
modify_packages
3.64
KB
-rwxr-xr-x
2025-02-11 05:07
modsec_vendor
15.63
KB
-rwxr-xr-x
2022-02-09 18:45
mysqlconnectioncheck
6.72
KB
-rwxr-xr-x
2025-02-11 05:07
mysqlpasswd
4.14
KB
-rwxr-xr-x
2025-02-11 05:07
named.ca
1.57
KB
-rw-r--r--
2015-02-11 17:35
named.rfc1912.zones
774
B
-rw-r--r--
2017-09-22 16:06
notify_expiring_certificates
9.37
KB
-rwxr-xr-x
2022-03-11 15:43
notify_expiring_certificates_on_linked_nodes
1.33
KB
-rwxr-xr-x
2022-07-28 00:22
oopscheck
1.12
KB
-rwxr-xr-x
2022-02-09 18:45
optimize_eximstats
3.88
KB
-rwxr-xr-x
2022-02-09 18:45
panel_ini
4.11
KB
-rwxr-xr-x
2026-06-02 04:42
patch_mail_spamassassin_compiledregexps_body_0
2.39
KB
-rwxr-xr-x
2022-02-09 18:45
patchfdsetsize
2.72
KB
-rwxr-xr-x
2022-02-09 18:45
pedquota
2.26
KB
-rwxr-xr-x
2022-02-09 18:45
perform_sqlite_auto_rebuild_db_maintenance
1.98
KB
-rwxr-xr-x
2025-02-11 05:07
perlinstaller
528
B
-rwxr-xr-x
2022-02-09 18:45
perlmods
1.18
KB
-rwxr-xr-x
2022-02-09 18:45
php_fpm_config
9.73
KB
-rwxr-xr-x
2022-02-09 18:45
phpini_tidy
687
B
-rwxr-xr-x
2022-02-09 18:45
pkgacct
88.77
KB
-rwxr-xr-x
2025-12-10 16:17
pkgacct-wrapper
3.71
KB
-rwxr-xr-x
2026-04-16 08:42
post_snapshot
2.09
KB
-rwxr-xr-x
2025-02-11 05:07
post_sync_cleanup
5.83
KB
-rwxr-xr-x
2026-07-02 04:42
postupcp
68
B
-rwxr-xr-x
2026-04-05 17:17
primary_virtual_host_migration
2.44
KB
-rwxr-xr-x
2022-02-09 18:45
process_cpmove
4.32
KB
-rwxr-xr-x
2026-07-14 13:33
process_pending_cpanel_php_pear_registration
2.73
KB
-rwxr-xr-x
2025-06-16 13:21
proxydomains
9.59
KB
-rwxr-xr-x
2025-09-12 13:40
ptycheck
724
B
-rwxr-xr-x
2022-02-09 18:45
purge_modsec_log
1.53
KB
-rwxr-xr-x
2022-02-09 18:45
purge_old_config_caches
2.08
KB
-rwxr-xr-x
2022-02-09 18:45
pwck
708
B
-rwxr-xr-x
2022-02-09 18:45
quickdnslookup
1.13
KB
-rwxr-xr-x
2022-02-09 18:45
quickwhoisips
2.29
KB
-rwxr-xr-x
2022-07-28 00:22
quota_auto_fix
1.41
KB
-rwxr-xr-x
2022-02-09 18:45
quotacheck
22.36
KB
-rwxr-xr-x
2022-07-28 00:22
rawchpass
460
B
-rwxr-xr-x
2022-02-09 18:45
rdate
4.8
KB
-rwxr-xr-x
2022-07-28 00:22
realadduser
5.61
KB
-rwxr-xr-x
2022-02-09 18:45
realchpass
3.26
KB
-rwxr-xr-x
2022-02-09 18:45
realperlinstaller
5.67
KB
-rwxr-xr-x
2022-02-09 18:45
realrawchpass
425
B
-rwxr-xr-x
2022-02-09 18:45
rebuild_bandwidthdb_root_cache
1.45
KB
-rwxr-xr-x
2022-02-09 18:45
rebuild_dbmap
5.8
KB
-rwxr-xr-x
2022-02-09 18:45
rebuild_provider_openid_connect_links_db
1.01
KB
-rwxr-xr-x
2022-02-09 18:45
rebuild_whm_chrome
2.22
KB
-rwxr-xr-x
2022-02-09 18:45
rebuilddnsconfig
25.5
KB
-rwxr-xr-x
2025-03-07 15:31
rebuildhttpdconf
2.6
KB
-rwxr-xr-x
2022-02-09 18:45
rebuildinstalledssldb
2.85
KB
-rwxr-xr-x
2022-02-09 18:45
rebuildippool
509
B
-rwxr-xr-x
2022-02-09 18:45
rebuilduserssldb
948
B
-rwxr-xr-x
2022-02-09 18:45
refresh-dkim-validity-cache
5.97
KB
-rwxr-xr-x
2022-02-09 18:45
regenerate_tokens
2.18
KB
-rwxr-xr-x
2022-04-20 19:26
remote_log_transfer
11.6
KB
-rwxr-xr-x
2022-08-31 17:28
remove_dovecot_index_files
5.89
KB
-rwxr-xr-x
2022-02-09 18:45
removeacct
28.12
MB
-rwx------
2026-07-24 04:42
rescan_user_dovecot_fts
2.98
KB
-rwxr-xr-x
2022-02-09 18:45
reset_mail_quotas_to_sane_values
6.82
KB
-rwxr-xr-x
2022-02-09 18:45
resetmailmanurls
2.03
KB
-rwxr-xr-x
2022-02-09 18:45
resetquotas
4.61
KB
-rwxr-xr-x
2025-02-11 05:07
restartsrv
3.19
KB
-rwxr-xr-x
2025-02-11 05:07
restartsrv_apache
422
B
-rwxr-xr-x
2022-02-09 18:45
restartsrv_apache_php_fpm
10.79
MB
-rwxr-xr-x
2026-07-24 04:42
restartsrv_base
10.79
MB
-rwxr-xr-x
2026-07-24 04:42
restartsrv_bind
10.79
MB
-rwxr-xr-x
2026-07-24 04:42
restartsrv_chkservd
427
B
-rwxr-xr-x
2022-02-09 18:45
restartsrv_clamd
10.79
MB
-rwxr-xr-x
2026-07-24 04:42
restartsrv_cpanel_php_fpm
10.79
MB
-rwxr-xr-x
2026-07-24 04:42
restartsrv_cpanellogd
10.79
MB
-rwxr-xr-x
2026-07-24 04:42
restartsrv_cpdavd
10.79
MB
-rwxr-xr-x
2026-07-24 04:42
restartsrv_cpgreylistd
10.79
MB
-rwxr-xr-x
2026-07-24 04:42
restartsrv_cphulkd
10.79
MB
-rwxr-xr-x
2026-07-24 04:42
restartsrv_cpipv6
10.79
MB
-rwxr-xr-x
2026-07-24 04:42
restartsrv_cpsrvd
10.79
MB
-rwxr-xr-x
2026-07-24 04:42
restartsrv_crond
10.79
MB
-rwxr-xr-x
2026-07-24 04:42
restartsrv_dnsadmin
10.79
MB
-rwxr-xr-x
2026-07-24 04:42
restartsrv_dovecot
10.79
MB
-rwxr-xr-x
2026-07-24 04:42
restartsrv_exim
10.79
MB
-rwxr-xr-x
2026-07-24 04:42
restartsrv_eximstats
504
B
-rwxr-xr-x
2022-02-09 18:45
restartsrv_ftpd
426
B
-rwxr-xr-x
2022-02-09 18:45
restartsrv_ftpserver
911
B
-rwxr-xr-x
2022-02-09 18:45
restartsrv_httpd
10.79
MB
-rwxr-xr-x
2026-07-24 04:42
restartsrv_imap
437
B
-rwxr-xr-x
2022-02-09 18:45
restartsrv_inetd
2.47
KB
-rwxr-xr-x
2022-04-20 19:26
restartsrv_ipaliases
10.79
MB
-rwxr-xr-x
2026-07-24 04:42
restartsrv_lmtp
437
B
-rwxr-xr-x
2022-02-09 18:45
restartsrv_mailman
10.79
MB
-rwxr-xr-x
2026-07-24 04:42
restartsrv_mysql
10.79
MB
-rwxr-xr-x
2026-07-24 04:42
restartsrv_named
579
B
-rwxr-xr-x
2025-02-11 05:07
restartsrv_nscd
10.79
MB
-rwxr-xr-x
2026-07-24 04:42
restartsrv_p0f
10.79
MB
-rwxr-xr-x
2026-07-24 04:42
restartsrv_pdns
10.79
MB
-rwxr-xr-x
2026-07-24 04:42
restartsrv_pop3
437
B
-rwxr-xr-x
2022-02-09 18:45
restartsrv_postgres
427
B
-rwxr-xr-x
2022-02-09 18:45
restartsrv_postgresql
10.79
MB
-rwxr-xr-x
2026-07-24 04:42
restartsrv_powerdns
442
B
-rwxr-xr-x
2022-02-09 18:45
restartsrv_proftpd
10.79
MB
-rwxr-xr-x
2026-07-24 04:42
restartsrv_pureftpd
10.79
MB
-rwxr-xr-x
2026-07-24 04:42
restartsrv_queueprocd
10.79
MB
-rwxr-xr-x
2026-07-24 04:42
restartsrv_rsyslog
10.79
MB
-rwxr-xr-x
2026-07-24 04:42
restartsrv_rsyslogd
437
B
-rwxr-xr-x
2022-02-09 18:45
restartsrv_spamd
10.79
MB
-rwxr-xr-x
2026-07-24 04:42
restartsrv_sshd
10.79
MB
-rwxr-xr-x
2026-07-24 04:42
restartsrv_syslogd
2.4
KB
-rwxr-xr-x
2022-03-11 15:43
restartsrv_tailwatchd
10.79
MB
-rwxr-xr-x
2026-07-24 04:42
restartsrv_unknown
10.79
MB
-rwxr-xr-x
2026-07-24 04:42
restartsrv_xinetd
422
B
-rwxr-xr-x
2022-02-09 18:45
restorecpuserfromcache
1.96
KB
-rwxr-xr-x
2022-02-09 18:45
restorepkg
48.37
MB
-rwx------
2026-07-24 04:42
rfc1912_zones.tar
10
KB
-rw-r--r--
2015-02-11 17:35
rpmup
5.07
KB
-rwxr-xr-x
2025-02-11 05:07
rsync-user-homedir.pl
5.76
KB
-rwxr-xr-x
2022-02-09 18:45
run_if_exists
512
B
-rwxr-xr-x
2022-02-09 18:45
run_plugin_lifecycle
3.96
KB
-rwx------
2026-07-27 20:59
runstatsonce
440
B
-rwxr-xr-x
2022-02-09 18:45
runweblogs
1.02
KB
-rwxr-xr-x
2022-02-09 18:45
sa-update_wrapper
3.34
KB
-rwxr-xr-x
2022-02-09 18:45
safetybits.pl
844
B
-rwxr-xr-x
2022-02-09 18:45
secureit
4.72
KB
-rwxr-xr-x
2022-02-09 18:45
securemysql
4.4
KB
-rwxr-xr-x
2025-02-11 05:07
securerailsapps
3.58
KB
-rwxr-xr-x
2022-02-09 18:45
securetmp
16.76
KB
-rwxr-xr-x
2025-06-16 13:21
sendicq
474
B
-rwxr-xr-x
2022-02-09 18:45
servicedomains
9.59
KB
-rwxr-xr-x
2025-09-12 13:40
set_mailman_archive_perms
1.75
KB
-rwxr-xr-x
2022-02-09 18:45
setpostgresconfig
6.04
KB
-rwxr-xr-x
2022-02-09 18:45
setup_greylist_db
16.33
KB
-rwxr-xr-x
2026-06-11 04:42
setup_modsec_db
1.3
KB
-rwxr-xr-x
2022-02-09 18:45
setup_systemd_timer_for_plugins
3.92
KB
-rwx------
2026-07-27 20:59
setupftpserver
10.47
KB
-rwxr-xr-x
2022-02-09 18:45
setupmailserver
9.39
KB
-rwxr-xr-x
2025-03-07 15:31
setupnameserver
12.6
KB
-rwxr-xr-x
2025-09-12 13:40
shrink_modsec_ip_database
12.97
KB
-rwxr-xr-x
2022-02-09 18:45
simpleps
3.05
KB
-rwxr-xr-x
2022-02-09 18:45
slurp_exim_mainlog
5.78
KB
-rwxr-xr-x
2022-02-09 18:45
smartcheck
15.13
KB
-rwxr-xr-x
2025-06-16 13:21
smtpmailgidonly
8.15
KB
-rwxr-xr-x
2026-07-08 21:18
snapshot_prep
5.88
KB
-rwxr-xr-x
2025-02-11 05:07
spamassassin_dbm_cleaner
5.85
KB
-rwxr-xr-x
2022-07-28 00:22
spamassassindisable
3.74
KB
-rwxr-xr-x
2022-06-10 15:47
spamboxdisable
2.27
KB
-rwxr-xr-x
2022-06-10 15:47
sshcontrol
14.38
KB
-rwxr-xr-x
2022-02-09 18:45
ssl_crt_status
3.84
KB
-rwxr-xr-x
2022-02-09 18:45
suspendacct
18.08
KB
-rwxr-xr-x
2025-09-12 13:40
suspendmysqlusers
4.78
KB
-rwxr-xr-x
2025-02-11 05:07
swapip
3.82
KB
-rwxr-xr-x
2022-02-09 18:45
sync-mysql-users-from-grants
1.2
KB
-rwxr-xr-x
2022-02-09 18:45
sync_child_accounts
1.77
KB
-rwxr-xr-x
2022-02-09 18:45
sync_contact_emails_to_cpanel_users_files
1.14
KB
-rwxr-xr-x
2022-06-10 15:47
synctransfers
1.92
KB
-rwxr-xr-x
2022-02-09 18:45
syslog_check
1.36
KB
-rwxr-xr-x
2022-02-09 18:45
sysup
645
B
-rwxr-xr-x
2022-02-09 18:45
test_sa_compiled
1.07
KB
-rwxr-xr-x
2022-02-09 18:45
transfer_account_as_user
2.34
KB
-rwxr-xr-x
2022-02-09 18:45
transfer_accounts_as_root
4.76
KB
-rwxr-xr-x
2022-02-09 18:45
transfer_in_progress
3.08
KB
-rwxr-xr-x
2022-02-09 18:45
transfer_in_progress.pod
312
B
-rw-r--r--
2016-11-17 01:07
transfermysqlusers
10.08
MB
-rwx------
2026-07-24 04:42
try-later
7.95
KB
-rwxr-xr-x
2022-02-09 18:45
unblockip
667
B
-rwxr-xr-x
2022-02-09 18:45
uninstall_cpanel_analytics
1.2
KB
-rwxr-xr-x
2022-02-09 18:45
uninstall_dovecot_fts
562
B
-rwxr-xr-x
2022-02-09 18:45
uninstall_plugin
2.84
KB
-rwxr-xr-x
2022-07-28 00:22
unlink_service_account
2.62
KB
-rwxr-xr-x
2022-02-09 18:45
unpkgacct
4.6
KB
-rwxr-xr-x
2022-02-09 18:45
unslavenamedconf
863
B
-rwxr-xr-x
2022-02-09 18:45
unsuspendacct
17.96
KB
-rwxr-xr-x
2025-09-12 13:40
unsuspendmysqlusers
7.1
KB
-rwxr-xr-x
2025-02-11 05:07
upcp
36.79
KB
-rwxr-xr-x
2026-07-02 04:42
upcp-running
2.7
KB
-rwxr-xr-x
2022-02-09 18:45
upcp.static
959.49
KB
-rwxr-xr-x
2026-07-24 04:42
update-packages
5.07
KB
-rwxr-xr-x
2025-02-11 05:07
update_apachectl
480
B
-rwxr-xr-x
2022-02-09 18:45
update_db_cache
430
B
-rwxr-xr-x
2022-02-09 18:45
update_dkim_keys
1.45
KB
-rwxr-xr-x
2022-02-09 18:45
update_exim_rejects
1.21
KB
-rwxr-xr-x
2022-02-09 18:45
update_existing_mail_quotas_for_account
4.78
KB
-rwxr-xr-x
2022-02-09 18:45
update_feature_flags
957
B
-rwxr-xr-x
2025-02-11 05:07
update_freebusy_data
5.25
KB
-rwxr-xr-x
2025-04-01 22:57
update_known_proxy_ips
1002
B
-rwxr-xr-x
2022-02-09 18:45
update_local_rpm_versions
4.56
KB
-rwxr-xr-x
2022-12-02 16:41
update_mailman_cache
8.34
KB
-rwxr-xr-x
2022-02-09 18:45
update_mysql_systemd_config
1.07
KB
-rwxr-xr-x
2025-03-07 15:31
update_neighbor_netblocks
487
B
-rwxr-xr-x
2022-02-09 18:45
update_sa_config
2.14
KB
-rwxr-xr-x
2022-02-09 18:45
update_spamassassin_config
10.73
KB
-rwxr-xr-x
2022-12-02 16:41
update_users_jail
691
B
-rwxr-xr-x
2022-02-09 18:45
update_users_vhosts
801
B
-rwxr-xr-x
2022-02-09 18:45
updatedomainips
605
B
-rwxr-xr-x
2022-02-09 18:45
updatenameserverips
1.66
KB
-rwxr-xr-x
2022-02-09 18:45
updatenow
5.18
KB
-rwxr-xr-x
2022-07-28 00:22
updatenow.static
2.03
MB
-rwxr-xr-x
2026-07-24 04:42
updatesigningkey
1.95
KB
-rwxr-xr-x
2022-02-09 18:45
updatessldomains
1.81
KB
-rwxr-xr-x
2022-02-09 18:45
updatesupportauthorizations
2.49
KB
-rwxr-xr-x
2022-02-09 18:45
updateuserdatacache
2.47
KB
-rwxr-xr-x
2022-02-09 18:45
updateuserdomains
774
B
-rwxr-xr-x
2022-02-09 18:45
upgrade_bandwidth_dbs
2.22
KB
-rwxr-xr-x
2022-02-09 18:45
upgrade_subaccount_databases
2.73
KB
-rwxr-xr-x
2022-02-09 18:45
userdata_wildcard_cleanup
5.74
KB
-rwxr-xr-x
2022-02-09 18:45
userdirctl
5.01
KB
-rwxr-xr-x
2022-02-09 18:45
validate_sshkey_passphrase
1.21
KB
-rwxr-xr-x
2022-02-09 18:45
verify_api_spec_files
757
B
-rwxr-xr-x
2022-02-09 18:45
verify_pidfile
1.96
KB
-rwxr-xr-x
2022-02-09 18:45
verify_vhost_includes
7.34
KB
-rwxr-xr-x
2022-07-28 00:22
vps_optimizer
7.82
KB
-rwxr-xr-x
2022-02-09 18:45
vzzo-fixer
725
B
-rwxr-xr-x
2022-02-09 18:45
whmlogin
2.33
KB
-rwxr-xr-x
2022-02-09 18:45
whoowns
1.13
KB
-rwxr-xr-x
2016-09-13 16:25
wwwacct
30.22
MB
-rwx------
2026-07-24 04:42
wwwacct2
88
B
-rwxr-xr-x
2015-02-11 17:35
xfer_rcube_schema_migrate.pl
2.4
KB
-rwxr-xr-x
2022-02-09 18:45
xfer_rcube_uid_resolver.pl
1.8
KB
-rwxr-xr-x
2022-02-09 18:45
xferpoint
3.13
KB
-rwxr-xr-x
2022-02-09 18:45
xfertool
16.23
KB
-rwxr-xr-x
2025-02-11 05:07
zoneexists
800
B
-rwxr-xr-x
2022-02-09 18:45
Save
Rename
#!/usr/local/cpanel/3rdparty/bin/perl # cpanel - scripts/xfertool Copyright 2022 cPanel, L.L.C. # All rights reserved. # copyright@cpanel.net http://cpanel.net # This code is subject to the cPanel license. Unauthorized copying is prohibited package scripts::xfertool; use cPstrict; =encoding utf-8 =head1 USAGE xfertool ( --help | <COMMAND> <USERNAME> [ARGS..] ) =head1 DESCRIPTION This script is part of an automated process that WHM uses for account transfers. We B<do> B<not> recommend calling this script manually. Possible COMMAND values are: =over =item * C<allowlogins> and C<disallowlogins> Control the user’s ability to log in. =item * C<blockdynamiccontent> and C<unblockdynamiccontent> Control httpd’s handling of files with certain well-known extensions that correlate with dynamic web content. For example, after C<blockdynamiccontent>, C<.php> files will no longer function normally. =item * C<setupmaildest> Sets the user’s mail routing. Takes an additional argument that can be C<primary>, C<secondary>, or C<remote>. Example: xfertool setupmaildest howard primary =item * C<swapip> Replaces one IP address for another in the user’s DNS zones. Takes the source & target IP addresses as additional arguments. Example: xfertool swapip howard 1.2.3.4 2.3.4.5 =item * C<changenameservers> Sets the user’s nameservers, given as additional arguments. Example: xfertool changenameservers howard ns1.myhost.com ns2.myhost.com (As many nameservers can be given as needed.) =back =cut #---------------------------------------------------------------------- use parent 'Cpanel::HelpfulScript'; use Cpanel::DnsUtils::Fetch (); use Cpanel::Hostname (); use Cpanel::Encoder::URI (); use Cpanel::DnsUtils::Stream (); use Cpanel::DnsUtils::AskDnsAdmin (); use Cpanel::ZoneFile (); use Cpanel::OS (); use Cpanel::PwCache (); use Cpanel::Config (); use Cpanel::Config::CpUserGuard (); use Cpanel::ConfigFiles (); use Cpanel::AccessIds::ReducedPrivileges (); use Cpanel::Config::WebVhosts (); use Cpanel::Config::userdata::Load (); use Cpanel::AcctUtils::Domain (); use Cpanel::AcctUtils::Owner (); use Cpanel::AcctUtils::DomainOwner::Tiny (); use Cpanel::MailTools::DBS (); use Cpanel::Config::HasCpUserFile (); use Cpanel::Team::Config (); use Cpanel::Team::Constants (); use Whostmgr::Transfers::Session::Constants (); use constant { _ENOENT => 2, _ACCEPT_UNNAMED => 1, }; use constant _OPTIONS => (); #---------------------------------------------------------------------- __PACKAGE__->new(@ARGV)->script() if !caller; sub script ($self) { my @args = $self->getopt_unnamed(); my $opt = shift(@args) or die $self->help('Need a COMMAND.'); my $user = shift(@args) or die $self->help('Need a USERNAME.'); my @DOMAINS; if ( !Cpanel::PwCache::getpwnam($user) ) { # check if user looks like a valid domain if ( $user !~ /.\../ ) { print "Supplied user '$user' is not found.\n"; exit 1; } @DOMAINS = ($user); # can return 'root' if no other owner found $user = Cpanel::AcctUtils::DomainOwner::Tiny::getdomainowner( $DOMAINS[0] ); if ( $user eq 'root' ) { print "Domain '$DOMAINS[0]' cannot be transferred.\n"; exit; } } elsif ( Cpanel::Config::HasCpUserFile::has_cpuser_file($user) ) { my $cpu_ref = Cpanel::Config::loadcpuserfile($user); @DOMAINS = ( $cpu_ref->{'DOMAIN'} ); if ( ref $cpu_ref->{'DOMAINS'} ) { push @DOMAINS, @{ $cpu_ref->{'DOMAINS'} }; } } else { print "Supplied user '$user' is not found.\n"; exit 1; } if ( $user eq 'root' ) { print "Cannot use 'root' user.\n"; exit(1); } if ( $opt =~ /(dis)?allowlogins/i ) { my $dis = $1; if ( !$user ) { print "Usage: $0 --(dis)?allowlogins user\n"; exit(1); } if ($dis) { _disallow_logins($user); } else { _allow_logins($user); } } elsif ( $opt =~ /(un)?blockdynamiccontent/i ) { my $un = $1; shift @args; # $dest if ( !scalar @DOMAINS ) { print "Usage: $0 --(un)?blockdynamiccontent domain/user\n"; exit(1); } _block_dynamic_content( $user, \@DOMAINS, ( $un ? 1 : 0 ) ); } elsif ( $opt =~ /setupmaildest/i ) { my $dest = shift(@args); if ( !scalar @DOMAINS ) { print "Usage: $0 --setupmaildest domain/user primary/secondary/remote\n"; exit(1); } _setmaildest( \@DOMAINS, $dest ); } elsif ( $opt =~ /swapip/i ) { my $sourceip = shift(@args); my $targetip = shift(@args); if ( !scalar @DOMAINS || !$sourceip || !$targetip ) { print "Usage: $0 --swapip domain/user sourceip destip\n"; exit(1); } _changezones( 'SWAPIP', \@DOMAINS, $sourceip, $targetip ); } elsif ( $opt =~ /changenameservers/i ) { if ( !scalar @DOMAINS ) { print "Usage: $0 --changenameservers domain/user NS1 NS2 NS3 ...\n"; exit(1); } my @NSLIST = @args; _changezones( 'NAMESERVERS', \@DOMAINS, \@NSLIST ); } else { die $self->help("Unrecognized COMMAND ($opt) given."); } return; } sub _changezones { my $op = shift; my $domainref = shift; my %ZONES = %{ Cpanel::DnsUtils::Fetch::fetch_zones( 'zones' => $domainref ) }; if ( $op eq 'SWAPIP' ) { my $sourceip = shift; my $destip = shift; foreach my $zone ( keys %ZONES ) { my $zf = Cpanel::ZoneFile->new( text => $ZONES{$zone}, domain => $zone ); if ( $zf->{'status'} ) { } if ( !$sourceip || $sourceip == -1 ) { my @main_a_records = $zf->find_records( 'type' => 'A', 'name' => $zone . '.' ); $sourceip = $main_a_records[0]->{'address'}; } my @arecords = $zf->find_records( 'type' => 'A' ); if ( !$sourceip ) { $sourceip = $arecords[0]->{'address'}; } for ( my $i = 0; $i <= $#arecords; $i++ ) { if ( $arecords[$i]->{'address'} eq $sourceip ) { $arecords[$i]->{'address'} = $destip; } } $zf->replace_records( \@arecords ); my $zref = $zf->serialize(); $ZONES{$zone} = $zref; } } elsif ( $op eq 'NAMESERVERS' ) { my $nsref = shift; foreach my $zone ( keys %ZONES ) { my $zf = Cpanel::ZoneFile->new( text => $ZONES{$zone}, domain => $zone ); if ( $zf->{'status'} ) { } my @soarecords = $zf->find_records( 'name' => $zone . '.', 'type' => 'SOA' ); $soarecords[0]->{'mname'} = $nsref->[0]; $zf->replace_records( \@soarecords ); my @nsrecords = $zf->find_records( 'name' => $zone . '.', 'type' => 'NS' ); my $first_record = $zf->get_first_record( \@nsrecords ); my $first_record_line = $first_record->{'Line'}; my $first_record_ttl = $first_record->{'ttl'}; $zf->remove_records( \@nsrecords ); foreach my $nameserver ( @{$nsref} ) { $zf->insert_record_after_line( { 'ttl' => $first_record_ttl, 'name' => $zone . '.', 'class' => 'IN', 'type' => 'NS', 'nsdname' => $nameserver }, $first_record_line - 1 ); } my $zref = $zf->serialize(); $ZONES{$zone} = $zref; } } my $zdata; my @RELOADLIST; foreach my $zone ( keys %ZONES ) { if ( !$ZONES{$zone} ) { next(); } my $zonedata = join( "\n", @{ $ZONES{$zone} } ); $zonedata =~ s/\n{4}/\n/g; if ( $zonedata eq '' ) { next(); } #we should just edit the soa? $zonedata = Cpanel::DnsUtils::Stream::upsrnumstream($zonedata); #increase serial number push @RELOADLIST, $zone; $zdata .= 'cpdnszone-' . Cpanel::Encoder::URI::uri_encode_str($zone) . '=' . Cpanel::Encoder::URI::uri_encode_str($zonedata) . '&'; } Cpanel::DnsUtils::AskDnsAdmin::askdnsadmin( 'SYNCZONES', 0, '', '', '', $zdata ); Cpanel::DnsUtils::AskDnsAdmin::askdnsadmin( 'RELOADZONES', 0, join( ',', @RELOADLIST ) ); return; } sub _setmaildest { my $domainref = shift; my $dest = shift; if ( !$dest || ( $dest ne 'primary' && $dest ne 'secondary' ) ) { $dest = 'remote'; } my @setup; foreach my $domain ( @{$domainref} ) { print "Setting mail handling for $domain to : $dest\n"; # NB: This duplicates logic in # Whostmgr::Transfers::Systems::MailRouting; it would be nice to # normalize it. # if ( $dest eq 'primary' ) { push @setup, [ $domain, 'localdomains' => 1, 'remotedomains' => 0, 'secondarymx' => 0, 'update_proxy_subdomains' => 1 ]; } elsif ( $dest eq 'secondary' ) { push @setup, [ $domain, 'localdomains' => 0, 'remotedomains' => 1, 'secondarymx' => 1, 'update_proxy_subdomains' => 1 ]; } else { push @setup, [ $domain, 'localdomains' => 0, 'remotedomains' => 1, 'secondarymx' => 0, 'update_proxy_subdomains' => 1 ]; } } Cpanel::MailTools::DBS::setup_mail_routing_for_domains( \@setup ); return; } sub _block_dynamic_content { my $user = shift; my $domainref = shift; my $unblock = shift; my @DYNAMIC_EXTS = qw(dynamiccontent pl plx perl cgi php php4 php5 php6 php3 shtml); my $host; my $owner = Cpanel::AcctUtils::Owner::getowner($user); $owner =~ s/\n//g; if ( $owner eq '' || $owner eq 'root' || $user eq $owner ) { $host = Cpanel::Hostname::gethostname(); } else { $host = Cpanel::AcctUtils::Domain::getdomain($owner); } if ( !$host ) { $host = Cpanel::Hostname::gethostname(); } my $dynamic_regex = '\.(' . join( '|', @DYNAMIC_EXTS ) . ')$'; my $privs = Cpanel::AccessIds::ReducedPrivileges->new($user); my $wvh = Cpanel::Config::WebVhosts->load($user); my %seen_vhost; for my $domain (@$domainref) { my $vhost_name = $wvh->get_vhost_name_for_domain($domain) or do { warn "“$user” has no web vhost for domain “$domain”!\n"; next; }; next if $seen_vhost{$vhost_name}; my $vh_conf = Cpanel::Config::userdata::Load::load_userdata_domain( $user, $vhost_name ); if ( !$vh_conf || !%$vh_conf ) { warn "“$user”’s web vhost “$vhost_name” has no configuration!\n"; next; } my $docroot = $vh_conf->{'documentroot'} or do { warn "Configuration for “$user”’s web vhost “$vhost_name” has no document root!\n"; next; }; my $htaccess = "$docroot/.htaccess"; if ($unblock) { next if !-e $htaccess; if ( open my $htaccess_fh, '+<', $htaccess ) { my @HT = <$htaccess_fh>; @HT = grep( !/^\s*redirectmatch\s+[\.\\\(]*dynamiccontent/i, @HT ); # Clear final empty line. Previously there was # a bug in this logic that would leave an extra line in the # file after every block/unblock cycle. pop @HT if @HT && ( $HT[-1] eq "\n" ); seek( $htaccess_fh, 0, 0 ); print {$htaccess_fh} join( '', @HT ); truncate( $htaccess_fh, tell($htaccess_fh) ); close $htaccess_fh; } elsif ( $! != _ENOENT() ) { warn "Failed to update htaccess @ $docroot file: $!"; } } else { if ( open my $htaccess_fh, '>>', $htaccess ) { print {$htaccess_fh} "\nRedirectMatch $dynamic_regex http://$host/cgi-sys/movingpage.cgi\n"; close $htaccess_fh; } else { warn "Failed to update htaccess @ $docroot file: $!"; } } $seen_vhost{$vhost_name} = 1; } return; } sub _allow_logins { my $user = shift; $user =~ s/\\//g; unlink("/var/cpanel/suspended/${user}"); _generate_account_suspension_include(); if ( -e '/usr/sbin/pw' ) { system( '/usr/sbin/pw', 'unlock', $user ); } else { system( 'passwd', '-u', $user ); } # restore user's cron if previously suspended my $user_crontab_dir = Cpanel::OS::user_crontab_dir(); my $suspended_cron = "${user_crontab_dir}.suspended/$user"; if ( -e $suspended_cron ) { link( $suspended_cron, "$user_crontab_dir/${user}" ) && unlink $suspended_cron; } my $cpuser_guard = Cpanel::Config::CpUserGuard->new($user); delete $cpuser_guard->{'data'}->{'SUSPENDED'}; $cpuser_guard->save(); return; } sub _disallow_logins { my $user = shift; $user =~ s/\///g; # very similar to the code in scripts/suspendacct, # but cannot be used as webserver & co still need to be available if ( !-d '/var/cpanel/suspended' ) { my $original_umask = umask(022); my $mail_gid = ( getgrnam('mail') )[2] // 13; mkdir( '/var/cpanel/suspended', 0710 ); umask($original_umask); chown( 0, $mail_gid, '/var/cpanel/suspended' ); } require Cpanel::FileUtils::Write; Cpanel::FileUtils::Write::overwrite( "/var/cpanel/suspended/${user}", $Whostmgr::Transfers::Session::Constants::USER_TRANSFERRED_MESSAGE, 0640 ); _generate_account_suspension_include(); if ( -e '/usr/sbin/pw' ) { system( '/usr/sbin/pw', 'lock', $user ); } else { system( 'passwd', '-l', $user ); } # temporarily suspend crontab _suspend_cron_for($user); _suspend_ftp_for($user); # suspend the team user on source server once transferred. _suspend_team_for($user); my $cpuser_guard = Cpanel::Config::CpUserGuard->new($user); $cpuser_guard->{'data'}->{'SUSPENDTIME'} = time(); $cpuser_guard->{'data'}->{'SUSPENDED'} = 1; $cpuser_guard->save(); return; } sub _generate_account_suspension_include { require "/usr/local/cpanel/scripts/generate_account_suspension_include"; ## no critic qw(Modules::RequireBarewordIncludes) -- refactoring this is too large generate_account_suspension_include::update_include_and_restart_httpd(); return 1; } sub _suspend_cron_for { my ($user) = @_; return unless $user; my $user_crontab_dir = Cpanel::OS::user_crontab_dir(); my $cron = "$user_crontab_dir/$user"; return unless -e $cron; # create cron.suspended dir if missing my $suspended_dir = "${user_crontab_dir}.suspended"; mkdir( $suspended_dir, 0700 ) unless -e $suspended_dir; # set the cron as suspended link( $cron, "${suspended_dir}/${user}" ) && unlink($cron); return; } sub _suspend_ftp_for { my $user = shift || return; my $ftpdir = $Cpanel::ConfigFiles::FTP_PASSWD_DIR; # this same directory is used for both proftpd and pure-ftpd return if !-d $ftpdir; my $ftpfile = $ftpdir . '/' . $user; rename $ftpfile, $ftpfile . '.' . 'suspended'; system '/usr/local/cpanel/bin/ftpupdate', $user; return; } sub _suspend_team_for { my $user = shift || return; return if !-e "$Cpanel::Team::Constants::TEAM_CONFIG_DIR/$user"; require Cpanel::Exception; eval { my $team_obj = Cpanel::Team::Config->new($user); $team_obj->suspend_team(); }; if ($@) { my $error_as_string = Cpanel::Exception::get_string($@); print "Unable to suspend team user due to an exception: $error_as_string\n"; } return; }