Tor-relay setup guide
Warning
La guida è stata creata con in mente docker non podman poichè con quest'ultimo non è stata ancora valutata la fattibilità
Pangolin setup guide
Creare la cartella iniziale
Lo script di pangolin imposta come crtella iniziale la cartella nella quale si è attualmente pwd.
Al fine di evitare lo sputtanamento della directory ~/. si crea la segente struttura:
mkdir ~/appdata && mkdir ~/appdata/tor-relay
cd ~/appdata/tor-relay
Docker compose
Create the file ~/appdata/tor-relay/docker-compose.yml with the following config:
services:
tor:
image: dockurr/tor
container_name: tor
ports:
- 9001:9001
- 9030:9030
volumes:
- ./config:/etc/tor
- ./data:/var/lib/tor
restart: always
Create volumes and grant permissions
Creari le seguenti directory::
mkdir config && mkdir data
torrc o se mancano dei permessi per creare o accedere ai file. Nel secondo caso seguire la risoluzione del bug.
sudo docker compose up # Senza -d per vedere i log, Ctrl+C per uscire
sudo docker compose down # Pero portare lo stack down
Bug
Per qualche motivazione a me sconosciuta il container si rifiuta di scrivere cartelle e file per un problema di permessi che non dovrebbe esistere. Questo perchè in teoria il docker dovrebbe andare con i permessi user e non root ma guarda caso, nonostante i permessi all'interno della cartella siano già user esso si rifiuta di partire quindi questo passaggio è fondamentale
sudo chmod -R 777 ../tor-relay
Creazione del file torrc
Nella cartella config creare il file torrc con le seguenti caratteristiche:
# =================== /etc/torrc ===================
# Identificazione del nodo
Nickname ajeje # Nome pubblico del relay (cambia se vuoi)
ContactInfo brazov@onionmail.org # Email pubblica per contatti (verrà pubblicata)
# Porte e indirizzi da pubblicizzare (ascolto per connessioni in ingresso)
# ORPort: porta per connessioni OR (relay-to-relay e client-to-relay per le connessioni in ingresso)
ORPort 0.0.0.0:9001 # Usuale: 9001 o 443. Formato: [IP]:porta o solo porta.
# Per IPv6: ORPort [IPv6-address]:9001
# DirPort: porta per servire la directory (lista di relay) ad altri nodi
DirPort 0.0.0.0:9030 # È opzionale ma utile per alcuni tipi di relay/directory mirror
# Ruolo del nodo e comportamento client/relay
SocksPort 0 # Disabilita l'uso locale di Tor come proxy SOCKS (solo relay)
ControlSocket 0 # Disabilita il socket di controllo (evita controllo locale tramite socket)
# Non essere un exit relay
ExitRelay 0 # Flag legacy per disabilitare il comportamento di exit
ExitPolicy reject *:* # Politica di uscita: qui rifiuta tutto (nessun traffico uscente verso Internet)
# Limiti di banda
RelayBandwidthRate 10 MBytes # Velocità media garantita (limite di upload/download del relay)
RelayBandwidthBurst 50 MBytes # Burst massimo consentito
# Limiti di memoria/coda
MaxMemInQueues 500 MB # Limita uso di memoria per code interne
# =================== fine /etc/torrc ===================
Info
- Nickname: nome pubblico del relay; usato nelle directory.
- ContactInfo: email o contatto mostrato pubblicamente nelle directory.
- ORPort: porta su cui il relay accetta connessioni Tor; deve essere raggiungibile dall'esterno.
- DirPort: (opzionale) porta per servire parti della directory a client/relay.
- SocksPort: porta SOCKS per uso client locale; impostandola a 0 si disabilita.
- ControlSocket: socket per controllo locale (stem/torctl); 0 disabilita.
- ExitRelay / ExitPolicy: impediscono al relay di comportarsi come exit (bloccare traffico verso Internet).
- RelayBandwidthRate / RelayBandwidthBurst: limiti di banda per non saturare la connessione.
- MaxMemInQueues: limita memoria impiegata per code interne.