54def post_search(request, search) -> list[Answer]:
55 results = []
56
57 if search.search_query.pageno > 1:
58 return results
59
60 if search.search_query.query.lower() == "tor-check":
61
62
63 try:
64 resp = get(url_exit_list)
65 node_list = re.findall(reg, resp.text)
66
67 except HTTPError:
68
69 msg = gettext("Could not download the list of Tor exit-nodes from")
70 Answer(results=results, answer=f"{msg} {url_exit_list}")
71 return results
72
73 x_forwarded_for = request.headers.getlist("X-Forwarded-For")
74
75 if x_forwarded_for:
76 ip_address = x_forwarded_for[0]
77 else:
78 ip_address = request.remote_addr
79
80 if ip_address in node_list:
81 msg = gettext("You are using Tor and it looks like you have the external IP address")
82 Answer(results=results, answer=f"{msg} {ip_address}")
83
84 else:
85 msg = gettext("You are not using Tor and you have the external IP address")
86 Answer(results=results, answer=f"{msg} {ip_address}")
87
88 return results