Tor Relay availability checker, for using it as a bridge in countries with censorship

Overview

Tor Relay Availability Checker

This small script downloads all Tor Relay IP addresses from onionoo.torproject.org and checks whether random Relays are available.

It could be used to find working Relay in a countries with internet censorship and blocked Tor.

Usage

Windows: download *.exe file from Releases and run it in console (start → cmd)

Linux & macOS: download *.pyz file from Releases and run it with Python 3.7+:
python3 tor-relay-scanner.pyz

Comments
  • tor relay scanner doesn't work with system socks5 proxy enabled for Windows

    tor relay scanner doesn't work with system socks5 proxy enabled for Windows

    OS: Windows 11

    Screenshot 2022-05-20 224920

    tor-relay-scanner-0.0.7.exe -g 1 --timeout 3 --browser --start-browser
    Tor Relay Scanner. Will scan up to 1 working relays (or till the end)
    Downloading Tor Relay information from onionoo.torproject.org…
    Can't download Tor Relay data from/via onionoo.torproject.org: HTTPSConnectionPool(host='onionoo.torproject.org', port=443): Max retries exceeded with url: /details?type=relay&running=true&fields=fingerprint,or_addresses (Caused by ProxyError('Cannot connect to proxy.', timeout('_ssl.c:1114: The handshake operation timed out')))
    Can't download Tor Relay data from/via corsbypasser.herokuapp.com: HTTPSConnectionPool(host='corsbypasser.herokuapp.com', port=443): Max retries exceeded with url: /https://onionoo.torproject.org/details?type=relay&running=true&fields=fingerprint,or_addresses (Caused by ProxyError('Cannot connect to proxy.', timeout('_ssl.c:1114: The handshake operation timed out')))
    Can't download Tor Relay data from/via corsanywhere.herokuapp.com: HTTPSConnectionPool(host='corsanywhere.herokuapp.com', port=443): Max retries exceeded with url: /https://onionoo.torproject.org/details?type=relay&running=true&fields=fingerprint,or_addresses (Caused by ProxyError('Cannot connect to proxy.', timeout('_ssl.c:1114: The handshake operation timed out')))
    Can't download Tor Relay data from/via tauron.herokuapp.com: HTTPSConnectionPool(host='tauron.herokuapp.com', port=443): Max retries exceeded with url: /https://onionoo.torproject.org/details?type=relay&running=true&fields=fingerprint,or_addresses (Caused by ProxyError('Cannot connect to proxy.', timeout('_ssl.c:1114: The handshake operation timed out')))
    Can't download Tor Relay data from/via cors-anywhere2.herokuapp.com: HTTPSConnectionPool(host='cors-anywhere2.herokuapp.com', port=443): Max retries exceeded with url: /https://onionoo.torproject.org/details?type=relay&running=true&fields=fingerprint,or_addresses (Caused by ProxyError('Cannot connect to proxy.', timeout('_ssl.c:1114: The handshake operation timed out')))
    Can't download Tor Relay data from/via icors.vercel.app: HTTPSConnectionPool(host='icors.vercel.app', port=443): Max retries exceeded with url: /?https%3A//onionoo.torproject.org/details%3Ftype%3Drelay%26running%3Dtrue%26fields%3Dfingerprint%2Cor_addresses (Caused by ProxyError('Cannot connect to proxy.', timeout('_ssl.c:1114: The handshake operation timed out')))
    Tor Relay information can't be downloaded!
    
    opened by d3vv 11
  • Can't download Tor Relay data - Failed to execute script

    Can't download Tor Relay data - Failed to execute script

    `C:\Windows\system32> F:_BROWSER\trs\tor-relay-scanner-0.0.3.exe

    Tor Relay Scanner. Will scan up to 5 working relays (or till the end) Downloading Tor Relay information from onionoo.torproject.org: Can't download Tor Relay data from/via onionoo.torproject.org: HTTPSConnectionPool(host='onionoo.torproject.org', port=4 43): Max retries exceeded with url: /details?type=relay&running=true&fields=fingerprint,or_addresses (Caused by SSLError (SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1131)'))) Can't download Tor Relay data from/via corsbypasser.herokuapp.com: HTTPSConnectionPool(host='corsbypasser.herokuapp.com' , port=443): Max retries exceeded with url: /https://onionoo.torproject.org/details?type=relay&running=true&fields=finge rprint,or_addresses (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1131)'))) Can't download Tor Relay data from/via corsanywhere.herokuapp.com: HTTPSConnectionPool(host='corsanywhere.herokuapp.com' , port=443): Max retries exceeded with url: /https://onionoo.torproject.org/details?type=relay&running=true&fields=finge rprint,or_addresses (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1131)'))) Can't download Tor Relay data from/via tauron.herokuapp.com: HTTPSConnectionPool(host='tauron.herokuapp.com', port=443): Max retries exceeded with url: /https://onionoo.torproject.org/details?type=relay&running=true&fields=fingerprint,or_ad dresses (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (ssl.c:1131)'))) Traceback (most recent call last): File "tor_relay_scanner_main.py", line 5, in File "tor_relay_scanner\scanner.py", line 167, in main File "asyncio\runners.py", line 44, in run File "asyncio\base_events.py", line 616, in run_until_complete File "tor_relay_scanner\scanner.py", line 115, in main_async File "tor_relay_scanner\scanner.py", line 62, in grab_parse TypeError: 'NoneType' object is not subscriptable [7056] Failed to execute script 'main' due to unhandled exception!

    C:\Windows\system32> `

    opened by CheckIssues 8
  • Doesn't work with Python 3.5.3 from Debian Stretch

    Doesn't work with Python 3.5.3 from Debian Stretch

    I use Debian Stretch, its Python 3 version is 3.5.3. I get this error message:

    $ cd ~/opt/tor-browser_en-US && python3 ./tor-relay-scanner-0.0.7.pyz -g 1 --timeout 3 --browser --start-browser
    Traceback (most recent call last):
      File "/usr/lib/python3.5/runpy.py", line 193, in _run_module_as_main
        "__main__", mod_spec)
      File "/usr/lib/python3.5/runpy.py", line 85, in _run_code
        exec(code, run_globals)
      File "./tor-relay-scanner-0.0.7.pyz/__main__.py", line 2, in <module>
      File "<frozen importlib._bootstrap>", line 969, in _find_and_load
      File "<frozen importlib._bootstrap>", line 954, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 896, in _find_spec
      File "<frozen importlib._bootstrap_external>", line 1147, in find_spec
      File "<frozen importlib._bootstrap_external>", line 1123, in _get_spec
      File "<frozen importlib._bootstrap_external>", line 1104, in _legacy_get_spec
      File "<frozen importlib._bootstrap>", line 444, in spec_from_loader
      File "<frozen importlib._bootstrap_external>", line 541, in spec_from_file_location
      File "./tor-relay-scanner-0.0.7.pyz/tor_relay_scanner/scanner.py", line 137
        print(f"Tor Relay Scanner. Will scan up to {WORKING_RELAY_NUM_GOAL}" +
                                                                           ^
    SyntaxError: invalid syntax
    

    So it seems Python 3.5.3 is not supported. So I cannot use this tool on my computer

    opened by safinaskar 4
  • Just added some CLI arguments

    Just added some CLI arguments

    Hi! I Just have added command options to allow the user define easily the number of random relays to test and the number of relays to scan (or until the end, if it's the case).

    opened by gp2112 2
  • is this ok? error: Can't download Tor Relay data from/via corsbypasser.herokuapp.com: Expecting value: line 1 column 1 (char 0)

    is this ok? error: Can't download Tor Relay data from/via corsbypasser.herokuapp.com: Expecting value: line 1 column 1 (char 0)

    Tor Relay Scanner. Will scan up to 1 working relays (or till the end)
    Downloading Tor Relay information from onionoo.torproject.org…
    Can't download Tor Relay data from/via onionoo.torproject.org: ('Connection aborted.', ConnectionResetError(10054, 'Удаленный хост принудительно разорвал существующее подключение', None, 10054, None))
    Can't download Tor Relay data from/via corsbypasser.herokuapp.com: Expecting value: line 1 column 1 (char 0)
    Done!
    
    Try 0/235, We'll test the following 30 random relays:
    ...
    
    opened by Owyn 1
  • Not available

    Not available

    Our country Russia, China, blocked https://onionoo.torproject.org https://bridges.torproject.org/ Testing tor-relay-scanner with a proxy makes no sense at all. You need to store the onionoo.torproject.org data crawler at raw.githubusercontent.com

    opened by Pantyhose-X 1
Releases(0.0.7)
Owner
ValdikSS
ValdikSS
Just another script for automatize boolean-based blind SQL injections.

SQL Blind Injection Tool A script for automatize boolean-based blind SQL injections. Works with SQLite at least, supports using cookies. It uses bitwi

RIM 51 Dec 15, 2022
A CTF2.5/MMF2 Decompiler

CondaDEV A CTF2.5/MMF2 Decompiler What is CondaDEV? CondaDEV (anaCondaDEVeloper) is a fork of Anaconda Mode 4.1, with a lot of Quality of Life patches

ClickNinYT 4 Mar 07, 2022
Example for the NFT 3D Collectibles using Blender Scripting (Python).

NFT Collectibles using Blender Python What is this? This project is to demonstrate for generating NFT Collectible Avatar-Styled images. For details, p

hideckies 48 Nov 26, 2022
Natural Language Processing - Sommer Semester 2022

Natural Language Processing (DIS25a/NLP) This course can be taken for the Bachelor Programm Data and Information Science (DIS25a) or the Master Progra

Classrooms of IR Group at Technische Hochschule Köln 19 Sep 07, 2022
This tool was created in order to automate some basic OSINT tasks for penetration testing assingments.

This tool was created in order to automate some basic OSINT tasks for penetration testing assingments. The main feature that I haven't seen much anywhere is the downloadd google dork function where t

Tobias 5 May 31, 2022
Salesforce Recon and Exploitation Toolkit

Salesforce Recon and Exploitation Toolkit Salesforce Recon and Exploitation Toolkit Usage python3 main.py URL References Announcement Blog - https:/

81 Dec 23, 2022
HatSploit collection of generic payloads designed to provide a wide range of attacks without having to spend time writing new ones.

HatSploit collection of generic payloads designed to provide a wide range of attacks without having to spend time writing new ones.

EntySec 5 May 10, 2022
The Linux defender anti-virus software ported to work on CentOS Linux.

By: Seanpm2001, Et; Al. Top README.md Read this article in a different language Sorted by: A-Z Sorting options unavailable ( af Afrikaans Afrikaans |

Sean P. Myrick V19.1.7.2 2 Sep 12, 2022
Patching - Interactive Binary Patching for IDA Pro

Patching - Interactive Binary Patching for IDA Pro Overview Patching assembly code to change the behavior of an existing program is not uncommon in ma

589 Dec 30, 2022
A secure way of storing your passwords.

StrongBox 🔐 A secure way of storing your passwords. 🔑 Why to use StrongBox? StrongBox makes it possible to have a random generated strong password i

Dylan Tintenfich 5 Dec 25, 2021
Anti-Nuke capabilities, powerful moderation features, auto punishments, captcha-verification and more.

Server-Security-Discord-Bot Anti-Nuke capabilities, powerful moderation features, auto punishments, captcha-verification and more. Installation Instal

20 Apr 07, 2022
POC for CVE-2022-1388

CVE-2022-1388 POC for CVE-2022-1388 affecting multiple F5 products. Follow the Horizon3.ai Attack Team on Twitter for the latest security research: Ho

Horizon 3 AI Inc 231 Dec 07, 2022
An automated header extensive scanner for detecting log4j RCE CVE-2021-44228

log4j An automated header extensive scanner for detecting log4j RCE CVE-2021-44228 Usage $ python3 log4j.py -l urls.txt --dns-log REPLACE_THIS.dnslog.

2 Dec 16, 2021
DoSer.py - Simple DoSer in Python

DoSer.py - Simple DoSer in Python What is DoSer? DoSer is basically an HTTP Denial of Service attack that affects threaded servers. It works like this

8 Sep 02, 2022
SonicWall SMA-100 Unauth RCE Exploit (CVE-2021-20038)

Bad Blood Bad Blood is an exploit for CVE-2021-20038, a stack-based buffer overflow in the httpd binary of SMA-100 series systems using firmware versi

Jake Baines 80 Dec 29, 2022
An OSINT tool that searches for devices directly connected to the internet (IoT) with a user specified query. It returns results for Webcams, Traffic lights, Refridgerators, Smart TVs etc.

An OSINT tool that searches for devices directly connected to the internet (IoT) with a user specified query. It returns results for Webcams, Traffic

Richard Mwewa 48 Nov 20, 2022
Web Scraping com Python - Raspando Vagas para Programadores

Web Scraping com Python - Raspando Vagas para Programadores Sobre o Projeto Web

Kayo Libarino 3 Dec 30, 2021
DNSpooq - dnsmasq cache poisoning (CVE-2020-25686, CVE-2020-25684, CVE-2020-25685)

dnspooq DNSpooq PoC - dnsmasq cache poisoning (CVE-2020-25686, CVE-2020-25684, CVE-2020-25685) For educational purposes only Requirements Docker compo

Teppei Fukuda 80 Nov 28, 2022
Automatically fetch, measure, and merge subscription links on the network, use Github Action

Free Node Merge Introduction Modified from alanbobs999/TopFreeProxies It measures the speed of free nodes on the network and import the stable and hig

52 Jul 16, 2022
Metal Gear Online 2 (MGO2) stage files decryption

Metal Gear Online 2 decryption tool Metal Gear Online 2 (MGO2) has an additional layer of encryption for stage files. I was not able to find info abou

4 Sep 02, 2022