A[Fetch url using Tor client] --> C{Is the <br> status code <br> same?}--YES: <br> No redirection, DOM checks required-->D1[Remove GDPR popups]
B[Fetch url using Non-Tor client] -->C--NO--->D{check whether <br> tor returns 4xx or 5xx <br>error codes}--YES---------->F(Tor Block Error)
...
...
@@ -98,11 +98,12 @@ E-->E1[DOM Checks <br> Percentage of differnce in DOM nodes]
E-.->E2[Consensus Module]
E-.....->E3[Captcha Check] %% This will use the fact of the request path containing captcha in the url itself
E4{If the <br> Redirected website <br>returns error}-.yes.->F
E1-->G{if <br> score >0}
G--YES-->G1{if <br> score >k}--YES-->H(Tor returns Error) %% For most cases it returns error or it might be possible that the page hasn't been loaded.
E1-->G{if <br> score > 0}
G--NO, if score = 0--->X(Matched!<br>no errors)
G--YES-->G1{if <br> score > K%}--YES---->H2(Tor returns Error <br> or in some cases, denotes a different page) %% For most cases it returns error or it might be possible that the page hasn't been loaded.
G1--NO-->G2(Filter list)
G1-.No-..->E2
G--NO---->H[Denotes Pop-ups, <br>or in some cases <br>when the difference is lot <br>denotes another page.]
G--NO----->H[Denotes Pop-ups, <br>or in some cases <br>when the difference is lot in negative terms- tbb > nbb<br>denotes another page, which might have more DOM nodes.]
A------------->Q(Websites without error, but different pages)