chg: [Domain] Show last origin

pull/418/head
Terrtia 2019-11-08 09:25:09 +01:00
parent 63b3d5a5f9
commit 6b9ba9d377
No known key found for this signature in database
GPG Key ID: 1E1B1F50D84613D0
3 changed files with 39 additions and 7 deletions

View File

@ -154,6 +154,21 @@ def get_domain_last_check(domain, domain_type=None, r_format="str"):
last_check = '{}/{}/{}'.format(last_check[0:4], last_check[4:6], last_check[6:8]) last_check = '{}/{}/{}'.format(last_check[0:4], last_check[4:6], last_check[6:8])
return last_check return last_check
def get_domain_last_origin(domain, domain_type):
'''
Get domain last origin
:param domain: crawled domain
:type domain: str
:param domain_type: domain type
:type domain_type: str
:return: last orgin item_id
:rtype: str
'''
origin_item = r_serv_onion.hget('{}_metadata:{}'.format(domain_type, domain), 'paste_parent')
return origin_item
def get_domain_tags(domain): def get_domain_tags(domain):
''' '''
Retun all tags of a given domain. Retun all tags of a given domain.
@ -280,6 +295,20 @@ class Domain(object):
''' '''
return get_domain_last_check(self.domain, domain_type=self.type) return get_domain_last_check(self.domain, domain_type=self.type)
def get_domain_last_origin(self):
'''
Get domain last origin
:param domain: crawled domain
:type domain: str
:param domain_type: domain type
:type domain_type: str
:return: last orgin item_id
:rtype: str
'''
return get_domain_last_origin(self.domain, self.type)
def is_domain_up(self): # # TODO: handle multiple ports def is_domain_up(self): # # TODO: handle multiple ports
''' '''
Return True if this domain is UP Return True if this domain is UP

View File

@ -46,8 +46,8 @@ def api_validator(api_response):
# ============= ROUTES ============== # ============= ROUTES ==============
# add route : /crawlers/show_domain # add route : /crawlers/show_domain
@crawler_splash.route('/crawlers/showDomain') @crawler_splash.route('/crawlers/showDomain')
#@login_required @login_required
#@login_analyst @login_analyst
def showDomain(): def showDomain():
domain_name = request.args.get('domain') domain_name = request.args.get('domain')
epoch = request.args.get('epoch') epoch = request.args.get('epoch')
@ -63,6 +63,7 @@ def showDomain():
dict_domain['domain'] = domain_name dict_domain['domain'] = domain_name
if domain.is_domain_up(): if domain.is_domain_up():
dict_domain = {**dict_domain, **domain.get_domain_correlation()} dict_domain = {**dict_domain, **domain.get_domain_correlation()}
dict_domain['origin_item'] = domain.get_domain_last_origin()
dict_domain['tags'] = domain.get_domain_tags() dict_domain['tags'] = domain.get_domain_tags()
dict_domain['history'] = domain.get_domain_history_with_status() dict_domain['history'] = domain.get_domain_history_with_status()
dict_domain['crawler_history'] = domain.get_domain_items_crawled(items_link=True, epoch=epoch, item_screenshot=True, item_tag=True) # # TODO: handle multiple port dict_domain['crawler_history'] = domain.get_domain_items_crawled(items_link=True, epoch=epoch, item_screenshot=True, item_tag=True) # # TODO: handle multiple port

View File

@ -78,11 +78,6 @@
</tbody> </tbody>
</table> </table>
{% if origin_paste_name=='manual' or origin_paste_name=='auto' %}
<span class="badge badge-dark">{{ origin_paste_name }}</span>
{%else%}
<a class="badge badge-dark" target="_blank" href="{{ url_for('showsavedpastes.showsavedpaste', paste=origin_paste) }}" />{{ origin_paste_name }}</a>
{%endif%}
<div> <div>
{% for tag in dict_domain['tags'] %} {% for tag in dict_domain['tags'] %}
<a href="{{ url_for('Tags.Tags_page') }}?ltags={{ tag }}"> <a href="{{ url_for('Tags.Tags_page') }}?ltags={{ tag }}">
@ -96,6 +91,13 @@
</button> </button>
</div> </div>
<hr>
{% if dict_domain['origin_item']=='manual' or dict_domain['origin_item']=='auto' %}
<span class="badge badge-dark">{{ dict_domain['origin_item'] }}</span>
{%else%}
Last Origin: <a class="badge" target="_blank" href="{{ url_for('showsavedpastes.showsavedpaste', paste=dict_domain['origin_item']) }}" />{{ dict_domain['origin_item'] }}</a>
{%endif%}
</div> </div>
</div> </div>