Effizientes und Leistungsstarkes Eigenbau-NAS

Nach und nach habe ich mein bestehendes NAS aktualisiert und bin nun bei einem System angekommen, welches genau meinen Ansprüchen entspricht, es bietet mir:

  • 2 x 2.5 Gbit/s LAN
  • 5 x 3.5″ HDD
  • 2 x NVMe Slots
  • Leistungsstark um verschiedenste Anwendungen zu hosten
  • Energieeffizient
  • 18 W idle

Dazu habe ich die folgenden Komponenten verwendet:

  • Jonsbo N2 Mini-ITX Gehäuse (139,90 €)
  • TopTon NAS Motherboard Celeron J6413 Intel i226-V 1 (209,67 €)
  • Inter-Tech 88882190 Netzteil (vgl. PicoPSU, 26,90 €)
  • Crucial RAM 32 GB (2x16GB, 62,19 €)
  • SATA Male To DC 5.5*2.1mm (2,6 €)
  • DC 12V PWM Fan Temperature Controller (2,28 €)
  • Lexar USB Stick 32 GB (4,99 €)
  • Bereits vorhandene SSDs, HDDs, SATA Kabel

Gesamtkosten: 448,83 €

Ein NAS mit ähnlichen Spezifikationen wäre die Synology DiskStation DS1522+ diese ist für ungefähr ca. 700 € zu haben. Idealo DS1522+

Gehäuse

Das kompakte Gehäuse bietet nicht nur Platz für alle Komponenten, sondern hat auch ein ansprechendes Design.
Da ich kein SFX Netzteil verwende, bleibt dort ein ziemliches Loch auf der Rückseite des Gehäuses, daher habe ich dieses mit der folgenden 3D gedruckten Abdeckung verschlossen: https://www.thingiverse.com/thing:5279674/files

Mainboard

Die Hauptplatine bildet das Herzstück meines NAS und überzeugt mit den benötigten Funktionen und Leistung für meine Anwendungen und deckt meine Anforderung perfekt ab.
Es gibt für zukünftige Ausbaustufen noch zwei NVMe Slots, 2.5 Gbit/s Netzwerkports, sodass auch in Unraid das Docker Netzwerk getrennt werden kann oder per Bonding Redundanz geschaffen werden kann.
Sechs SATA Ports bieten Platz zum Anschluss einiger Speichermedien und lässt sich sogar über den PCIe x1 Port noch erweitern.
Der sich direkt auf dem Mainboard befindliche USB2.0 Port eignet sich auch super, um den Unraid USB Stick direkt im Gehäuse zu installieren und so einen Zugriff oder Abknicken von Außen zu verhindern.

Netzteil

Durch den Einsatz eines mini Netzteils, statt eines vollwertigen SFX-Netzteils, werden noch ein paar Watt gespart.
Dieses wird an ein 12 V Netzteil angeschlossen und ich verwende so bei mit ein sehr effizientes 12 V Netzteil um alle meinen Komponenten vom NAS bis Router mit Spannung zu versorgen.

PWM Fan Temperature Controller

Da weder Mainboard noch Gehäuse regelbare Lüftersteuerung bieten, habe ich mir diese kurzerhand mit einem PWM Fan Temperature Controller selbstgebaut, die Spannungsversorgung erfolgt über die 12 V Pins eines SATA Ports, welche über den SATA Male Adapter abgegriffen werden. Dieser Controller steuert den Lüfter anhand der Temperatur an seinem Temperatur Sensors und dies sorgt für eine Optimale Belüftung und lässt den Lüfter nicht dauerhaft zu 100% laufen, wie es mit den Gehäuse oder Mainboard Lüftern der Fall gewesen wäre.

Bootmedium

Der USB-Stick dient als Unraid Bootmedium.
Dieses wurde per USB Flash Creator auf den USB Stick geschrieben und dann mit dem Mainboard verbunden. https://unraid.net/download

Abschluss

Zum Schluss habe ich noch einmal alle Verkabelungen geprüft, das Gehäuse verschraubt und das NAS mit 12V und Netzwerk versorgt.
Der erste Boot mit dem Mainboard nach dem Einbau des RAMs dauerte sehr lange, aber danach gab es keine Probleme und das NAS war nach einem Reboot nach wenigen Sekunden wieder erreichbar.

Thunderbird: Automatisch mit der richtigen Adresse eines Catch-All Mail Kontos antworten

In diesem Artikel möchte ich erklären, wie man in Thunderbird eine Catch All Adresse noch effektiver nutzen kann, indem beim Antworten automatisch die korrekte Absender Adresse ausgewählt wird. So kann bei jedem Kontakt eine andere Mail Adressenpräfix verwendet werden und ohne nervige Klicks auf die Identität geantwortet werden.

Herausforderung: Catch-All-Adressen

Stell dir vor, du hast eine Catch-All-Domain eingerichtet, um alle E-Mails zu empfangen, die an irgendeine Konto unter dieser Domain gesendet werden. Nun möchtest du effizient auf diese E-Mails antworten, ohne für jede einzelne Adresse eine separate Identität in Thunderbird erstellen zu müssen.

Lösung: „Mit dieser Identität antworten, falls eine Empfänger-Kopfzeile übereinstimmt mit:“

Thunderbird bietet eine clevere Funktion, mit der du auf E-Mails antworten kannst, die an Catch-All-Adressen gesendet wurden, ohne jedes Mal manuell die Absenderadresse zu ändern. Hier sind die Schritte, um dies einzurichten:

  1. Öffne Thunderbird und gehe zu den Einstellungen: Klicke auf „Extras“ und wähle „Konten-Einstellungen“.
  2. Wähle das entsprechende E-Mail-Konto: Finde das Konto, für das du diese Einstellung vornehmen möchtest, und öffne die „Verfassen & Adressieren“-Einstellungen.
  3. Aktiviere die Option „Mit dieser Identität antworten, falls eine Empfänger-Kopfzeile übereinstimmt mit“: Hier kannst du eine Regel festlegen, die angibt, wann Thunderbird automatisch eine bestimmte Identität für die Antwort verwenden soll.
  4. Setze die Regel für die Catch-All-Domain: Füge die Catch-All-Domain hinzu, indem du die entsprechende Regel in der Form *@deinedomain.com erstellst.
  5. Speichere die Einstellungen und teste es aus: Nachdem du die Einstellungen gespeichert hast, probiere es aus, indem du auf eine E-Mail antwortest, die an eine Catch-All-Adresse gesendet wurde. Thunderbird sollte automatisch die richtige Identität auswählen.


Mit diesen einfachen Schritten kannst du effizient auf E-Mails antworten, die an Catch-All-Adressen gesendet wurden, ohne jedes Mal manuell die Absenderadresse ändern zu müssen. Thunderbird macht es dir leicht, deine E-Mail-Kommunikation zu optimieren und Zeit zu sparen.

Probier es gleich aus und erlebe die Annehmlichkeiten einer intelligenten E-Mail-Verwaltung mit Thunderbird!

Happy Mailing! 🚀

TS3 Server automatisch aktualisieren (The default license has expired.)

Hallo,
mit diesem kleinen Blog Beitrag möchte ich euch zeigen, wie ihr einen Linux Teamspeak 3 Server automatisch aktualisieren könnt.

Die Aktualisierung ist notwendig, um eventuelle Fehler oder Sicherheitslücken zu beheben und um die Lizenz der Community Version von Teamspeak z.B. auf einem selbst betriebenem Server zu aktualisieren, da diese nach ein bzw. zwei Jahren ausläuft.

Wenn die Lizenz ausgelaufen ist bekommt man diese Fehlermeldung:

Da mir die ständige manuelle Installation des Servers keine Freude bereitet, obwohl es sich nur um die folgenden 5 Schritte handelt:

Habe ich ein Skript entwickelt und auf Github.com veröffentlicht, um dies in einen einzigen Schritt zusammenzufassen, den Vorgang deutlich zu vereinfachen und zu automatisieren:

https://github.com/yannik995/TS3-Update/

Mit folgendem Befehl lässt es sicher herunterladen und auch direkt ausführen, sodass der TS3 Server aktualisiert und neu gestartet wird (Ich empfehle immer vorher ein Backup des Servers anzulegen):

apt install jq -y && wget -Nnv https://raw.githubusercontent.com/yannik995/TS3-Update/main/ts3update.sh && chmod +x ts3update.sh; ./ts3update.sh

Zu beachten ist aber das sich der Teamspeak 3 Server im aktuellem Verzeichnis unter teamspeak3-server_linux_amd64 befinden muss, da das Skript sonst nicht funktioniert.

Damit das Update nicht immer manuell angestoßen werden muss habe ich bei mir einen Crontab eingerichtet, dazu startet man den Crontab Editor mit dem Befehl:

Und fügt dort folgendes ein, um es nach jedem Reboot auszuführen:

Oder am 2. des Monats um 04:35 Uhr, die Zeit kann natürlich frei geändert werden:

(Ggf. muss der Pfad zum Skript angepasst bzw. hinzugefügt werden. Bei mir liegt das Skript im Home Verzeichnis des TS3 Users und daher funktioniert es auch so ohne Probleme)

Ich hoffe ich konnte euch damit weiterhelfen und wünsche euch viel Spaß beim nutzen des Skripts.

Viele Grüße

Stud.IP Kalender mit iOS, Android, Outlook und Nextcloud synchronisieren

Wie kann ich meine mobilen Kalender mit dem Stud.IP synchronisieren?

Dazu habe ich mir ein paar Möglichkeiten für iOS, Android und Outlook herausgesucht, auf die ich nun im Detail weiter eingehen werde.

Stud.IP Einstellungen

Zunächst muss aber bei allen Möglichkeiten ein Link zum Teilen des Kalenders im Stud.IP erstellt werden. Dazu geht man im Stud.IP auf den Planer und wählt der den Tab Terminkalender, auf der rechten Seite findet man dort den Punkt „Kalender teilen“ über diesen kann man einen Link generieren, der benötigt wird, um den Kalender einzubinden.

Screenshot auf dem Stud.IP

Android

Unter Android gibt es zwei Möglichkeiten entweder mit oder ohne Google.

Ohne Google

Um die Kalender Synchronisierung ohne Google zu aktivieren, nutze ich die App ICSx⁵ (alternativ auch kostenlos im F-Droid Store). Nach dem installieren startet man die App, klickt aus das Plus, fügt den Link aus dem Stud.IP ein, vergibt Namen und Farbe und klickt auf den Haken. Schon wird der Kalender mit dem Android Gerät synchronisiert.


Es empfiehlt sich außerdem noch die Einstellungen (drei Punkte oben rechts) zu öffnen, „Aktualisierungsintervall festlegen“ auszuwählen und dort einen Intervall auszuwählen, damit die App den Kalender auch regemäßig aktualisiert.

Je nach Intervall und Hersteller des Gerätes muss die App von der Energieverwaltung ausgenommen werden. (Meldung in der App beachten)

Mit Google

Hierzu öffnet ihr Google Kalender am PC (In der App gibt es diese Option leider nicht), klickt auf das „+“ neben „Weitere Kalender“ und dann auf „Per URL“

In dem Dialog tragt ihr den Link aus dem Stud.IP ein, klick auf „Kalender hinzufügen“ und schon wurde der Kalender hinzugefügt.
In den Einstellungen des Kalenders (Zahnrad Symbol) kann nun noch eine Name und standardmäßige Benachrichtigungen vergeben werden.

Auf dem Andorid Smartphone muss der Kalender gegebenenfalls noch in den System Einstellungen unter dem Punkt Kalender aktiviert werden und/oder gegebenenfalls in den Einstellungen des Kalenders, dort Einstellungen (ggf. „Weitere Anzeigen“), dann den neuen Kalender auswählen und den Punkt Synchronisieren aktivieren:

Nextcloud

Öffne im Browser den Nextcloud Kalender, klicke auf das Plus und wähle „Neues Abonnement aus Link“, füge den Link aus dem Stud.IP ein und klicke auf den Pfeil oder bestätige mit Enter. Jetzt kann noch eine Farbe und der Namen festgelegt werden und schon wird der Kalender synchronisiert.

Der Vorteil dieser Methode ist das der Kalender auch automatisch mit allen Endgeräten synchronisiert wird, die den eigenen Nextcloud Kalender synchronisieren. So kann man sich zum Beispiel die extra Konfiguration des iOS oder Android Smartphones sparen.

iOS

Unter iOS öffnet man die Einstellungen, wählt „Passwörter & Accounts“, dann „Account hinzufügen“, wählt „Andere“, dann „Kalenderabo hinzufügen“, fügt dort den Link aus dem Stud.IP ein und klickt auf „Weiter“. Es sieht dann so aus:

Nun klickt man nun noch auf Sicher und schon sind die Veranstaltungen im Kalender sichtbar. Dort kann nun noch eine gegebenenfalls eine andere Farbe vergeben werden.

Outlook

In Outlook navigiert man in den Kalender Tab und klick dort in der oberen Leiste auf „Kalender öffnen“ und dann auf „Aus dem Internet“.

Im Nachfolgenden Dialog fügt man die Adresse aus dem Stud.IP ein und schon ist der Kalender in Outlook sichtbar.

Ich habe allerdings keinen Weg gefunden die Termine automatisch in den persönlichen Kalender zu bringen, damit die Arbeitskollegen, die Uni Termine einsehen können. Aber die Termine können durch einfaches Copy und Paste übernommen werden, dann habe ich daraus Serien Termin erstellt und die meisten Veranstaltungen damit abgedeckt.

Hetzner: No bootable Device nach Festplattentausch

Falls nach einem Festplattentausch der Bootloader nicht erneut geschrieben wurde, kommt es zu dem Problem, dass der Server nach einen Neustart nicht Rebooten wird und nur die Meldung No bootable Device anzeigt.

In diesem Artikel möchte ich erklären, wie man die Datenträger wieder bootfähig macht, da ich selber dachte der Schritt sei nicht notwendig, weil alle Daten durch das MDADM Raid 1 gespiegelt werden. Leider ist das nicht so.

Um die Datenträger wieder bootbar zu machen startet man das System in den Hetzner Rescue Modus und verbindet sich per SSH. Dies wirdauch hier erklärt:
https://docs.hetzner.com/de/robot/dedicated-server/troubleshooting/hetzner-rescue-system/

Dort bindet man die benötigten Laufwerke ein und wechselt per chroot von dem Rescue System in den Kontext des eigentlichen Systems. Die macht man mit folgenden Befehlen:

Nun befinden wir uns im Kontext unseres Systems und haben alle nötigen Partitionen gemounted, können also mit dem schrieben des Bootloaders beginnen:

Nun muss das System noch einmal neu gestartet werden und sollte dann wieder erfolgreich booten können:

Ich hoffe ich konnte auch mit diesem Beitrag helfen und wir werden ab jetzt nicht mehr vergessen den Bootloader nach dem Platten tausch neu zu schreiben.
Das geht einfach mit diesen zwei Befehlen und spart euch stressige Stunden 🙂 :

StudIP Downloader

Auf GitHub habe ich ein kleines Tool veröffentlicht, welches verwendet werden kann, um Dateien aus dem StudIP verschiedener Hochschulen und Universitäten herunterzualden.
Aktuell wurde der Downloader nur mit der Uni Oldenburg getestet. Theoretisch sollte das Tool auch an anderen Universitäten funktionieren. Ich würde mich freuen, wenn mir jemand eine Rückmeldung geben kann, ob das der Fall ist.

(Getestet an der Uni Hannover und der Uni Göttingen.)

Die Anwendung ist eine einfache C# Konsolenanwendung in .Net Core 3.1 und kann unter Windows, Linux und OSX verwendet werden.

Die Quellcode und ausführbare Dateien stehen unter folgender URL zur Verfügung:
https://github.com/yannik995/StudIP-Downloader

Download: https://github.com/yannik995/StudIP-Downloader/releases/latest

Wie wird die Anwendung verwendet?

  1. Zip Archiv herunterladen, entpacken.
  2. StudIPDownloader.exe starten, StudIP URL eintragen z.B.: https://elearning.uni-oldenburg.de/
  3. Wert des Seminar_Session Cookie aus dem Browser eintragen.
    (Einloggen und Cookies z.B. mit EditThisCookie anzeigen lassen: 
    Cookie mit EditThisCookie kopieren)
  4. Lokalen Pfad eintragen
  5. Nun werden alle Dateien heruntergeladen

Die Einstellungen werden in der Datei config.ini gespeichert und beim nächsten Start muss nur ggf. der Wert des Cookies neu eingetragen werden, wenn dieser abgelaufen oder nicht mehr gültig ist.

Es werden immer nur die neuen oder geänderten Dateien heruntergeladen und nach folgendem Schema abgelegt:
/{SEMESTER}/{NAME DES KURSES}/{DATEIEN UND ORDNER}…

Wenn jemand noch Ideen oder Probleme mit der Anwendung hat, stehe ich gerne dafür oder noch besser auch für Pull Request zur Verfügung.
Eine Optimierung wäre ein vernünftiger Login, aber da dieser bei jeder Einrichtung anders stattfindet, ist es schwierig diesen allgemein gültig zu implementieren.

Ich hoffe das die Anwendung weiterhilft, wenn Dateien nicht aus dem StudIP heruntergeladen werden können, weil es nicht erreichbar ist oder die Dateien offline benötigt werden, um sie zum Beispiel im Zug nutzen zu können.

Viele Grüße 🙂

Windows Übermittlungsoptimierung deaktivieren

Was ist die Übermittlungsoptimierung?

Microsoft hat ab Windows 10 die Übermittlungsoptimierung eingebaut. Durch die Übermittlungsoptimierung wird mit anderen Computern ein Peer-to-Peer Netzwerk aufgebaut und über dieses Netzwerk werden die Windows Updates verteilt.

Microsoft spart sich so, auf kosten der Nutzer, einen Teil der Kosten für die Bereitstellung der Windows Updates. Dieses Feature lässt sich aber ganz leicht deaktivieren, wenn die Übermittlungsoptimierung, wie bei mir, die komplette Bandbreite verwendet.

Wie kann ich die Übermittlungsoptimierung deaktivieren?

Einstellungen

Zum Deaktivieren öffnet man die „Einstellungen„:

Dort wählt man „Update und Sicherheit“ aus:

Update und Sicherheit

Und dort „Übermittlungsoptimierung„.
Dort kann man die Downloads von anderen PCs verbieten oder nur für PCs im lokalen Netzwerk erlauben:

Übermittlungsoptimierung

SSL 2.0 und SSL 3.0 im IIS deaktivieren

Um SSL 2.0 und SSL 3.0 und so die Poodle Lücke zu schließen kann man auf einem Windows Server diesen Regedit Code ausführen (als .reg Datei speichern und ausführen).
Diese Datei deaktiviert zusätzlich noch einige sehr unsichere Chiphers (DisableSSLv3.reg):

Danach muss der Server neu gestartet werden.
Ob die Lücke geschlossen wurde kann man hier testen:
https://sslanalyzer.comodoca.com/poodle.html

Google Drive File Stream auf Windows Server

Da der GD File Stream Installer nicht auf Windows Server ausgeführt werden kann, hier die Schritte zum manuellen Installieren.

  1. Google Drive File Stream unter Windows 7/8/10 installieren
  2. Die Daten von „C:\Program Files\Google\Drive File Stream“ in das selbe Verzeichnis auf dem Server kopieren
  3. Exportieren von „HKLM\SOFTWARE\Google\DriveFS“ mit regedit.exe und auf dem Server importieren
  4. Rechts auf die Datei  „C:\Program Files\Google\Drive File Stream\Drivers\2285\googledrivefs2285.inf“ klicken und den Treiber über „Installieren“ installieren
  5. Die benötigte DLL mit einer administrativen Eingebeaufforderung registrieren:
    regsvr32 „C:\Program Files\Google\Drive File Stream\25.157.165.2150\drivefsext.dll“
  6. Server rebooten
  7. Starte die C:\Program Files\Google\Drive File Stream\25.157.165.2150\GoogleDriveFS.exe und logge dich mit deinem Google Account ein.