U
    @6^                     @   s(   d dl mZmZmZ G dd deZdS )    )
SpiderFootSpiderFootPluginSpiderFootEventc                   @   sN   e Zd ZdZddiZddiZdZdZe fddZ	d	d
 Z
dd Zdd ZdS )sfp_botscoutz}BotScout:Passive,Investigate:Reputation Systems:apikey:Searches botscout.com's database of spam-bot IPs and e-mail addresses.api_key zNBotscout.com API key. Without this you will be limited to 50 look-ups per day.NFc                 C   s4   || _ |  | _t| D ]}|| | j|< qd S )N)sftempStorageresultslistkeysopts)selfsfcuserOptsopt r   7/var/www/spiderfoot.crq.systems/modules/sfp_botscout.pysetup   s    
zsfp_botscout.setupc                 C   s   ddgS )N
IP_ADDRESS	EMAILADDRr   r   r   r   r   watchedEvents&   s    zsfp_botscout.watchedEventsc                 C   s   ddgS )NMALICIOUS_IPADDRMALICIOUS_EMAILADDRr   r   r   r   r   producedEvents,   s    zsfp_botscout.producedEventsc           	      C   sb  |j }|j}|j}| jrd S | jd| d |  | jd dkrZ| jdd d| _d S || jkr|| jd| d	  d S d| j|< | jd rd
| jd  d }nd}| jj	|| | jd | jd d}|d d ksd|d kr| jd| d d S |d 
dr^| jd| d |d   |dkr4d}nd}t|d| d | j|}| | d S d S )NzReceived event, z, from r   r   z4You enabled sfp_botscout but did not set an API key!FTz	Skipping z as already searched.zhttp://botscout.com/test/?key=z&all=zhttp://botscout.com/test/?all=_fetchtimeout
_useragent)timeout	useragentcontent|zError encountered processing zY|zFound Botscout entry for z: r   r   r   z
Botscout [])	eventTypemoduledata
errorStater   debugr   errorr
   fetchUrl
startswithinfor   __name__notifyListeners)	r   event	eventNamesrcModuleName	eventDataurlrestevtr   r   r   handleEvent0   s@    




zsfp_botscout.handleEvent)r,   
__module____qualname____doc__r   optdescsr
   r&   dictr   r   r   r6   r   r   r   r   r      s     r   N)sflibr   r   r   r   r   r   r   r   <module>   s   