3
@6^%                 @   s8   d dl Z d dlZd dlmZmZmZ G dd deZdS )    N)
SpiderFootSpiderFootPluginSpiderFootEventc               @   sN   e Zd ZdZi Zi ZdZdZe fddZ	dd Z
dd	 Zd
d Zdd ZdS )sfp_emailrepzgEmailRep:Footprint,Investigate,Passive:Search Engines::Search EmailRep.io for email address reputation.NFc             C   s>   || _ | j | _d| _x"t|j D ]}|| | j|< q$W d S )NF)sftempStorageresults
errorStatelistkeysopts)selfsfcuserOptsopt r   7/var/www/spiderfoot.crq.systems/modules/sfp_emailrep.pysetup   s
    
zsfp_emailrep.setupc             C   s   dgS )N	EMAILADDRr   )r   r   r   r   watchedEvents%   s    zsfp_emailrep.watchedEventsc             C   s
   dddgS )NRAW_RIR_DATAEMAILADDR_COMPROMISEDMALICIOUS_EMAILADDRr   )r   r   r   r   producedEvents(   s    zsfp_emailrep.producedEventsc             C   s   | j jd| d| jd d}tjd |d d kr6d S |d dkrZ| j jd	d
 d| _d S |d dkr~| j jdd
 d| _d S |d dkr| j jd|d  d
 d| _d S ytj|d }W n4 t	k
r } z| j j
dt|  d S d }~X nX |S )Nzhttps://emailrep.io/Zcurl_fetchtimeout)	useragenttimeout   contentcode400zAPI error: Bad requestFT429zAPI error: Too Many Requests200z#Unexpected reply from EmailRep.io: z Error processing JSON response: )r   fetchUrlr   timesleeperrorr	   jsonloadsBaseExceptiondebugstr)r   qryresdataer   r   r   query,   s0    
zsfp_emailrep.queryc       
      C   s   |j }|j}|j}|| jkr d S d| j|< | jjd| d |  | j|}|d krXd S tdt|| j	|}| j
| |jd}|sd S |jd}|rtd|d | j	|}| j
| |jd	}	|	rtd
d| d | j	|}| j
| d S )NTzReceived event, z, from r   detailscredentials_leakedr   z
 [Unknown]malicious_activityr   z
EmailRep [])	eventTypemoduler.   r   r   r*   r0   r   r+   __name__notifyListenersget)
r   event	eventNamesrcModuleName	eventDatar-   evtr1   r2   r3   r   r   r   handleEventN   s.    







zsfp_emailrep.handleEvent)r7   
__module____qualname____doc__r   optdescsr   r	   dictr   r   r   r0   r?   r   r   r   r   r      s   "r   )r'   r$   sflibr   r   r   r   r   r   r   r   <module>   s   