eBesucher in Docker mit oder ohne VPN

  • Moin,


    ich zeige euch heute wie ihre mehrere E-Besucher Instanzen auf einem Gerät laufen lassen könnt.


    Ich nutze dafür Docker. Man benötigt den Firefox Container von jlesage.


    Diesen kann man ohne große Konfiguration mit dem folgenden Docker-Compose Code, mit der Home-IP Adresse laufen lassen.



    Dazu muss man unter FF_OPEN_URL den eigenen eBesucher Namen eintragen, und unter Volumes einen leeren Ordner angeben. Die Config wird dort automatisch erstellt.

    Nun erreicht man unter der IP Adresse des Gerätes und dem Port 5800, den Firefox Browser. Dort installiert man dann das Addon, und lässt den Container laufen.


    Wenn man jetzt noch per Cron-Job den Container einmal pro Stunde neu startet, erreicht man ± 600 Punkte. Dies kommt aber natürlich auch auf die IP an.


    Code: Crontab
    1. 0 * * * * docker restart ebesucher


    Falls man eine VPN Verbindung (in diesem Fall nur Wireguard, andere VPNs sind aber auch möglich) nutzen möchte, muss man den Code wie folgt abändern:



    Dazu benötigt man eine wg0.conf Datei. Diese kann Beispielsweise durch eine FritzBox oder jede andere Wireguard-VPN Verbindung erzeugt werden. Diese Datei muss allerdings noch bearbeitet werden. In meiner Beispiel Datei finden sich unter dem DNS Eintrag, zwei weitere Zeilen, welche manuell hinzugefügt werden müssen. Diese Zeilen erlauben, dass wir später das Web-Interface des Containers aufrufen können.

    Dort ist bei mir gerade das Subnet 192.168.178.0/24 eingetragen. Wenn ihr ein anderes Subnet habt, müsst ihr dies entsprechend ändern.


    Code: Text der zur wg0.conf Datei hinzugefügt werden muss
    1. PostUp = DROUTE=$(ip route | grep default | awk '{print $3}'); HOMENET=192.168.178.0/24; ip route add $HOMENET via $DROUTE;iptables -I OUTPUT -d $HOMENET -j ACCEPT; iptables -A OUTPUT ! -o %i -m mark ! --mark $(wg show %i fwmark) -m addrtype ! --dst-type LOCAL -j REJECT
    2. PreDown = HOMENET=192.168.178.0/24; ip route delete $HOMENET; iptables -D OUTPUT ! -o %i -m mark ! --mark $(wg show %i fwmark) -m addrtype ! --dst-type LOCAL -j REJECT; iptables -D OUTPUT -d $HOMENET -j ACCEPT


    Den Pfad zur fertigen wg0.conf Datei, müssen wir dann in der Docker Compose Datei angeben. Außerdem müssen wir wieder unseren eBesucher Namen angeben, und einen leeren Ordner für die Firefox Config eintragen.


    Wenn wir nun die IP unseres Docker Hosts und den Port 5801 aufrufen, sollte wieder ein Firefox zu sehen sein. Wenn man das eBesucher Addon installiert hat, kommt man wieder auf ca. 600 Punkte.


    Nun müssen wir nurnoch die beiden neuen Container mit in die Cron Datei setzen, und alles läuft bei mir wie geschmiert:


    Code: Crontab
    1. 5 * * * * docker restart ebesucher-vpn
    2. 0 * * * * docker restart wireguard
  • Schöne Anleitung ist sicherlich für einige sehr hilfreich :)


    Mich würde interessieren wie ich Containern bei der runtime mitteilen kann was für einen URL geöffnet werden soll.


    Oder meinetwegen auch zum Start mit sich ändernder url ohne das jedes Mal der Container neu kompiliert werden muss .

    Hast du dafür zufällig einen Tipp?

  • ErsterImChat

    Hat den Titel des Themas von „eBeschucher in Docker mit oder ohne VPN“ zu „eBesucher in Docker mit oder ohne VPN“ geändert.

  • Um Enviroment Variables zu ändern muss meines Wissens nach der Container immer neu erstellt werden. Du könntest höchstens die URL in der docker-compose.yml ändern, und dann "docker-compose up -d" ausführen.

    Dann werden nur geänderte Container neu erstellt. Wireguard würde also einfach weiterlaufen.

  • Wenn man anstatt dem Wireguard Container Gluetun nutzt, kann man so auch alle gängigen VPN Anbieter nutzen.


    Eine Docker-Compose Datei für NordVPN würde dann folgendermaßen aussehen:


    Das ganze ist im oben verlinkten Wiki aber wirklich sehr gut erklärt und ist dementsprechend nicht wirklich schwer umzusetzen.

    Außerdem ist diese Lösung deutlich Ressourcen sparender als die jetzige eBesucher VPN Lösung von @43ndr1k, da nur der Browser und die VPN ausgeführt wird. Kein zusätzliches System.


    Vielleicht wäre das dann ja auch etwas für die Script-Sammlung @Riggie1000.

  • Ich habe auf Wunsch hierzu nochmal ein Tutorial aufgenommen:



    Vergessen habe ich nur zu sagen, dass nach dem Aufsetzten der VPN, der Crontab-Code auch noch zu dem zweiten, hier aus dem Forum, geändert werden muss. Das ist aber denke ich machbar.


    Einwandfrei - super lieben Dank!


    Exakt das habe ich gesucht, mich nur bis dato noch nicht groß mit Docker auseinandergesetzt.


    Hast du ein Gefühl, wie viele Container man auf einer VM (4 Kern) laufen lassen kann, oder lässt du nur den einen laufen?


    Thanks )

  • Ich hab ein lxc (Proxmox) Container eine Docker Umgebung geschaffen und Firefox nach der Anleitung installiert den ganzen hab ich 2 cpu und 1 gb ram zugewiesen und es läuft soweit super.


    Man kann trotz Linux Betriebssystem den Firefox so aussehen lassen das es ein Windows Pc ist wenn man denn user.agenten in Firefox ändert


    Man muss wie folgendes ändern in Firefox:


    in die url oben about:config eintragen und in den Suchfeld general.useragent.override eintragen und dann auf String drücken nun kann man zb.


    Mozilla/5.0 (Windows NT 11.0; WOW64; rv:109.0) Gecko/20100101 Firefox/109.0 einfügen mit den Häkchen das nun bestätigen bei einen Neustart sollt es wirksam sein