MasterpieceDockerCompose/tor-socks-proxy/README.md

118 lines
3.6 KiB
Markdown
Raw Normal View History

# Tor-socks-proxy
<div align="center">
<img src="https://i.ibb.co/LJxkggb/tor-socks-proxy.png" />
</div>
## Descrizione
[![Sito ufficiale](https://img.shields.io/static/v1.svg?color=555555&logoColor=ffffff&logo=firefoxbrowser&style=flat&label=&message=Homepage)](https://www.torproject.org/) [![Sorgente](https://img.shields.io/static/v1.svg?color=555555&logoColor=ffffff&logo=github&style=flat&label=&message=Sorgente)](https://github.com/PeterDaveHello/tor-socks-proxy) [![Docker Hub](https://img.shields.io/static/v1.svg?color=555555&logoColor=ffffff&logo=docker&style=flat&label=&message=Docker&nbsp;Hub)](https://hub.docker.com/r/peterdavehello/tor-socks-proxy/) [![Docs](https://img.shields.io/static/v1.svg?color=555555&logoColor=ffffff&logo=readthedocs&style=flat&label=&message=Docs)](https://2019.www.torproject.org/docs/tor-manual.html)
Tor-socks-proxy è un [server proxy](https://wikiless.org/wiki/Proxy_server) SOCKS5 per rimanere il più possibile "anonimi" su internet:
- Leggero, pesa solo 10mb
- Essendo [SOCKS5](https://wikiless.org/wiki/SOCKS#SOCKS5) è abbastanza sicuro pur rimanendo veloce
- Si può impostare praticamente su ogni sistema operativo, browser, dispositivo mobile, etc...
## Struttura file e cartelle
```
/home/
└── docker/
└── tor-socks-proxy/
├── .env
├── docker-compose.yml
└── torrc
```
* `.env` - file contenenti le variabili environment per il docker-compose
* `docker-compose.yml` - file usato per creare il container
* `torrc` - file di configurazione
**N.B. Tutti i file e le cartelle devono essere creati a mano.**
## Esempi
Semplice esempio per iniziare ad usare subito il container
### network
```bash
docker network create custom-bridge
```
oppure
```bash
podman network create custom-bridge
```
### docker-compose
`docker-compose.yml`
```yml
version: "3.8"
services:
tor-socks-proxy:
container_name: tor-socks-proxy
image: peterdavehello/tor-socks-proxy
networks:
- custom-bridge
restart: unless-stopped
ports:
- ${TOR_SOCKS_PORT:-9150}:9150/tcp
env_file: .env
volumes:
- ${TORRC_FILE:-/home/docker/tor-socks-proxy/torrc}:/etc/tor/torrc
networks:
custom-bridge:
name: custom-bridge
driver: bridge
```
`.env`
```bash
# Generale
TORRC_FILE=/home/docker/tor-socks-proxy/torrc
TOR_SOCKS_PORT=9150
```
`torrc`
```bash
# custom options
CookieAuthentication 1
AvoidDiskWrites 1
GuardLifetime 1 days
ConnectionPadding 1
ClientOnly 1
GeoIPExcludeUnknown 1
# five eyes and affiliates
ExcludeNodes {IT}, {GB}, {CA}, {US}, {AU}, {NZ}, {NL}, {FR}, {DK}, {NO}, {SE}, {CN}, {IN}, {RU}, {IE}, {AG}
# default options
HardwareAccel 1
Log notice stdout
DNSPort 0.0.0.0:8853
SocksPort 0.0.0.0:9150
DataDirectory /var/lib/tor
```
## Reverse proxy
Ancora non ho previsto l'uso di un reverse proxy (Vedi [Todo](#Todo))
## Aggiornamento
### Automatico
Usando [watchtower](../watchtower) il container si aggiorna automaticamente
### Manuale
1. `docker-compose pull`
2. `docker-compose up -d`
3. `docker image prune`
## Backup e ripristino
### Backup
Usate [borg](../borg_backup) per fare i backup giornalieri dell'intera cartella `tor-socks-proxy`
### Ripristino
Per una maggiore spiegazione sui passaggi da fare, controllate [qua](../borg_backup#user-content-controllare-la-cartella-dei-backup)
1. fermare il container `docker-compose down`
2. cancellare l'intera cartella `tor-socks-proxy`
3. dal backup copiare la cartella `tor-socks-proxy`
4. far ripartire il container `docker-compose up -d`
## Todo
Implementare:
- reverse proxy: **[caddy](https://caddyserver.com/)** o **[traefik](https://doc.traefik.io/traefik/)**