From 6edc1ddbeb3b13c56f1131c8a296a80602dc5056 Mon Sep 17 00:00:00 2001 From: Terrtia Date: Fri, 21 Sep 2018 10:34:06 +0200 Subject: [PATCH] chg: [HiddenServices] get domain related to other domains --- bin/packages/HiddenServices.py | 35 +++++++++++++++++++ .../hiddenServices/Flask_hiddenServices.py | 12 ++++++- .../hiddenServices/templates/showDomain.html | 1 + 3 files changed, 47 insertions(+), 1 deletion(-) diff --git a/bin/packages/HiddenServices.py b/bin/packages/HiddenServices.py index ca07bfd2..d515c955 100755 --- a/bin/packages/HiddenServices.py +++ b/bin/packages/HiddenServices.py @@ -111,6 +111,41 @@ class HiddenServices(object): l_crawled_pastes.extend(self.get_all_pastes_domain(children)) return l_crawled_pastes + def get_domain_son(self, l_paste): + if l_paste is None: + return None + + set_domain = set() + for paste in l_paste: + paste_full = paste.replace(self.paste_directory+'/', '') + paste_childrens = self.r_serv_metadata.smembers('paste_children:{}'.format(paste_full)) + ## TODO: # FIXME: remove me + paste_children = self.r_serv_metadata.smembers('paste_children:{}'.format(paste)) + paste_childrens = paste_childrens | paste_children + for children in paste_childrens: + if not self.domain in children: + print(children) + set_domain.add((children.split('.onion')[0]+'.onion').split('/')[-1]) + + return set_domain + + def get_all_domain_son(self, father): + if father is None: + return [] + l_crawled_pastes = [] + paste_parent = father.replace(self.paste_directory+'/', '') + paste_childrens = self.r_serv_metadata.smembers('paste_children:{}'.format(paste_parent)) + ## TODO: # FIXME: remove me + paste_children = self.r_serv_metadata.smembers('paste_children:{}'.format(father)) + paste_childrens = paste_childrens | paste_children + for children in paste_childrens: + if not self.domain in children: + l_crawled_pastes.append(children) + #self.update_domain_tags(children) + l_crawled_pastes.extend(self.get_all_domain_son(children)) + + return l_crawled_pastes + def get_domain_random_screenshot(self, l_crawled_pastes, num_screenshot = 1): l_screenshot_paste = [] for paste in l_crawled_pastes: diff --git a/var/www/modules/hiddenServices/Flask_hiddenServices.py b/var/www/modules/hiddenServices/Flask_hiddenServices.py index 5e63374b..9613a7e5 100644 --- a/var/www/modules/hiddenServices/Flask_hiddenServices.py +++ b/var/www/modules/hiddenServices/Flask_hiddenServices.py @@ -89,7 +89,7 @@ def hiddenServices_page(): def onion_domain(): onion_domain = request.args.get('onion_domain') if onion_domain is None or not r_serv_onion.exists('onion_metadata:{}'.format(onion_domain)): - pass + return '404' # # TODO: FIXME return 404 last_check = r_serv_onion.hget('onion_metadata:{}'.format(onion_domain), 'last_check') @@ -127,6 +127,16 @@ def onion_domain(): origin_paste=origin_paste, origin_paste_name=origin_paste_name, domain_tags=domain_tags, screenshot=screenshot) +@hiddenServices.route("/hiddenServices/onion_son", methods=['GET']) +def onion_son(): + onion_domain = request.args.get('onion_domain') + + h = HiddenServices(onion_domain, 'onion') + l_pastes = h.get_last_crawled_pastes() + l_son = h.get_domain_son(l_pastes) + print(l_son) + return 'l_son' + # ============= JSON ============== @hiddenServices.route("/hiddenServices/domain_crawled_7days_json", methods=['GET']) def domain_crawled_7days_json(): diff --git a/var/www/modules/hiddenServices/templates/showDomain.html b/var/www/modules/hiddenServices/templates/showDomain.html index 655dbe31..1d58c4ba 100644 --- a/var/www/modules/hiddenServices/templates/showDomain.html +++ b/var/www/modules/hiddenServices/templates/showDomain.html @@ -81,6 +81,7 @@ +