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
Vuln Scanner With Python

VulnScanner Features Web Application Firewall (WAF) detection. Cross Site Scripting (XSS) tests. SQL injection time based test. SQL injection error ba

< / N u l l S 0 U L > 1 Dec 25, 2021
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
Windows Stack Based Auto Buffer Overflow Exploiter

Autoflow - Windows Stack Based Auto Buffer Overflow Exploiter Autoflow is a tool that exploits windows stack based buffer overflow automatically.

Himanshu Shukla 19 Dec 22, 2022
This tool ability to analyze software packages of different programming languages that are being or will be used in their codes, providing information that allows them to know in advance if this library complies with processes.

This tool gives developers, researchers and companies the ability to analyze software packages of different programming languages that are being or will be used in their codes, providing information

Telefónica 66 Nov 08, 2022
This is a simple PoC for the newly found Polkit error names PwnKit

A Python3 and a BASH PoC for CVE-2021-4034 by Kim Schulz

Kim Schulz 16 Sep 06, 2022
🎻 Modularized exploit generation framework

Modularized exploit generation framework for x86_64 binaries Overview This project is still at early stage of development, so you might want to come b

ᴀᴇꜱᴏᴘʜᴏʀ 30 Jan 17, 2022
The disassembler parses evm bytecode from the command line or from a file.

EVM Bytecode Disassembler The disassembler parses evm bytecode from the command line or from a file. It does not matter whether the bytecode is prefix

alpharush 22 Dec 27, 2022
Sqli-Scanner is a python3 script written to scan websites for SQL injection vulnerabilities

Sqli-Scanner is a python3 script written to scan websites for SQL injection vulnerabilities Features 1 Scan one website 2 Scan multiple websites Insta

Anontemitayo 9 Dec 30, 2022
🏃 Python Solutions of All Problems in FHC 2021 (In Progress)

FacebookHackerCup-2021 Python solutions of Facebook Hacker Cup 2021. Solution begins with * means it will get TLE in the largest data set (total compu

kamyu 14 Oct 15, 2022
Downloads SEP, Baseband and BuildManifest automatically for signed iOS version's for connected iDevice

FutureHelper Supports macOS and Windows Downloads SEP, Baseband and BuildManifest automatically for signed iOS version's (including beta firmwares) fo

Kasim Hussain 7 Jan 05, 2023
A BurpSuite extension to parse 5GC NF OpenAPI 3.0 files to assess 5G core networks

5GC_API_parse Description 5GC API parse is a BurpSuite extension allowing to assess 5G core network functions, by parsing the OpenAPI 3.0 not supporte

PentHertz 57 Dec 16, 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
Python tool for exploiting CVE-2021-35616

OracleOTM Python tool for exploiting CVE-2021-35616 The script works in modules, which I implemented in the following order: ► Username enumeration ►

11 Dec 06, 2022
Exploiting CVE-2021-42278 and CVE-2021-42287 to impersonate DA from standard domain user

Exploiting CVE-2021-42278 and CVE-2021-42287 to impersonate DA from standard domain user Known issues it will not work outside kali , i will update it

Hossam 867 Dec 22, 2022
Internal network honeypot for detecting if an attacker or insider threat scans your network for log4j CVE-2021-44228

log4j-honeypot-flask Internal network honeypot for detecting if an attacker or insider threat scans your network for log4j CVE-2021-44228 This can be

Binary Defense 144 Nov 19, 2022
Uncover the full name of a target on Linkedin.

Revealin Uncover the full name of a target on Linkedin. It's just a little PoC exploiting a design flaw. Useful for OSINT. Screenshot Usage $ git clon

mxrch 129 Dec 21, 2022
Visibility and Mitigation for Log4J vulnerabilities

Visibility and Mitigation for Log4J vulnerabilities Several scripts for the visibility and mitigation of Log4J vulnerabilities. Static Scanner - Linux

SentinelLabs 15 May 21, 2022
MD5-CRACKER - A gmail brute force app created with python3

MD5-CRACKER So this is my first app i created with python3 . if you guys downloa

2 Nov 10, 2022
'Our Drowsinessdetector detects drivers eyes if they are closed for more than 2 seconds and alerts driver'

Data analysis Document here the project: DriverDrowsinessDetector Description: Project Description Data Source: Type of analysis: Please document the

3 Jul 03, 2022
orfipy is a tool written in python/cython to extract ORFs in an extremely and fast and flexible manner

Introduction orfipy is a tool written in python/cython to extract ORFs in an extremely and fast and flexible manner. Other popular ORF searching tools

Urminder Singh 34 Nov 21, 2022