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
Colin O'Flynn's Hacakday talk at Remoticon 2021 support repo.

Hardware Hacking Resources This repo holds some of the examples used in Colin's Hardware Hacking talk at Remoticon 2021. You can see the very sketchy

Colin O'Flynn 19 Sep 12, 2022
A tool combined with the advantages of masscan and nmap

A tool combined with the advantages of masscan and nmap

59 Dec 24, 2022
PasswordManager is a command-line program that helps you manage your secret files like passwords

PasswordManager is a command-line program that helps you manage your secret files like passwords. It's very minimalistic and easy to use.

Michael 3 Dec 30, 2021
FTP-Exploits is a tool made in python that contains 4 diffrent types of ftp exploits that can be used in Penetration Testing.

FTP-exploits FTP-exploits is a tool which is used for Penetration Testing that can run many kinds of exploits on port 21(FTP) Commands and Exploits Ex

1 Dec 26, 2021
Laravel RCE (CVE-2021-3129)

CVE-2021-3129 - Laravel RCE About The script has been made for exploiting the Laravel RCE (CVE-2021-3129) vulnerability. This script allows you to wri

Joshua van der Poll 21 Dec 27, 2022
Dlint is a tool for encouraging best coding practices and helping ensure Python code is secure.

Dlint Dlint is a tool for encouraging best coding practices and helping ensure Python code is secure. The most important thing I have done as a progra

Dlint 127 Dec 27, 2022
Vulnerability Exploitation Code Collection Repository

Introduction expbox is an exploit code collection repository List CVE-2021-41349 Exchange XSS PoC = Exchange 2013 update 23 = Exchange 2016 update 2

0x0021h 263 Feb 14, 2022
Security System using OpenCV

Security-System Security System using OpenCV Files in this Repository: email_send.py - This file contains python code to send an email when something

Mehul Patwari 1 Oct 28, 2021
NoSecerets is a python script that is designed to crack hashes extremely fast. Faster even than Hashcat

NoSecerets NoSecerets is a python script that is designed to crack hashes extremely fast. Faster even than Hashcat How does it work? Instead of taking

DosentTrust GithubDatabase 9 Jul 04, 2022
A piece of software that shows a traceroute of a URL redirect path

Tracing URL redirects has never been easier! Usage • Download 🚩 Use Cases To see where an affiliate link ends up To see what affiliate network is bei

41 Nov 22, 2022
hackinsta: a program to hack instagram

hackinsta a program to hack instagram Yokoback_(instahack) is the file to open, you need libraries write on import. You run that file in the same fold

1 Dec 04, 2021
一款Web在线自动免杀工具

一款利用加载器以及Python反序列化绕过AV的在线免杀工具 因为打包方式的局限性,不能跨平台,若要生成exe格式的只能在Windows下运行本项目 打包速度有点慢,提交后稍等一会 开发环境及运行 前端使用Bootstrap框架,后端使用Django框架 。

yhy 172 Nov 28, 2022
Security-TXT is a python package for retrieving, parsing and manipulating security.txt files.

Security-TXT is a python package for retrieving, parsing and manipulating security.txt files.

Frank 3 Feb 07, 2022
Python APK Reverser & Patcher Tool

DTL-X An Advanced Python APK Reverser and Patcher Tool. --rmads1: target=AndroidManifest.xml,replace=com.google.android.gms.ad --rmads2: No Internet (

DedSecTL 10 Oct 31, 2022
client attack remotely , this script was written for educational purposes only

client attack remotely , this script was written for educational purposes only, do not use against to any victim, which you do not have permission for it

9 Jun 05, 2022
AMC- Automatic Media Access Control [MAC] Address Spoofing Tool

AMC (Automatic Media Access Control [MAC] Address Spoofing tool), helps you to protect your real network hardware identity. Each entered time interval your hardware address was changed automatically.

Dipen Chavan 14 Dec 23, 2022
🔐 A simple command-line password manager.

PassVault What Is It? It is a command-line password manager, for educational purposes, that stores localy, in AES encryption, your sensitives datas in

5 Aug 15, 2022
CamRaptor is a tool that exploits several vulnerabilities in popular DVR cameras to obtain device credentials.

CamRaptor is a tool that exploits several vulnerabilities in popular DVR cameras to obtain device credentials.

EntySec 118 Dec 24, 2022
对安卓APP注入MSF PAYLOAD,并且对手机管家进行BYPASS。

520_APK_HOOK 介绍 将msf生成的payload,注入到一个正常的apk文件中,重新打包后进行加固,bypass手机安全管家的检测。 项目地址: https://github.com/cleverbao/520apkhook 作者: BaoGuo 优点 相比于原始的msf远控,此版本ap

BaoGuo 368 Jan 02, 2023
A bare-bones POC container runner in python

pybox A proof-of-concept bare-bones container written in 50 lines of python code. Provides namespace isolation and resource limit control Usage Insta

Anirudh Haritas Murali 5 Jun 03, 2021