
    g#9g`                     D   d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlmZm	Z	m
Z
mZ  ee          Zg dZd eD             adZdZdZd	Zd
ZdZdZdZdZdZdZd Zd Zd Zd Ze                    d          d             Z e                    d          d             Z!dS )    N)MIMEText)Flaskrender_templateResponsestream_with_context)looplbdllbdc                     i | ]}|d S )r    ).0keywords     /var/www/html/syslog/app.py
<dictcomp>r      s    333w333    
   zsyslog.starnet.cziU  bosmanz/home/st31200/id_rsa_natzbosman@mbos.czzmail.mbos.cz   unmszUnmS102030!c                 h      fd}t          j        |                                           d S )Nc                  <   	 d} d d d }t          |d          }| |d<   t          |d<   t          |d	<   t          j        t
          t                    5 }|                                 |                    t          t                     |                    t          t          |                                           d d d            n# 1 swxY w Y   t          d
t           d|             d S # t          $ r}t          d|            Y d }~d S d }~ww xY w)Nu   PRAVDĚPODOBNĚ SMYČKA!!!u+   PRAVDĚPODOBNĚ SMYČKA, klíčové slovo 'u   ' bylo zaznamenáno u    krát v syslogu.

Detail:
utf-8)_charsetSubjectFromTou   E-mail odeslán na z: u!   Chyba při odesílání e-mailu: )r   email_senderemail_recipientsmtplibSMTPsmtp_server	smtp_portstarttlslogin	smtp_usersmtp_passwordsendmail	as_stringprint	Exception)subjectbodymsgserverecountr   log_lines        r   
send_emailz(send_email_in_thread.<locals>.send_email!   s   	;3G'g ' '[` ' '$' '  4'222C$C	N&CK'CIk955 P!!!Y666os}}OOOP P P P P P P P P P P P P P P DDD7DDEEEEE 	; 	; 	;9a99:::::::::	;s=   AC4 A(CC4 CC4 CC4 4
D>DD)target)	threadingThreadstart)r   r0   r1   r2   s   ``` r   send_email_in_threadr7       sP    ; ; ; ; ; ; ;( J'''--/////r   c                 j    t          j        d|           }d                    d |D                       S )NNFKD c                 :    g | ]}t          j        |          |S r   )unicodedata	combining)r   cs     r   
<listcomp>z%remove_diacritics.<locals>.<listcomp>:   s(    III!0Ea0H0HIAIIIr   )r<   	normalizejoin)text	nfkd_forms     r   remove_diacriticsrD   8   s5    %fd33I77IIyIIIJJJr   c                    t          d|             t          |           } t          D ]}t          j        || t          j                  ryt          d| d|             t          |xx         dz  cc<   t          |         t          k    r9t          d| d           t          |t          |         |            dt          |<   d S )NzAnalyzing line: z	Keyword 'z' found in line:    zThreshold reached for keyword: z. Sending email...r   )	r)   rD   keywordsresearch
IGNORECASEevent_counts	thresholdr7   )liner   s     r   analyze_eventrN   =   s    	
#T
#
#$$$T""D * *9WdBM22 	*>g>>>>???!!!Q&!!!G$	11SSSSTTT$Wl7.CTJJJ()W%* *r   c               #   >  K   t          j                    } |                     t          j                               	 |                     t
          t          t          t                     d}| 	                    |          \  }}}t          |j        d          D ]!}	 t          |t                    r|                    dd          n|                                                                nN# t           $ rA}t#          dt%          |           d|            d	t%          |           d
V  Y d }~d }~ww xY w	 t'          fdt(          D                       rt+                     d d
V  # t           $ r5}t#          d d|            dt%                     d
V  Y d }~d }~ww xY wn1# t           $ r$}t#          d|            d| d
V  Y d }~nd }~ww xY w|                                  d S # |                                  w xY w)N)hostnameportusernamekey_filenamezsudo tail -f /var/log/syslogr:   r   replace)errorsu"   Chyba při dekódování řádku: z -> u   data: Chybný řádek: z

c              3   X   K   | ]$}t          j        |t           j                  V  %d S )N)rH   rI   rJ   )r   r   rM   s     r   	<genexpr>z stream_syslog.<locals>.<genexpr>f   s3      WW7ry$>>WWWWWWr   zdata: u/   Chyba při analýze nebo zpracování řádku: u   data: Chybný obsah: u   Chyba při připojení: u   data: Chyba při připojení: )paramiko	SSHClientset_missing_host_key_policyAutoAddPolicyconnectssh_hostssh_portssh_userssh_key_fileexec_commanditerreadline
isinstancebytesdecodestripr*   r)   repranyrG   rN   close)clientcommandstdinstdoutstderrraw_liner/   rM   s          @r   stream_syslogrq   M   s     !!F
&&x'='?'?@@@"x(Yefff0 & 3 3G < <vvV_b11 	? 	?Hh.. ,#??79?EEDD#>>++Dzz||   R4>>RRqRRSSSDXDDDDDD	?WWWWhWWWWW .!$'''-4------ ? ? ?UUURSUUVVV>d4jj>>>>>>>>>>>?)	?0  7 7 7,,,---6q666666666667
 	s   A F? AC54F? 5
E ?7D;6F? ;E  F? 7E<;F? <
F;*F60F? 6F;;F? >H ?
G-	G(#H (G--H H/c                       t          d          S )Nz
index.html)r   r   r   r   indexrt   v   s    <(((r   z/streamc                  V    t          t          t                                d          S )Nztext/event-stream)content_type)r   r   rq   r   r   r   streamrw   {   s#    '88GZ[[[[r   )"rX   rH   r   r4   r<   email.mime.textr   flaskr   r   r   r   __name__apprG   rK   rL   r]   r^   r_   r`   r   r   r!   r"   r%   r&   r7   rD   rN   rq   routert   rw   r   r   r   <module>r}      st    				          $ $ $ $ $ $ G G G G G G G G G G G G eHoo #""33(333	 )  "		0 0 00K K K
* * * % % %R 3) ) ) 9\ \ \ \ \r   