Linux ams-business-8.hostwindsdns.com 4.18.0-553.80.1.lve.el8.x86_64 #1 SMP Wed Oct 22 19:29:36 UTC 2025 x86_64
LiteSpeed
Server IP : 192.236.177.161 & Your IP : 216.73.216.154
Domains :
Cant Read [ /etc/named.conf ]
User : ajzdfbpz
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
local /
cpanel /
scripts /
Delete
Unzip
Name
Size
Permission
Date
Action
cpan_sandbox
[ DIR ]
drwxr-xr-x
2017-06-12 18:25
php_sandbox
[ DIR ]
drwxr-xr-x
2020-12-20 04:48
MirrorSearch_pingtest
2.38
KB
-rwxr-xr-x
2022-05-16 17:46
activesync-invite-reply
1.69
KB
-rwxr-xr-x
2022-05-16 17:46
add_dns
2.36
KB
-rwxr-xr-x
2022-05-16 17:46
adddns
2.36
KB
-rwxr-xr-x
2022-05-16 17:46
addpop
6.08
KB
-rwxr-xr-x
2022-05-16 17:47
addsystemuser
3.27
KB
-rwxr-xr-x
2022-05-16 17:46
adduser
92
B
-rwxr-xr-x
2017-06-12 18:25
agent360.sh
16.03
KB
-rwx------
2025-09-17 21:17
apachelimits
4.31
KB
-rwxr-xr-x
2022-05-16 17:46
archive_sync_zones
3.05
KB
-rwxr-xr-x
2025-04-01 22:56
auto-adjust-mysql-limits
1.81
KB
-rwxr-xr-x
2022-05-16 17:46
autorepair
1.24
KB
-rwxr-xr-x
2022-05-16 17:46
backups_clean_metadata_for_missing_backups
1.57
KB
-rwxr-xr-x
2022-05-16 17:46
backups_create_metadata
15.75
KB
-rwxr-xr-x
2022-05-16 17:46
backups_list_user_files
4.56
KB
-rwxr-xr-x
2022-05-16 17:46
balance_linked_node_quotas
2.58
KB
-rwxr-xr-x
2022-05-16 17:47
before_apache_make
232
B
-rwxr-xr-x
2026-02-17 12:31
biglogcheck
1.69
KB
-rwxr-xr-x
2022-05-16 17:46
build_bandwidthdb_root_cache_in_background
1.52
KB
-rwxr-xr-x
2022-05-16 17:46
build_cpnat
3.41
KB
-rwxr-xr-x
2022-05-16 17:46
build_mail_sni
3.87
KB
-rwxr-xr-x
2022-09-24 10:10
build_maxemails_config
1.14
KB
-rwxr-xr-x
2022-05-16 17:46
builddovecotconf
6.76
KB
-rwxr-xr-x
2022-05-16 17:46
buildeximconf
7
KB
-rwxr-xr-x
2023-03-11 10:28
buildhttpdconf
2.6
KB
-rwxr-xr-x
2022-05-16 17:46
buildpureftproot
539
B
-rwxr-xr-x
2022-05-16 17:47
ccs-check
4.91
KB
-rwxr-xr-x
2022-05-16 17:47
check_cpanel_pkgs
10.75
KB
-rwxr-xr-x
2022-05-16 17:46
check_cpanel_rpms
218
B
-rwxr-xr-x
2021-12-14 12:30
check_domain_tls_service_domains.pl
6.68
KB
-rwxr-xr-x
2022-05-16 17:46
check_immutable_files
5.49
KB
-rwxr-xr-x
2022-05-16 17:47
check_mail_spamassassin_compiledregexps_body_0
187
B
-rwxr-xr-x
2017-06-12 18:25
check_maxmem_against_domains_count
3.57
KB
-rwxr-xr-x
2022-05-16 17:46
check_mount_procfs
2.02
KB
-rwxr-xr-x
2022-05-16 17:46
check_mysql
5.55
KB
-rwxr-xr-x
2022-09-24 10:10
check_plugin_pkgs
2.45
KB
-rwxr-xr-x
2025-04-01 22:56
check_security_advice_changes
8.28
KB
-rwxr-xr-x
2023-03-11 10:28
check_unmonitored_enabled_services
4.56
KB
-rwxr-xr-x
2022-09-24 10:10
check_unreliable_resolvers
3.59
KB
-rwxr-xr-x
2022-05-16 17:46
check_users_my_cnf
6.05
KB
-rwxr-xr-x
2022-05-16 17:46
check_valid_server_hostname
7.66
KB
-rwxr-xr-x
2022-09-24 10:10
checkalldomainsmxs
2.4
KB
-rwxr-xr-x
2022-05-16 17:46
checkbashshell
1.18
KB
-rwxr-xr-x
2022-05-16 17:46
checkccompiler
1.22
KB
-rwxr-xr-x
2022-05-16 17:46
checkexim.pl
3.1
KB
-rwxr-xr-x
2022-05-16 17:46
checklink
1.29
KB
-rwxr-xr-x
2022-05-16 17:46
checkusers
856
B
-rwxr-xr-x
2022-05-16 17:47
chkpaths
141
B
-rwxr-xr-x
2017-06-12 18:25
chpass
416
B
-rwxr-xr-x
2022-05-16 17:46
ckillall
1.11
KB
-rwxr-xr-x
2022-05-16 17:47
cl_pkg_verify_hook.py
2.38
KB
-rwxr-xr-x
2026-01-30 12:30
clean_dead_mailman_locks
2.09
KB
-rwxr-xr-x
2022-05-16 17:46
clean_up_temp_wheel_users
2.44
KB
-rwxr-xr-x
2022-05-16 17:46
clean_user_php_sessions
4.76
KB
-rwxr-xr-x
2022-08-26 11:30
cleandns
13.11
KB
-rwxr-xr-x
2025-04-01 22:56
cleandns8
417
B
-rwxr-xr-x
2022-05-16 17:46
cleanmsglog
735
B
-rwxr-xr-x
2017-06-12 18:25
cleanphpsessions
932
B
-rwxr-xr-x
2022-05-16 17:46
cleanphpsessions.php
658
B
-rw-r--r--
2022-08-16 11:30
cleanquotas
1.61
KB
-rwxr-xr-x
2022-05-16 17:46
cleansessions
5.89
KB
-rwxr-xr-x
2025-04-01 22:56
cleanupinterchange
2.64
KB
-rwxr-xr-x
2022-05-16 17:46
cleanupmysqlprivs
533
B
-rwxr-xr-x
2021-12-14 12:30
clear_cpaddon_ui_caches
1.27
KB
-rwxr-xr-x
2022-05-16 17:46
clear_orphaned_virtfs_mounts
3.56
KB
-rwxr-xr-x
2022-05-16 17:46
comparecdb
1.52
KB
-rwxr-xr-x
2022-05-16 17:46
compilers
2.86
KB
-rwxr-xr-x
2022-05-16 17:46
compilerscheck
999
B
-rwxr-xr-x
2022-05-16 17:47
configure_firewall_for_cpanel
520
B
-rwxr-xr-x
2022-05-16 17:46
configure_rh_firewall_for_cpanel
520
B
-rwxr-xr-x
2022-05-16 17:46
configure_rh_ipv6_firewall_for_cpanel
520
B
-rwxr-xr-x
2022-05-16 17:46
convert2dovecot
682
B
-rwxr-xr-x
2022-05-16 17:46
convert_accesshash_to_token
4.07
KB
-rwxr-xr-x
2022-05-16 17:46
convert_and_migrate_from_legacy_backup
1.97
KB
-rwxr-xr-x
2022-05-16 17:46
convert_maildir_to_mdbox
1.66
KB
-rwxr-xr-x
2022-05-16 17:46
convert_mdbox_to_maildir
1.66
KB
-rwxr-xr-x
2022-05-16 17:47
convert_roundcube_mysql2sqlite
26.27
KB
-rwxr-xr-x
2025-04-01 22:56
convert_to_dovecot_delivery
4.33
KB
-rwxr-xr-x
2022-05-16 17:46
convert_whmxfer_to_sqlite
1.46
KB
-rwxr-xr-x
2022-05-16 17:46
copy_user_mail_as_root
1.25
KB
-rwxr-xr-x
2022-05-16 17:46
copy_user_mail_as_user
1.34
KB
-rwxr-xr-x
2022-05-16 17:46
cpaddonsup
3.25
KB
-rwxr-xr-x
2022-05-16 17:47
cpan_config
2.8
KB
-rwxr-xr-x
2022-05-16 17:46
cpanel_initial_install
67.18
KB
-rwxr-xr-x
2025-04-01 22:56
cpanelsync
28.31
KB
-rwxr-xr-x
2022-05-16 17:46
cpanelsync_postprocessor
1.62
KB
-rwxr-xr-x
2022-05-16 17:46
cpanpingtest
965
B
-rwxr-xr-x
2022-05-16 17:46
cpbackup
44.79
KB
-rwxr-xr-x
2025-04-01 22:56
cpbackup_transport_file
5.65
KB
-rwxr-xr-x
2023-03-11 10:28
cpdig
1.81
KB
-rwxr-xr-x
2022-05-16 17:46
cpfetch
1.23
KB
-rwxr-xr-x
2022-05-16 17:47
cphulkdblacklist
433
B
-rwxr-xr-x
2022-05-16 17:46
cphulkdwhitelist
1.3
KB
-rwxr-xr-x
2022-05-16 17:46
cpservice
2.87
KB
-rwxr-xr-x
2022-05-16 17:46
cpuser_port_authority
19.29
KB
-rwxr-xr-x
2022-05-16 17:46
cpuser_service_manager
10.85
KB
-rwxr-xr-x
2022-09-24 10:10
create_default_featurelist
11.62
KB
-rwx------
2026-02-16 22:13
createacct
26.95
MB
-rwx------
2025-10-17 11:30
custom_backup_destination.pl.sample
5.06
KB
-rwxr-xr-x
2022-09-24 10:10
custom_backup_destination.pl.skeleton
2.84
KB
-rwxr-xr-x
2022-05-16 17:46
dcpumon-wrapper
850
B
-rwxr-xr-x
2022-05-16 17:46
delpop
6.2
KB
-rwxr-xr-x
2022-05-16 17:46
detect_env_capabilities
508
B
-rwxr-xr-x
2022-05-16 17:46
disable_prelink
2.77
KB
-rwxr-xr-x
2022-05-16 17:47
disable_sqloptimizer
1.49
KB
-rwxr-xr-x
2022-05-16 17:46
disablefileprotect
2.19
KB
-rwxr-xr-x
2025-04-01 22:56
distro_changed_hook
1.16
KB
-rwxr-xr-x
2022-05-16 17:46
dnscluster
4.44
KB
-rwxr-xr-x
2022-05-16 17:47
dnsqueuecron
1.29
KB
-rwxr-xr-x
2022-05-16 17:46
dnssec-cluster-keys
3.75
KB
-rwxr-xr-x
2022-05-16 17:46
dovecot_maintenance
7.93
KB
-rwxr-xr-x
2022-05-16 17:46
dovecot_set_defaults.pl
984
B
-rwxr-xr-x
2022-05-16 17:46
dumpcdb
866
B
-rwxr-xr-x
2022-05-16 17:46
dumpinodes
687
B
-rwxr-xr-x
2022-05-16 17:46
dumpquotas
616
B
-rwxr-xr-x
2022-05-16 17:46
dumpstor
913
B
-rwxr-xr-x
2022-05-16 17:47
ea4_fresh_install
2.64
KB
-rwxr-xr-x
2022-05-16 17:46
edit_cpanelsync_exclude_list
2.58
KB
-rwxr-xr-x
2022-05-16 17:46
editquota
3.43
KB
-rwxr-xr-x
2025-04-01 22:56
elevate-cpanel
187.75
KB
-rwx------
2024-02-12 23:25
email_archive_maintenance
6.15
KB
-rwxr-xr-x
2022-05-16 17:46
email_hold_maintenance
1.46
KB
-rwxr-xr-x
2022-05-16 17:47
enable_spf_dkim_globally
8.83
KB
-rwxr-xr-x
2022-05-16 17:46
enable_sqloptimizer
1.57
KB
-rwxr-xr-x
2022-05-16 17:46
enablefileprotect
2.1
KB
-rwxr-xr-x
2022-05-16 17:46
ensure_autoenabled_features
2.93
MB
-rwx------
2025-10-17 11:30
ensure_conf_dir_crt_key
4.82
KB
-rwxr-xr-x
2022-05-16 17:46
ensure_cpuser_file_ip
2.55
KB
-rwxr-xr-x
2022-05-16 17:46
ensure_crontab_permissions
1.08
KB
-rwxr-xr-x
2022-05-16 17:46
ensure_dovecot_memory_limits_meet_minimum
3.13
KB
-rwxr-xr-x
2022-05-16 17:46
ensure_hostname_resolves
2.51
KB
-rwxr-xr-x
2025-04-01 22:56
ensure_includes
601
B
-rwxr-xr-x
2022-05-16 17:46
ensure_vhost_includes
13.53
KB
-rwxr-xr-x
2022-05-16 17:46
exim_tidydb
2.96
KB
-rwxr-xr-x
2022-05-16 17:46
eximconfgen
1.32
KB
-rwxr-xr-x
2022-05-16 17:46
eximstats_spam_check
867
B
-rwxr-xr-x
2022-05-16 17:46
export_horde_calendars_to_ics
15.07
KB
-rwxr-xr-x
2023-08-01 11:30
export_horde_contacts_to_vcf
13.94
KB
-rwxr-xr-x
2023-05-06 10:14
expunge_expired_certificates_from_sslstorage
3.56
KB
-rwxr-xr-x
2022-05-16 17:46
expunge_expired_pkgacct_sessions
852
B
-rwxr-xr-x
2022-05-16 17:46
expunge_expired_transfer_sessions
1.06
KB
-rwxr-xr-x
2022-05-16 17:46
fastmail
5.16
KB
-rwxr-xr-x
2022-05-16 17:46
featuremod
1.92
KB
-rwxr-xr-x
2022-05-16 17:46
fetchfile
422
B
-rwxr-xr-x
2022-05-16 17:46
find_and_fix_rpm_issues
6.99
KB
-rwxr-xr-x
2022-05-16 17:46
find_outdated_services
6.06
KB
-rwxr-xr-x
2025-04-01 22:56
find_pids_with_inotify_watch_on_path
3.66
KB
-rwxr-xr-x
2022-05-16 17:46
fix-cpanel-perl
28.94
KB
-rwxr-xr-x
2025-10-17 11:30
fix-listen-on-localhost
3.52
KB
-rwxr-xr-x
2022-05-16 17:46
fix-web-vhost-configuration
6.15
KB
-rwxr-xr-x
2022-05-16 17:46
fix_addon_permissions
7.68
KB
-rwxr-xr-x
2022-05-16 17:46
fix_dns_zone_ttls
1.34
KB
-rwxr-xr-x
2022-05-16 17:46
fix_innodb_tables
4.05
KB
-rwxr-xr-x
2022-05-16 17:46
fix_reseller_acls
10.88
KB
-rwxr-xr-x
2022-05-16 17:47
fixetchosts
4.32
KB
-rwxr-xr-x
2022-05-16 17:47
fixheaders
572
B
-rwxr-xr-x
2022-05-16 17:46
fixmailinglistperms
1008
B
-rwxr-xr-x
2022-05-16 17:46
fixmailman
2.09
KB
-rwxr-xr-x
2022-05-16 17:46
fixnamedviews
1.22
KB
-rwxr-xr-x
2022-05-16 17:46
fixndc
413
B
-rwxr-xr-x
2022-05-16 17:47
fixquotas
18.47
KB
-rwxr-xr-x
2025-04-01 22:56
fixrelayd
1.74
KB
-rwxr-xr-x
2022-05-16 17:46
fixrndc
16.39
KB
-rwxr-xr-x
2025-04-01 22:56
fixtar
503
B
-rwxr-xr-x
2022-05-16 17:46
fixtlsversions
4.7
KB
-rwxr-xr-x
2022-05-16 17:46
fixvaliases
2
KB
-rwxr-xr-x
2022-05-16 17:46
fixwebalizer
966
B
-rwxr-xr-x
2022-05-16 17:47
forcelocaldomain
895
B
-rwxr-xr-x
2022-05-16 17:46
ftpfetch
2.2
KB
-rwxr-xr-x
2020-12-20 04:47
ftpquotacheck
8.31
KB
-rwxr-xr-x
2022-05-16 17:47
ftpsfetch
2.36
KB
-rwxr-xr-x
2020-12-20 04:47
ftpupdate
261
B
-rwxr-xr-x
2020-12-20 04:54
gather_update_log_stats
4.25
KB
-rwx------
2026-02-16 21:57
gather_update_logs_setupcrontab
5.45
KB
-rwx------
2026-02-16 21:57
gemwrapper
1.74
KB
-rwxr-xr-x
2022-05-16 17:46
gencrt
6.26
KB
-rwxr-xr-x
2022-05-16 17:46
generate_account_suspension_include
5.7
KB
-rwxr-xr-x
2022-05-16 17:47
generate_google_drive_credentials
1.11
KB
-rwxr-xr-x
2022-05-16 17:47
generate_google_drive_oauth_uri
984
B
-rwxr-xr-x
2022-05-16 17:46
generate_maildirsize
13.94
KB
-rwxr-xr-x
2023-03-11 10:28
gensysinfo
1.16
KB
-rwxr-xr-x
2022-05-16 17:46
get_locale_from_legacy_name_info
1.99
KB
-rwxr-xr-x
2022-05-16 17:46
getremotecpmove
12.67
KB
-rwxr-xr-x
2022-09-24 10:10
grpck
1.19
KB
-rwxr-xr-x
2022-05-16 17:46
hackcheck
3.02
KB
-rwxr-xr-x
2022-05-16 17:46
hook
1.45
KB
-rwxr-xr-x
2022-05-16 17:46
httpspamdetect
2.66
KB
-rwxr-xr-x
2022-05-16 17:46
hulk-unban-ip
3.96
MB
-rwx------
2025-10-17 11:30
import_exim_data
8.39
KB
-rwxr-xr-x
2022-09-24 10:10
increase_filesystem_limits
891
B
-rwxr-xr-x
2022-05-16 17:46
initacls
4.99
KB
-rwxr-xr-x
2022-05-16 17:46
initfpsuexec
444
B
-rwxr-xr-x
2022-05-16 17:47
initialize_360monitoring
2.76
KB
-rwx------
2025-11-13 13:58
initquotas
19.47
KB
-rwxr-xr-x
2022-05-16 17:46
initsuexec
4.03
KB
-rwxr-xr-x
2022-05-16 17:46
install_cpanel_analytics
1.93
KB
-rwxr-xr-x
2023-05-06 10:14
install_dovecot_fts
1.57
KB
-rwxr-xr-x
2022-05-16 17:46
install_plugin
2.8
KB
-rwxr-xr-x
2022-09-24 10:10
installpkg
575
B
-rwxr-xr-x
2022-05-16 17:46
installpostgres
6.56
KB
-rwxr-xr-x
2022-05-16 17:46
installsqlite3
1.82
KB
-rwxr-xr-x
2022-05-16 17:46
ipcheck
3.93
KB
-rwxr-xr-x
2022-05-16 17:46
ipusage
7.45
KB
-rwxr-xr-x
2022-05-16 17:47
isdedicatedip
602
B
-rwxr-xr-x
2022-05-16 17:46
jetbackup-check
3.69
KB
-rwxr-xr-x
2022-05-16 17:47
killdns
422
B
-rwxr-xr-x
2022-05-16 17:46
killdns-dnsadmin
1.15
KB
-rwxr-xr-x
2022-05-16 17:47
killmysqluserprivs
433
B
-rwxr-xr-x
2022-05-16 17:46
killmysqlwildcard
1.15
KB
-rwxr-xr-x
2022-05-16 17:46
killpvhost
853
B
-rwxr-xr-x
2022-05-16 17:46
killspamkeys
937
B
-rwxr-xr-x
2022-05-16 17:46
link_3rdparty_binaries
1.24
KB
-rwxr-xr-x
2022-07-19 11:30
linksubemailtomainacct
3.17
KB
-rwxr-xr-x
2022-05-16 17:46
listcheck
538
B
-rwxr-xr-x
2022-05-16 17:46
listsubdomains
1.05
KB
-rwxr-xr-x
2022-05-16 17:47
litespeed-check
3.86
KB
-rwxr-xr-x
2022-05-16 17:46
locale_export
4.82
KB
-rwxr-xr-x
2022-05-16 17:46
locale_import
4.35
KB
-rwxr-xr-x
2022-05-16 17:46
locale_info
3.99
KB
-rwxr-xr-x
2022-05-16 17:46
logo.dat
205
B
-rw-r--r--
2017-06-12 18:25
magicloader
1.94
KB
-rwxr-xr-x
2022-05-16 17:46
maildir_converter
6.08
KB
-rwxr-xr-x
2022-05-16 17:47
mailperm
16.53
KB
-rwxr-xr-x
2025-04-01 22:56
mailscannerupdate
2.42
KB
-rwxr-xr-x
2022-05-16 17:46
mainipcheck
10
KB
-rwxr-xr-x
2022-05-16 17:46
maintenance
46.87
KB
-rwxr-xr-x
2025-04-01 22:56
make_config
407
B
-rw-r--r--
2017-06-12 18:25
make_hostname_unowned
1.16
KB
-rwxr-xr-x
2022-05-16 17:46
manage_extra_marketing
12.76
KB
-rwx------
2026-02-16 22:13
manage_greylisting
16.19
KB
-rwxr-xr-x
2022-09-24 10:10
manage_mysql_profiles
16.33
KB
-rwxr-xr-x
2025-04-01 22:56
migrate-pdns-conf
9.83
KB
-rwxr-xr-x
2024-09-19 11:30
migrate_legacy_wordpress_to_modern_wordpress
12.99
KB
-rwx------
2025-05-19 04:08
migrate_local_ini_to_php_ini
7.41
KB
-rwxr-xr-x
2022-05-16 17:46
migrate_whmtheme_file_to_userdata
2.95
KB
-rwxr-xr-x
2022-05-16 17:46
mkwwwacctconf
2.33
KB
-rwxr-xr-x
2023-03-11 10:28
modify_accounts
4.09
KB
-rwxr-xr-x
2022-09-24 10:10
modify_featurelist
10.31
KB
-rwx------
2026-02-16 22:13
modify_packages
3.65
KB
-rwxr-xr-x
2022-09-24 10:10
modsec_vendor
15.63
KB
-rwxr-xr-x
2022-05-16 17:46
mysqlconnectioncheck
6.55
KB
-rwxr-xr-x
2022-05-16 17:46
mysqlpasswd
4.09
KB
-rwxr-xr-x
2022-05-16 17:46
named.ca
1.57
KB
-rw-r--r--
2017-06-12 18:25
named.rfc1912.zones
774
B
-rw-r--r--
2020-12-20 04:08
notify_expiring_certificates
9.37
KB
-rwxr-xr-x
2022-07-19 11:30
notify_expiring_certificates_on_linked_nodes
1.33
KB
-rwxr-xr-x
2022-09-24 10:10
oopscheck
1.12
KB
-rwxr-xr-x
2022-05-16 17:46
optimize_eximstats
3.88
KB
-rwxr-xr-x
2022-05-16 17:46
patch_mail_spamassassin_compiledregexps_body_0
2.39
KB
-rwxr-xr-x
2022-05-16 17:46
patchfdsetsize
2.72
KB
-rwxr-xr-x
2022-05-16 17:46
pedquota
2.26
KB
-rwxr-xr-x
2022-05-16 17:47
perform_sqlite_auto_rebuild_db_maintenance
2.2
KB
-rwxr-xr-x
2022-05-16 17:46
perlinstaller
528
B
-rwxr-xr-x
2022-05-16 17:46
perlmods
1.18
KB
-rwxr-xr-x
2022-05-16 17:46
php_fpm_config
9.73
KB
-rwxr-xr-x
2022-05-16 17:46
phpini_tidy
687
B
-rwxr-xr-x
2022-05-16 17:46
pkgacct
87.82
KB
-rwxr-xr-x
2023-05-06 10:14
post_snapshot
3.16
KB
-rwxr-xr-x
2023-03-11 10:28
post_sync_cleanup
6.09
KB
-rwxr-xr-x
2022-05-16 17:46
posteasyapache
123
B
-rwxr-xr-x
2026-01-26 14:49
postkillacct
85
B
-rwxr-xr-x
2026-01-30 12:30
postmodifyacct
12
B
-rwxr-xr-x
2026-01-30 12:30
postrestoreacct
12
B
-rwxr-xr-x
2026-01-26 14:49
postupcp
373
B
-rwxr-xr-x
2026-02-17 12:31
postupcp.cloudlinux-linksafe.bak
52
B
-rwxr-xr-x
2017-07-10 20:09
postwwwacct
148
B
-rwxr-xr-x
2026-01-30 12:30
prekillacct
12
B
-rwxr-xr-x
2026-01-30 12:30
preupcp
12
B
-rwxr-xr-x
2026-01-30 12:30
primary_virtual_host_migration
2.44
KB
-rwxr-xr-x
2022-05-16 17:46
process_pending_cpanel_php_pear_registration
2.72
KB
-rwxr-xr-x
2025-04-01 22:56
process_site_templates
7.27
KB
-rwxr-xr-x
2022-05-16 17:46
proxydomains
9.34
KB
-rwxr-xr-x
2022-05-16 17:46
ptycheck
724
B
-rwxr-xr-x
2022-05-16 17:46
purge_modsec_log
1.53
KB
-rwxr-xr-x
2022-05-16 17:46
purge_old_config_caches
2.08
KB
-rwxr-xr-x
2022-05-16 17:46
pwck
708
B
-rwxr-xr-x
2022-05-16 17:46
quickdnslookup
1.13
KB
-rwxr-xr-x
2022-05-16 17:46
quickwhoisips
2.29
KB
-rwxr-xr-x
2022-09-24 10:10
quota_auto_fix
1.41
KB
-rwxr-xr-x
2022-05-16 17:46
quotacheck
22.36
KB
-rwxr-xr-x
2022-09-24 10:10
rawchpass
460
B
-rwxr-xr-x
2022-05-16 17:46
rdate
4.8
KB
-rwxr-xr-x
2022-09-24 10:10
realadduser
5.61
KB
-rwxr-xr-x
2022-05-16 17:47
realchpass
3.26
KB
-rwxr-xr-x
2022-05-16 17:46
realperlinstaller
5.67
KB
-rwxr-xr-x
2022-05-16 17:46
realrawchpass
425
B
-rwxr-xr-x
2022-05-16 17:46
rebuild_available_addons_packages_cache
1.27
KB
-rwxr-xr-x
2022-05-16 17:46
rebuild_available_rpm_addons_cache
1.27
KB
-rwxr-xr-x
2022-05-16 17:46
rebuild_bandwidthdb_root_cache
1.45
KB
-rwxr-xr-x
2022-05-16 17:46
rebuild_dbmap
5.8
KB
-rwxr-xr-x
2022-05-16 17:46
rebuild_provider_openid_connect_links_db
1.01
KB
-rwxr-xr-x
2022-05-16 17:47
rebuild_whm_chrome
2.22
KB
-rwxr-xr-x
2022-05-16 17:46
rebuilddnsconfig
26.42
KB
-rwxr-xr-x
2025-04-01 22:56
rebuildhttpdconf
2.6
KB
-rwxr-xr-x
2022-05-16 17:46
rebuildinstalledssldb
2.85
KB
-rwxr-xr-x
2022-05-16 17:47
rebuildippool
509
B
-rwxr-xr-x
2022-05-16 17:46
rebuilduserssldb
948
B
-rwxr-xr-x
2022-05-16 17:47
refresh-dkim-validity-cache
5.97
KB
-rwxr-xr-x
2022-05-16 17:46
regenerate_tokens
2.18
KB
-rwxr-xr-x
2022-09-24 10:10
remote_log_transfer
11.6
KB
-rwxr-xr-x
2023-03-11 10:28
remove_dovecot_index_files
5.89
KB
-rwxr-xr-x
2022-05-16 17:46
removeacct
23.11
MB
-rwx------
2025-10-17 11:30
rescan_user_dovecot_fts
2.98
KB
-rwxr-xr-x
2022-05-16 17:46
reset_mail_quotas_to_sane_values
6.82
KB
-rwxr-xr-x
2022-05-16 17:46
resetmailmanurls
2.03
KB
-rwxr-xr-x
2022-05-16 17:46
resetquotas
4.61
KB
-rwxr-xr-x
2025-04-01 22:56
restartsrv
3.19
KB
-rwxr-xr-x
2025-04-01 22:56
restartsrv_apache
422
B
-rwxr-xr-x
2022-05-16 17:46
restartsrv_apache_php_fpm
10.15
MB
-rwxr-xr-x
2025-10-17 11:30
restartsrv_base
10.15
MB
-rwxr-xr-x
2025-10-17 11:30
restartsrv_bind
10.15
MB
-rwxr-xr-x
2025-10-17 11:30
restartsrv_chkservd
427
B
-rwxr-xr-x
2022-05-16 17:46
restartsrv_clamd
10.15
MB
-rwxr-xr-x
2025-10-17 11:30
restartsrv_cpanel_dovecot_solr
10.15
MB
-rwxr-xr-x
2025-10-17 11:30
restartsrv_cpanel_php_fpm
10.15
MB
-rwxr-xr-x
2025-10-17 11:30
restartsrv_cpanellogd
10.15
MB
-rwxr-xr-x
2025-10-17 11:30
restartsrv_cpdavd
10.15
MB
-rwxr-xr-x
2025-10-17 11:30
restartsrv_cpgreylistd
10.15
MB
-rwxr-xr-x
2025-10-17 11:30
restartsrv_cphulkd
10.15
MB
-rwxr-xr-x
2025-10-17 11:30
restartsrv_cpipv6
10.15
MB
-rwxr-xr-x
2025-10-17 11:30
restartsrv_cpsrvd
10.15
MB
-rwxr-xr-x
2025-10-17 11:30
restartsrv_crond
10.15
MB
-rwxr-xr-x
2025-10-17 11:30
restartsrv_dnsadmin
10.15
MB
-rwxr-xr-x
2025-10-17 11:30
restartsrv_dovecot
10.15
MB
-rwxr-xr-x
2025-10-17 11:30
restartsrv_exim
10.15
MB
-rwxr-xr-x
2025-10-17 11:30
restartsrv_eximstats
504
B
-rwxr-xr-x
2022-05-16 17:46
restartsrv_ftpd
426
B
-rwxr-xr-x
2022-05-16 17:46
restartsrv_ftpserver
911
B
-rwxr-xr-x
2022-05-16 17:47
restartsrv_httpd
10.15
MB
-rwxr-xr-x
2025-10-17 11:30
restartsrv_imap
437
B
-rwxr-xr-x
2022-05-16 17:46
restartsrv_inetd
2.47
KB
-rwxr-xr-x
2022-09-24 10:10
restartsrv_ipaliases
10.15
MB
-rwxr-xr-x
2025-10-17 11:30
restartsrv_lmtp
437
B
-rwxr-xr-x
2022-05-16 17:46
restartsrv_mailman
10.15
MB
-rwxr-xr-x
2025-10-17 11:30
restartsrv_mysql
10.15
MB
-rwxr-xr-x
2025-10-17 11:30
restartsrv_named
579
B
-rwxr-xr-x
2025-04-01 22:56
restartsrv_nscd
10.15
MB
-rwxr-xr-x
2025-10-17 11:30
restartsrv_p0f
10.15
MB
-rwxr-xr-x
2025-10-17 11:30
restartsrv_pdns
10.15
MB
-rwxr-xr-x
2025-10-17 11:30
restartsrv_pop3
437
B
-rwxr-xr-x
2022-05-16 17:46
restartsrv_postgres
427
B
-rwxr-xr-x
2022-05-16 17:47
restartsrv_postgresql
10.15
MB
-rwxr-xr-x
2025-10-17 11:30
restartsrv_powerdns
442
B
-rwxr-xr-x
2022-05-16 17:46
restartsrv_proftpd
10.15
MB
-rwxr-xr-x
2025-10-17 11:30
restartsrv_pureftpd
10.15
MB
-rwxr-xr-x
2025-10-17 11:30
restartsrv_queueprocd
10.15
MB
-rwxr-xr-x
2025-10-17 11:30
restartsrv_rsyslog
10.15
MB
-rwxr-xr-x
2025-10-17 11:30
restartsrv_rsyslogd
437
B
-rwxr-xr-x
2022-05-16 17:46
restartsrv_spamd
10.15
MB
-rwxr-xr-x
2025-10-17 11:30
restartsrv_sshd
10.15
MB
-rwxr-xr-x
2025-10-17 11:30
restartsrv_syslogd
2.4
KB
-rwxr-xr-x
2022-07-19 11:30
restartsrv_tailwatchd
10.15
MB
-rwxr-xr-x
2025-10-17 11:30
restartsrv_unknown
10.15
MB
-rwxr-xr-x
2025-10-17 11:30
restartsrv_xinetd
422
B
-rwxr-xr-x
2022-05-16 17:46
restorecpuserfromcache
1.96
KB
-rwxr-xr-x
2022-05-16 17:46
restorepkg
37.58
MB
-rwx------
2025-11-06 12:30
rfc1912_zones.tar
10
KB
-rw-r--r--
2017-06-12 18:25
rpmup
5.07
KB
-rwxr-xr-x
2025-04-01 22:56
rsync-user-homedir.pl
5.76
KB
-rwxr-xr-x
2022-05-16 17:46
run_if_exists
512
B
-rwxr-xr-x
2022-05-16 17:46
run_plugin_lifecycle
3.72
KB
-rwx------
2026-02-16 22:13
runstatsonce
440
B
-rwxr-xr-x
2022-05-16 17:46
runweblogs
1.02
KB
-rwxr-xr-x
2022-05-16 17:47
sa-update_wrapper
3.34
KB
-rwxr-xr-x
2022-05-16 17:46
safetybits.pl
844
B
-rwxr-xr-x
2022-05-16 17:47
secureit
4.72
KB
-rwxr-xr-x
2022-05-16 17:46
securemysql
4.4
KB
-rwxr-xr-x
2025-04-01 22:56
securerailsapps
3.58
KB
-rwxr-xr-x
2022-05-16 17:46
securetmp
15.99
KB
-rwxr-xr-x
2023-08-01 11:30
selectorunparkhook.py
1.7
KB
-rwxr-xr-x
2026-01-30 12:30
sendicq
474
B
-rwxr-xr-x
2022-05-16 17:47
servicedomains
9.34
KB
-rwxr-xr-x
2022-05-16 17:46
set_mailman_archive_perms
1.75
KB
-rwxr-xr-x
2022-05-16 17:46
setpostgresconfig
6.04
KB
-rwxr-xr-x
2022-05-16 17:46
setup_greylist_db
16.19
KB
-rwxr-xr-x
2022-09-24 10:10
setup_modsec_db
1.3
KB
-rwxr-xr-x
2022-05-16 17:47
setup_systemd_timer_for_plugins
3.92
KB
-rwx------
2026-02-16 22:13
setupftpserver
10.47
KB
-rwxr-xr-x
2022-05-16 17:47
setupmailserver
9.55
KB
-rwxr-xr-x
2022-05-16 17:46
setupnameserver
12.49
KB
-rwxr-xr-x
2025-04-01 22:56
shrink_modsec_ip_database
12.97
KB
-rwxr-xr-x
2022-05-16 17:46
simpleps
3.05
KB
-rwxr-xr-x
2022-05-16 17:47
slurp_exim_mainlog
5.78
KB
-rwxr-xr-x
2022-05-16 17:47
smartcheck
15.13
KB
-rwxr-xr-x
2022-05-16 17:47
smtpmailgidonly
8.15
KB
-rwxr-xr-x
2023-03-11 10:28
snapshot_prep
5.88
KB
-rwxr-xr-x
2023-03-11 10:28
spamassassin_dbm_cleaner
5.85
KB
-rwxr-xr-x
2022-09-24 10:10
spamassassindisable
3.74
KB
-rwxr-xr-x
2022-09-24 10:10
spamboxdisable
2.27
KB
-rwxr-xr-x
2022-09-24 10:10
sshcontrol
14.38
KB
-rwxr-xr-x
2022-05-16 17:47
ssl_crt_status
3.84
KB
-rwxr-xr-x
2022-05-16 17:47
suspendacct
18.01
KB
-rwxr-xr-x
2023-05-06 10:14
suspendmysqlusers
4.78
KB
-rwxr-xr-x
2025-04-01 22:56
swapip
3.82
KB
-rwxr-xr-x
2022-05-16 17:47
sync-mysql-users-from-grants
1.2
KB
-rwxr-xr-x
2022-05-16 17:46
sync_child_accounts
1.77
KB
-rwxr-xr-x
2022-05-16 17:47
sync_contact_emails_to_cpanel_users_files
1.14
KB
-rwxr-xr-x
2022-09-24 10:10
synccpaddonswithsqlhost
6.59
KB
-rwxr-xr-x
2022-05-16 17:47
synctransfers
1.92
KB
-rwxr-xr-x
2022-05-16 17:47
syslog_check
1.36
KB
-rwxr-xr-x
2022-05-16 17:46
sysup
645
B
-rwxr-xr-x
2022-05-16 17:46
test_sa_compiled
1.07
KB
-rwxr-xr-x
2022-05-16 17:47
transfer_account_as_user
2.34
KB
-rwxr-xr-x
2022-05-16 17:46
transfer_accounts_as_root
4.76
KB
-rwxr-xr-x
2022-05-16 17:46
transfer_in_progress
3.08
KB
-rwxr-xr-x
2022-05-16 17:46
transfer_in_progress.pod
312
B
-rw-r--r--
2017-06-12 18:25
transfermysqlusers
9.72
MB
-rwx------
2025-10-17 11:30
try-later
7.95
KB
-rwxr-xr-x
2022-05-16 17:46
unblockip
667
B
-rwxr-xr-x
2022-05-16 17:46
uninstall_cpanel_analytics
1.2
KB
-rwxr-xr-x
2022-05-16 17:46
uninstall_dovecot_fts
562
B
-rwxr-xr-x
2022-05-16 17:47
uninstall_plugin
2.84
KB
-rwxr-xr-x
2022-09-24 10:10
unlink_service_account
2.62
KB
-rwxr-xr-x
2022-05-16 17:46
unpkgacct
4.6
KB
-rwxr-xr-x
2022-05-16 17:46
unslavenamedconf
863
B
-rwxr-xr-x
2022-05-16 17:47
unsuspendacct
17.8
KB
-rwxr-xr-x
2025-04-01 22:56
unsuspendmysqlusers
7.1
KB
-rwxr-xr-x
2025-04-01 22:57
upcp
31.76
KB
-rwxr-xr-x
2025-04-01 22:56
upcp-running
2.7
KB
-rwxr-xr-x
2022-05-16 17:46
upcp.static
716.78
KB
-rwxr-xr-x
2025-11-06 12:30
update-packages
5.07
KB
-rwxr-xr-x
2025-04-01 22:56
update_apachectl
480
B
-rwxr-xr-x
2022-05-16 17:46
update_db_cache
430
B
-rwxr-xr-x
2022-05-16 17:47
update_dkim_keys
1.45
KB
-rwxr-xr-x
2022-05-16 17:46
update_exim_rejects
1.21
KB
-rwxr-xr-x
2022-05-16 17:46
update_existing_mail_quotas_for_account
4.78
KB
-rwxr-xr-x
2022-05-16 17:46
update_feature_flags
957
B
-rwxr-xr-x
2025-04-01 22:56
update_known_proxy_ips
1002
B
-rwxr-xr-x
2022-05-16 17:46
update_local_rpm_versions
4.56
KB
-rwxr-xr-x
2023-03-11 10:28
update_mailman_cache
8.34
KB
-rwxr-xr-x
2022-05-16 17:46
update_mysql_systemd_config
1.25
KB
-rwxr-xr-x
2022-05-16 17:47
update_neighbor_netblocks
487
B
-rwxr-xr-x
2022-05-16 17:46
update_sa_config
2.14
KB
-rwxr-xr-x
2022-05-16 17:46
update_spamassassin_config
10.73
KB
-rwxr-xr-x
2023-03-11 10:28
update_users_jail
691
B
-rwxr-xr-x
2022-05-16 17:46
update_users_vhosts
801
B
-rwxr-xr-x
2022-05-16 17:47
updatedomainips
605
B
-rwxr-xr-x
2022-05-16 17:46
updatenameserverips
1.66
KB
-rwxr-xr-x
2022-05-16 17:46
updatenow
5.18
KB
-rwxr-xr-x
2022-09-24 10:10
updatenow.static
1.97
MB
-rwxr-xr-x
2025-11-06 12:30
updatesigningkey
1.95
KB
-rwxr-xr-x
2022-05-16 17:47
updatessldomains
1.81
KB
-rwxr-xr-x
2022-05-16 17:46
updatesupportauthorizations
2.49
KB
-rwxr-xr-x
2022-05-16 17:46
updateuserdatacache
2.47
KB
-rwxr-xr-x
2022-05-16 17:46
updateuserdomains
774
B
-rwxr-xr-x
2022-05-16 17:47
upgrade_bandwidth_dbs
2.22
KB
-rwxr-xr-x
2022-05-16 17:47
upgrade_subaccount_databases
2.73
KB
-rwxr-xr-x
2022-05-16 17:46
userdata_wildcard_cleanup
5.74
KB
-rwxr-xr-x
2022-05-16 17:47
userdirctl
5.01
KB
-rwxr-xr-x
2022-05-16 17:46
validate_sshkey_passphrase
1.21
KB
-rwxr-xr-x
2022-05-16 17:46
verify_api_spec_files
757
B
-rwxr-xr-x
2022-05-16 17:47
verify_pidfile
1.96
KB
-rwxr-xr-x
2022-05-16 17:46
verify_vhost_includes
7.34
KB
-rwxr-xr-x
2022-09-24 10:10
vps_optimizer
7.82
KB
-rwxr-xr-x
2022-05-16 17:46
vzzo-fixer
725
B
-rwxr-xr-x
2022-05-16 17:46
whmlogin
2.33
KB
-rwxr-xr-x
2022-05-16 17:46
whoowns
1.13
KB
-rwxr-xr-x
2017-06-12 18:25
wwwacct
26.95
MB
-rwx------
2025-10-17 11:30
wwwacct2
88
B
-rwxr-xr-x
2017-06-12 18:25
xfer_rcube_schema_migrate.pl
2.4
KB
-rwxr-xr-x
2022-05-16 17:47
xfer_rcube_uid_resolver.pl
1.8
KB
-rwxr-xr-x
2022-05-16 17:46
xferpoint
3.13
KB
-rwxr-xr-x
2022-05-16 17:46
xfertool
16.23
KB
-rwxr-xr-x
2025-04-01 22:56
zoneexists
800
B
-rwxr-xr-x
2022-05-16 17:46
Save
Rename
#!/usr/local/cpanel/3rdparty/bin/perl package scripts::export_horde_calendars_to_ics; # cpanel - scripts/export_horde_calendars_to_ics 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 use cPstrict; use parent qw{Cpanel::HelpfulScript}; use Clone (); use Cpanel::DAV::Principal (); use Cpanel::DAV::Backend::HordeCalendar (); use Cpanel::DAV::Backend::DB::Horde (); use Cpanel::Security::Authz (); use Cpanel::Slurper (); use Cpanel::Umask (); use Cwd (); use DateTime (); use MIME::Base64 (); use PHP::Serialization (); use Text::VCardFast (); use Whostmgr::Email (); use Cpanel::AccessIds::ReducedPrivileges (); use constant _OPTIONS => ( 'out=s', 'user=s@' ); my %skipped = map { $_ => 1 } qw{ alarm alarm_methods allday ar_id id start end baseid timezone recurcount recurdays recurenddate recurinterval recurtype resources exceptions }; # kronolith/lib/Kronolith.php has the constants that this map duplicates in # order to know what DB value corresponds to what status for certain fields. my %event_status_map = ( 0 => 'NEEDS-ACTION', 1 => 'TENTATIVE', 2 => 'CONFIRMED', 3 => 'CANCELLED', 4 => 'FREE', ); my %response_status_map = ( 1 => 'NEEDS-ACTION', 2 => 'ACCEPTED', 3 => 'DECLINED', 4 => 'TENTATIVE', ); # Horde/Date/Recurrence.php contains the related constants here. my %recur_type_map = ( 0 => 'NONE', 1 => 'DAILY', 2 => 'WEEKLY', 3 => 'MONTHLY', # _DATE 4 => 'MONTHLY', # _WEEKDAY 5 => 'YEARLY', # _DATE 6 => 'YEARLY', # _DAY 7 => 'YEARLY', # _WEEKDAY 8 => 'MONTHLY', # _LAST_WEEKDAY ); my %remapped = ( 'status' => sub { return [ { 'name' => 'status', 'value' => $event_status_map{ $_[0] } } ] }, 'title' => sub { return [ { 'name' => 'summary', 'value' => $_[0] } ] }, 'private' => sub { return [ { 'name' => 'class', 'value' => ( $_[0] ? 'private' : 'public' ) } ] }, 'modified' => sub { my $d = DateTime->from_epoch( 'epoch' => $_[0] ); my $format = "yyyymmdd'T'hhmmss'Z'"; return [ { 'name' => 'last-modified', 'value' => $d->format_cldr($format) } ]; }, 'attendees' => sub { return if !$_[0]; my $breakfast = PHP::Serialization::unserialize( $_[0] ); my $cnt = 0; if ( ref($breakfast) eq 'ARRAY' ) { $cnt = @{$breakfast}; } else { $cnt = scalar keys %{$breakfast}; } if ( $cnt < 1 ) { return [ { 'name' => 'attendee', 'value' => 'none', 'params' => { 'role' => ['REQ-PARTICIPANT'], 'partstat' => [''], 'rsvp' => [''] } } ]; } return [ map { my $key = $_; { 'name' => 'attendee', 'value' => "mailto:$key", 'params' => { 'role' => ['REQ-PARTICIPANT'], # Horde has no conception of non-participants 'partstat' => [ $response_status_map{ $breakfast->{$key}{'response'} } ], 'rsvp' => [ $breakfast->{$key}{'attendance'} ? 'true' : 'false' ], }, } } keys(%$breakfast) ]; }, 'creator_id' => sub { return [ { 'name' => 'organizer', 'value' => "mailto:$_[0]", 'params' => { 'cn' => $_[0] } } ]; }, ); # I'm only doing package level scoping here for ease of testing. our %extra_items = ( 'transp' => sub { return [ { 'name' => 'transp', 'value' => 'OPAQUE' } ] }, 'created' => sub { my $uid = $_[0]->{'event_uid'}; my $date = substr( $uid, 0, 14 ); # Reject invalid dates... Only horde's events have this reliably set. # We can do a "naive" numeric check here because it isnt' decimal math. if ( length $date < 8 || $date !~ m/^\d+$/ ) { $date = '00000000T000000Z'; } else { $date = substr( $date, 0, 8 ) . 'T' . substr( $date, 8 ) . 'Z'; } return [ { 'name' => 'created', 'value' => $date } ]; }, # Creation date is first part of event UID 'dtstart' => sub { my ($data) = @_; my $val = $data->{'event_start'}; $val =~ s/[-:]*//g; my $params = {}; if ( $data->{'event_allday'} ) { $params->{'value'} = 'DATE'; $val = substr( $val, 0, index( $val, " " ) ); } else { $val =~ tr/ /T/; } return [ { 'name' => 'dtstart', 'value' => $val, 'params' => $params } ]; }, 'dtend' => sub { my ($data) = @_; my $val = $data->{'event_end'}; $val =~ s/[-:]*//g; my $params = {}; if ( $data->{'event_allday'} ) { $params->{'value'} = 'DATE'; $val = substr( $val, 0, index( $val, " " ) ); } else { $val =~ tr/ /T/; } return [ { 'name' => 'dtend', 'value' => $val, 'params' => $params } ]; }, # No idea where it is getting dtstamp #'dtstamp' => sub { return [{ 'name' => 'dtstamp', 'value' => '' }] }, 'rrule' => sub { # https://datatracker.ietf.org/doc/html/rfc2445#section-4.3.10 my ($evt) = @_; return [] if !$evt->{'event_recurtype'}; $evt->{'event_recurinterval'} //= 0; $evt->{'event_recurdays'} //= 0; $evt->{'event_recurcount'} //= 0; $evt->{'event_recurenddate'} //= '99991231'; my $rrval = 'freq=' . $recur_type_map{ $evt->{'event_recurtype'} } . ";"; # FREQ is required $rrval .= 'interval=' . $evt->{'event_recurinterval'} . ";" if $evt->{'event_recurinterval'} != 0; # INTERVAL is optional $rrval .= 'byday=' . recur_days_calc( $evt->{'event_recurdays'} ) . ";" if $evt->{'event_recurdays'} != 0; # BYxxx rules are optional $rrval .= 'count=' . $evt->{'event_recurcount'} . ";" if $evt->{'event_recurcount'} != 0; # COUNT is optional $rrval .= 'until=' . $evt->{'event_recurenddate'} . ";" if $evt->{'event_recurcount'} == 0 && $evt->{'event_recurenddate'} ne '99991231'; # UNTIL is mutually exclusive with COUNT return [ { 'name' => 'rrule', 'value' => uc($rrval) } ]; }, # The two below have to be part of their own vcard. Datastructure # looks a bit strange as such ;_; #'valarm' => sub { return [{ 'name' => 'valarm', 'value' => '' }] }, #'vtimezone' => sub { return [{ 'name' => 'vtimezone', 'value' => '' }] }, ); __PACKAGE__->new(@ARGV)->run() if !caller; sub recur_days_calc ($hordedays) { my @icaldays; do { if ( $hordedays - 64 >= 0 ) { unshift @icaldays, ('SA'); $hordedays -= 64 } if ( $hordedays - 32 >= 0 ) { unshift @icaldays, ('FR'); $hordedays -= 32 } if ( $hordedays - 16 >= 0 ) { unshift @icaldays, ('TH'); $hordedays -= 16 } if ( $hordedays - 8 >= 0 ) { unshift @icaldays, ('WE'); $hordedays -= 8 } if ( $hordedays - 4 >= 0 ) { unshift @icaldays, ('TU'); $hordedays -= 4 } if ( $hordedays - 2 >= 0 ) { unshift @icaldays, ('MO'); $hordedays -= 2 } if ( $hordedays - 1 >= 0 ) { unshift @icaldays, ('SU'); $hordedays -= 1 } } while $hordedays > 0; return join ',', @icaldays; } sub run { my ($self) = @_; my $users = $self->getopt('user'); my $outdir = $self->getopt('out'); my $abs = Cwd::abs_path($outdir) if $outdir; $outdir = $abs ? $abs : $outdir; # At least we tried die $self->help() if !defined $users || ref $users ne 'ARRAY'; # The below check which is being nooped out is understandable in the # context of "a user wants to write to the DB". However, in this case we # are not going to write, instead only reading from the users' DBs in bulk. { no warnings qw{redefine}; local *Cpanel::Security::Authz::verify_not_root = sub { }; foreach my $user (@$users) { my $chalmers = Cpanel::DAV::Principal->get_principal($user); my $dbh = Cpanel::DAV::Backend::DB::Horde::get_dbh( $chalmers->{'name'} ); my $pops = Whostmgr::Email::list_pops_for($user); unshift @$pops, $user; foreach my $mailuser (@$pops) { $chalmers = Cpanel::DAV::Principal->get_principal($mailuser) if $mailuser ne $user; my $cals = Cpanel::DAV::Backend::HordeCalendar::get_calendars( $chalmers, $dbh ); my $mailuser_output; foreach my $cal ( @{ $cals->{data} } ) { my $ics_blob = "BEGIN:VCALENDAR\nVERSION:2.0\nPRODID:-//cPanel Horde Calendar Exporter//export_horde_calendars_to_ics//EN\nX-WR-CALNAME:$cal->{'name'}\n"; my $uid = $cal->{'uid'}; my $query = 'SELECT * FROM kronolith_events WHERE calendar_id = ?'; my ( $matches, $exception ) = Cpanel::DAV::Backend::DB::Horde::select_all( $dbh, $query, $uid ); foreach my $event (@$matches) { my $evt_hr = { 'objects' => [ { 'type' => 'vevent', 'properties' => {}, } ], }; foreach my $prop ( keys(%$event) ) { my $prop_short = substr( $prop, 6 ); # event_ next if !defined $event->{$prop} || $skipped{$prop_short}; if ( $remapped{$prop_short} ) { $evt_hr->{'objects'}[0]{'properties'}{$prop_short} = $remapped{$prop_short}->( $event->{$prop} ); } else { # CPANEL-42420: It is HIGHly likely that the # description field has newlines/blank lines. # These unfortunately do not pass any known # parser's evaluation based on the spec, so # trim it. $evt_hr->{'objects'}[0]{'properties'}{$prop_short} = [ { 'name' => $prop_short, 'value' => _trim( $event->{$prop} ), }, ]; } } foreach my $item ( keys(%extra_items) ) { $evt_hr->{'objects'}[0]{'properties'}{$item} = $extra_items{$item}->($event); } # Reject events with nonsense values for DTSTART/DTEND (CPANEL-42509) next if grep { $evt_hr->{'objects'}[0]{'properties'}{$_} eq '00000000T000000' } qw{dtstart dtend}; my $vevent = Text::VCardFast::hash2vcard($evt_hr); if ( $event->{'event_alarm'} ) { my $valarm = "BEGIN:VALARM\nACTION:DISPLAY\nDESCRIPTION:$event->{'event_title'}\nTRIGGER;VALUE=DURATION:-PT$event->{'event_alarm'}M\nEND:VALARM\n"; $vevent =~ s/END:VEVENT/${valarm}END:VEVENT/; } # roundcube 1.5 does not comply with latest rfc so we create a crafted version which is compatible my $rc_sanitized; my $check_following = 0; foreach my $line ( split( /([\r\n])/, $vevent ) ) { chomp $line; next if !$line; if ( $line =~ m/^RRULE/ || ( $check_following && $line =~ m/^\s/ ) ) { # Currently limited to just the RRULE lines, to avoid issues with description and such $line =~ s/\\\;/\;/g; $line =~ s/\\\,/\,/g; if ( $line =~ m/^\s/ || $line =~ m/^RRULE/ ) { $check_following++; } else { $check_following = 0; } } else { $check_following = 0; } $rc_sanitized .= $line . "\n"; } $ics_blob .= $rc_sanitized; } $ics_blob .= "END:VCALENDAR\n"; $mailuser_output .= $ics_blob; } if ($outdir) { # HB-6674: If outdir looks like cpanelroundcube's home, # Write it for that user instead. $user = 'cpanelroundcube' if index( $outdir, "/var/cpanel/userhomes/cpanelroundcube" ) == 0; Cpanel::AccessIds::ReducedPrivileges::call_as_user( $user, sub { if ( !-d $outdir ) { my $mask = Cpanel::Umask->new(0027); mkdir("$outdir") or die "Can't create outdir '$outdir': $!"; } # Dies on fail, so don't guard it Cpanel::Slurper::write( "$outdir/$mailuser.ics", $mailuser_output, 0644 ); } ); } else { print $mailuser_output, "\n"; } } } } return 0; } sub _trim ($text) { return "" if !defined $text; $text =~ s/\s{2,}//mg; return $text; } =head1 USAGE /usr/local/cpanel/scripts/export_horde_calendars_to_ics --out ~/dump_dir --user 'john_doe' --user 'john_doe2' ... This script will export Horde calendars for the specified cPanel user(s) to the specified outdir (or to STDOUT if none is specified). =head2 OPTIONS --user: cPanel user(s) whose Horde calendar should be exported. Any mail users associated with the account will also be exported. --out: Directory to which the output should be sent. Each mail user's calendar is exported to '$MAILUSER.ics' file in the specified directory. If the specified directory does not exist, the script will attempt to create it. When not specified, output will be sent to STDOUT, with calendars separated by two new lines each. =cut 1;