Tor-Proxy (PI)

Einführung

Erstellen eines Docker Images basierend auf Alpine, Privoxy und Tor.

Voraussetzung

  • Raspberry Pi mit Raspbian OS
  • Docker
  • Docker-Compose

Image erstellen

Schritt 1

Erstellung einer dockerfile Datei. Lädt alpine als Basis Image. Erstellt ein Verzeichnis ‚/apps‘, wechselt in das Verzeichnis und kopiert die Dateien aus dem lokalen Unterverzeichnis ’scripts‘ in das ‚/app‘ Verzeichnis.  Installation von ‚bash‘, ‚tor‘ und ‚privoxy‘. Aufruf des Start Scripts:

FROM alpine:latest
RUN mkdir /apps
WORKDIR /apps
COPY /scripts/ .
RUN apk add --no-cache bash privoxy tor \
    && mv /etc/tor/torrc.sample  /etc/tor/torrc \
    && echo "forward-socks5 / 192.168.178.31:9050 ." >> /etc/privoxy/config \
    && sed -i 's/listen-address\s*127.0.0.1:8118/listen-address :8118/g' /etc/privoxy/config \
    && sed -i \
        -e 's/#SOCKSPort 192.168.0.1:9100/SOCKSPort 0.0.0.0:9050/g' \
        -e 's/#RunAsDaemon 1/RunAsDaemon/g' \
        /etc/tor/torrc \
    &&  echo 'User tor' >>/etc/tor/torrc \
    &&  chown -R tor /etc/tor
EXPOSE 9050 8118
CMD ["sh", "-c", "/apps/entry.sh"] 

Die Datei ‚entry.sh‘:

#!/bin/sh
chown -Rh tor. /etc/tor /var/lib/tor /var/log/tor 2>&1
/usr/bin/tor & /usr/sbin/privoxy --no-daemon /etc/privoxy/config 2>&1 
Schritt 2

Ausführen des dockerfiles (Punkt am Ende nicht vergessen):

sudo docker build -f name_dockerfile – t name_image:nummer .

Docker-compose:

version: "3"
services:
  privoxy-tor:
    image: privoxy-tor
    restart: always
    ports:
      - "8118:8118" # Privoxy
      - "9050:9050" # Tor 
Container starten:
sudo docker-compose -f name_docker_compose_file up -d

Prüfen ob Privoxy läuft:

http://192.168.178.31:8118/

Privoxy Config prüfen:

http://config.privoxy.org/show-status

Prüfen ob tor läuft:

curl –socks5 192.168.178.31:9050 https://check.torproject.org/api/ip

https://check.torproject.org/