scanner

package module
v0.0.15 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 8, 2024 License: MIT Imports: 15 Imported by: 0

README

Tor Relay Availability Checker

This is golang fork of ValdikSS/tor-relay-scanner.


This small program downloads all Tor Relay IP addresses from onionoo.torproject.org directly and via embedded proxies, and checks whether random Tor Relays are reachable from your Internet connection.

It could be used to find working Relay in a countries with Internet censorship and blocked Tor, and use it as Bridge to connect to Tor network, bypassing standard well-known nodes embedded into Tor code.

How to use with Tor (daemon)

This utility is capable of generating torrc configuration file containing Bridge information. Launch it with the following arguments:

--torrc --outfile /etc/tor/bridges.conf

And append:

%include /etc/tor/bridges.conf

to the end of /etc/tor/torrc file to make Tor daemon load it.

How to use as a standalone tool

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

Linux & macOS: download binary file from Releases and run it:

./tor-relay-scanner-go

Tor-relay-scanner-go gets proxy information from environment. Or you can set it from variables:

HTTP_PROXY=http://example.com:3128 HTTPS_PROXY=http://example.com:3128 ./tor-relay-scanner-go

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Relay

type Relay struct {
	Fingerprint string   `json:"fingerprint"`
	OrAddresses []string `json:"or_addresses"`
	Country     string   `json:"country"`
}

Relay ...

type RelayInfo

type RelayInfo struct {
	Version          version
	BuildRevision    buildRevision    `json:"build_revision"`
	RelaysPublished  relaysPublished  `json:"relays_published"`
	Relays           Relays           `json:"relays"`
	BridgesPublished bridgesPublished `json:"bridges_published"`
	Bridges          bridges          `json:"bridges"`
}

RelayInfo struct with basics information relay lists

type Relays

type Relays []Relay

Relays ...

type ResultRelay

type ResultRelay struct {
	Fingerprint string `json:"fingerprint"`
	Address     string `json:"or_addresses"`
}

ResultRelay ...

type TorRelayScanner

type TorRelayScanner interface {
	Grab() (relays []ResultRelay)
	GetJSON() []byte
}

TorRelayScanner ...

func New

func New(
	poolSize int,
	goal int,
	timeout time.Duration,
	urlsList []string,
	port []string,
	excludePorts []string,
	ipv4 bool,
	ipv6 bool,
	silent bool,
	deadline time.Duration,
	country string,
) TorRelayScanner

New ...

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL