# IT - Informationstechnik

# Freetz auf 7490 installieren

#### 1. Image bauen

Das geht am komfortabelsten mit [https://github.com/pfichtner/pfichtner-freetz](https://github.com/pfichtner/pfichtner-freetz)

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

```shell
# 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

```shell
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](https://bookstack.familie-boexler.de/uploads/images/gallery/2024-10/scaled-1680-/grafik.png)](https://bookstack.familie-boexler.de/uploads/images/gallery/2024-10/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](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**](https://web.archive.org/web/20190529205946/https://www.ip-forum.eu/howto-fritz-box-firmware-images-auch-unsignierte-ueber-den-bootloader-installieren-577)

<span style="font-size: 125%; line-height: normal;"><span style="font-weight: bold;"><span style="text-decoration: underline;">Bootloader (EVA) per FTP erreichen und anhalten  
</span></span></span>

<span style="font-size: 125%; line-height: normal;">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</span>

<p class="callout info"><span style="font-weight: bold;"><span style="text-decoration: underline;">Vorbereitung</span></span>  
  
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 <span style="font-style: italic;">&lt;Patchkabel&gt;</span> Switch <span style="font-style: italic;">&lt;Patchkabel&gt;</span> FRITZ!Box).  
  
Zu beachten ist außerdem, dass der Bootloader i.d.R. auf die IP-Adresse 192.168.178.1 hört <span style="font-weight: bold;">und zwar unabhängig davon, welche IPv4-Einstellungen man bei der Konfiguration im WebIf der FRITZ!Box eingestellt hat</span>! Der Bootloader hat dbzgl. seine <span style="font-weight: bold;">eigene</span> (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:</p>

- IPv4-Adresse zwischen 192.168.178.2-254,
- als Subnetzmaske bietet sich 255.255.255.0 an und
- als Gateway kann 192.168.178.1 eingetragen werden (darauf kann auch verzichtet werden wenn man z.B. in den erweiterten Einstellungen dieses Subnetz zusätzlich anlegt).

<span style="text-decoration: underline;"><span style="font-weight: bold;">4. Methode</span> (für Windows-Systeme, mit PowerShell-Script)</span>

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

1. Code: [Alles auswählen](https://web.archive.org/web/20190529205946/https://www.ip-forum.eu/howto-fritz-box-firmware-images-auch-unsignierte-ueber-den-bootloader-installieren-577)
    
    ```
    cd c:\YourFritz\master\eva_tools\
    ```
    
    Ergebnis: Code: [Alles auswählen](https://web.archive.org/web/20190529205946/https://www.ip-forum.eu/howto-fritz-box-firmware-images-auch-unsignierte-ueber-den-bootloader-installieren-577)
    
    ```
    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 <span style="text-decoration: underline;">zum Beispiel</span> mit folgendem Befehl die Suche nach dem Bootloader der FRITZ!Box: Code: [Alles auswählen](https://web.archive.org/web/20190529205946/https://www.ip-forum.eu/howto-fritz-box-firmware-images-auch-unsignierte-ueber-den-bootloader-installieren-577)
    
    ```
    .\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](https://web.archive.org/web/20190529205946/https://www.ip-forum.eu/howto-fritz-box-firmware-images-auch-unsignierte-ueber-den-bootloader-installieren-577)
    
    ```
    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.

<span style="font-size: 125%; line-height: normal;"><span style="font-weight: bold;"><span style="text-decoration: underline;">Firmware-Image in den RAM hochladen und installieren lassen - 7490</span></span></span>  
  
**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](https://web.archive.org/web/20190529205946/https://www.ip-forum.eu/howto-fritz-box-firmware-images-auch-unsignierte-ueber-den-bootloader-installieren-577)
    
    ```
    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](https://web.archive.org/web/20190529205946/https://www.ip-forum.eu/howto-fritz-box-firmware-images-auch-unsignierte-ueber-den-bootloader-installieren-577)
    
    ```
    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](https://web.archive.org/web/20190529205946/https://www.ip-forum.eu/howto-fritz-box-firmware-images-auch-unsignierte-ueber-den-bootloader-installieren-577)
    
    ```
    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 <span style="font-style: italic;">linux\_fs\_start</span> (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](https://web.archive.org/web/20190529205946/https://www.ip-forum.eu/howto-fritz-box-firmware-images-auch-unsignierte-ueber-den-bootloader-installieren-577)
    
    ```
    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](https://web.archive.org/web/20190529205946/https://www.ip-forum.eu/howto-fritz-box-firmware-images-auch-unsignierte-ueber-den-bootloader-installieren-577)
    
    ```
    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](https://web.archive.org/web/20190529205946/https://www.ip-forum.eu/howto-fritz-box-firmware-images-auch-unsignierte-ueber-den-bootloader-installieren-577)
    
    ```
    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](https://web.archive.org/web/20190529205946/https://www.ip-forum.eu/howto-fritz-box-firmware-images-auch-unsignierte-ueber-den-bootloader-installieren-577)
        
        ```
        c:\YourFritz\master\eva_tools\EVA-FTP-Client.ps1 -Verbose -Debug -ScriptBlock { BootDeviceFromImage c:\YourFritz\Images\firmware.image.in-memory 0 }
        ```
        
        <span style="font-size: 85%; line-height: normal;">Weiteres dazu siehe Beitrag von @PeterPawn im IPPF: [https://www.ip-phone-forum.de/posts/2320843/](https://web.archive.org/web/20190529205946/https://www.ip-phone-forum.de/posts/2320843/)</span>
    
    Nun abwarten bis das Image hochgeladen wurde.

<p class="callout danger">  
<span class="glow" style="display: inline; padding: 0 6px; color: #fff; text-shadow: 0 0 1em red,0 0 1em red,0 0 1.2em red;"><span style="text-decoration: underline;"><span style="font-weight: bold;">Hinweis</span></span></span>  
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.</p>

#### 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](https://bookstack.familie-boexler.de/uploads/images/gallery/2024-10/scaled-1680-/Rnografik.png)](https://bookstack.familie-boexler.de/uploads/images/gallery/2024-10/Rnografik.png)

Das Standartlogin lautet:

**Benutzername:** root  
**Passwort:** freetz

# Synology

Alles Themen rund um die Synology

# Ordner Berechtigungen

### <span style="text-decoration: underline;">Ordner vor dem Löschen schützen</span>

Folgende Ordner- und Dateistruktur ist vorhanden:

```shell
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](https://bookstack.familie-boexler.de/uploads/images/gallery/2025-02/scaled-1680-/grafik.png)](https://bookstack.familie-boexler.de/uploads/images/gallery/2025-02/grafik.png)

<p class="callout info">Die Berechtigung `<strong>Löschen</strong>` bedeutet "Dateien löschen".</p>

#### FooOrdner

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

[![grafik.png](https://bookstack.familie-boexler.de/uploads/images/gallery/2025-02/scaled-1680-/zt8grafik.png)](https://bookstack.familie-boexler.de/uploads/images/gallery/2025-02/zt8grafik.png)

Der eingeschlossenen Berechtigung das `Löschen` entziehen

[![grafik.png](https://bookstack.familie-boexler.de/uploads/images/gallery/2025-02/scaled-1680-/PcTgrafik.png)](https://bookstack.familie-boexler.de/uploads/images/gallery/2025-02/PcTgrafik.png)

<p class="callout info">Die Berechtigung `<strong>Löschen</strong>` bedeutet "Diesen Ordner löschen".</p>

# 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**:
   ```bash
   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):**
   ```bash
   dd if=/dev/zero of=/dev/sdq bs=1M status=progress
   ```

5. **Optional: Überschreiben mit zufälligen Daten:**
   ```bash
   dd if=/dev/urandom of=/dev/sdq bs=1M status=progress
   ```

6. **Optional: `shred` (wenn verfügbar, für mehrfaches Überschreiben):**
   ```bash
   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

- Der `dd`-Befehl ist zwar einfach, aber **zeitintensiv**, vor allem bei großen Laufwerken.
- Die Nutzung von `shred` ist effektiver, aber ggf. **nicht standardmäßig auf DSM vorhanden** (du müsstest `shred` per `ipkg` oder `Entware` installieren).
- Ein einfacher `dd` mit `/dev/zero` oder `/dev/urandom` reicht oft aus, insbesondere bei SSDs und nicht-geheimen Daten.

---

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**

- Öffne DSM:\
  `Systemsteuerung > Terminal & SNMP > SSH-Dienst aktivieren`
- Dann per SSH verbinden:
  ```bash
  ssh admin@<IP-deiner-NAS>
  ```

#### 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.:
   ```bash
   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:

```bash
echo 'export PATH=$PATH:/opt/bin' >> ~/.profile
source ~/.profile
```

#### 4. **`shred` installieren**

```bash
opkg update
opkg install coreutils-shred
```

> Jetzt kannst du `shred` verwenden:

```bash
shred -v -n 3 -z /dev/sdq
```

---

### ❓Wie findest du deine CPU-Architektur?

Führe aus:

```bash
uname -m
```

Ergebnis:

- `x86_64` → PC-Architektur
- `armv7l` oder `aarch64` → ARM, je nach Modell

---

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:
 * opkg_install_cmd: Cannot install package coreutils-shred.

#### 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:**
   ```bash
   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):
   ```bash
   wget -O - http://bin.entware.net/aarch64-k3.10/installer/generic.sh | sh
   ```

4. **`opkg` einrichten und `shred` installieren:**
   ```bash
   echo 'export PATH=$PATH:/opt/bin:/opt/sbin' >> ~/.profile
   source ~/.profile
   opkg update
   opkg install coreutils-shred
   ```

5. **Verwendung:**
   ```bash
   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)**

- DSM unterstützt Secure Erase **nur für bestimmte interne SSDs**, **nicht** für USB-Platten.
- Zu finden unter:\
  `Speicher-Manager > HDD/SSD > Aktion > SSD sicher löschen`\
  *(nur sichtbar, wenn SSD unterstützt wird)*

#### 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?**

- Du **könntest theoretisch ein Linux-basiertes Tool wie `shred` in einem Docker-Container installieren**, aber auch hier hättest du **keine intuitive GUI**, außer du setzt manuell eine Weboberfläche auf.

---

### 🧭 Fazit

- **DSM selbst bietet keine GUI-Lösung für sicheres Löschen externer Laufwerke.**
- Die einfachste Lösung mit GUI ist, die Festplatte an einen Windows- oder Linux-PC anzuschließen und dort ein passendes Tool zu nutzen.

---

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):**

```bash
opkg install screen
```

#### 2. **Neuen Screen starten:**

```bash
screen -S shred-session
```

Du befindest dich jetzt in einer neuen virtuellen Konsole.

#### 3. **Befehl ausführen:**

```bash
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:

```bash
screen -ls
```

Wieder verbinden:

```bash
screen -r shred-session
```

---

### ❗Tipp: Log-Datei schreiben (optional)

Falls du den Fortschritt auch später nachvollziehen willst:

```bash
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):**
   ```bash
   opkg install tmux
   ```

2. **Neue Session starten:**
   ```bash
   tmux new -s shred
   ```

3. **Deinen Löschbefehl ausführen:**
   ```bash
   shred -v -n 3 -z /dev/sdq
   ```

4. **Session trennen (ohne Abbruch):**
   Drücke:
   ```
   Ctrl + B, dann D
   ```

5. **Wieder verbinden:**
   ```bash
   tmux attach -t shred
   ```

6. **Offene Sessions anzeigen:**
   ```bash
   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?

# Neuinstallation

## Ports (80/443) freigeben

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

[![grafik.png](https://bookstack.familie-boexler.de/uploads/images/gallery/2025-07/scaled-1680-/uD9grafik.png)](https://bookstack.familie-boexler.de/uploads/images/gallery/2025-07/uD9grafik.png)

[![grafik.png](https://bookstack.familie-boexler.de/uploads/images/gallery/2025-07/scaled-1680-/m8Tgrafik.png)](https://bookstack.familie-boexler.de/uploads/images/gallery/2025-07/m8Tgrafik.png)

```bash
#! /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

```bash
sudo synosystemctl restart nginx
```

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

<p class="callout info">Die Synology 1x komplett neu starten, da nicht alle Ports gelöst wurden</p>

## Portainer installieren

Neues Netzwerk anlegen

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

```yaml
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

```yaml
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

# 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 &amp; nano installieren

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

ldapsearch mit ssl

```bash
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

```bash
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

```

# LDAP Installation

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

🔗 Offizielles Projekt:  
👉 [acme.sh – GitHub](https://github.com/acmesh-official/acme.sh)

---

### 🐳 Docker Container

```yaml
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)](https://github.com/acmesh-official/acme.sh/wiki/Synology-NAS-Guide)

Im Container:

```bash
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](https://github.com/acmesh-official/acme.sh/wiki/notify)

#### 1. Zugangsdaten exportieren:

```bash
export PUSHOVER_TOKEN=your_token
export PUSHOVER_USER=your_user_key

```

#### 2. Notify-Hook aktivieren:

```bash
acme.sh --set-notify --notify-hook pushover --notify-level 3

```

##### `--notify-level` Bedeutungen:

<table id="bkmrk-level-beschreibung-0"><thead><tr><th>Level</th><th>Beschreibung</th></tr></thead><tbody><tr><td>`0`</td><td>Deaktiviert</td></tr><tr><td>`1`</td><td>Nur bei Fehlern</td></tr><tr><td>`2`</td><td>Bei erfolgreicher Erneuerung **oder** Fehler</td></tr><tr><td>`3`</td><td>Immer (auch wenn Zertifikat **übersprungen** wurde)</td></tr></tbody></table>

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

---

### 🌐 DNS API (All-Inkl)

👉 Doku: [dns\_kas](https://github.com/acmesh-official/acme.sh/wiki/dnsapi2#dns_kas)

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

```

---

### 🧪 Zertifikat manuell testen

#### Zertifikat erstellen:

```bash
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:

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

---

### ⚙️ Automatische Erneuerung (Cronjob im Container)

#### Interner Cronjob aktivieren:

```bash
acme.sh --install-cronjob
```

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

#### Manuell testen:

```bash
acme.sh --cron
```

##### Beispielausgabe:

```bash
[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

```bash
#!/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

# 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:

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

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

```bash
occ user:list
```

# Ordner und Dateien auf Laufwerksebene in Nextcloud hinzufügen

Die entsprechenden Dateien/Ordner in das Benutzerverzeichnis kopieren

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

Benutzer auslesen (Da diese über LDAP angebunden sind)

```bash
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:

```bash
outlook.exe /ResetFolderNames
```

<p class="callout info">**Wichtig**: Sowohl das **Konto**, also auch die **Datendatei** muss als **Standard** markiert sein.</p>

## Gelöschte Elemente bei der Suche einschließen

<p class="callout info">**Optionen -&gt; Suche - "Gelöschte Elemente bei Suche mit einbeziehen"**</p>

[![grafik.png](https://bookstack.familie-boexler.de/uploads/images/gallery/2025-05/scaled-1680-/UMKgrafik.png)](https://bookstack.familie-boexler.de/uploads/images/gallery/2025-05/UMKgrafik.png)

## Signatur übertragen

Die Signaturen liegen standardmäßig in diesem Ordner:

```shell
%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

<table border="1" id="bkmrk-damit-die-profile-im" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 33.0358%;"></col><col style="width: 67.0834%;"></col></colgroup><tbody><tr><td>[![grafik.png](https://bookstack.familie-boexler.de/uploads/images/gallery/2025-09/scaled-1680-/dY6grafik.png)](https://bookstack.familie-boexler.de/uploads/images/gallery/2025-09/dY6grafik.png)</td><td>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/)](https://www.schulferien.org/deutschland/ical/)) damit die entsprechender Untergruppe angelegt wird.

</td></tr></tbody></table>

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

[![grafik.png](https://bookstack.familie-boexler.de/uploads/images/gallery/2025-09/scaled-1680-/nqRgrafik.png)](https://bookstack.familie-boexler.de/uploads/images/gallery/2025-09/nqRgrafik.png)

[![grafik.png](https://bookstack.familie-boexler.de/uploads/images/gallery/2025-09/scaled-1680-/Z99grafik.png)](https://bookstack.familie-boexler.de/uploads/images/gallery/2025-09/Z99grafik.png)

[![grafik.png](https://bookstack.familie-boexler.de/uploads/images/gallery/2025-09/scaled-1680-/QP4grafik.png)](https://bookstack.familie-boexler.de/uploads/images/gallery/2025-09/QP4grafik.png)

# Schriftarten

## <span class="flex-auto min-width-0 css-truncate css-truncate-target width-fit"> [NerdFonts.com](https://NerdFonts.com "https://NerdFonts.com")</span>

<span class="flex-auto min-width-0 css-truncate css-truncate-target width-fit">[https://github.com/ryanoasis/nerd-fonts](https://github.com/ryanoasis/nerd-fonts)</span>

```powershell
choco install firacodenf -y
```

<span class="flex-auto min-width-0 css-truncate css-truncate-target width-fit">[![nerdfonts.png](https://bookstack.familie-boexler.de/uploads/images/gallery/2025-06/scaled-1680-/nerdfonts.png)](https://bookstack.familie-boexler.de/uploads/images/gallery/2025-06/nerdfonts.png)</span>

# Netzwerk

## IP-Adressen

<table border="1" id="bkmrk-ip-adresse-hostname-" style="border-collapse: collapse; width: 100%; height: 437.8px;"><colgroup><col style="width: 33.3333%;"></col><col style="width: 33.3333%;"></col><col style="width: 33.3333%;"></col></colgroup><thead><tr style="height: 29.8px;"><td style="height: 29.8px;">**IP-Adresse**</td><td style="height: 29.8px;">**Hostname**</td><td style="height: 29.8px;">**Gerät**</td></tr></thead><tbody><tr style="height: 35.4px;"><td style="height: 35.4px;">[10.10.5.1](http://10.10.5.1)</td><td style="height: 35.4px;"><div class="body1-semibold name">[LG-GA-Master-7490](https://bookstack.familie-boexler.de/fritz.box)</div></td><td style="height: 35.4px;">FritzBox 7490</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">  
</td><td style="height: 29.8px;">  
</td><td style="height: 29.8px;">  
</td></tr><tr style="height: 35.4px;"><td style="height: 35.4px;">[10.10.5.10](http://10.10.5.10/)</td><td style="height: 35.4px;">[Repeater-1750E-UG-Treppenhaus](http://10.10.5.10)</td><td style="height: 35.4px;">AVM FRITZ!WLAN Repeater 1750E  
</td></tr><tr style="height: 35.4px;"><td style="height: 35.4px;">[10.10.5.11](http://10.10.5.11/)</td><td style="height: 35.4px;">[Repeater-1750E-OG-Gang](http://10.10.5.11)</td><td style="height: 35.4px;">AVM FRITZ!WLAN Repeater 1750E</td></tr><tr style="height: 35.4px;"><td style="height: 35.4px;">[10.10.5.12](http://10.10.5.12)</td><td style="height: 35.4px;">[Repeater-1750E-EG-Gang](http://10.10.5.12)</td><td style="height: 35.4px;">AVM FRITZ!WLAN Repeater 1750E</td></tr><tr style="height: 35.4px;"><td style="height: 35.4px;">[10.10.5.13](http://10.10.5.13)</td><td style="height: 35.4px;">[Repeater-1750E-EG-Wintergarten](http://10.10.5.20)</td><td style="height: 35.4px;">AVM FRITZ!WLAN Repeater 1750E</td></tr><tr style="height: 35.4px;"><td style="height: 35.4px;">[10.10.5.14](http://10.10.5.14)</td><td style="height: 35.4px;">[Repeater-1750E-UG-Wohnzimmer](http://10.10.5.14)</td><td style="height: 35.4px;">AVM FRITZ!WLAN Repeater 1750E</td></tr><tr><td>[10.10.5.15](http://10.10.5.15/)</td><td>RPT-Diele-DAP-2610</td><td>Netgear DAP-2610</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">  
</td><td style="height: 29.8px;">  
</td><td style="height: 29.8px;">  
</td></tr><tr style="height: 35.4px;"><td style="height: 35.4px;">[10.10.5.20](http://10.10.5.20)</td><td style="height: 35.4px;"><span class="leaftext ">[Fronius-GEN24-12kW](http://10.10.5.20)</span></td><td style="height: 35.4px;">Fronius Wechselrichter GEN24 12kW</td></tr><tr style="height: 35.4px;"><td style="height: 35.4px;">[10.10.5.21](http://10.10.5.21)</td><td style="height: 35.4px;"><span class="leaftext ">[Fronius-Symo-5.0-3-M](http://10.10.5.21)</span></td><td style="height: 35.4px;">Fronius Wechselrichter Symo 5.0-3-M</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">  
</td><td style="height: 29.8px;"><span class="leaftext ">  
</span></td><td style="height: 29.8px;">  
</td></tr><tr><td>10.10.5.30</td><td><span class="leaftext ">Drucker-MFC-9332CDW</span></td><td>Brother MFC-9332CDW</td></tr><tr><td>  
</td><td><span class="leaftext ">  
</span></td><td>  
</td></tr><tr style="height: 35.4px;"><td style="height: 35.4px;">[10.10.5.100](http://10.10.5.100)</td><td style="height: 35.4px;">[<span class="leaftext ">Tresor001</span>](https://dsm.familie-jonas.bayern/)</td><td style="height: 35.4px;">Synology DiskStation DS918+</td></tr><tr><td>  
</td><td><span class="leaftext ">  
</span></td><td>  
</td></tr><tr><td>10.10.5.200</td><td><span class="leaftext ">DHCP Start</span></td><td>  
</td></tr><tr><td>...</td><td><span class="leaftext ">  
</span></td><td>  
</td></tr><tr><td>10.10.5.240</td><td><span class="leaftext ">DHCP Ende</span></td><td>  
</td></tr></tbody></table>

# 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)

<span style="white-space: pre-wrap;">Im Blogpost von Claudio Kuenzler wird </span>**imapsync**<span style="white-space: pre-wrap;"> als robustes CLI-Werkzeug vorgestellt, um IMAP-Postfächer verlustfrei zu migrieren bzw. zu sichern. Der Artikel zeigt:</span>

- **Dry-Run**<span style="white-space: pre-wrap;"> mit </span>`<span class="editor-theme-code">--dry</span>`<span style="white-space: pre-wrap;"> zum sicheren Probelauf inkl. Statistik.</span>
- <span style="white-space: pre-wrap;">Vollständigen </span>**Produktivlauf**<span style="white-space: pre-wrap;"> ohne </span>`<span class="editor-theme-code">--dry</span>`.
- <span style="white-space: pre-wrap;">Typische Optionen wie </span>`<span class="editor-theme-code">--automap</span>`<span style="white-space: pre-wrap;"> (Ordner-Mapping), </span>`<span class="editor-theme-code">--useuid</span>`<span style="white-space: pre-wrap;"> (duplikatfreies, inkrementelles Syncing), </span>`<span class="editor-theme-code">--syncinternaldates</span>`<span style="white-space: pre-wrap;"> (Originalzeiten behalten), </span>`<span class="editor-theme-code">--addheader</span>`<span style="white-space: pre-wrap;"> (für Nachrichten ohne eindeutige Header).</span>
- <span style="white-space: pre-wrap;">Paket-/Modul-Voraussetzungen und die Empfehlung, jeweils die </span>**neueste**<span style="white-space: pre-wrap;"> Version zu nutzen (der Artikel selbst verwendet 1.977, Stand 2021).</span>

<span style="white-space: pre-wrap;">Quelle: </span>[https://www.claudiokuenzler.com/blog/1038/email-migration-transfer-sync-using-imap-mailbox-imapsync](https://www.claudiokuenzler.com/blog/1038/email-migration-transfer-sync-using-imap-mailbox-imapsync)

## Vorbereitung (Passwortdateien sicher anlegen)

> <span style="white-space: pre-wrap;">Ziel: </span>`<span class="editor-theme-code">ionos.pw</span>`<span style="white-space: pre-wrap;"> und </span>`<span class="editor-theme-code">hetzner.pw</span>`<span style="white-space: pre-wrap;"> mit je </span>**nur**<span style="white-space: pre-wrap;"> der Passphrase in Zeile 1, restriktive Rechte.</span>

```bash
# 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?**<span style="white-space: pre-wrap;"> </span>`<span class="editor-theme-code">--passfile1/2</span>`<span style="white-space: pre-wrap;"> vermeidet Klartext-Passwörter in der Prozessliste/History. (Siehe imapsync-README zu </span>`<span class="editor-theme-code">--passfile1/--passfile2</span>`<span style="white-space: pre-wrap;">.) </span>[GitHub](https://github.com/imapsync/imapsync)

---

## Optional: Installation/Update auf die neueste Version

**Variante A (Debian/Ubuntu, empfohlen):**

```bash
# 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/](https://imapsync.lamiral.info/dist2/)

**Variante B (Universell, Tarball/Source):**

```bash
# 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/](https://imapsync.lamiral.info/dist2/)

<p class="callout info"><span style="white-space: pre-wrap;">Angefügt ist ebenfalls die zuletzt verwendete Version: </span>[imapsync-imapsync-2.229.tar.gz](https://bookstack.familie-boexler.de/attachments/35)</p>

> Hinweis zu Perl-Modulen: Falls Abhängigkeiten fehlen, siehe INSTALL/TUTORIAL der offiziellen Doku.
> 
> [https://imapsync.lamiral.info/INSTALL?utm\_source=chatgpt.com](https://imapsync.lamiral.info/INSTALL?utm_source=chatgpt.com)

---

## **Dry-Run**<span style="white-space: pre-wrap;"> (sichere Simulation, keine Änderungen)</span>

```bash
# 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
```

- `<span class="editor-theme-code">--dry</span>`<span style="white-space: pre-wrap;"> zeigt, was </span>**passieren würde**, inkl. Ordner-/Nachrichtenstatistik, aber ohne echte Übertragung. (Wie im Artikel demonstriert.)
- `<span class="editor-theme-code">--automap</span>`<span style="white-space: pre-wrap;"> erkennt/ordnet Standardordner (Sent/Trash/Junk/Drafts/Archive/Flagged) automatisch zu.</span>
- `<span class="editor-theme-code">--useuid</span>`<span style="white-space: pre-wrap;"> und </span>`<span class="editor-theme-code">--addheader</span>`<span style="white-space: pre-wrap;"> minimieren Dubletten und helfen bei Entwürfen/Gesendet-Mails ohne eindeutige Header.</span>
- `<span class="editor-theme-code">--syncinternaldates</span>`<span style="white-space: pre-wrap;"> erhält interne Serverzeiten (Anzeige bleibt konsistent). (Im Artikel erläutert.)</span>
- `<span class="editor-theme-code">--exclude '(?i)spam|trash|junk'</span>`<span style="white-space: pre-wrap;"> lässt offensichtliche Systemordner aus. (Ordner-Selektion siehe FAQ.)</span>

---

## **Produktivlauf**<span style="white-space: pre-wrap;"> (tatsächliche Migration)</span>

```bash
# 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
```

> <span style="white-space: pre-wrap;">Tipp: Wer zusätzlich nur die Ordner-Zuordnung prüfen will, kann einmalig </span>`<span class="editor-theme-code">--automap --justautomap</span>`<span style="white-space: pre-wrap;"> testen (ohne Nachrichtenübertrag). </span>[https://imapsync.lamiral.info/S/news.shtml?utm\_source=chatgpt.com](https://imapsync.lamiral.info/S/news.shtml?utm_source=chatgpt.com)

---

## Ergebnisse prüfen &amp; typische Hinweise

- **Logs**: Lies die Logdatei (`<span class="editor-theme-code">--logfile …</span>`). Ein guter Abschluss wird explizit gemeldet („The sync looks good … Detected 0 errors“).
- **SSL/Ports**<span style="white-space: pre-wrap;">: IONOS IMAP via </span>**993/SSL**<span style="white-space: pre-wrap;">, Hetzner via </span>**993/SSL**<span style="white-space: pre-wrap;"> — unsere Befehle erzwingen SSL mit </span>`<span class="editor-theme-code">--ssl1/--ssl2</span>`.
- **Mehrfachläufe**<span style="white-space: pre-wrap;">: imapsync ist </span>**inkrementell**<span style="white-space: pre-wrap;">; wiederholte Läufe übertragen nur Diff, keine Dubletten (mit </span>`<span class="editor-theme-code">--useuid</span>`).

# MobaXterm mit 1Password SSH-Agent nutzen

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

1. In 1Password → **Settings → Developer** → **Set up SSH Agent** aktivieren.  
    Optional: „Keep 1Password in the notification area“ einschalten, damit der Agent im Tray weiterläuft. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill">[<span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-full grow truncate overflow-hidden text-center">developer.1password.com</span></span></span>](https://developer.1password.com/docs/ssh/get-started/)</span></span>
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. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill">[<span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-full grow truncate overflow-hidden text-center">developer.1password.com</span></span></span>](https://developer.1password.com/docs/ssh/get-started/)</span></span>
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**. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill">[<span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-full grow truncate overflow-hidden text-center">developer.1password.com</span></span></span>](https://developer.1password.com/docs/ssh/agent/advanced/)</span></span>

<p class="callout danger"><span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill">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](https://developer.1password.com/docs/ssh/get-started/#step-4-configure-your-ssh-or-git-client)</span></span></p>

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

### <s>Weg 1 – (Neuere) MobaXterm-Version direkt mit dem OpenSSH-Agent koppeln</s>

1. <s>Update auf eine aktuelle MobaXterm-Version. In neueren Releases gibt es die INI-Option</s>  
    <s>**`UseOriginalSshAgent=1`** (Sektion `[SSH]`), die den **OpenSSH-Agent statt Pageant** nutzt. Die INI liegt üblicherweise in `Dokumente\MobaXterm\MobaXterm.ini`. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill">[<span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-full grow truncate overflow-hidden text-center">mobaxterm.mobatek.net</span></span></span>](https://mobaxterm.mobatek.net/download-home-edition.html?utm_source=chatgpt.com)</span></span><span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill">[<span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-full grow truncate overflow-hidden text-center">blog.mobatek.net</span></span></span>](https://blog.mobatek.net/post/mobaxterm-configuration-settings/?utm_source=chatgpt.com)</span></span></s>  
    <s>*Falls die Datei woanders liegt: siehe Doku/Blog der Entwickler.* <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill">[<span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-full grow truncate overflow-hidden text-center">mobaxterm.mobatek.net</span></span></span>](https://mobaxterm.mobatek.net/documentation.html?utm_source=chatgpt.com)</span></span></s>
2. <s>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. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill">[<span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-full grow truncate overflow-hidden text-center">mobaxterm.mobatek.net</span></span></span>](https://mobaxterm.mobatek.net/download-home-edition.html?utm_source=chatgpt.com)</span></span></s>
3. <s>Beim ersten Verbindungsaufbau erscheint eine 1Password-Freigabe-Abfrage (Windows Hello/Passwort). Danach läuft’s bis 1Password sperrt. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill">[<span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-full grow truncate overflow-hidden text-center">developer.1password.com</span></span></span>](https://developer.1password.com/docs/ssh/get-started/)</span></span></s>

> <s>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. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill">[<span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-full grow truncate overflow-hidden text-center">developer.1password.com</span></span></span>](https://developer.1password.com/docs/ssh/agent/advanced/)</span></span></s>

### 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. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill">[<span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-full grow truncate overflow-hidden text-center">GitHub</span></span></span>](https://github.com/ndbeals/winssh-pageant)</span></span>
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. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill">[<span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-full grow truncate overflow-hidden text-center">mobaxterm.mobatek.net</span></span></span>](https://mobaxterm.mobatek.net/download-home-edition.html?utm_source=chatgpt.com)</span></span><span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill">[<span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-full grow truncate overflow-hidden text-center">GitHub</span></span></span>](https://github.com/ndbeals/winssh-pageant)</span></span>

# PC - Neuinstallation

### Windows Audit-Mode

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

### Nachfolgend sämtliche choco packages

```bash
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 &amp; Hardware Acceleration Fix

**Problem:**

- SolidWorks 2023 läuft auf einer VMware Workstation mit dem **VMware SVGA-Treiber**.
- Trotz aktivierter Hardwarebeschleunigung laggt SolidWorks.
- Die Option **"Use software OpenGL"** ist **aktiviert und ausgegraut** – lässt sich also nicht deaktivieren.
- Bekannte Workarounds aus älteren VMware-Foren funktionieren nicht mehr.

**Lösung (Registry Hack):**

1. Öffne **regedit** in der VM.
2. Navigiere zu:

```bash
HKEY_CURRENT_USER\SOFTWARE\Solidworks\AllowList\VMware, Inc
```

3. Setze den Wert:

`Workarounds = 9`

**Hinweis:**

- Danach verwendet SolidWorks den VMware SVGA GPU-Treiber wieder.
- Dennoch kann es bei starkem Zoom in Zeichnungen weiterhin zu **langsamer Bildschirmaktualisierung** kommen.