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
CVE-2022-22965 - CVE-2010-1622 redux

CVE-2022-22965 - vulnerable app and PoC Trial & error $ docker rm -f rce; docker build -t rce:latest . && docker run -d -p 8080:8080 --name rce rce:la

Duarte Duarte 20 Aug 25, 2022
xray多线程批量扫描工具

Auto_xray xray多线程批量扫描工具 简介 xray社区版貌似没有批量扫描,这就让安服仔使用起来很不方便,扫站得一个个手动添加,非常难受 Auto_xray目录下记得放xray,就跟平时一样的。 选项1:oneforall+xray 输入一个主域名,自动采集子域名然后添加到xray任务列表

1frame 13 Nov 09, 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
Driver Buddy Reloaded is an IDA Pro Python plugin that helps automate some tedious Windows Kernel Drivers reverse engineering tasks.

Driver Buddy Reloaded Quickstart Table of Contents Installation Usage About Driver Buddy Reloaded Finding DispatchDeviceControl Labelling WDM & WDF St

Paolo 'VoidSec' Stagno 199 Jan 04, 2023
ADExplorerSnapshot.py is an AD Explorer snapshot ingestor for BloodHound.

ADExplorerSnapshot.py ADExplorerSnapshot.py is an AD Explorer snapshot ingestor for BloodHound. AD Explorer allows you to connect to a DC and browse L

576 Dec 23, 2022
Apache OFBiz rmi反序列化EXP(CVE-2021-26295)

Apache OFBiz rmi反序列化EXP(CVE-2021-26295) 目前仅支持nc弹shell 将ysoserial.jar放置在同目录下,py3运行,根据提示输入漏洞url,你的vps地址和端口 第二次使用建议删除exp.ot 本工具仅用于安全测试,禁止未授权非法攻击站点,否则后果自负

15 Nov 09, 2022
Community Repository for Unofficial Saltbox Add-ons

Saltbox Sandbox Repo Community Repository for Unofficial Saltbox Add-ons Requirements Saltbox Documentation Undetermined Roles List of roles can be fo

Salty Organization 31 Dec 19, 2022
Data Recovery from your broken Android phone

Broken Phone Recovery a guide how to backup data from your locked android phone if you broke your screen (and more) you can skip some steps depending

v1nc 25 Sep 23, 2022
这次是可可萝病毒!

可可萝病毒! 事情是这样的,我又开始不干正事了。 众所周知,在Python里,0x0等于0,但是不等于可可萝。 这很不好,我们得把它改成可可萝! 效果 一般的Python—— Python 3.8.0 (tags/v3.8.0:fa919fd, Oct 14 2019, 19:37:50) [MSC

黄巍 29 Jul 14, 2022
A malware to encrypt all the .txt and .jpg files in target computer using RSA algorithms

A malware to encrypt all the .txt and .jpg files in target computer using RSA algorithms. Change the Blackgound image of targets' computer. and decrypt the targets' encrypted files in our own compute

Li Ka Lok 2 Dec 02, 2022
HashDB API hash lookup plugin for IDA Pro

HashDB IDA Plugin Malware string hash lookup plugin for IDA Pro. This plugin connects to the OALABS HashDB Lookup Service. Adding New Hash Algorithms

OALabs 237 Dec 21, 2022
I hacked my own webcam from a Kali Linux VM in my local network, using Ettercap to do the MiTM ARP poisoning attack, sniffing with Wireshark, and using metasploit

plan I - Linux Fundamentals Les utilisateurs et les droits Installer des programmes avec apt-get Surveiller l'activité du système Exécuter des program

148 Dec 22, 2022
Safe Policy Optimization with Local Features

Safe Policy Optimization with Local Feature (SPO-LF) This is the source-code for implementing the algorithms in the paper "Safe Policy Optimization wi

Akifumi Wachi 6 Jun 05, 2022
Having a weak password is not good for a system that demands high confidentiality and security of user credentials

Having a weak password is not good for a system that demands high confidentiality and security of user credentials. It turns out that people find it difficult to make up a strong password that is str

PyLaboratory 0 Feb 07, 2022
A tool to extract the IdP cert from vCenter backups and log in as Administrator

vCenter SAML Login Tool A tool to extract the Identity Provider (IdP) cert from vCenter backups and log in as Administrator Background Commonly, durin

Horizon 3 AI Inc 343 Dec 31, 2022
Simple script for looping a Denial Of Service (DoS) attack over one single mac address in range

Bluetooth Simple Denial Of Service (DoS) Legal Note This project is made only for educational purposes and for helping in Proofs of Concept. The autho

1 Jan 09, 2022
Get important strings inside [Info.plist] & and Binary file also all output of result it will be saved in [app_binary].json , [app_plist_file].json file

Get important strings inside [Info.plist] & and Binary file also all output of result it will be saved in [app_binary].json , [app_plist_file].json file

12 Sep 28, 2022
Bandit is a tool designed to find common security issues in Python code.

A security linter from PyCQA Free software: Apache license Documentation: https://bandit.readthedocs.io/en/latest/ Source: https://github.com/PyCQA/ba

Python Code Quality Authority 4.8k Dec 31, 2022
Um keylogger que se disfarça de um app que tira print da tela.

Keylogger_ Um keylogger que se disfarça de um app que tira print da tela. Este programa captura o print da tela e salva ,normalmente, na pasta Picture

Marcus Vinícius Ribeiro Andrade 1 Dec 03, 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