File manager - Edit - /usr/local/CyberCP/plogical/__pycache__/mailUtilities.cpython-310.pyc
Back
o �����h����������������������@���sH��d�dl�Z�d�dlZd�dlZd�dlZd�dlmZ�ej�d��d�dlZej � dd��ze����W�n���Y�d�dlZd�dl Z d�dlmZ�d�dlZd�dlZd�dlZd�dlmZ�d�dlZd�dlZd�dlZd�dlZd�dlZzd�dlmZmZ�d�d lmZm Z �d�d l!m"Z"m#Z#�W�n���Y�G�dd��d�Z$G�d d��dej%�Z&dd��Z'e(dkr�e'���dS�dS�)�����N)�HttpResponse�/usr/local/CyberCP�DJANGO_SETTINGS_MODULE�CyberCP.settings)�CyberCPLogFileWriter)�ProcessUtilities)�Domains�EUsers)�DomainLimits�EmailLimits)�Websites�ChildDomainsc�������������������@���s���e�Zd�ZdZdZdZdZdZdZdZ e dd ���Ze d d���Ze dd ���Z e dIdd��Ze dd���Ze dd���Ze dIdd��Ze dd���Ze dd���Ze dd���Ze dd���Ze dd ���Ze d!d"���Ze d#d$���Ze d%d&���Ze d'd(���Ze d)d*���Ze d+d,���Ze d-d.���Ze d/d0���Ze d1d2���Ze d3d4���Z e d5d6���Z!e d7d8���Z"e d9d:���Z#e d;d<���Z$e d=d>���Z%e d?d@���Z&e dAdB���Z'e dCdD���Z(e dEdF���Z)e dGdH���Z*dS�)J� mailUtilitiesz#/home/cyberpanel/openDKIMInstallLogz+/home/cyberpanel/spamassassinInstallLogPathz%/home/cyberpanel/RspamdInstallLogPathz'/home/cyberpanel/RspamdUnInstallLogPathz/home/cyberpanelz*/home/cyberpanel/mailScannerInstallLogPathz/var/log/rspamd/rspamd.logc�������������� ���C���s^���zt��d�}|�|�||��td��W�d�S��ty.�}�ztj�t|���W�Y�d�}~d�S�d�}~ww�)N� localhostzSuccessfully sent email) �smtplib�SMTP�sendmail�print� BaseException�loggingr����writeToFile�str)�sender� receivers�message�smtpObj�msg��r����,/usr/local/CyberCP/plogical/mailUtilities.py� SendEmail.���s��� ��zmailUtilities.SendEmailc�����������������C���s����d}t�j�d�s t��d��d|��d�}d|��d�}t�j�|�s%t�||��d|��}t|d�}|�|��|����d}t � |��d�S�)Nz6/usr/local/CyberCP/install/rainloop/cyberpanel.net.inizB/usr/local/lscp/cyberpanel/rainloop/data/_data_/_default_/domains/z.iniz.jsonad�� { "name": "%s", "IMAP": { "host": "localhost", "port": 993, "type": 1, "timeout": 300, "shortLogin": false, "sasl": [ "SCRAM-SHA3-512", "SCRAM-SHA-512", "SCRAM-SHA-256", "SCRAM-SHA-1", "PLAIN", "LOGIN" ], "ssl": { "verify_peer": false, "verify_peer_name": false, "allow_self_signed": false, "SNI_enabled": true, "disable_compression": true, "security_level": 1 }, "use_expunge_all_on_delete": false, "fast_simple_search": true, "force_select": false, "message_all_headers": false, "message_list_limit": 10000, "search_filter": "", "disabled_capabilities": [] }, "SMTP": { "host": "localhost", "port": 587, "type": 2, "timeout": 60, "shortLogin": false, "sasl": [ "SCRAM-SHA3-512", "SCRAM-SHA-512", "SCRAM-SHA-256", "SCRAM-SHA-1", "PLAIN", "LOGIN" ], "ssl": { "verify_peer": false, "verify_peer_name": false, "allow_self_signed": false, "SNI_enabled": true, "disable_compression": true, "security_level": 1 }, "useAuth": true, "setSender": false, "usePhpMail": false, "authPlainLine": false }, "Sieve": { "host": "", "port": 4190, "type": 0, "timeout": 10, "shortLogin": false, "sasl": [ "SCRAM-SHA3-512", "SCRAM-SHA-512", "SCRAM-SHA-256", "SCRAM-SHA-1", "PLAIN", "LOGIN" ], "ssl": { "verify_peer": false, "verify_peer_name": false, "allow_self_signed": false, "SNI_enabled": true, "disable_compression": true, "security_level": 1 }, "enabled": false }, "whiteList": "" } �wz>chown -R lscpd:lscpd /usr/local/lscp/cyberpanel/rainloop/data/)�os�path�exists�makedirs�shutil�copy�open�write�closer����normalExecutioner)�domainr"���� finalPath� finalPathJson�contentJSON�WriteToFile�commandr���r���r����AfterEffects6���s��� V� X zmailUtilities.AfterEffectsc������������������C���s\��d}�d}t��|��d}t��|��d}t��|��d}t��|��d}t��|��d}t��|��t|�d����}d }t|�d �}|D�]G}|�d�dkrMd }|�|��q<|r\|�d�dkr\|�d��q<|rk|�d�dkrk|�d��q<|d kr~|�d�dkr~d }|�|��q<|�|��q<|����d}t|d �}|�d��|����d|���}t��|��d|���}t��|��d�S�)NzQ/usr/local/lscp/cyberpanel/rainloop/data/_data_/_default_/configs/application.inizVmkdir /usr/local/lscp/cyberpanel/rainloop/data/_data_/_default_/plugins/mailbox-detectzZchmod 700 /usr/local/lscp/cyberpanel/rainloop/data/_data_/_default_/plugins/mailbox-detectzbchown lscpd:lscpd /usr/local/lscp/cyberpanel/rainloop/data/_data_/_default_/plugins/mailbox-detectz�wget -O /usr/local/lscp/cyberpanel/rainloop/data/_data_/_default_/plugins/mailbox-detect/index.php https://raw.githubusercontent.com/the-djmaze/snappymail/master/plugins/mailbox-detect/index.phpzdchmod 644 /usr/local/lscp/cyberpanel/rainloop/data/_data_/_default_/plugins/mailbox-detect/index.phpzlchown lscpd:lscpd /usr/local/lscp/cyberpanel/rainloop/data/_data_/_default_/plugins/mailbox-detect/index.php�rr���r ���z [plugins]�������z enable = zenable = On zenabled_list = z enabled_list = "mailbox-detect" z [defaults]z\/usr/local/lscp/cyberpanel/rainloop/data/_data_/_default_/configs/plugin-mailbox-detect.jsonzD{ "plugin": { "autocreate_system_folders": true } } zchown lscpd:lscpd z chmod 600 )r����executionerr'���� readlines�findr(���r)���)�labsPathr0���� labsDataLines�PluginsActivatorr/����lines�PluginsFilePathr���r���r����InstallMailBoxFoldersPlugin����sJ��� z)mailUtilities.InstallMailBoxFoldersPluginNc�������������� ���C���s���zY|d�|��}t�jj|d����rtd��d}z tjj|�d�}W�n ���tjj|�d�}d}Y�zdtjj|�d����sM|dkrCt||�d�}nt||�d�}|� ���t jj|d����s_t |d�}|� ���|dkry|jjdkst|j ������|jjk�runtd ��|jjjdks�|j ������|jjjk�r�ntd ��W�n=���tjj|�d�} |dkr�|jjdks�| j ������|jjk�r�ntd ��|jjjdks�| j ������|jjjk�r�ntd ��Y�d } | d�|��} t���dkr�t�| ��nt�| d ��tjj|�d�} d}tj�|��r#|d�k�rt�|�d�t����}d|����}t�| ||d�}d|�|f�|_|� ���n(|d�k�r9t�|�d�t����}d|����}t�| ||d�}d|�|f�|_|� ���t|d�} | � ���td��W�dS��t�y��}�zt j!�"t#|�d���tdt#|����dt#|�fW��Y�d�}~S�d�}~ww�)N�@��emailzThis account already exists!r����r+���r4���)�domainOwnerr+���)� childOwnerr+���zBExceeded maximum amount of email accounts allowed for the package.zJ/usr/local/CyberCP/bin/python /usr/local/CyberCP/plogical/mailUtilities.pyz AfterEffects --domain �root�lscpd�/etc/redhat-release�utf-8� {CRYPT}%s)� emailOwnerr@����passwordz!maildir:/home/vmail/%s/%s/Maildir�1,None�r4����Nonez [createEmailAccount]�0,)$r ����objects�filterr#���r���r����getr ���r����saver ����package� emailAccounts� eusers_set�all�count�master�getpass�getuserr���r*���r5���r!���r"����bcrypt�hashpw�encode�gensalt�decode�mailr���r���r���r���r���r���)r+����userNamerJ����restore�finalEmailUsername� ChildCheck�website�newEmailDomain�domainLimits�emailDomain�execPath� CentOSPath� emailAcct�emailLimitsr���r���r���r����createEmailAccount����s���� �� ���z mailUtilities.createEmailAccountc�������������� ���C���s^���zt�|�d�}�|�����W�dS��ty.�}�ztj�t|�d���dt|�fW��Y�d�}~S�d�}~ww�)Nr?���rL���z [deleteEmailAccount]r���)r ����deleter���r���r���r���r���)r@���r���r���r���r����deleteEmailAccountd��s��� ���z mailUtilities.deleteEmailAccountc�����������������C���s(���z t�jj|�d�}|j���W�S����Y�dS�)NrA���r���)r���rO���rQ���rU���rV���)�virtualHostNamerh���r���r���r����getEmailAccountsr��s ���zmailUtilities.getEmailAccountsc�������������� ���C���s����zC|d�kr3d}t�jj|�d�}tj�|�r)t�|�d�t� ���}d|� ���}||_n||_|����W�dS�t�jj|�d�}||_|����W�dS��t y[�}�zdt|�fW��Y�d�}~S�d�}~ww�)NrF���r?���rG���rH���)r���rM���r���)r ���rO���rQ���r!���r"���r#���r[���r\���r]���r^���r_���rJ���rR���r���r���)r@����newPassword�encryptrj���� changePassrJ���r���r���r���r����changeEmailPasswordz��s&������z!mailUtilities.changeEmailPasswordc�������������� ���C���s����z=dd�l�}|jd�d�}|�}||��}|jd�|j�}�tj�d|��d��spd|��}d|�}t�|��t� ��tj ks?t� ��tjkrFd|�|�f�}nd |�|�f�}t�|��d |��}t�|��d|��d�}t�|��d |��d�}t�|��d}d|�d�|�d�|��d�}tj�|�s�t|d�} | � d��| ����t|d����} | �d|��dkr�t|d�} | � |��| ����d}d|�d�|�d�}tj�|�s�t|d�} | � d��| ����t|d����} | �d|��dkr�t|d�} | � |��| ����d}|d�}tj�|��st|d�} | � d��| ����t|d����} | �|�dk�r(t|d�} | � |��| ����d}t�t�|���d}t�t�|���W�dS��t�ya�} �ztj�t| �d���dt| �fW��Y�d�} ~ S�d�} ~ ww�) Nr���)� cache_dir�.z/etc/opendkim/keys/z/default.txtz/etc/opendkim/keys/%szmkdir %szC/usr/sbin/opendkim-genkey -D /etc/opendkim/keys/%s -d %s -s defaultz9opendkim-genkey -D /etc/opendkim/keys/%s -d %s -s defaultz*chown -R root:opendkim /etc/opendkim/keys/zchmod 640 /etc/opendkim/keys/z/default.privatezchmod 644 /etc/opendkim/keys/z/etc/opendkim/KeyTablezdefault._domainkey.� z:default:/etc/opendkim/keys/z/default.private �azT##### CyberPanel Generated File - Do not edit if you don't know what you are doing. r2���r3���z/etc/opendkim/SigningTablez*@z default._domainkey.� z/etc/opendkim/TrustedHostszsystemctl restart opendkim�systemctl restart postfixrL���z [setupDKIM:275])� tldextract� TLDExtractr+����suffixr!���r"���r#���r���r*����decideDistro�centos�cent8r'���r(���r)����readr7���� subprocess�call�shlex�splitr���r���r���r���r���)rp���r|����no_cache_extract�actualDomain� extractDomainr"���r0����keyTable� configToWriter����data�signingTable�trustedHostsr���r���r���r���� setupDKIM���s���� � ���zmailUtilities.setupDKIMc��������������� ���C���sT���zd}�d|��}t��|�W�S��ty)�}�ztj�t|�d���W�Y�d�}~dS�d�}~ww�)N�/etc/opendkim.confz sudo cat z [checkIfDKIMInstalled]r���)r���r5���r���r���r���r���r���)r"���r0���r���r���r���r����checkIfDKIMInstalled���s��� ���z"mailUtilities.checkIfDKIMInstalledc�������������� ���C���s|���zt��|��}|d�dkrt|d���td��W�d�S��ty=�}�ztj�t|�d���tdt|����W�Y�d�}~d�S�d�}~ww�)Nr���r4���rK���z [generateKeys]rN���)r���r����r���r���r���r���r���r���)r+����resultr���r���r���r����generateKeys ��s��� ���zmailUtilities.generateKeysc��������������� ���C���s&��zId}�d}t�|�d�}|�|��|����d}d}t�|d�}|�|��|����d}t�t�|���d}t�t�|���d}t�t�|���td ��W�d�S��tyn�}�zt j �t|�d ���tdt|����W�Y�d�}~d�S�d�}~w�t y��}�zt j �t|�d ���tdt|����W�Y�d�}~d�S�d�}~ww�)Nr������ Mode sv Canonicalization relaxed/simple KeyTable refile:/etc/opendkim/KeyTable SigningTable refile:/etc/opendkim/SigningTable ExternalIgnoreList refile:/etc/opendkim/TrustedHosts InternalHosts refile:/etc/opendkim/TrustedHosts ry����/etc/postfix/main.cf�g smtpd_milters = inet:127.0.0.1:8891 non_smtpd_milters = $smtpd_milters milter_default_action = accept �systemctl start opendkim�systemctl enable opendkimzsystemctl start postfixrK���z [configureOpenDKIM]rN���)r'���r(���r)���r����r����r����r����r����OSErrorr���r���r���r���r���)�openDKIMConfigurePath� configDatar����postfixFilePathr0���r���r���r���r����configureOpenDKIM��s<��� ���zmailUtilities.configureOpenDKIMc��������������� ���C���s ��zrzUt�tjd�}�t���dkr4tj�tj�s$dtj�}t j t�|�|�d��dtj�}t j t�|�|�d��ntj�tj�sEdtj�}t �|��dtj�}t �|��W�W�d�S�W�W�d�S����t�tjd�}�dtj�}t j t�|�|�d��Y�W�d�S��ty��}�ztj�t|�d���W�Y�d�}~d�S�d�}~ww�)Nr ���rD���zmkdir ��stdoutz$sudo chown -R cyberpanel:cyberpanel zchown -R cyberpanel:cyberpanel z [checkHome])r'���r!����devnullrY���rZ���r"���r#���r����cyberPanelHomer����r����r����r����r���r5���r���r���r���r���r���)�FNULLr0���r���r���r���r���� checkHomeY��s.��� � "��zmailUtilities.checkHomec�������������� ���C���s��zVt�����d}t�|�}tt�jd��}tj||d�}W�d�����n1�s$w���Y��|dkrEtt�jd�}|�d��|� ���t j�d��W�dS�tt�jd�}|�d ��|� ���W�dS��t y��}�z tt�jd�}|�d��|� ���t j�t|�d ���W�Y�d�}~d�S�d�}~ww�)Nzsudo yum install opendkim -yr ���r����r4���ry����Can not be installed.[404] z[Could not Install OpenDKIM.]r���zOpenDKIM Installed.[200] z[installOpenDKIM])r���r����r����r����r'����installLogPathr����r����� writelinesr)���r���r���r���r���r���)�install�openDKIMINstallr0����cmd�f�resr���r���r���r���r����installOpenDKIMu��s0��� � "��zmailUtilities.installOpenDKIMc��������������� ���C���sj���zd}�t��t�|����d}�t��t�|����W�d�S��ty4�}�ztj�t|�d���W�Y�d�}~d�S�d�}~ww�)Nr{����systemctl restart dovecotz [restartServices]) r����r����r����r����r���r���r���r���r���)r0���r���r���r���r����restartServices���s���"��zmailUtilities.restartServicesc�������������� ���C���s:��zpt�j�tj�rt��tj��t���tjkst���tj krd}nd}t �|�}ttjd��}t j||d�}W�d�����n1�s>w���Y��|dkr_ttjd�}|�d��|����tj�d��W�d S�ttjd�}|�d ��|����W�dS��ty��}�z ttjd�}|�d��|����tj�t|�d���W�Y�d�}~d�S�d�}~ww�)Nz sudo yum install spamassassin -yz*sudo apt-get install spamassassin spamc -yr ���r����r4���ry���r����z![Could not Install SpamAssassin.]r���zSpamAssassin Installed.[200] �[installSpamAssassin])r!���r"���r#���r����spamassassinInstallLogPath�remover���r���r����r����r����r����r'���r����r����r����r)���r���r���r���r���r����r�����SpamAssassinr0���r����r����r����r���r���r���r���r����installSpamAssassin���s6��� � "��z!mailUtilities.installSpamAssassinc������������������C���s\���d}�d}t�j�|��s,t|�d�}|�|��|����d}d}t|d�}|�|��|����d�S�d�S�)Nz%/etc/rspamd/override.d/ratelimit.confz7 custom_keywords = "/etc/rspamd/custom_ratelimit.lua"; r ���z /etc/rspamd/custom_ratelimit.luaa �� local custom_keywords = {} local d = {} -- create map d['badusers'] = rspamd_config:add_map({ ['url']= '/etc/rspamd/badusers.map', ['type'] = 'map', ['description'] = 'Bad users' }) custom_keywords.customrl = function(task) local rspamd_logger = require "rspamd_logger" -- get authenticated user local user = task:get_user() -- define a default ratelimit local default_rl = "10 / 1m" if not user then return end -- no user, return nil local user_rl = d['badusers']:get_key(user) if user_rl then local limit, duration, unit = string.match(user_rl, "(%d+)%s-/%s-(%d+)(%a*)") if limit and duration then duration = tonumber(duration) if unit == 'm' then duration = duration * 60 -- convert minutes to seconds elseif unit == 'h' then duration = duration * 3600 -- convert hours to seconds elseif unit == 'd' then duration = duration * 86400 -- convert days to seconds end local custom_rl = limit .. " / " .. duration .. "s" rspamd_logger.infox(rspamd_config, "User %s has custom ratelimit: %s", user, custom_rl) return "rs_customrl_" .. user, custom_rl else rspamd_logger.errx(rspamd_config, "Invalid ratelimit format for user %s, using default: %s", user, default_rl) return "rs_customrl_" .. user, default_rl end else rspamd_logger.infox(rspamd_config, "User %s not found in bad users map, using default ratelimit: %s", user, default_rl) return "rs_customrl_" .. user, default_rl end end return custom_keywords )r!���r"���r#���r'���r(���r)���)�rlFile� rlContentr/����rlLUA�rlLUAContentr���r���r����SetupEmailLimits���s��� . �zmailUtilities.SetupEmailLimitsc�������������� ���C���s���ddl�m}��z?tj�tj�rt�tj��|����t � ��t jkrJttjd�}|� d��|����d}t �|d��d}t �|d��d}t �|d��d }n3t � ��t jkr{ttjd�}|� d��|����d }t �|d��d}t �|d��d}t �|d��d}nd}ttjd ��}tj||dd�}W�d�����n1�s�w���Y��d}d}t|d �} | � |��| ����d} t| d �}|�d��|����d}t|d����} t|d �}| D�]0}|�d�dkr�|�d�}|��d�}|�d��|�|��q�|�d�dkr�|�d��q�|�|��q�|����d}d}t|d �}|� |��|����|dk�r1ttjd�}|� d��|����tj�d ��W�dS�t � ��t jk�sAt � ��t jk�rHd!}t�|�}ttjd��}tj||d"�}W�d�����n 1��saw���Y��d#}t�|�}ttjd��}tj||d"�}W�d�����n 1��s�w���Y��d$}t�|�}ttjd��}tj||d"�}W�d�����n 1��s�w���Y��d%}td&d �}|�|��|����d'}t �|d(d)��ttjd�}|� d*��|����d+}t�|�}ttjd��}tj||d"�}W�d�����n 1��s�w���Y��d,}t�|�}ttjd��}tj||d"�}W�d�����n 1��sw���Y��d-}t�|�}ttjd��}tj||d"�}W�d�����n 1��sBw���Y��n�t � ��t jk�sXt � ��t jk�r0d.}t�|�}ttjd��}tj||d"�}W�d�����n 1��sxw���Y��d/}t�|�}ttjd��}tj||d"�}W�d�����n 1��s�w���Y��d0}td1d �}|�|��|����ttjd�}|� d*��|����d+}t�|�}ttjd��}tj||d"�}W�d�����n 1��s�w���Y��d2}t�|�}ttjd��}tj||d"�}W�d�����n 1��sw���Y��d-}t�|�}ttjd��}tj||d"�}W�d�����n 1��s+w���Y��t�d3��ttjd�}|� d4��|����W�dS��t �ys�}�z ttjd�}|� d��|����tj�t!|�d5���W�Y�d�}~d�S�d�}~ww�)6Nr�����ServiceManagerry���zConfiguring RSPAMD repo.. zVcurl https://rspamd.com/rpm-stable/centos-7/rspamd.repo > /etc/yum.repos.d/rspamd.repoTz2rpm --import https://rspamd.com/rpm-stable/gpg.keyz yum updatez�sudo yum install rspamd clamav-server clamav-data clamav-update clamav-filesystem clamav clamav-scanner-systemd clamav-devel clamav-lib clamav-server-systemd -yzVcurl https://rspamd.com/rpm-stable/centos-8/rspamd.repo > /etc/yum.repos.d/rspamd.repoz5sudo yum install rspamd clamav clamd clamav-update -yzMDEBIAN_FRONTEND=noninteractive apt-get install rspamd clamav clamav-daemon -yr ����r�����shell�"/etc/rspamd/local.d/antivirus.confa|��# ================= DO NOT MODIFY THIS FILE ================= # # Manual changes will be lost when this file is regenerated. # # Please read the developer's guide, which is available # at NethServer official site: https://www.nethserver.org # # #Enable or disable the module enabled = true # multiple scanners could be checked, for each we create a configuration block with an arbitrary name clamav { # If set force this action if any virus is found (default unset: no action is forced, 'rewrite_subject' to tag as spam) action = "reject"; # if `true` only messages with non-image attachments will be checked (default true) scan_mime_parts = false; # If `max_size` is set, messages > n bytes in size are not scanned max_size = 20000000; # type of scanner: "clamav", "fprot", "sophos" or "savapi" type = "clamav"; # If set true, log message is emitted for clean messages log_clean = false; # Timeout and retransmits increased in case of clamav is reloading its database # It takes a lot of time (25 to 60 seconds), after rspamd answers a temporally failure #timeout = 5; #retransmits = 2; # servers to query (if port is unspecified, scanner-specific default is used) # can be specified multiple times to pool servers # can be set to a path to a unix socket servers = "127.0.0.1:3310"; # if `patterns` is specified virus name will be matched against provided regexes and the related # symbol will be yielded if a match is found. If no match is found, default symbol is yielded. patterns { # symbol_name = "pattern"; CLAMAV_VIRUS = "^Eicar-Test-Signature$"; } # In version 1.7.0+ patterns could be a list for ordered matching #patterns = [{SANE_MAL = "Sanesecurity.Malware.*"}, {CLAM_UNOFFICIAL = "UNOFFICIAL$"}]; # `whitelist` points to a map of IP addresses. Mail from these addresses is not scanned. whitelist = "/etc/rspamd/antivirus.wl"; } z%/etc/rspamd/local.d/dkim_signing.confzenabled = false; r����r2���zinet:127.0.0.1:8891r3���rz���z, inet:127.0.0.1:11332 zO### Please do not edit this line, editing this line could break configurations �non_smtpd_milters�#non_smtpd_milters = $smtpd_milters �/etc/rspamd/local.d/redis.confz: write_servers = "127.0.0.1"; read_servers = "127.0.0.1"; r4���r�����[Could not Install Rspamd.]z(setsebool -P antivirus_can_scan_system 1r����zsetsebool -P clamd_use_jit 1zusermod -a -G clamscan _rspamdz� User clamscan PidFile /var/run/clamd.scan/clamd.pid TCPSocket 3310 TCPAddr 127.0.0.1 ConcurrentDatabaseReload no Debug false FixStaleSocket true LocalSocketMode 666 ScanMail true ScanArchive true #LogFile /var/log/clamd.scan/clamav.log �/etc/clamd.d/scan.confz$touch /var/log/clamd.scan/clamav.logF�clamscanzUpdating Freshclam database.. � freshclamzsystemctl start clamd@scan�systemctl restart rspamdzusermod -a -G clamav _rspamdz&chown -R clamav:clamav /var/run/clamavz� User clamav PidFile /var/run/clamav/clamd.pid TCPSocket 3310 TCPAddr 127.0.0.1 ConcurrentDatabaseReload no Debug false FixStaleSocket true LocalSocketMode 666 ScanMail true ScanArchive true LogFile /var/log/clamav/clamav.log �/etc/clamav/clamd.confzsystemctl restart clamav-daemon����zRspamd Installed.[200] z[installRspamd])"�manageServices.serviceManagerr����r!���r"���r#���r����RspamdInstallLogPathr�����InstallRedisr���r���r����r'���r����r)���r*���r����r����r����r(���r6���r7����rstripr���r���r���r����r�����ubuntu�ubuntu20�time�sleepr���r���)r�����rspamdr����r���r0���r����r����r"����content� wirtedata�DKIMPathr/���� appendpathr;����line�cLine�wpath�wdata� wirtedata2r����� clamavcontentr���r���r���r���� installRspamd��s,�� � 7 � � � � � �� � � � � � "��zmailUtilities.installRspamdc�������������� ���C���sn��ddl�m}�z�tj�d��tj�tj �rt� tj ��t���tj ks(t���tjkr+d}nd}t�|�}ttj d��}tj||d�}W�d�����n1�sJw���Y��|dkrkttj d �}|�d ��|����tj�d��W�dS�d}t�|��d } t�| ��ttj d �}|�d��|����W�dS��ty��} �z ttj d �}|�d��|����tj�t| �d���W�Y�d�} ~ d�S�d�} ~ ww�)Nr���r����z&start................[uninstallRspamd]z.sudo yum remove rspamd clamav clamav-daemon -yz-sudo apt purge rspamd clamav clamav-daemon -yr ���r����r4���ry���zCan not be uninstalled.[404] r�����systemctl stop rspamdzsystemctl disable rspamdzRspamd unInstalled.[200] r����z[uninstallRspamd])r����r����r���r���r���r!���r"���r#���r����RspamdUnInstallLogPathr����r���r���r����r����r����r����r'���r����r����r����r)���r*���r���r���)r����r����r����r0���r����r����r����r����cmdd�cmmdr���r���r���r����uninstallRspamd&��sB��� � "��zmailUtilities.uninstallRspamdc�������������� ���C���s����z0d}t�|d�}|���}t�|�}|����|d�}|d�}|d�}|d�} |d�} |d�}|d �}d } t�| d�}|���}|����|���}t�| d�}|D�]�}|�d�d kr|dkrjd}t�|��d}|� |d���qL|dkr~d}t�|��d}|� |d���qL|�d�d kr�|dkr�d}|� |d���qL|dkr�d}|� |d���qL|�d�d kr�|dkr�d}|� |d���qL|dkr�d}|� |d���qL|�d�d kr�|dkr�d}|� |d���qL|dkr�d}|� |d���qL|�d�d kr�d | �}|� |d���qL|�d!�d k�rd"|�}|� |d���qL|�d#�d k�r#d$| �}|� |d���qL|� |d���qLt d%��W�d&S��t�yc�}�z%tj �t|�d'���t|d(���t d)t|���d)t|�d(�gW��Y�d�}~S�d�}~ww�)*Nz&/home/cyberpanel/tempfilerspamdconfigsr2����status�scan_mime_parts� log_clean�max_size�Rspamdserver�CLAMAV_VIRUS� action_rspamdr����r ���zenabled r3���Tzsystemctl start rspamdzenabled = truerz���Fr����zenabled = falsezaction =�Rejectz action = "reject";�Unsetz action = "unset";z scan_mime_parts = true;z scan_mime_parts = false;zlog_clean =z log_clean = true;z log_clean = false;z max_size =z max_size = %s;zCLAMAV_VIRUS =z CLAMAV_VIRUS = "%s";z servers =z servers = "%s";rK���rL���z[changeRspamdConfig]z [changeRspamdConfig]r���)r'���r�����json�loadsr)���� splitlinesr7���r���r5���r����r���r���r���r���r���r���)r�����changeRspamdConfig�tempfilepath�file� jsondata1�jsondatar����r����r����r�����serverr����r�����confPathr�����dataar�����writeDataToFile�itemsr0����newitemr���r���r���r���r����Q��s���� ������z mailUtilities.changeRspamdConfigc�������������� ���C���s`��z~d}t�|d�}|���}t�|�}|����|d�}|d�}d}t�|d�} | ���} | ����| ���}t�|d�}|D�]@} | �d�dksG| �d �dkr\| �d�d k�r\d|��d�}|�|d���q7| �d �dksj| �d�dkrp|�d��q7|�| d���q7td��W�dS��t y��}�z%t j�t |�d���t |d���td t |���d t |�d�gW��Y�d�}~S�d�}~ww�)Nz'/home/cyberpanel/tempfilepostfixconfigsr2���r����� smtpd_miltersr����r ���zsmtpd_milters=r3���zsmtpd_milters =r���z%smtpd_milters = inet:127.0.0.1:8891, rz���znon_smtpd_milters=znon_smtpd_milters =r����rK���rL���z[changePostfixConfig]z [changePostfixConfig]�r'���r����r����r����r)���r����r7���r����r���r���r���r���r���r���)r�����changePostfixConfigr����r����r����r����r����r�����postfixpathr����r����r����r�����ir����r���r���r���r���r�������s<��� *��z!mailUtilities.changePostfixConfigc�������������� ���C���s>��zmd}t�|d�}|���}t�|�}|����|d�}|d�}d}t�|d�} | ���} | ����| ���}t�|d�}|D�]/} | �d�dkrLd |�}|�|d ���q7| �d�dkr_d|�}|�|d ���q7|�| d ���q7td ��W�dS��t y��}�z%t j�t |�d���t |d���tdt |���dt |�d�gW��Y�d�}~S�d�}~ww�)Nz(/home/cyberpanel/saveRedisConfigurationsr2���� write_servers�read_serversr����r ���zwrite_servers =r3���zwrite_servers = "%s";rz���zread_servers =zread_servers = "%s";rK���rL���z[changeRedisxConfig]z [changeRedisxConfig]r���r����)r�����changeRedisxConfigr����r����r����r����r����r����� Redispathr����r����r����r����r����r����r���r���r���r���r������s>��� ��z mailUtilities.changeRedisxConfigc�������������� ���C���s���z�d}t�|d�}|���}t�|�}|����|d�}|d�}|d�}|d�} t���tjks3t���tjkr6d} nt���tj ksDt���tj krFd} t�| d�}|���}|����|���} t�| d �}| D�]e}|�d�d krsd|�}|� |d���q^|�d�d kr�d |�}|� |d���q^|�d�d kr�d|�}|� |d���q^|�d�d kr�| dkr�d}|� |d���q^| dkr�d}|� |d���q^|� |d���q^W�dS��ty��}�z%tj�t|�d���t|d���tdt|���dt|�d�gW��Y�d�}~S�d�}~ww�)Nz)/home/cyberpanel/saveclamavConfigurationsr2����LogFile�TCPAddr� TCPSocket�clamav_Debugr����r����r ���r3���zTCPSocket %srz���z TCPAddr %sz LogFile %szDebug =Tz Debug trueFzDebug falserL���z[changeclamavConfig]z [changeclamavConfig]r���)r'���r����r����r����r)���r���r���r����r����r����r����r����r7���r����r���r���r���r���r���r���)r�����changeclamavConfigr����r����r����r����r��r��r��r���clamavconfpathr����r����r����r����r����r����r���r���r���r���r�����s\��� ���z mailUtilities.changeclamavConfigc�������������� ���C���sT��z}t�j�tj�rt��tj��t���rld}t�|��d}t � |�}ttjd��}tj ||dd�}W�d�����n1�s9w���Y��|dkrZttjd�}|�d��|����tj�d ��W�d S�ttjd�}|�d��|����W�dS�ttjd�}|�d��|����W�d�S��ty��}�z ttjd�}|�d��|����tj�t|�d ���W�Y�d�}~d�S�d�}~ww�)Nz=chmod +x /usr/local/CyberCP/CPScripts/mailscannerinstaller.shz4/usr/local/CyberCP/CPScripts/mailscannerinstaller.shr ���Tr����r4���ry���r����z [Could not Install MailScanner.]r���zMailScanner Installed.[200] zPPlease install SpamAssassin from CyberPanel before installing MailScanner.[404] r����)r!���r"���r#���r����mailScannerInstallLogPathr�����checkIfSpamAssassinInstalledr���r5���r����r����r'���r����r����r����r)���r���r���r���r���r���r����r���r���r����installMailScanner ��s>��� � "��z mailUtilities.installMailScannerc��������������� ���C���sz���zd}�d|��}t��|�}|�d�dkr|�d�dkrW�dS�W�dS��ty<�}�ztj�t|�d���W�Y�d�}~dS�d�}~ww�) N�/etc/postfix/master.cfzcat �spamassassinr3���z user=spamdr4���r���z [checkIfSpamAssassinInstalled])r����outputExecutionerr7���r���r���r���r���r���)r"���r0����outputr���r���r���r���r ��M��s��� ���z*mailUtilities.checkIfSpamAssassinInstalledc������������ ��� ���C���s,��z�t����t�jkst����t�jkrRd}�t|�����}t|�d�}|D�]/}|�d�dks<|�d�dks<|�d�dks<|�d�dkrH|�|�d��d ���q|�|��q|� ���d }t�� |��d}t�� |��d}t�� |��d }t�� |��d}t�� |��d}t|d����}t|d�}d}|D�]-}|�d�dkr�|�d�dkr�|�d�dkr�|dkr�|�|�d�d���d}q�|�|��q�|�d��|� ���d}t�� |��td��W�d�S��t y��} �ztj�t| �d���tdt| ����W�Y�d�} ~ d�S�d�} ~ w�t�y�} �ztj�t| �d���tdt| ����W�Y�d�} ~ d�S�d�} ~ ww�)N�/etc/mail/spamassassin/local.cfr ����report_safer3����rewrite_header�required_score� required_hits�#rx���zgroupadd spamdz=useradd -g spamd -s /bin/false -d /var/log/spamassassin spamdz'chown spamd:spamd /var/log/spamassassinzsystemctl enable spamassassinzsystemctl start spamassassinr��r2���r4����smtp�inet�smtpdrz���z -o content_filter=spamassassin r���z{spamassassin unix - n n - - pipe flags=R user=spamd argv=/usr/bin/spamc -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}r{���rK���z [configureSpamAssassin]rN���)r���r���r����r����r'���r6���r7���r(����stripr)���r*���r����r���r����r���r���r���r���r���) �confFile�confData�confr����r0����postfixConfr����r����checkerr���r���r���r����configureSpamAssassin`��s\��� 8 2 ���z#mailUtilities.configureSpamAssassinc����������� ��� ���C���sF��z}t�|�����}t�|���d}t�|����}t�|d�}d}|D�]@}|�d�dkr.|�|d���q|�d�dkr=|�|d���q|�d�dkrL|�|d ���q|�d �dkr]|�|d���d}qq|dkri|�|d���|����d}t�t � |���td ��W�d�S��ty��}�zt j�t|�d���tdt|����W�Y�d�}~d�S�d�}~ww�)Nr��r ���r���zreport_safe r3���zrequired_hits r4���zrewrite_header ����zrequired_score ����zsystemctl restart spamassassinrK���z [saveSpamAssassinConfigs]rN���)r'���r6���r!���r����r7���r����r)���r����r����r����r����r���r���r���r���r���r���) �tempConfigPathr����r��r��r���rsCheckr����r0���r���r���r���r����saveSpamAssassinConfigs���sH��� � ���z%mailUtilities.saveSpamAssassinConfigsc�������������� ���C���s^��z�d}|�dkrEt�j�d�st�dd��d}t�t�|���d}t�t�|���t |d�}|� d��|� d ��|����d }t�t�|���n>t |d����}t |d�}|D�]}|� d �dkr]qS|� d�dkreqS|� |��qS|����d}t�t�|���d }t�t�|���td��W�d�S��ty��}�ztj�t|�d���tdt|����W�Y�d�}~d�S�d�}~ww�)Nr�����1z!/etc/systemd/system/cpecs.servicez4/usr/local/CyberCP/postfixSenderPolicy/cpecs.servicezsystemctl enable cpecszsystemctl start cpecsry���zPsmtpd_data_restrictions = check_policy_service unix:/var/log/policyServerSocket z,smtpd_policy_service_default_action = DUNNO r{���r2���r ���z5check_policy_service unix:/var/log/policyServerSocketr3���z+smtpd_policy_service_default_action = DUNNOzsystemctl stop cpecsrK���z [savePolicyServerStatus]rN���)r!���r"���r#���r%���r&���r����r����r����r����r'���r����r)���r6���r7���r���r���r���r���r���r���)r�����postfixPathr0���r���r����r����r���r���r���r����savePolicyServerStatus���sJ��� ���z$mailUtilities.savePolicyServerStatusc��������������� ���C���sX���zd}�t�j�|��rW�dS�W�dS��ty+�}�ztj�t|�d���W�Y�d�}~dS�d�}~ww�)Nz#/usr/local/CyberCP/public/mailwatchr4���r���� [checkIfMailScannerInstalled]�r!���r"���r#���r���r���r���r���r���)r"���r���r���r���r����checkIfMailScannerInstalled ��s��� ���z)mailUtilities.checkIfMailScannerInstalledc��������������� ���C���sT���zt�j�d�r W�dS�W�dS��ty)�}��ztj�t|��d���W�Y�d�}�~�dS�d�}�~�ww�)Nz/etc/rspamd/rspamd.confr4���r���r'��r(��)r���r���r���r����checkIfRspamdInstalled��s��� ���z$mailUtilities.checkIfRspamdInstalledc������������������C���st���z3d}�t�j�|��r1t|�d����}|D�]}|�d�dkr-|�d�d��d��d�}|��W�S�qW�d�S�W�d S����Y�d S�) Nr����r2���� myhostnamer3����=r4���rx���rz���r���) r!���r"���r#���r'���r6���r7���r����r��r����)�PostfixPath�PostFixConfr�����hostnamer���r���r����FetchPostfixHostname&��s��� ��z"mailUtilities.FetchPostfixHostnamec����������� ��� ���C���s���z�dd�l�}|�d�}|jdkr�|���d�}tj�tj�r&t j �d|��d���g�}|D�]d}z]|j|��d|����dd �}tj�tj�rLt j �d |���d|�����|jdkr�|���}tj�tj�rgt j �dt|������|d �dkr�|� |d�d���|� |d�d���|� |d�d���W�q*���Y�q*tj�tj�r�t j �d|���dt|������|W�S�W�d�S��ty��}�zt j �dtt������g�W��Y�d�}~S�d�}~ww�)Nr���z%https://cyberpanel.net/dnsServers.txt������urlsz DNS urls rw���z/index.php?ip=r����)�timeoutzurl to call z is zresponse from dns system r����r4����resultsz8.8.8.8z1.1.1.1z9.9.9.9zrDNS result of zError in fetch rDNS )�requestsrQ����status_coder����r!���r"���r#���r���� debugPathr���r���r���r����appendr���r���) � ip_addressr5��� fetchURLsr2��r4���url�responser�����er���r���r����reverse_dns_lookup6��sB��� ��%��z mailUtilities.reverse_dns_lookupc����������� ��� ���C���s��zgt�|�d����}|�d�d�}d}d}tj�|�rLt�|d����}t�|d�}|D�]}|�|�dkr8|�|��d}q'|�|��q'|dkrG|�|��|� ���nt�|d�}|�|��|� ���d}t �|��td ��W�d�S��t y��} �ztd t| ������W�Y�d�} ~ d�S�d�} ~ ww�)Nr2���rx���r���z/etc/rspamd/badusers.mapr ���r3���r4���r����rK���rN���)r'���r����r����r!���r"���r#���r6���r7���r(���r)���r���r5���r���r���r���) �tempPathr����r@���r"���� WriteCheckr����r/���r����r0���r���r���r���r����SaveEmailLimitsNewg��s4��� ��z mailUtilities.SaveEmailLimitsNew)N)+�__name__� __module__�__qualname__r����r����r����r����r����r��� RSpamdLogPath�staticmethodr���r1���r=���rm���ro���rq���ru���r����r����r����r����r����r����r����r����r����r����r����r����r����r���r��r ��r ��r��r#��r&��r)��r*��r0��r>��rA��r���r���r���r���r���$���s����� k >� o = # ? ��$ * R $ # 2 , F . 3 0r���c�������������������@���s~���e�Zd�Zddd�Zdd��Zdd��Zdd ��Zd d��Zdd ��Zdd��Z dd��Z dd��Zdd��Zdd��Z dd��Zdd��Zdd��ZdS�)�MailServerManagerUtilsNc�����������������C���s(���t�j�|���||�_||�_||�_d|�_d�S�)Nr���)�multi�Thread�__init__�request�function� extraArgs�MailSSL)�selfrK��rL��rM��r���r���r���rJ�����s ��� zMailServerManagerUtils.__init__c�������������� ���C���s.��d}t��d|��}|�d�dkrd|�_dS�z<t��d|�����}|D�].}|�d�dkrO|d�dkrO|�d�d ��d �|�_tj � t�j�rLtj �d|�j�����d |�_q!W�n�typ�}�zd|�_tj �dt|����W�Y�d�}~nd�}~ww�d }t|�}|���}|�dd �d�} d| �} t��| �}|�d�dkr�dS�d S�)Nr�����cat %szmyhostname = server.example.comr3���r���r+��r��r,��r4���rx���z&Mail server SSL is issued with value: z$%s. [checkIfMailServerSSLIssued:864]�/etc/cyberpanel/machineIPrz���z openssl s_client -connect %s:465�18 (self signed certificate))r���r ��r7���rN��r����r����r���mailHostNamer!���r"���r#���r7��r���r���r���r���r���r'���r����)rO��r%���postFixData�postFixLinesr����r����ipFiler�����ipData� ipAddressr0���r����r���r���r����checkIfMailServerSSLIssued���s:����� �� z1MailServerManagerUtils.checkIfMailServerSSLIssuedc�������������� ���C���s����z5t�j�|�jd�d��|�jd�}i�}|����|d<�t|d�}|�t�|���|� ���t�j�|�jd�d��W�d�S��t yW�}�zdt|�d�}t�|�}t|�W��Y�d�}~S�d�}~ww�) N�tempStatusPathz&Checking if MailServer SSL issued..,10� reportFilerN��r ����Completed [200].r���)r����� error_message) r���r����statusWriterrM��rY��r'���r(���r�����dumpsr)���r���r���r���)rO��r[���reportr���r���� final_dic� final_jsonr���r���r����RunServerLevelEmailChecks���s"���� ��z0MailServerManagerUtils.RunServerLevelEmailChecksc�����������������C���s���t�j�d�r�tdd����}|�d�dks|�d�dkr2|�d�dks0|�d�dks0|�d�dkr2d S�|�d�dks@|�d�dkrP|�d �dksN|�d�dkrPdS�|�d�dks^|�d�dkrn|�d �dksl|�d�dkrndS�|�d�dks||�d�dkr�|�d�dks�|�d�dks�|�d�dkr�dS�|�d�dks�|�d�dkr�|�d�dks�|�d�dkr�dS�|�d�dks�|�d�dkr�|�d �dks�|�d�dks�|�d�dks�|�d�dks�|�d�dkr�dS�d�S�d�S�dS�)Nz/etc/os-releaser2���� CloudLinuxr3���� cloudlinuxz8.9zAnatoly LevchenkozVERSION="8.zcl-89z8.8zAnatoly Filipchenkozcl-88z9.4zVERSION="9.� AlmaLinux� almalinuxzMidnight Oncillazal-88z8.7zStone Smilodonzal-87z9.3zShamrock PampaszSeafoam Ocelotzal-93)r!���r"���r#���r'���r����r7���)rO��r����r���r���r����!FetchCloudLinuxAlmaVersionVersion���s8���**.���z8MailServerManagerUtils.FetchCloudLinuxAlmaVersionVersionc����������� ��� ���C���s����z(t����t�jkst����t�jkrd}t��|d�d��nt����t�jks(t����t�jkr1d}t��|d�d��t����t�jkrdz'd}t��|d�d��d}t��|��tdd�}|�d��|� ���d }t��|��W�n���Y�t j�|�j d �d��t����t�jkrd}t��|��d }nht����t�jkr�|����}|�d�d�}t|�d�d��}|dkr�|dkr�d}t��|��nd}t��|��d}n3dd�l}d}t��|��d}t|d�}|�dt|���d�����|�d��|� ���d|�}t��|��d}t��|��t j�|�j d �d��t����t�jk�rd}t��|��nt����t�jk�rd }t��|��nd!}t�|��t j�|�j d �d"��W�dS��t�yL�} �zt j�|�j d �d#t| ��d$��W�Y�d�} ~ dS�d�} ~ ww�)%Nzyum remove postfix* dovecot* -yTz#apt-get -y remove postfix* dovecot*zapt-get purge dovecot* -yzMapt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 18A348AEED409DA1z$/etc/apt/sources.list.d/dovecot.listry���zRdeb [arch=amd64] https://repo.dovecot.org/ce-2.3-latest/ubuntu/bionic bionic main z apt updaterZ��zRe-installing postfix..,10zjyum --nogpg install https://mirror.ghettoforge.org/distributions/gf/gf-release-latest.gf.el7.noarch.rpm -yzWyum install --enablerepo=gf-plus -y postfix3 postfix3-ldap postfix3-mysql postfix3-pcre�-r���r4����al�Z���zjdnf --nogpg install -y https://mirror.ghettoforge.org/distributions/gf/gf-release-latest.gf.el9.noarch.rpmzjdnf --nogpg install -y https://mirror.ghettoforge.org/distributions/gf/gf-release-latest.gf.el8.noarch.rpmz;dnf install --enablerepo=gf-plus postfix3 postfix3-mysql -yz apt-get install -y debconf-utilszpf.unattend.textr ���z postfix postfix/mailname string rz���z8postfix postfix/main_mailer_type string "Internet Site" zdebconf-set-selections z(apt-get -y install postfix postfix-mysqlzRe-installing Dovecot..,15z=yum --enablerepo=gf-plus -y install dovecot23 dovecot23-mysqlz=dnf install --enablerepo=gf-plus dovecot23 dovecot23-mysql -yz[DEBIAN_FRONTEND=noninteractive apt-get -y install dovecot-mysql dovecot-imapd dovecot-pop3dzPostfix/dovecot reinstalled.,40z!%s [install_postfix_dovecot][404]� ���)r���r���r����r����r5���r����r����r'���r����r)���r���r���r^��rM��rh��r�����int�socketr(���r����getfqdnr!����systemr���) rO��r0���r����clAPVersion�type�versionrn��� file_name�pfr���r���r���r����install_postfix_dovecot���s���� �����z.MailServerManagerUtils.install_postfix_dovecotc����������� ��� ���C���s����zGd}d}d}d}d}t�|d����}t�|d�}d|�d �} |D�]} | �d �dkr/|�| ��q |�| ��q |����t�|d����}t�|d�}d|�d �} |D�]} | �d�dkr\|�| ��qM|�| ��qM|����t�|d����}t�|d�}d|�d �} |D�]} | �d�dkr�|�| ��qz|�| ��qz|����t�|d����}t�|d�}d|�d �} |D�]} | �d�dkr�|�| ��q�|�| ��q�|����t�|d����}t�|d�}d|�d �} |D�]} | �d�dkr�|�| ��q�|�| ��q�|����|�jdk�rFd|�j|f�}t�|��d|�j |f�}t�|��d|�j|�j |f�}t�|��d|�j|�j |f�}t�|��d|�j|�j |f�}t�|��d|�j|�j |f�}t�|��W�dS�W�dS��t �yk�}�ztj� |�jd�dt|��d��W�Y�d�}~dS�d�}~ww�)N�E/usr/local/CyberCP/install/email-configs-one/mysql-virtual_domains.cf�I/usr/local/CyberCP/install/email-configs-one/mysql-virtual_forwardings.cf�G/usr/local/CyberCP/install/email-configs-one/mysql-virtual_mailboxes.cf�I/usr/local/CyberCP/install/email-configs-one/mysql-virtual_email2email.cf�A/usr/local/CyberCP/install/email-configs-one/dovecot-sql.conf.extr2���r ���zDconnect = host=localhost dbname=cyberpanel user=cyberpanel password=z port=3306 �connectr3���zpassword = rz���rJ����ONz&sed -i 's|host=localhost|host=%s|g' %sz!sed -i 's|port=3306|port=%s|g' %szsed -i 's|localhost|%s:%s|g' %srZ��z%s [setup_email_Passwords][404]rl��r���r4���)r'���r6���r7���r����r)����remotemysql� mysqlhostr���r5���� mysqlportr���r���r���r^��rM��r���) rO��� mysqlPassword�mysql_virtual_domains�mysql_virtual_forwardings�mysql_virtual_mailboxes�mysql_virtual_email2email�dovecotmysqlr����r�����dataWrittenr����r0���r���r���r���r����setup_email_PasswordsS��s���� � � ������z,MailServerManagerUtils.setup_email_Passwordsc�������������� ���C���s����zBt�|d�}|���}|����t�|d�}|}|}|D�]"}|�|�} | dkr6|d�| ��|�|| t|��d����}|�|��q|����W�d�S��tyd�} �ztj� |�j d�dt| ��d��W�Y�d�} ~ d�S�d�} ~ ww�)Nr2���r ���r3���rZ��z"%s [centos_lib_dir_to_ubuntu][404]rl��)r'���r6���r)���r7����lenr(���r���r���r���r^��rM��r���)rO���filename�old�new�fdr;���� centos_prefix� ubuntu_prefixr�����indexr���r���r���r����centos_lib_dir_to_ubuntu���s&��� $���z/MailServerManagerUtils.centos_lib_dir_to_ubuntuc�������������� ���C���s ���z�d}d}d}d}d}d}d}d}t�j�|�rt��|��t�j�|�r(t��|��t�j�|�r3t��|��t�j�|�r>t��|��t�j�|�rIt��|��t�j�|�rTt��|��t�j�|�r_t��|��t�j�|�rjt��|��d } t�| ��d } t�| ��t���tjks�t���tjkr�|�� ddd ��|�� ddd��dd�l } | �dd��| �dd��| �dd��| �dd��| �d|��| �d|��| �d|��| �d|��d} t�| ��d} t�| ��d} t�| ��d} t�| ��d|�} t�| ��d|�} t�| ��d} t�| ��d} t�| ��d} t�| ��d } t�| ��d!|�} t�| ��d!|�} t�| ��d"} t�| ��d#} t�| ��d$} t�| ��d%} t�| ��d&} t�| ��d'} t�| ��d(} t�| ��d)} t�| ��d*} t�| ��d+|�} t�| ��t���tjk�s|t���tjk�r�d,} t�| ��d-} t�| ��d.} t�| ��d/} t�| ��t���tjk�r�d}t|d0�� ��}t|d1�} |D�]}|�d2�d3k�r�| �|��| �d4���q�| �|���q�| ����d5} t�| ��t���tjk�r�d6} t�| ��W�d:S�W�d:S��t�y�}�ztj�|�jd7�d8t|��d9��W�Y�d�}~dS�d�}~ww�);Nz%/etc/postfix/mysql-virtual_domains.cfz)/etc/postfix/mysql-virtual_forwardings.cfz'/etc/postfix/mysql-virtual_mailboxes.cfz)/etc/postfix/mysql-virtual_email2email.cfr����r���/etc/dovecot/dovecot.confz!/etc/dovecot/dovecot-sql.conf.extz�openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -subj "/C=US/ST=Denial/L=Springfield/O=Dis/CN=www.example.com" -keyout /etc/postfix/key.pem -out /etc/postfix/cert.pemz�openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -subj "/C=US/ST=Denial/L=Springfield/O=Dis/CN=www.example.com" -keyout /etc/dovecot/key.pem -out /etc/dovecot/cert.pemz6/usr/local/CyberCP/install/email-configs-one/master.cfz /usr/libexec/z /usr/lib/z4/usr/local/CyberCP/install/email-configs-one/main.cfz/usr/libexec/postfixz/usr/lib/postfix/sbinr���rw��rx��ry��rz��z9/usr/local/CyberCP/install/email-configs-one/dovecot.confr{��z.chmod o= /etc/postfix/mysql-virtual_domains.cfz2chmod o= /etc/postfix/mysql-virtual_forwardings.cfz0chmod o= /etc/postfix/mysql-virtual_mailboxes.cfz2chmod o= /etc/postfix/mysql-virtual_email2email.cfz chmod o= z3chgrp postfix /etc/postfix/mysql-virtual_domains.cfz7chgrp postfix /etc/postfix/mysql-virtual_forwardings.cfz5chgrp postfix /etc/postfix/mysql-virtual_mailboxes.cfz7chgrp postfix /etc/postfix/mysql-virtual_email2email.cfzchgrp postfix zgroupadd -g 5000 vmailz0useradd -g vmail -u 5000 vmail -d /home/vmail -mz systemctl enable postfix.servicezsystemctl start postfix.servicez/chgrp dovecot /etc/dovecot/dovecot-sql.conf.extz*chmod o= /etc/dovecot/dovecot-sql.conf.extz systemctl enable dovecot.servicezsystemctl start dovecot.servicez"systemctl restart postfix.servicez chmod 755 z"mkdir -p /etc/pki/dovecot/private/z mkdir -p /etc/pki/dovecot/certs/�mkdir -p /etc/opendkim/keys/z^sed -i 's/auth_mechanisms = plain/#auth_mechanisms = plain/g' /etc/dovecot/conf.d/10-auth.confr2���r ���zssl_key = <key.pemr3���z$ssl_dh = </usr/share/dovecot/dh.pem r����zrsed -i 's|daemon_directory = /usr/libexec/postfix|daemon_directory = /usr/lib/postfix/sbin|g' /etc/postfix/main.cfrZ��z&%s [setup_postfix_dovecot_config][404]rl��r4���)r!���r"���r#���r����r���r5���r���r����r����r���r%���r&���r'���r6���r7���r����r)���r���r���r���r^��rM��r���)rO��r���r���r���r����mainrX����dovecotr���r0���r%����dovecotConfr����r���r����r���r���r���r����setup_postfix_dovecot_config���s�� ������ ������z3MailServerManagerUtils.setup_postfix_dovecot_configc�����������������C���s���d}t��|��d}t��|��d}t��|��d}t��|��d}t��|��d}t��|��d}t��|��d}t��|��d }t��|��d }t��|��d}t��|��d}t��|��d }t��|��d}t��|��d}t��|��d}t��|��g�d�}|D�]}d|�}t��|��qvg�d�}|D�]}d|�}t��|��q�d}tj|dd��d}tj|dd��d}tj|dd��d}tj|dd��d}tj|dd��d}tj|dd��g�d�}|D�]}zdd�l}|�|��W�q����Y�q�d}tj|dd��d }t��|��d!}t��|��g�d"�}|D�]}d#|�}t��|���q�d$}t��|��d%}t��|��d&}t��|��t����t�jk�s.t�j�r<d'}t��|��d(}t��|��d)}t��|��d�S�)*Nz6find /usr/local/CyberCP -type d -exec chmod 0755 {} \;z6find /usr/local/CyberCP -type f -exec chmod 0644 {} \;z#chmod -R 755 /usr/local/CyberCP/binz%chown -R root:root /usr/local/CyberCPz3find /usr/local/lscp -type d -exec chmod 0755 {} \;z3find /usr/local/lscp -type f -exec chmod 0644 {} \;z chmod -R 755 /usr/local/lscp/binz%chmod -R 755 /usr/local/lscp/fcgi-binz=chown -R lscpd:lscpd /usr/local/CyberCP/public/phpmyadmin/tmpz"chown -R root:root /usr/local/lscpz=chown -R lscpd:lscpd /usr/local/lscp/cyberpanel/rainloop/dataz.chmod 700 /usr/local/CyberCP/cli/cyberPanel.pyz8chmod 700 /usr/local/CyberCP/plogical/upgradeCritical.pyz:chmod 755 /usr/local/CyberCP/postfixSenderPolicy/client.pyz0chmod 640 /usr/local/CyberCP/CyberCP/settings.pyz<chown root:cyberpanel /usr/local/CyberCP/CyberCP/settings.py)z/etc/yum.repos.d/MariaDB.repo�/etc/pdns/pdns.confz!/etc/systemd/system/lscpd.service�/etc/pure-ftpd/pure-ftpd.conf�"/etc/pure-ftpd/pureftpd-pgsql.conf�"/etc/pure-ftpd/pureftpd-mysql.conf�!/etc/pure-ftpd/pureftpd-ldap.confr���z%/usr/local/lsws/conf/httpd_config.xmlz /usr/local/lsws/conf/modsec.confz/usr/local/lsws/conf/httpd.confzchmod 644 %s)r���r���r���r���r���r���z/etc/pure-ftpd/db/mysql.confz/etc/powerdns/pdns.confzchmod 600 %szchmod 640 /etc/postfix/*.cfT)r����zchmod 644 /etc/postfix/main.cfzchmod 640 /etc/dovecot/*.confz#chmod 644 /etc/dovecot/dovecot.confz+chmod 640 /etc/dovecot/dovecot-sql.conf.extz%chmod 644 /etc/postfix/dynamicmaps.cf)z/usr/local/lsws/FileManager/z&/usr/local/CyberCP/install/FileManagerz5/usr/local/CyberCP/serverStatus/litespeed/FileManagerz(/usr/local/lsws/Example/html/FileManagerr���zchmod 755 /etc/pure-ftpd/z-chmod +x /usr/local/CyberCP/plogical/renew.pyz3chmod +x /usr/local/CyberCP/CLManager/CLPackages.py)z)/usr/local/CyberCP/CLScript/panel_info.pyz1/usr/local/CyberCP/CLScript/CloudLinuxPackages.pyz./usr/local/CyberCP/CLScript/CloudLinuxUsers.pyz0/usr/local/CyberCP/CLScript/CloudLinuxDomains.pyz2/usr/local/CyberCP/CLScript/CloudLinuxResellers.pyz//usr/local/CyberCP/CLScript/CloudLinuxAdmins.pyz+/usr/local/CyberCP/CLScript/CloudLinuxDB.pyz'/usr/local/CyberCP/CLScript/UserInfo.pyzchmod +x %sz2chmod 600 /usr/local/CyberCP/plogical/adminPass.pyz/chmod 600 /etc/cagefs/exclude/cyberpanelexcludez.find /usr/local/CyberCP/ -name '*.pyc' -deletez#chown root:pdns /etc/pdns/pdns.confzchmod 640 /etc/pdns/pdns.confz4chmod 640 /usr/local/lscp/cyberpanel/logs/access.log) r���r5���r����r����r%����rmtreer���r����r����)rO��r0����filesr�����impFile�fileMr%���� clScriptsr���r���r����fixCyberPanelPermissions���s���� z/MailServerManagerUtils.fixCyberPanelPermissionsc�������������� ���C���s��zjt�j�|�jd�d��t���tjkrd}t�|��d}nt���tj kr-d}t�|��d}n d}t�|��d}t�|��t���tj krId}t� |��t���tjksWt���tjkrhd }t� |��d }t� |��W�dS�W�dS��t y��}�zt�j�|�jd�dt|��d��W�Y�d�}~d S�d�}~ww�)NrZ��zInstalling opendkim..,40zyum -y erase opendkim*zyum -y install opendkimzdnf install opendkim -yzapt-get -y purge opendkimz:DEBIAN_FRONTEND=noninteractive apt-get -y install opendkim�dnf install opendkim-tools -yzapt install opendkim-tools -yr���z%s [installOpenDKIM][404]rl��r���r4���)r���r���r^��rM��r���r���r����r!���rp��r����r5���r����r����r���r���)rO��r0���r���r���r���r����installOpenDKIMNewd ��sD���� � ����z)MailServerManagerUtils.installOpenDKIMNewc�����������������C���s`���ddl�m}�tj���D�]}t�|j��|�|j��qt j���D�]}t�|j��|�|j��qd�S�)Nr���)�DNS) �plogical.dnsUtilitiesr���r���rO���rV���r���r����r+����createDKIMRecordsr ���)rO��r���re���r���r���r����SetupDKIMFromResetMail� ��s����z-MailServerManagerUtils.SetupDKIMFromResetMailc�������������� ���C���s���z�d}zCt��t�d|���}|d�|�_|d�|�_|d�|�_|d�|�_d|�_|�j� d�d kr1d |�_ d}t|�}|���}|� dd �d �}||�_W�n&�tym�}�zd|�_tj�tj�rctj�dt|����W�Y�d�}~nd�}~ww�|�����tj�|�jd�d��|����d kr�W�d S�tj�|�jd�d��d d�l}|j�d��tj�dd��d dl m!} �|��"| j#d�d��d kr�W�d S�tj�|�jd�d��|��$��d kr�tj�|�jd�d��W�d S�tj�|�jd�d��|��%��d kr�tj�|�jd�d��W�d S�|��&��d k�rtj�|�jd�d��W�d S�|��'���|�j(�r%tj�|�jd�d��d dl)m*} �| �+|�j,d |�j,���d }d d!l-m.}�d dl)m*} �t/j0�1��D�]R} z#|j0j2d"| j3�d#�}tj�|�jd�d$| j3���| �4d d%| j3| j5��W�n���Y�|�j(d k�r�|d k�r�tj�|�jd�d&��d dl)m*} �| �+| j3d | j3���d }�q8tj�|�jd�d'��|��6���d(}t�7|��d)}t�7|��d*}tj�|��r�t|d+����}nd,}t8|�d-k��r�t|d.�}|�9d/��|�:���d0}t�7|��d1}t�7|��tj�|�jd�d2��W�d�S��t�y�}�ztj�|�jd�d3t|����W�Y�d�}~d�S�d�}~ww�)4Nz/etc/cyberpanel/mysqlPasswordrP��� mysqluser� mysqlpasswordr���r��r}��z rds.amazonr3���r4���rQ��rz���r����OFFz%s. [setupConnection:75]rZ��z.Removing and re-installing postfix/dovecot..,5zResetting configurations..,40r���r���r���)�settings�default�PASSWORDzConfigurations reset..,70z+setup_postfix_dovecot_config failed. [404].z&Restoring OpenDKIM configurations..,70zInstall OpenDKIM failed. [404].z configureOpenDKIM failed. [404].z&Setting up Mail Server SSL if any..,75)�virtualHostUtilitiesz/home/%s/public_html)r ����mail.%srA���z Creating mail domain for %s..,80z /dev/nullz8Setting up Mail Server SSL as no hostname SSL found..,80zFixing permissions..,90z�/usr/local/CyberCP/bin/python /usr/local/CyberCP/dns/dnsManager.py ResetDNSConfigurations --tempStatusPath /home/cyberpanel/dnscheckztouch /home/cyberpanel/postfixz/etc/resolv.confr2���������r ���znameserver 8.8.8.8 r{���r����r\��zFailed. Error %s [404].);r����r����r���r ��r���r���r���r��r~��r7����RDSr'���r����r����� LOCALHOSTr���r!���r"���r#���r7��r���r���r���r���rY��r^��rM��rv���sysr8���environ� setdefault�CyberCPr���r���� DATABASESr���r���r����r���rN���plogical.virtualHostUtilitiesr����issueSSLForMailServerrS���websiteFunctions.modelsr ���r���rO���rV���rQ���r+����setupAutoDiscover�adminr���r5���r���r(���r)���)rO���passFile�jsonDatarV��r����rW���ipAddressLocalr���r���r���r����MailServerSSLCheckr ����websites�childr0���� etcResolve� dataEtcResolvr���r���r���r����ResetEmailConfigurations� ��s���� ������������� ���z/MailServerManagerUtils.ResetEmailConfigurationsc����������� ��� ���C���s^��z�t����t�jkrd}t��|��d}d}t|d�}|�|��|����d}d}t|d�}|�|��|����t����t�jksHt����t�jksHt����t�jkrvt|d�� ��}t|d�}|D�]}|� d �d krl|� d�d krl|�d��qV|�|��qV|����d }t��|��d}t��|��d}t��|��W�dS��ty��}�zt j�|�jd�dt|����W�Y�d�}~dS�d�}~ww�)Nr���r����r����ry���r����r����r2���r ����Socketr3���zlocal:zSocket inet:8891@localhost r����r����r{���r4���rZ��z)configureOpenDKIM failed. Error %s [404].r���)r���r���r����r5���r'���r(���r)���r����r����r6���r7���r����r���r���r���r^��rM��r���) rO��r0���r����r����r���r����r����r����r���r���r���r���r����* ��sH��� * ���z(MailServerManagerUtils.configureOpenDKIMc����������� ������C���s����d}t�|�}|���}|�dd�d�}zdd�l}|�d|��}||kr+dd||f�fW�S�W�n ���dd||f�f�Y�S�d|�}t�|�} | �d�d krLd S�dS�)NrQ��rz���r4���r���r���zmail.%s does not point to %s.z%openssl s_client -connect mail.%s:993rR��r3���)r���zNo valid SSL on port 993.)r4���zAll checks are OK.)r'���r����r����rn��� gethostbynamer���r ��r7���) rO���websiteNamerV��r����rW��rX��rn��� siteIPAddrr0���r����r���r���r����debugEmailForSiten ��s"���� z(MailServerManagerUtils.debugEmailForSite)NNN)rB��rC��rD��rJ��rY��rc��rh��rv��r���r���r���r���r���r���r���r����r���r���r���r���r���rG�����s&���� 'b��g�-�DrG��c������������������C���sb��t�jdd�}�|�jddd��|�jddd��|�jdd d��|�jd dd��|�jdd d��|�jddd��|�jddd��|����}|jdkrLt�|j|j|j ��d�S�|jdkrYt� |j��d�S�|jdkrdt����d�S�|jdkrot����d�S�|jdkr|t� |j��d�S�|jdkr�t�|j��d�S�|jdkr�t�dd��d�S�|jdkr�t�dd��d�S�|jdkr�t�dd��d�S�|jdkr�t�dd��d�S�|jdkr�t�dd��d�S�|jd kr�t�dd ��d�S�|jd!kr�t�dd!��d�S�|jd"kr�t�dd"��d�S�|jd#kr�t�|j��d�S�|jd$k�rd%|ji}td�d$|�}|����d�S�|jd&k�r!t����d�S�|jd'k�r/t�|j��d�S�d�S�)(NzCyberPanel Installer)�descriptionrL��zSpecific a function to call!)�helpz--domainzDomain name!z --userNamezEmail Username!z --passwordzEmail password!z--tempConfigPathzTemporary Configuration Path!z --installzEnable/Disable Policy Server!z--tempStatusPathzPath of temporary status file.rm���r����r����r��r#��r&��r����r����r����r����r����r����r ��r����r����r���r��r1���r���rZ��r����rA��)�argparse�ArgumentParser�add_argument� parse_argsrL��r���rm���r+���ra���rJ���r����r����r��r#��r!��r&��r����r����r����r����r ��r����r����r���r��r1���rZ��rG��r���r����rA��)�parser�argsrM��� backgroundr���r���r���r���� ��s`��� �r����__main__))r����r!���r���r�����django.httpr���r"���r8���djangor���r����setup�os.pathr%����plogicalr���r���r����r���r�����plogical.processUtilitiesr���r[���rY���r���� threadingrH���mailServer.modelsr���r ����emailPremium.modelsr ���r���r���r���r ���r���rI��rG��r���rB��r���r���r���r����<module>���sl����������������z�������|6 �
| ver. 1.4 |
Github
|
.
| PHP 8.2.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings