3
@6^C                 @   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               @   sB   e Zd ZdZi Zi ZdZe fddZdd Z	dd Z
d	d
 ZdS )sfp_webanalyticszWeb Analytics:Footprint,Investigate,Passive:Content Analysis::Identify web analytics IDs in scraped webpages and DNS TXT records.Nc             C   s8   || _ | j | _x"t|j D ]}|| | j|< qW d S )N)sftempStorageresultslistkeysopts)selfsfcuserOptsopt r   ;/var/www/spiderfoot.crq.systems/modules/sfp_webanalytics.pysetup   s    
zsfp_webanalytics.setupc             C   s   ddgS )NTARGET_WEB_CONTENTDNS_TEXTr   )r   r   r   r   watchedEvents"   s    zsfp_webanalytics.watchedEventsc             C   s   dgS )NWEB_ANALYTICS_IDr   )r   r   r   r   producedEvents&   s    zsfp_webanalytics.producedEventsc       	      C   s	  |j }|j}|j}| jj|}|| jkr@| jjd| d  d S d| j|< | jjd| d |  |dkrtjd|tj	}xj|D ]b}|j
 jdrq|j
 jd	rq|j
 jd
rq| jjd|  tdd| | j|}| j| qW tjd|tj	}xL|D ]D}|j
 jdrq| jjd|  tdd| | j|}| j| qW tjd|tj	}x<|D ]4}| jjd|  tdd| | j|}| j| q\W tjd|tj	}x<|D ]4}| jjd|  tdd| | j|}| j| qW d|kr:tjd|tj	}x<|D ]4}| jjd|  tdd| | j|}| j| qW tjd|tj	}x<|D ]4}| jjd|  tdd| | j|}| j| qPW |dk	rtjd|j tj	}x,|D ]$}tdd| | j|}| j| qW tjd|j tj	}x,|D ]$}tdd | | j|}| j| qW tjd!|j tj	}x,|D ]$}tdd | | j|}| j| q0W tjd"|j tj	}x,|D ]$}tdd#| | j|}| j| qrW tjd$|j tj	}x,|D ]$}tdd%| | j|}| j| qW tjd&|j tj	}x,|D ]$}tdd'| | j|}| j| qW tjd(|j tj	}x,|D ]$}tdd)| | j|}| j| q8W tjd*|j tj	}x,|D ]$}tdd)| | j|}| j| qzW tjd+|j tj	}x,|D ]$}tdd,| | j|}| j| qW tjd-|j tj	}x,|D ]$}tdd.| | j|}| j| qW tjd/|j tj	}x,|D ]$}tdd0| | j|}| j| q@W tjd1|j tj	}x,|D ]$}tdd2| | j|}| j| qW tjd3|j tj	}x,|D ]$}tdd4| | j|}| j| qW tjd5|j tj	}x,|D ]$}tdd6| | j|}| j| qW tjd7|j tj	}x,|D ]$}tdd8| | j|}| j| qHW tjd9|j tj	}x,|D ]$}tdd:| | j|}| j| qW tjd;|j tj	}x,|D ]$}tdd<| | j|}| j| qW tjd=|j tj	}x,|D ]$}tdd| | j|}| j| qW tjd>|j tj	}x,|D ]$}tdd?| | j|}| j| qPW tjd@|j tj	}x,|D ]$}tddA| | j|}| j| qW tjdB|j tj	}x,|D ]$}tddC| | j|}| j| qW tjdD|j tj	}x,|D ]$}tddE| | j|}| j| qW tjdF|j tj	}x,|D ]$}tddG| | j|}| j| qXW tjdH|j tj	}x,|D ]$}tddI| | j|}| j| qW tjdJ|j tj	}x,|D ]$}tddK| | j|}| j| qW d S )LNz	Skipping z as already mapped.TzReceived event, z, from r   z\bua\-\d{4,10}\-\d{1,4}\bz
ua-000000-z
ua-123456-zua-12345678zGoogle Analytics match: r   zGoogle Analytics: z\b(pub-\d{10,20})\bzpub-12345678zGoogle AdSense match: zGoogle AdSense: zG<meta name="google-site-verification" content="([a-z0-9\-\+_=]{43,44})"z Google Site Verification match: zGoogle Site Verification: z8<meta name="verify-v1" content="([a-z0-9\-\+_=]{43,44})"z_qevents.pushz\bqacct:\"(p-[a-z0-9]+)\"zQuantcast match: zQuantcast: z><meta name="ahrefs-site-verification" content="([a-f0-9]{64})"z Ahrefs Site Verification match: zAhrefs Site Verification: r   z1google-site-verification=([a-z0-9\-\+_=]{43,44})$z+logmein-domain-confirmation ([A-Z0-9]{24})$zLogMeIn Domain Verification: zYlogmein-verification-code=([a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})$zHdocusign=([a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})$zDocuSign Domain Verification: z7globalsign-domain-verification=([a-z0-9\-\+_=]{42,44})$zGlobalSign Site Verification: z5atlassian-domain-verification=([a-z0-9\-\+\/_=]{64})$zAtlassian Domain Verification: z[adobe-idp-site-verification=([a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})$zAdobe IDP Site Verification: z+adobe-idp-site-verification=([a-f0-9]{64})$z'adobe-sign-verification=([a-f0-9]{32})$zAdobe Domain Verification: z#stripe-verification=([a-f0-9]{64})$zStripe Domain Verification: z+teamviewer-sso-verification=([a-f0-9]{32})$zTeamViewer SSO Verification: zXaliyun-site-verification=([a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})$zAliyun Site Verification: z,facebook-domain-verification=([a-z0-9]{30})$zFacebook Domain Verification: zXcitrix-verification-code=([a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})$zCitrix Domain Verification: z+dropbox-domain-verification=([a-z0-9]{12})$zDropbox Domain Verification: z&detectify-verification=([a-f0-9]{32})$zDetectify Domain Verification: z"drift-verification=([a-f0-9]{64})$zDrift Domain Verification: z(ahrefs-site-verification_([a-f0-9]{64})$z/status-page-domain-verification=([a-z0-9]{12})$z Statuspage Domain Verification: z#ZOOM_verify_([a-z0-9\-\+\/_=]{22})$zZoom.us Domain Verification: z$mailru-verification: ([a-z0-9]{16})$zMail.ru Domain Verification: z$yandex-verification: ([a-z0-9]{16})$zYandex Domain Verification: z&brave-ledger-verification=([a-z0-9]+)$zBrave Ledger Verification: z+have-i-been-pwned-verification=([a-f0-9]+)$z have-i-been-pwned Verification: z)cisco-ci-domain-verification=([a-f0-9]+)$z Cisco Live Domain Verification: )	eventTypemoduledatar   
hashstringr   debugrefindall
IGNORECASElower
startswithr   __name__notifyListenersstrip)	r   event	eventNamesrcModuleName	eventData
sourceDatamatchesmevtr   r   r   handleEvent*   s   


































































zsfp_webanalytics.handleEvent)r"   
__module____qualname____doc__r   optdescsr   dictr   r   r   r-   r   r   r   r   r      s   r   )r   sflibr   r   r   r   r   r   r   r   <module>   s   