IT - Informationstechnik

Freetz auf 7490 installieren

1. Image bauen

Das geht am komfortabelsten mit https://github.com/pfichtner/pfichtner-freetz

Dazu unter Windows 10/11 die Docker Engine nutzen und folgende Befehle ausführen

# start docker container (will start /bin/bash)
docker run --rm -it -v freetz-workspace:/workspace pfichtner/freetz
# clone (checkout) the remote repo into the current directory (only needed once/the first time)
git clone https://github.com/Freetz-NG/freetz-ng.git
# cd into the cloned repo
cd freetz-ng
# configure image
make menuconfig
# make image - on error try again
make

Abhängig davon ob es sich um einen NAND Router (7490) handelt, muss das Image noch als "In-Memory-Image" aufbereitet werden

builduser@a744b2c9009d:~/freetz-ng/tools$ ./image2inmemory
Reading /workspace/freetz-ng/images/7490_07.59.all_freetz-ng-24803-b2015be9aa_20241025-071013.image
Writing /workspace/freetz-ng/images/7490_07.59.all_freetz-ng-24803-b2015be9aa_20241025-071013.image.inmemory
Success!

Das Image kann nun aus dem Container "exportiert werden"

grafik.png

2. Image auf FritzBox hochladen

Da es sich bei der 7490 um eine NAND Version handelt, können wir das "push_firmware" tool aus dem Freetz-Docker nicht verwenden. PeterPawn hat passende PowerShell Scripte geschrieben. Folgendes Repository lokal clonen: https://github.com/PeterPawn/YourFritz

Die nachfolgenden Punkte sind eine Zusammenfassung aus folgender Quelle: https://web.archive.org/web/20190529205946/https://www.ip-forum.eu/howto-fritz-box-firmware-images-auch-unsignierte-ueber-den-bootloader-installieren-577

Bootloader (EVA) per FTP erreichen und anhalten

geschrieben Da es sich bei der 7490 um eine NAND Version handelt, können wir das "push_firmware" tool aus dem Freetz-Docker nicht verwenden. PeterPawn hat passende P

Vorbereitung

Prinzipiell gibt es mehrere Möglichkeiten den Bootloader zu erreichen. Man verbindet als allererstes einen LAN-Port der FRITZ!Box per Patch-Kabel mit dem LAN-Port des verwendeten PC/Notebook. Da der Bootloader und somit auch die LAN-Ports der FRITZ!Box nur kurz (ca. für 5s) nach dem Einschalten der FRITZ!Box aktiviert sind, kann es passieren, dass der PC/Notebook z.B. aufgrund des MediaSensing oder "Trägheit" des LAN-Ports des PC/Notebook nicht rechtzeitig Kenntnis davon nimmt, dass der LAN-Port der FRITZ!Box eingeschaltet ist. In solchen Fällen hilft z.B. der Einsatz eines einfachen Ethernet-Switches den man zwischen PC/Notebook und FRITZ!Box anschließt (also PC/Notebook <Patchkabel> Switch <Patchkabel> FRITZ!Box).

Zu beachten ist außerdem, dass der Bootloader i.d.R. auf die IP-Adresse 192.168.178.1 hört und zwar unabhängig davon, welche IPv4-Einstellungen man bei der Konfiguration im WebIf der FRITZ!Box eingestellt hat! Der Bootloader hat dbzgl. seine eigene (Vor)-Einstellung welche nicht über das WebIf der FRITZ!Box bzgl. IPv4-Einstellungen geändert werden kann!
Die IPv4-Einstellung/Adresse des Bootloader ist in der Variable "my_ipaddress" abgelegt, diese kann also z.B. auch über die Support-Daten ausgelesen werden (falls diese Einstellung z.B. mal geändert wurde, m.W.n. macht das z.B. das ruKernelTool gerne, warum auch immer).
Ich gehe davon aus, dass der Bootloader auf die IP-Adresse 192.168.178.1 reagiert. Ist dieser (siehe Support-Daten) evtl. auf eine andere IP-Adresse eingestellt sind die IP-Einstellungen und Kommandozeilen Befehle entsprechend anzupassen.

Es bietet sich also an oder ist je nach verwendeter Methode erforderlich, die IPv4-Einstellungen der verwendeten LAN-Schnittstelle des PC/Notebook (manuell, kein DHCP) entsprechend dem Bootloader einzustellen. Wenn also der Bootloader über 192.168.178.1 erreichbar ist dann bekommt der PC/Laptop eine:

4. Methode (für Windows-Systeme, mit PowerShell-Script)

Mit folgendem Kommando wechseln wir in den Ordner mit dem PowerShell-Script:

  1. Code: Alles auswählen

    cd c:\YourFritz\master\eva_tools\
    Ergebnis:

    Code: Alles auswählen

    Windows PowerShell
    Copyright (C) 2016 Microsoft Corporation. Alle Rechte vorbehalten.
    
    PS C:\Users\MaxMuster> cd c:\YourFritz\master\eva_tools\
    PS C:\YourFritz\master\eva_tools>
  2. Nun beginnt man zum Beispiel mit folgendem Befehl die Suche nach dem Bootloader der FRITZ!Box:

    Code: Alles auswählen

    .\EVA-Discover.ps1 -maxWait 120 -Debug -Verbose
  3. Innerhalb der eingestellten Wartezeit (120s / 2 Minuten) verbindet man nun die FRITZ!Box mit dem Stecker-Netzteil, nach einer Weile sollte die Box gefunden werden:

    Code: Alles auswählen

    PS C:\YourFritz\master\eva_tools> .\EVA-Discover.ps1 -maxWait 120 -Debug -Verbose
    AUSFÜHRLICH: Sending discovery packet (1) ...
    AUSFÜHRLICH: Sending discovery packet (2) ...
    AUSFÜHRLICH: Sending discovery packet (3) ...
    AUSFÜHRLICH: Sending discovery packet (4) ...
    AUSFÜHRLICH: Sending discovery packet (5) ...
    AUSFÜHRLICH: Sending discovery packet (6) ...
    AUSFÜHRLICH: Sending discovery packet (7) ...
    AUSFÜHRLICH: Sending discovery packet (8) ...
    AUSFÜHRLICH: Sending discovery packet (9) ...
    AUSFÜHRLICH: Sending discovery packet (10) ...
    AUSFÜHRLICH: Sending discovery packet (11) ...
    AUSFÜHRLICH: Sending discovery packet (12) ...
    DEBUG: Received UDP packet from 192.168.178.1:5035 ...
    AUSFÜHRLICH: Trying to connect to the FTP port to hold up the device in bootloader ...
    DEBUG: Error during FTP connection attempt ...
    EVA_IP=192.168.178.1
    True
    PS C:\YourFritz\master\eva_tools> 
  4. Nun ist der Bootloader der FRITZ!Box angehalten und hat somit alle Zeit der Welt z.B. mit einem FTP-Client oder auch mit dem PowerShell-Script "EVA-FTP-Client.ps1" auf den Bootloader der FRITZ!Box zuzugreifen.

Firmware-Image in den RAM hochladen und installieren lassen - 7490

Voraussetzung: Die Box ist bereits im Bootloader angehalten

Zu beachten ist, dass sich das in den RAM der FritzBox hochgeladene Firmware-Image üblicherweise in das gerade aktive Partitionsset schreibt (das bestimmt nicht der Bootloader sondern das verwendete Firmware-Image, also theoretisch könnte man das entsprechende Script in der Firmware dbzgl. auch abändern). Wenn man das nicht möchte also z.B. vorher die Environment-Variable "linux_fs_start" entsprechend abändern.Man startet die PowerShell (Voraussetzungen s.h. Beitrag #3), falls diese vom vorhergehenden Schritt nicht mehr offen sein sollte:

  1. Code: Alles auswählen

    Windows PowerShell
    Copyright Microsoft Corporation. Alle Rechte vorbehalten.
    
    PS C:\Users\MaxMuster>
  2. Bei Bedarf auslesen des aktiven Partitionsset (Variable "linux_fs_start") per folgendem Kommando:

    Code: Alles auswählen

    c:\YourFritz\master\eva_tools\EVA-FTP-Client.ps1 -ScriptBlock { GetEnvironmentValue linux_fs_start }
    Das Ergebnis sieht dann z.B. so aus:

    Code: Alles auswählen

    PS C:\Users\MaxMuster> c:\YourFritz\master\eva_tools\EVA-FTP-Client.ps1 -ScriptBlock { GetEnvironmentValue linux_fs_start }
    1
    PS C:\Users\MaxMuster>
  3. Den Wert der Variable linux_fs_start (hier im Beispiel "1") bei Bedarf ändern wenn man die Firmware im anderen (derzeit inaktiven) Partitionsset installieren möchte (ansonsten diesen Schritt einfach überspringen):

    Code: Alles auswählen

    c:\YourFritz\master\eva_tools\EVA-FTP-Client.ps1 -Verbose -ScriptBlock { SwitchSystem }
    In diesem Beispiel ist der aktuelle Wert 1. Das bedeutet, das Script setzt den Wert auf 0, das sieht dann so aus:

    Code: Alles auswählen

    PS C:\Users\MaxMuster> c:\YourFritz\master\eva_tools\EVA-FTP-Client.ps1 -Verbose -ScriptBlock { SwitchSystem }
    AUSFÜHRLICH: current setting - linux_fs_start=1
    AUSFÜHRLICH: new setting     - linux_fs_start=0
    AUSFÜHRLICH: new value set successfully
    True
    PS C:\Users\MaxMuster>

  4. Hochladen des In-Memory Images mit folgendem Kommando:

    Code: Alles auswählen

    c:\YourFritz\master\eva_tools\EVA-FTP-Client.ps1 -Verbose -Debug -ScriptBlock { BootDeviceFromImage c:\YourFritz\Images\firmware.image.in-memory }
    • Alternativ für die IPQ4019-Modelle (FRITZ!Box 7520, 7530 und FRITZ!Repeater 3000) mit zusätzlichem Parameter 0 (Null oder False):

      Code: Alles auswählen

      c:\YourFritz\master\eva_tools\EVA-FTP-Client.ps1 -Verbose -Debug -ScriptBlock { BootDeviceFromImage c:\YourFritz\Images\firmware.image.in-memory 0 }
      Weiteres dazu siehe Beitrag von @PeterPawn im IPPF: https://www.ip-phone-forum.de/posts/2320843/
    Nun abwarten bis das Image hochgeladen wurde.


Hinweis
Nach dem Hochladen des Image kann die PowerShell-Konsole geschlossen werden aber die Box darf noch nicht von der Stromversorgung getrennt werden!
Die Box nach dem hochladen der Firmware in den RAM eine Weile in Ruhe zu lassen (nicht die Stromzufuhr unterbrechen), es ist normal, dass die Box während des Vorganges zweimal neu startet.

3. Login

Nachdem die Fritzbox neu gebootet hat (192.168.178.1), kann man nun entweder über Port 81 oder im Webinterface über den Button auf die Freetz Oberfläche:

grafik.png

Das Standartlogin lautet:

Benutzername: root
Passwort: freetz

Synology

Alles Themen rund um die Synology

Synology

Ordner Berechtigungen

Ordner vor dem Löschen schützen

Folgende Ordner- und Dateistruktur ist vorhanden:

Demoordner
Demoordner/Datei1.pdf
Demoordner/Datei2.pdf
Demoordner/FooOrdner/
Demoordner/FooOrdner/Datei3.pdf
Demoordner/FooOrdner/Datei4.pdf

Demoordner ist eine Freigabe und FooOrdner ist der zu schützende Ordner. Sämtliche Dateien sollen gelöscht werden können.


Demoordner

Im freigegebenen/übergeordnetem Ordner Demoordner muss die Berechtigung Unterordner und Dateien löschen dem Benutzer/Gruppe entzogen werden.

grafik.png

Die Berechtigung Löschen bedeutet "Dateien löschen".

FooOrdner

Beim zu schützenden Ordner FooOrdner müssen die Berechtigungen ausschließlich gemacht werden.

grafik.png

Der eingeschlossenen Berechtigung das Löschen entziehen

grafik.png

Die Berechtigung Löschen bedeutet "Diesen Ordner löschen".

Synology

Externe Festplatte sicher löschen

Festplatte sicher löschen NAS

You:

Ich habe Festplatten die ich sicher löschen möchte. Ich hatte mal eine Software die alle Sektoren mehrfach mit 0 und 1 nacheinander beschreibt.

Da das ganze aber sehr lange dauert, würde ich es gerne von meiner Synology erledigen lassen. Ich habe ein externen Festplattengehäuse mit USB Anschluss.

ChatGPT:

Wenn du deine Festplatten sicher löschen möchtest, indem du sie mehrfach mit Daten (z. B. abwechselnd 0en und 1en) überschreibst, kannst du das auch direkt über deine Synology NAS erledigen – vorausgesetzt, sie erkennt das externe USB-Gehäuse korrekt. Hier sind deine Optionen:


🔧 Variante 1: Per SSH mit dd oder shred (wenn verfügbar)

  1. SSH aktivieren (Systemsteuerung > Terminal & SNMP > SSH-Dienst aktivieren).

  2. Mit SSH verbinden (z. B. per ssh admin@ip-der-nas).

  3. Festplatte identifizieren:

    dmesg | grep sd
    lsblk
    fdisk -l
    

    Achte auf Geräte wie /dev/sdq (für die USB-Platte).

  4. Festplatte überschreiben mit dd (1-mal mit Nullen):

    dd if=/dev/zero of=/dev/sdq bs=1M status=progress
    
  5. Optional: Überschreiben mit zufälligen Daten:

    dd if=/dev/urandom of=/dev/sdq bs=1M status=progress
    
  6. Optional: shred (wenn verfügbar, für mehrfaches Überschreiben):

    shred -v -n 3 -z /dev/sdq
    

    -n 3 = dreimaliges Überschreiben, -z = letzter Durchgang mit Nullen.

Achtung: Stelle sicher, dass du wirklich das richtige Gerät erwischst! Falsches Gerät = Datenverlust!


📦 Variante 2: DSM-Oberfläche (eingeschränkt)

DSM selbst bietet keine vollständige Löschfunktion für externe Laufwerke. Interne Volumes kannst du ggf. mit „Sicher löschen“ (Secure Erase) formatieren, aber nicht über USB angeschlossene Laufwerke.


⚠️ Wichtige Hinweise


Möchtest du wissen, wie du shred oder ähnliche Tools auf der Synology nachinstallierst?

You:

ja wie installiere ich es

ChatGPT:

Um shred oder andere Linux-Tools wie coreutils auf deiner Synology NAS zu installieren, kannst du den Paketmanager Entware verwenden. Das geht so:


Schritt-für-Schritt: shred auf Synology über Entware installieren

1. SSH-Zugang aktivieren

2. Entware installieren

Entware ist ein Paketmanager ähnlich wie apt oder brew. Die Installation hängt von deinem NAS-Modell und deiner DSM-Version ab.

Möglichkeit A: Manuell (empfohlen)
  1. Starte Synology Package Center.
  2. Aktiviere unter Einstellungen > Paketquellen „Installation von Paketen aus beliebigen Quellen“.
  3. Gehe zur Webseite: https://github.com/Entware/Entware/wiki/Install-on-Synology-NAS
  4. Dort findest du ein passendes Skript, z. B.:
    wget -O - http://bin.entware.net/aarch64-k3.10/installer/generic.sh | sh
    
    (Der genaue Befehl hängt von deiner Architektur ab — uname -a hilft.)

3. Pfad konfigurieren (falls nötig)

Nach der Installation musst du /opt/bin in den Pfad aufnehmen:

echo 'export PATH=$PATH:/opt/bin' >> ~/.profile
source ~/.profile

4. shred installieren

opkg update
opkg install coreutils-shred

Jetzt kannst du shred verwenden:

shred -v -n 3 -z /dev/sdq

❓Wie findest du deine CPU-Architektur?

Führe aus:

uname -m

Ergebnis:


Soll ich dir helfen, den richtigen Entware-Installer für dein NAS-Modell zu finden, wenn du mir das Modell oder die Architektur nennst?

You:

ipkg install coreutils-shred Unknown package 'coreutils-shred'. Collected errors:

ChatGPT:

Danke für den Hinweis! Der Fehler deutet darauf hin, dass du ipkg statt opkg verwendest – das ist typisch für ältere Systeme oder das veraltete Optware. Aktuell und empfohlen ist Entware, das opkg nutzt.


✅ So geht’s korrekt mit Entware:

🔄 Schritt 1: Alte ipkg-/Optware-Installation entfernen (falls vorhanden)

Falls du wirklich noch ipkg nutzt, solltest du das durch Entware ersetzen, da ipkg veraltet ist und viele Pakete nicht mehr verfügbar sind.


🆕 Neuinstallation von Entware (aktuell & gepflegt)

  1. CPU-Architektur prüfen:

    uname -m
    

    Beispiel-Ausgaben:

    • x86_64 → 64-Bit Intel/AMD
    • armv7l oder aarch64 → ARM-basiert (z. B. DS218, DS220 etc.)
  2. Passendes Install-Skript finden: Öffne diese Seite:
    👉 https://github.com/Entware/Entware/wiki/Install-on-Synology-NAS

  3. Installer ausführen (je nach Architektur):
    Beispiel (für aarch64 / ARM64):

    wget -O - http://bin.entware.net/aarch64-k3.10/installer/generic.sh | sh
    
  4. opkg einrichten und shred installieren:

    echo 'export PATH=$PATH:/opt/bin:/opt/sbin' >> ~/.profile
    source ~/.profile
    opkg update
    opkg install coreutils-shred
    
  5. Verwendung:

    shred -v -n 3 -z /dev/sdq
    

Wenn du magst, kannst du mir das Ergebnis von uname -m und dein NAS-Modell sagen – dann gebe ich dir exakt den passenden Install-Befehl für dein Gerät.

You:

gibt es shred auch als synology package mit oberfläche?

ChatGPT:

Leider gibt es shred oder ein vergleichbares Tool mit grafischer Oberfläche nicht als offizielles Synology-Paket im DSM-Paketzentrum. Synology bietet keine GUI-basierte Lösung zum sicheren Überschreiben externer Laufwerke an – insbesondere nicht für via USB angeschlossene Festplatten.


🔍 Alternativen mit (teilweiser) Oberfläche:

1. Secure Erase – nur für interne SSDs (über DSM)

2. Drittanbieter-Tools auf PC verwenden (GUI)

Wenn du Wert auf eine Oberfläche legst, wäre es einfacher, die Platte direkt an einen PC (Windows/Linux/macOS) anzuschließen und dort eines der folgenden Tools zu verwenden:

Tool Plattform Funktion Oberfläche
DBAN Bootbar Mehrfaches Überschreiben Nein (textbasiert)
Eraser Windows Einzelnes oder mehrfaches Löschen
Hard Disk Sentinel Windows/Linux S.M.A.R.T. + Löschen
Parted Magic Bootbar (Linux) Secure Erase, shred, dd, GUI
macOS Festplattendienstprogramm macOS Mehrfaches Löschen

3. Docker-Container auf Synology mit Web-GUI?


🧭 Fazit


Möchtest du z. B. ein bootfähiges Tool wie DBAN oder Parted Magic verwenden und brauchst eine Anleitung dazu?

You:

root@Tresor001:~# shred -v -n 3 -z /dev/sdq shred: /dev/sdq: pass 1/4 (random)... shred: /dev/sdq: pass 1/4 (random)...722MiB/3.7TiB 0% shred: /dev/sdq: pass 1/4 (random)...1.4GiB/3.7TiB 0% shred: /dev/sdq: pass 1/4 (random)...2.2GiB/3.7TiB 0% shred: /dev/sdq: pass 1/4 (random)...3.0GiB/3.7TiB 0% shred: /dev/sdq: pass 1/4 (random)...3.8GiB/3.7TiB 0% shred: /dev/sdq: pass 1/4 (random)...4.6GiB/3.7TiB 0% shred: /dev/sdq: pass 1/4 (random)...5.4GiB/3.7TiB 0% shred: /dev/sdq: pass 1/4 (random)...6.2GiB/3.7TiB 0% shred: /dev/sdq: pass 1/4 (random)...7.0GiB/3.7TiB 0% shred: /dev/sdq: pass 1/4 (random)...7.8GiB/3.7TiB 0% shred: /dev/sdq: pass 1/4 (random)...8.5GiB/3.7TiB 0% shred: /dev/sdq: pass 1/4 (random)...9.3GiB/3.7TiB 0% shred: /dev/sdq: pass 1/4 (random)...10GiB/3.7TiB 0% shred: /dev/sdq: pass 1/4 (random)...11GiB/3.7TiB 0% shred: /dev/sdq: pass 1/4 (random)...12GiB/3.7TiB 0% shred: /dev/sdq: pass 1/4 (random)...13GiB/3.7TiB 0% shred: /dev/sdq: pass 1/4 (random)...14GiB/3.7TiB 0% shred: /dev/sdq: pass 1/4 (random)...15GiB/3.7TiB 0% shred: /dev/sdq: pass 1/4 (random)...16GiB/3.7TiB 0% shred: /dev/sdq: pass 1/4 (random)...17GiB/3.7TiB 0% shred: /dev/sdq: pass 1/4 (random)...18GiB/3.7TiB 0% shred: /dev/sdq: pass 1/4 (random)...19GiB/3.7TiB 0% shred: /dev/sdq: pass 1/4 (random)...20GiB/3.7TiB 0% shred: /dev/sdq: pass 1/4 (random)...21GiB/3.7TiB 0% shred: /dev/sdq: pass 1/4 (random)...22GiB/3.7TiB 0% shred: /dev/sdq: pass 1/4 (random)...23GiB/3.7TiB 0% shred: /dev/sdq: pass 1/4 (random)...24GiB/3.7TiB 0% shred: /dev/sdq: pass 1/4 (random)...25GiB/3.7TiB 0% shred: /dev/sdq: pass 1/4 (random)...26GiB/3.7TiB 0% shred: /dev/sdq: pass 1/4 (random)...27GiB/3.7TiB 0% shred: /dev/sdq: pass 1/4 (random)...28GiB/3.7TiB 0% shred: /dev/sdq: pass 1/4 (random)...29GiB/3.7TiB 0% shred: /dev/sdq: pass 1/4 (random)...30GiB/3.7TiB 0%

Kann ich das mit screen in den Hintergrund auslagern?

ChatGPT:

Ja, absolut – du kannst shred mit screen in den Hintergrund auslagern, damit die Löschung weiterläuft, auch wenn du die SSH-Verbindung trennst. Das ist auf der Synology sehr sinnvoll bei langen Vorgängen wie dem sicheren Löschen großer Festplatten (wie deine 3.7 TiB).


✅ So nutzt du screen auf deiner Synology:

1. screen installieren (falls noch nicht vorhanden):

opkg install screen

2. Neuen Screen starten:

screen -S shred-session

Du befindest dich jetzt in einer neuen virtuellen Konsole.

3. Befehl ausführen:

shred -v -n 3 -z /dev/sdq

4. Screen trennen (ohne den Prozess zu stoppen):

Drücke:

Ctrl + A, dann D

→ Das trennt die Sitzung, shred läuft im Hintergrund weiter.

5. Später wieder verbinden:

Zeige alle laufenden Screens:

screen -ls

Wieder verbinden:

screen -r shred-session

❗Tipp: Log-Datei schreiben (optional)

Falls du den Fortschritt auch später nachvollziehen willst:

shred -v -n 3 -z /dev/sdq | tee /volume1/shred-log.txt

Möchtest du stattdessen tmux verwenden oder soll ich dir ein einfaches Script für das Löschen mit automatischem Logging schreiben?

You:

was ist tmux?

ChatGPT:

tmux ist ein moderner Terminal-Multiplexer – ähnlich wie screen, aber leistungsfähiger und flexibler. Er erlaubt dir, mehrere Shell-Sitzungen in einem einzigen Terminalfenster zu verwalten, zu teilen und dauerhaft laufen zu lassen, selbst wenn du die SSH-Verbindung trennst.


🆚 Vergleich: tmux vs. screen

Feature screen tmux
Aktiv entwickelt ❌ (veraltet)
Fenster teilen (horizontal/vertikal) ❌ (rudimentär)
Mehrere Panes gleichzeitig anzeigen
Anpassbares Layout
Scrollen mit Maus / Copy-Paste
Konfigurierbarkeit Einfach Hoch

🛠 Beispiel: shred in tmux ausführen

  1. Installieren (falls nötig):

    opkg install tmux
    
  2. Neue Session starten:

    tmux new -s shred
    
  3. Deinen Löschbefehl ausführen:

    shred -v -n 3 -z /dev/sdq
    
  4. Session trennen (ohne Abbruch): Drücke:

    Ctrl + B, dann D
    
  5. Wieder verbinden:

    tmux attach -t shred
    
  6. Offene Sessions anzeigen:

    tmux ls
    

🔒 Fazit

Wenn du nur gelegentlich eine einzelne Aufgabe wie shred laufen lässt, ist screen völlig ausreichend. Wenn du aber mehr willst (z. B. mehrere Prozesse gleichzeitig, visuelles Layout, Komfort), lohnt sich tmux.


Möchtest du tmux gleich ausprobieren oder eine kleine Cheat-Sheet-Hilfe dafür bekommen?

Synology

Neuinstallation

Ports (80/443) freigeben

Ausgelöste Aufgabe erstellen die beim Hochfahren ausgeführt wird:

grafik.png

grafik.png

#! /bin/bash

HTTP_PORT=81
HTTPS_PORT=444

sed -i "s/^\( *listen .*\)80/\1$HTTP_PORT/" /usr/syno/share/nginx/*.mustache
sed -i "s/^\( *listen .*\)443/\1$HTTPS_PORT/" /usr/syno/share/nginx/*.mustache

Service neu starten damit die Ports freigegeben werden

sudo synosystemctl restart nginx

Quelle: https://www.simplehomelab.com/free-ports-80-and-443-on-synology/

Die Synology 1x komplett neu starten, da nicht alle Ports gelöst wurden

Portainer installieren

Neues Netzwerk anlegen

docker network create --label com.docker.compose.network=default traefik

version: '2'
services:
  portainer:
    image: portainer/portainer-ce
    container_name: portainer
    labels:
    - com.centurylinklabs.watchtower.enable=true
    - traefik.enable=true
    - traefik.http.routers.portainer.rule=Host(`portainer.lindtal-server.schulen-freudenberg.de`)
    - traefik.http.routers.portainer.entrypoints=web
    - traefik.http.routers.portainer.middlewares=portainer-redirect-websecure
    - traefik.http.routers.portainer.entrypoints=websecure
    - traefik.http.routers.portainer.tls.certresolver=allinkl
    - traefik.http.middlewares.portainer-redirect-websecure.redirectscheme.scheme=https
    - traefik.http.services.portainer.loadbalancer.server.port=9000
    - traefik.docker.network=traefik
    environment:
      - TZ=Europe/Berlin
    volumes:
      - /volume1/docker/portainer/data:/data
      - /var/run/docker.sock:/var/run/docker.sock:ro
    ports:
      - 8000:8000
      - 9000:9000
    restart: unless-stopped
    #network_mode: bridge
    networks:
      - traefik
networks:
  traefik:
    external: true

Traefik installieren

docker-compose.yml

services:
  traefik:
    image: traefik:v3.4
    container_name: traefik
    environment:
      - IONOS_API_KEY=123.456
    volumes:
      - /volume1/docker/traefik/letsencrypt:/letsencrypt
      - /volume1/docker/traefik/config:/etc/traefik
      - /var/run/docker.sock:/var/run/docker.sock
    ports:
      - 80:80
      - 443:443
      - 32789:8080
    restart: unless-stopped
    healthcheck:
      test: ["CMD", "traefik", "healthcheck"]
      interval: 30s
      timeout: 5s
      retries: 3
    networks:
      - traefik
  whoami:
    image: "traefik/whoami"
    container_name: "simple-service"
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.whoami.rule=Host(`whoami.localhost`)"
      - "traefik.http.routers.whoami.entrypoints=web"
    networks:
      - traefik      
networks:
  traefik:
    external: true

traefik.yml und rules.yml anlegen

Synology

Self-Service-Password Installation

Neuen  Benutzer Anlegen

Eine neuen Benutzer service.ssp anlegen und diese der admin und Directory Operators Gruppe hinzufügen.

Verbindungstest

Bei Verbindungsproblemen kann man mittels ldapsearch versuchen sich zum Server zu verbinden:

ldapsearch & nano installieren
apt-get update \
    && apt-get install -y --no-install-recommends ldap-utils nano \
    && rm -rf /var/lib/apt/lists/*

ldapsearch mit ssl

ldapsearch -x -H 'ldaps://ldap.schulen-freudenberg.de' -D 'CN=service.login,OU=IT admins,OU=Services,DC=ldap,DC=schulen-freudenberg,DC=de' -W -b 'DC=ldap,DC=schulen-freudenberg,DC=de' -LLL -d -1

ldapsaerch ohne ssl

ldapsearch -x -H 'ldap://ldap.schulen-freudenberg.de' -D 'CN=service.login,OU=IT admins,OU=Services,DC=ldap,DC=schulen-freudenberg,DC=de' -W -b 'DC=ldap,DC=schulen-freudenberg,DC=de' -LLL -d -1

Synology

LDAP Installation

📜 Zertifikat mit ACME automatisch installieren & verwalten (Docker, Synology, All-Inkl)

🔗 Offizielles Projekt:
👉 acme.sh – GitHub


🐳 Docker Container

version: "2.1"
services:
  acme.sh:
    image: neilpang/acme.sh
    container_name: tool-acme.sh
    environment:
      - PUID=1026         # Benutzer-ID (z. B. acme user)
      - PGID=100          # Gruppen-ID
      - TZ=Europe/Berlin
      - UMASK_SET=002
    network_mode: host
    volumes:
      - /volume3/docker/acme/config:/acme.sh   # persistente Konfiguration
      - /volume3/docker/acme/key:/key          # optionale Schlüsselablage
    command: daemon
    restart: unless-stopped

🔐 DSM-Zugangsdaten setzen (für Deployment auf Synology)

👉 Anleitung: Synology NAS Guide (acme.sh)

Im Container:

export SYNO_USERNAME=adminUser
export SYNO_PASSWORD=adminPassword
export SYNO_SCHEME=https
export SYNO_HOSTNAME=dsm.familie-jonas.bayern
export SYNO_PORT=5001
export SYNO_CREATE=1

🔔 Benachrichtigung per Pushover aktivieren

👉 Pushover Notify-Hook Doku

1. Zugangsdaten exportieren:

export PUSHOVER_TOKEN=your_token
export PUSHOVER_USER=your_user_key

2. Notify-Hook aktivieren:

acme.sh --set-notify --notify-hook pushover --notify-level 3
--notify-level Bedeutungen:
Level Beschreibung
0 Deaktiviert
1 Nur bei Fehlern
2 Bei erfolgreicher Erneuerung oder Fehler
3 Immer (auch wenn Zertifikat übersprungen wurde)

💡 Hinweis: Nach erfolgreichem Test mit --notify-level 3 ggf. auf --notify-level 2 reduzieren.


🌐 DNS API (All-Inkl)

👉 Doku: dns_kas

export KAS_Login=<ACCOUNTID>
export KAS_Authdata=<PLAINTEXTPASSWORD>
export KAS_Authtype=plain

🧪 Zertifikat manuell testen

Zertifikat erstellen:

acme.sh --issue -d ldap.familie-jonas.bayern --dns dns_kas --keylength 2048 --server letsencrypt

🛑 Hinweis:
Ohne --keylength erstellt acme.sh standardmäßig ein ECC-Zertifikat.
Die Angabe --keylength 2048 erzwingt ein RSA-Zertifikat, das besser kompatibel ist – z. B. mit Synology DSM.


Zertifikat deployen:

acme.sh --deploy -d ldap.familie-jonas.bayern --deploy-hook synology_dsm

⚙️ Automatische Erneuerung (Cronjob im Container)

Interner Cronjob aktivieren:

acme.sh --install-cronjob

➡️ Dieser läuft alle 24h automatisch im Container (sofern command: daemon im Docker aktiv ist)

Manuell testen:

acme.sh --cron
Beispielausgabe:
[Wed Aug  6 09:59:57 CEST 2025] ===Starting cron===
[Wed Aug  6 09:59:57 CEST 2025] Already up to date!
[Wed Aug  6 09:59:57 CEST 2025] Automatically upgraded to: 3.1.2
[Wed Aug  6 09:59:57 CEST 2025] Renewing: 'ldap.familie-jonas.bayern'
[Wed Aug  6 09:59:57 CEST 2025] Skipping. Next renewal time is: 2025-10-04T07:27:23Z
[Wed Aug  6 09:59:57 CEST 2025] Add '--force' to force renewal.
[Wed Aug  6 09:59:57 CEST 2025] Skipped ldap.familie-jonas.bayern
[Wed Aug  6 09:59:57 CEST 2025] Sending via: pushover
[Wed Aug  6 09:59:59 CEST 2025] PUSHOVER send success.
[Wed Aug  6 09:59:59 CEST 2025] pushover Success
[Wed Aug  6 09:59:59 CEST 2025] ===End cron===

🧩 Optional: Alles als Shell-Skript zusammenführen

#!/bin/bash

# Konfiguration setzen
export SYNO_USERNAME=adminUser
export SYNO_PASSWORD=adminPassword
export SYNO_SCHEME=https
export SYNO_HOSTNAME=dsm.familie-jonas.bayern
export SYNO_PORT=5001
export SYNO_CREATE=1

export KAS_Login=<ACCOUNTID>
export KAS_Authdata=<PLAINTEXTPASSWORD>
export KAS_Authtype=plain

export PUSHOVER_TOKEN=your_token
export PUSHOVER_USER=your_user_key

# Zertifikat ausstellen + deployen
acme.sh --issue -d ldap.familie-jonas.bayern --dns dns_kas --keylength 2048 --server letsencrypt --force
acme.sh --deploy -d ldap.familie-jonas.bayern --deploy-hook synology_dsm

📁 Dieses Skript kann auch über den DSM-Aufgabenplaner regelmäßig (oder auch einmalig zum Anlegen der Konfiguration) ausgeführt werden – alternativ zur Docker-internen Automatik.

Nextcloud

Nextcloud

Standardkonfiguration der App „Fotos“

Standartmäßig durchsucht die Photos app den Photos Ordner. Es gibt auch keinen globalen Konfigurationseintrag der dies ändert. Um dennoch alle Dateien in der Fotos App anzuzeigen oder den Ordner entsprechend anzupassen ist folgender Befehl pro User auszuführen:

occ user:setting <user> photos photosSourceFolders ['"/"']

<user> ist dabei die <uid>. Diese kann durch folgenden Befehl ausgegeben werden

occ user:list

Nextcloud

Ordner und Dateien auf Laufwerksebene in Nextcloud hinzufügen

Die entsprechenden Dateien/Ordner in das Benutzerverzeichnis kopieren

./nextcloud/nextcloud-data/<user>/files/<folder>

Benutzer auslesen (Da diese über LDAP angebunden sind)

occ user:list
root@af7dd379c5ef:/# occ user:list
  - 12345678-1234-1234-1234-012345678987: Dominic

Anschließend scan manuel für neuen Ordner durchführen

root@af7dd379c5ef:/data# occ files:scan --path="12345678-1234-1234-1234-012345678987/files/Privat"
Starting scan for user 1 out of 1 (12345678-1234-1234-1234-012345678987)
+---------+-------+-----+---------+---------+--------+--------------+
| Folders | Files | New | Updated | Removed | Errors | Elapsed time |
+---------+-------+-----+---------+---------+--------+--------------+
| 4992    | 32040 | 0   | 37032   | 0       | 0      | 00:01:37     |
+---------+-------+-----+---------+---------+--------+--------------+

 

Outlook

Ordnernamen auf Deutsch (Sent, Drafts ..)

Bei diversen Providern (z.B. Hetzner) sind die Ordner auf dem Mailserver in Englisch abgelegt. Mit folgenden Befehl werden diese in die Anzeigesprache (deutsch) übersetzt:

outlook.exe /ResetFolderNames

Wichtig: Sowohl das Konto, also auch die Datendatei muss als Standard markiert sein.

Gelöschte Elemente bei der Suche einschließen

Optionen -> Suche - "Gelöschte Elemente bei Suche mit einbeziehen"

grafik.png

Signatur übertragen

Die Signaturen liegen standardmäßig in diesem Ordner:

%APPDATA%\Microsoft\Signatures

Dort findest du für jede Signatur drei Dateien (HTML, RTF, TXT) plus einen Ordner mit denselben Namen für Bilder oder Logos.

CalDav Synchronizer

grafik.png

Damit die Profile importiert werden können, muss zuvor eine neue Gruppe Nextcloud erstellt werden.

Anschliend einen Dummy Kalendar (z.B. Schulferien 2014 abonnieren / https://www.schulferien.org/deutschland/ical/) damit die entsprechender Untergruppe angelegt wird.

 

 

Nun kann im CalDac Synchronizer die entsprechenden Kalendergruppen erstellen und zugeordnet werden.

grafik.png

grafik.png

grafik.png

Schriftarten

NerdFonts.com

https://github.com/ryanoasis/nerd-fonts

choco install firacodenf -y

 

nerdfonts.png

 

 

Netzwerk

IP-Adressen

IP-Adresse Hostname Gerät
10.10.5.1 FritzBox 7490



10.10.5.10 Repeater-1750E-UG-Treppenhaus AVM FRITZ!WLAN Repeater 1750E
10.10.5.11 Repeater-1750E-OG-Gang AVM FRITZ!WLAN Repeater 1750E
10.10.5.12 Repeater-1750E-EG-Gang AVM FRITZ!WLAN Repeater 1750E
10.10.5.13 Repeater-1750E-EG-Wintergarten AVM FRITZ!WLAN Repeater 1750E
10.10.5.14 Repeater-1750E-UG-Wohnzimmer AVM FRITZ!WLAN Repeater 1750E
10.10.5.15 RPT-Diele-DAP-2610 Netgear DAP-2610



10.10.5.20 Fronius-GEN24-12kW Fronius Wechselrichter GEN24 12kW
10.10.5.21 Fronius-Symo-5.0-3-M Fronius Wechselrichter Symo 5.0-3-M



10.10.5.30 Drucker-MFC-9332CDW Brother MFC-9332CDW



10.10.5.100 Tresor001 Synology DiskStation DS918+



10.10.5.200 DHCP Start
...

10.10.5.240 DHCP Ende

Youtube Premium

Wenn man seinem Account zum Beispiel zu einer nigerianischen Familie hinzufügen möchte

Must Read! Please send your gmail, We will invite you. This is a Nigeria family, Includes Youtbe Premium and Youtube Music. If your account is not Nigeria, you must make changes.The following changes will be made to your account which may affect your use. By placing an order, you are indicating your approval.
1:Leave the old family group here:
https://myaccount.google.com/family/details
2:Open: https://payments.google.com/gp/w/home/settings ,scroll to the bottom,close all payment profiles.
If you have multiple payment profiles, you'll need to repeat this process until all of them are closed.
3:Close all payment profiles and open https://payments.google.com/gp/w/home/settings again. If the page does not look like the image below, you have made a mistake in the first step, so please close all payment profiles again.
4:Click Add a payment method, The country must choose Nigeria. Address line 1: Fill in random numbers, City:Abia, State:Abia, ZIP code:450225
5:After successfully add the Nigeria payment profile, open https://payments.google.com/gp/w/home/settings again and confirm that there is only the Nigeria payment profile and no payment profiles for other countries.
6:Check the invitation email to join the family.
If prompt: You can only switch family groups once in a 12-month period
Solution: Give me a new Gmail that has never been in the family.
If there is an issue with the en route family group, we will reorganize the family group and you may need to change your Gmail.

E-Mail-Postfächer Migration/Synchronisierung mit IMAPSync unter Ubuntu (WSL2 geeignet)

Im Blogpost von Claudio Kuenzler wird imapsync als robustes CLI-Werkzeug vorgestellt, um IMAP-Postfächer verlustfrei zu migrieren bzw. zu sichern. Der Artikel zeigt:

Quelle: https://www.claudiokuenzler.com/blog/1038/email-migration-transfer-sync-using-imap-mailbox-imapsync

Vorbereitung (Passwortdateien sicher anlegen)

Ziel: ionos.pw und hetzner.pw mit je nur der Passphrase in Zeile 1, restriktive Rechte.

# Create secrets dir with strict permissions
mkdir -p ~/secrets
chmod 700 ~/secrets

# Create ionos password file securely
nano ~/secrets/ionos.pw
# Paste the IONOS password on line 1, save & exit (Ctrl+O, Enter, Ctrl+X)

# Create hetzner password file if not already present
nano ~/secrets/hetzner.pw
# Paste the Hetzner password on line 1, save & exit

# Restrict file permissions
chmod 600 ~/secrets/ionos.pw ~/secrets/hetzner.pw

Warum Passfile? --passfile1/2 vermeidet Klartext-Passwörter in der Prozessliste/History. (Siehe imapsync-README zu --passfile1/--passfile2.) GitHub


Optional: Installation/Update auf die neueste Version

Variante A (Debian/Ubuntu, empfohlen):

# Download the latest Debian package listed in the official dist2 index
cd /tmp
wget https://imapsync.lamiral.info/dist2/imapsync-2.309.deb
sudo apt install ./imapsync-2.309.deb

https://imapsync.lamiral.info/dist2/

Variante B (Universell, Tarball/Source):

# Get the current tarball release
cd ~/build && mkdir -p imapsync && cd imapsync
wget https://imapsync.lamiral.info/dist2/imapsync-2.290.tgz
tar xzf imapsync-2.290.tgz
# The executable script is ./imapsync inside the extracted folder

https://imapsync.lamiral.info/dist2/

Angefügt ist ebenfalls die zuletzt verwendete Version: imapsync-imapsync-2.229.tar.gz

Hinweis zu Perl-Modulen: Falls Abhängigkeiten fehlen, siehe INSTALL/TUTORIAL der offiziellen Doku.

https://imapsync.lamiral.info/INSTALL?utm_source=chatgpt.com


Dry-Run (sichere Simulation, keine Änderungen)

# DRY RUN: simulate IONOS -> Hetzner migration without transferring messages
./imapsync \
  --dry \
  --host1 imap.ionos.com --user1 'info@Schule-Freudenberg.de' --passfile1 ~/secrets/ionos.pw --ssl1 \
  --host2 mail.your-server.de --user2 'kontakt@Schule-Freudenberg.de' --passfile2 ~/secrets/hetzner.pw --ssl2 \
  --automap \
  --useuid \
  --syncinternaldates \
  --addheader \
  --exclude '(?i)spam|trash|junk' \
  --logfile ~/imapsync_ionos_to_hetzner_dry.log

Produktivlauf (tatsächliche Migration)

# REAL RUN: perform IONOS -> Hetzner migration
./imapsync \
  --host1 imap.ionos.com --user1 'info@Schule-Freudenberg.de' --passfile1 ~/secrets/ionos.pw --ssl1 \
  --host2 mail.your-server.de --user2 'kontakt@Schule-Freudenberg.de' --passfile2 ~/secrets/hetzner.pw --ssl2 \
  --automap \
  --useuid \
  --syncinternaldates \
  --addheader \
  --exclude '(?i)spam|trash|junk' \
  --logfile ~/imapsync_ionos_to_hetzner.log

Tipp: Wer zusätzlich nur die Ordner-Zuordnung prüfen will, kann einmalig --automap --justautomap testen (ohne Nachrichtenübertrag). https://imapsync.lamiral.info/S/news.shtml?utm_source=chatgpt.com


Ergebnisse prüfen & typische Hinweise

MobaXterm mit 1Password SSH-Agent nutzen

Schritt A – 1Password als SSH-Agent aktivieren (einmalig)

  1. In 1Password → Settings → DeveloperSet up SSH Agent aktivieren.
    Optional: „Keep 1Password in the notification area“ einschalten, damit der Agent im Tray weiterläuft. developer.1password.com

  2. 1Password bindet dann den System-Pipe \\.\pipe\openssh-ssh-agent. Der Windows-OpenSSH-Dienst sollte nicht parallel laufen (falls vorhanden in services.msc stoppen/deaktivieren), damit 1Password den Pipe exklusiv belegt. developer.1password.com

  3. Wichtig: Auf Windows gilt keine IdentityAgent-Pfadwahl wie unter macOS/Linux – OpenSSH lauscht immer auf diesem festen Pipe, und 1Password autentifiziert dann für alle Hosts. developer.1password.com

Damit VisualStudio und GIT funkioniert muss der SSH Client noch gesetzt werden: https://developer.1password.com/docs/ssh/get-started/#step-4-configure-your-ssh-or-git-client

git config --global core.sshCommand "C:/Windows/System32/OpenSSH/ssh.exe"

Weg 1 – (Neuere) MobaXterm-Version direkt mit dem OpenSSH-Agent koppeln

  1. Update auf eine aktuelle MobaXterm-Version. In neueren Releases gibt es die INI-Option
    UseOriginalSshAgent=1 (Sektion [SSH]), die den OpenSSH-Agent statt Pageant nutzt. Die INI liegt üblicherweise in Dokumente\MobaXterm\MobaXterm.ini. mobaxterm.mobatek.netblog.mobatek.net
    Falls die Datei woanders liegt: siehe Doku/Blog der Entwickler. mobaxterm.mobatek.net

  2. In MobaXterm unter Settings → Configuration → SSH die Option Use Pageant aktivieren (die INI-Schalter sorgt dann dafür, dass genau an dieser Stelle der OpenSSH-Agent verwendet wird – kein Pageant). MobaXterm neu starten. mobaxterm.mobatek.net

  3. Beim ersten Verbindungsaufbau erscheint eine 1Password-Freigabe-Abfrage (Windows Hello/Passwort). Danach läuft’s bis 1Password sperrt. developer.1password.com

Warum das funktioniert: 1Password ersetzt den Windows-OpenSSH-Agent am festen Pipe. Wenn MobaXterm statt Pageant den OpenSSH-Agent nutzt, landen die Anfragen automatisch bei 1Password. developer.1password.com

Weg 2 – (Kompatibel mit allen MobaXterm-Versionen) Bridge winssh-pageant

Wenn Dein MobaXterm die OpenSSH-Agent-Anbindung nicht hat, nimm eine Bridge, die Pageant-Requests → Windows-OpenSSH-Agent weiterleitet:

  1. winssh-pageant installieren/starten (z. B. per winget install winssh-pageant oder MSI). Es legt einen Autostart „WinSSH-Pageant Bridge“ an. GitHub

  2. In MobaXterm Settings → Configuration → SSH die Option Use external SSH agent (Pageant) aktivieren. Jetzt spricht MobaXterm Pageant – die Bridge leitet transparent auf den OpenSSH-Pipe (und damit 1Password) durch. mobaxterm.mobatek.netGitHub

PC - Neuinstallation

Windows Audit-Mode

Über folgende Tastenkombination gelangt man dorthin: STRG+UMSCHALT+F3

Nachfolgend sämtliche choco packages

choco install 7zip.install -y
choco install git -y
choco install vscode -y
choco install tortoisegit -y
choco install vlc -y
choco install sysinternals -y
choco install filezilla -y
choco install gimp -y
choco install deezer -y
choco install altair-graphql -y
choco install mobaxterm -y
choco install choco-cleaner -y
choco install greenshot -y
choco install irfanview -y
choco install itunes -y
choco install pdf24 -y
choco install powertoys -y
choco install sentinel -y
choco install sqlitebrowser -y
choco install sql-server-management-studio -y
choco install winmerge -y
choco install drawio -y
choco install yed -y
choco install advanced-renamer -y
choco install angryip -y
choco install cdburnerxp -y
choco install outlookcaldav -y
choco install crystaldiskinfo -y
choco install docker-desktop -y
choco install hwinfo -y
choco install obsidian -y
choco install plex -y
choco install plexamp -y
choco install tightvnc -y
choco install screentogif -y
choco install signal -y
choco install steam -y
choco install virtualclonedrive -y

 

SolidWorks

SolidWorks 2023 in VMware – Performance & Hardware Acceleration Fix

Problem:

Lösung (Registry Hack):

  1. Öffne regedit in der VM.
  2. Navigiere zu:
HKEY_CURRENT_USER\SOFTWARE\Solidworks\AllowList\VMware, Inc
  1. Setze den Wert:

Workarounds = 9

Hinweis: