3
@6^3                 @   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               @   sZ   e Zd ZdZdddZddd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_zonehzZone-H Defacement Check:Investigate,Passive:Leaks, Dumps and Breaches::Check if a hostname/domain appears on the zone-h.org 'special defacements' RSS feed.T)checkcohostscheckaffiliateszCheck co-hosted sites?zCheck affiliates?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   4/var/www/spiderfoot.crq.systems/modules/sfp_zoneh.pysetup)   s
    
zsfp_zoneh.setupc             C   s   dddddgS )NINTERNET_NAME
IP_ADDRESSAFFILIATE_INTERNET_NAMEAFFILIATE_IPADDRCO_HOSTED_SITEr   )r   r   r   r   watchedEvents6   s    zsfp_zoneh.watchedEventsc             C   s   dddddgS )NDEFACED_INTERNET_NAMEDEFACED_IPADDRDEFACED_AFFILIATE_INTERNET_NAMEDEFACED_COHOSTDEFACED_AFFILIATE_IPADDRr   )r   r   r   r   producedEvents>   s    zsfp_zoneh.producedEventsc             C   sV   t jd|}xD|D ]<}||d kr| jjd|d   |d d |d  d S qW dS )NzS<title><\!\[CDATA\[(.[^\]]*)\]\]></title>\s+<link><\!\[CDATA\[(.[^\]]*)\]\]></link>r   zFound zoneh site: z
<SFURL>   z</SFURL>F)refindallr   info)r   targetcontentgrpsmr   r   r   
lookupItemC   s    
zsfp_zoneh.lookupItemc             C   s~  |j }|j}|j}| jjd| d |  | jr4d S || jkrV| jjd| d  d S d| j|< |dkrx| jd  rxd S |dks|d	kr| jd
  rd S d}|dkrd}|dkrd}|dkrd}|d	krd}| j rd S d}| jj	dd}|d krN| jj
|| jd d}|d d kr4| jjd| d d| _d S | jjd|d  |d }| j||}	|	rzt||	| j|}
| j|
 d S )NzReceived event, z, from z	Skipping z, already checked.Tr   r   r   r   r   r   r   r   r   r   r    z-https://www.zone-h.org/rss/specialdefacementsZsfzoneh0   
_useragent)	useragentr'   zUnable to fetch F)	eventTypemoduledatar   debugr   r
   r   checkForStopcacheGetfetchUrlerrorcachePutr*   r   __name__notifyListeners)r   event	eventNamesrcModuleName	eventDataevtTypeurlr'   r0   retevtr   r   r   handleEventM   sP    


zsfp_zoneh.handleEvent)r7   
__module____qualname____doc__r   optdescsr
   r   dictr   r   r!   r*   rA   r   r   r   r   r      s   
r   )r#   sflibr   r   r   r   r   r   r   r   <module>   s   