U
    @6^~                     @   s0   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                   @   s>   e Zd ZdZi Zi Ze fddZdd Zdd Z	dd	 Z
d
S )	sfp_emailzfE-Mail:Footprint,Investigate,Passive:Content Analysis::Identify e-mail addresses in any obtained data.c                 C   s&   || _ | D ]}|| | j|< qd S )N)sfkeysopts)selfsfcuserOptsopt r   4/var/www/spiderfoot.crq.systems/modules/sfp_email.pysetup   s    zsfp_email.setupc                 C   s&   ddddddddd	d
dddddddgS )NTARGET_WEB_CONTENTZBASE64_DATAAFFILIATE_DOMAIN_WHOISCO_HOSTED_SITE_DOMAIN_WHOISZDOMAN_WHOISNETBLOCK_WHOISLEAKSITE_CONTENTRAW_DNS_RECORDSRAW_FILE_META_DATARAW_RIR_DATASEARCH_ENGINE_WEB_CONTENTSIMILARDOMAIN_WHOISSSL_CERTIFICATE_RAWSSL_CERTIFICATE_ISSUEDTCP_PORT_OPEN_BANNERWEBSERVER_BANNERWEBSERVER_HTTPHEADERSr   r	   r   r   r   watchedEvents$   s              zsfp_email.watchedEventsc                 C   s   ddgS )N	EMAILADDRAFFILIATE_EMAILADDRr   r   r   r   r   producedEvents/   s    zsfp_email.producedEventsc                 C   sL  |j }|j}|j}| jd| d |  | j|}t }|D ]}d}| }| dd 	d}	| j
|	| jd s| jd| d	   d S |  j|	d
d
ds|  |s| jd d}|drd}| jd|  |	d}
|
|kr
| jd q@||
 t||
| j|}|jr6|j|_nd|_| | q@d S )NzReceived event, z, from r!   @   ._internettldsz	Skipping z as not a valid e-mail.T)includeChildrenincludeParentsz-External domain, so possible affiliate e-mailr"   
AFFILIATE_zFound e-mail address: zAlready found from this source.Unknown)	eventTypemoduledatar   debugparseEmailslistlowersplitstrip	validHostr   	getTargetmatches
startswithinfoappendr   __name__moduleDataSourcenotifyListeners)r	   event	eventNamesrcModuleName	eventDataemailsmyresemailevttypemailDomZmailevtr   r   r   handleEvent3   s<    
"




zsfp_email.handleEventN)r;   
__module____qualname____doc__r   optdescsdictr   r    r#   rH   r   r   r   r   r      s   r   )resflibr   r   r   r   r   r   r   r   <module>   s   