-
-
Notifications
You must be signed in to change notification settings - Fork 175
CheckTor
Tor2web does provide a technical facility to enable third party website, to verify if a user is connecting over Tor or not, called CheckTor for Tor2web
.
This facility is implemented under the name CheckTor for Tor2web
,following the example of the official CheckTor extension of Tor Project.
CheckTor for Tor2web matchs if a user it's on Tor or not, looking at it's source IP address
or trough the X-Forwarded-For HTTP header
(if available because deployed behind a reverse-proxy), matching it via the Onionoo web service.
CheckTor for Tor2web signals to the Web Client if the user is running Tor or not by using two different methods:
-
An HTTP Header
X-Check-Tor
with boolean True/False value in all HTTP Response by Tor2web -
An HTTP Response under
/checktor
URI that's compatible with official CheckTor resource https://check.torproject.org/api/ip
The HTTP Response under /checktor
enables inclusion by third party website, explicitly allowing Cross Site CORS headers.
CheckTor for Tor2web provides a very simple CheckTor Javascript
file for use by third party websites that used to be published on the Internet AND on the Tor Hidden Service .onion, facilitating detection of Tor users and automatic redirection to the corresponding .onion .
The CheckTor JS can be integrated in 3 different way with public or private Tor2web servers:
-
included script resource from a remote Tor2web, loading a remote
/checktor
service -
embedded CheckTor JS into your website HTML code, loading a remote
/checktor
service -
embedded CheckTor JS into your website HTML code, loading a local
/checktor
service (proxed trough apache/nginx reverse-proxying, to avoid leaking your users IP address to CheckTor for Tor2web service, using X-Forwarded-For)
If you wish to use CheckTor to handle automatic redirection of Tor users to your corresponding .onion site, then you can download the CheckTor Javascript, include it in your website and configure as follow:
redirectIfOnTor("http://yourtorhs.onion","https://antani.tor2web.org/checktor");
This will query the URLs of public Tor2web.org servers https://antani.tor2web.org/checktor and redirect the user to http://yourtorhs.onion if it's coming from Tor.
Feel free to use that javascript file as example to implement other logics in your website JS code.
2011-2019, Hermes Center for Transparency and Digital Human Rights. All rights reserved.