2025-03-13

Proxmox Helper Script alle Container Updaten

Auf dem PVE Host erstellt ihr ein Script z.B. mit "nano update.sh" und befüllt es mit diesem Inhalt.

Das Originalscript stammt von hier, wurde aber so modifiziert, 

dass die Ausgabe farblich nach Arbeitsschritt hervorgehoben wird.

 

Außerdem wird in den Containern der Befehl

apt update && apt full-upgrade -y && apt autoremove --purge

statt

apt update && apt upgrade -y && apt autoremove -y

ausgeführt.

Wem das nicht gefällt, passt das nach seinen Bedürfnissen an.

Mit STRG + X speichert ihr das Script, bestätigt ggf. mit Y und ENTER

dass ihr es speichern wollt und führt danach noch ein "chmod +x update.sh" aus.

 

Wenn ihr nun auf dem PVE Host mit "bash update.sh" das Script ausführt, 

geht es nacheinander alle Container durch und führt den Befehl zum Updaten aus. 

2025-02-27

Home Assistant BVG VBB Abfahrten


 

Auf der Suche nach einer Lösung, um mir die nächsten Abfahrtszeiten für meine Haltestelle anzeigen zu lassen, bin ich beinahe verzweifelt.

 ich bin zwar auf vas3k/home-assistant-berlin-transport gestoßen, aber habe die dazugehörige lovelace-berlin-transport-card einfach nicht zum laufen bekommen, wenn der Code überhaupt mal lief, blieb die Kachel im Dashboard einfach leer.

Ich habe mir nun selbst eine Lösung gebastelt, die OHNE HACS funktioniert.

 Ihr braucht dafür erst ein mal die ID von eurer Starthaltestelle und einer Zielhaltestelle, über v6.vbb.transport.rest bekommt man z.B. für S+U Alexanderplatz Bhf (Berlin) die ID 900100003

 

Nun nehmen wir uns die komplette URL für die nächsten 5 Ergebnisse

https://v6.vbb.transport.rest/journeys?from=123456789&to=987654321&results=5 

Eure beiden IDs müssen natürlich hier als from und to eingefügt werden.

Passen wir also nun kurz unsere /homeassistant/configuration.yaml an

 Dort tragen wir ein (https://pastes.io/): 

# VBB Transport Sensor Configuration
sensor:
  # VBB Journeys REST sensor
  - platform: rest
    name: vbb_journeys
    resource: "https://v6.vbb.transport.rest/journeys?from=123456789&to=987654321&results=5"
    scan_interval: 60  # Update every minute
    value_template: "OK"
    json_attributes:
      - journeys

# Template sensor with fixed formatting
template:
  - sensor:
      - name: "VBB Journeys Markdown"
        state: "VBB Journeys Available"
        icon: mdi:train
        attributes:
          markdown: |-
            {% set journeys = state_attr('sensor.vbb_journeys', 'journeys') %}
            {% if journeys %}
            {% for journey in journeys %}
            {% if journey.legs and journey.legs[0] %}
            {% set leg = journey.legs[0] %}
            {% if leg.departure %}
            Abfahrt: um {{ leg.departure[11:16] }} Uhr
            Linie: {{ leg.line.name if leg.line and leg.line.name else 'Unbekannt' }}
            Richtung: {{ leg.direction if leg.direction else 'Unbekannt' }}{% if leg.departureDelay is defined and leg.departureDelay is not none %}{% if leg.departureDelay < 0 %}
            Früher: {{ ((leg.departureDelay * -1) / 60) | round }} Minuten{% else %}
            Später: {{ (leg.departureDelay / 60) | round }} Minuten{% endif %}{% endif %}
            
            {% endif %}
            {% endif %}
            {% endfor %}
            {% else %}
            Keine Daten verfügbar
            {% endif %}

 Hier nun kurz Home Assistant am besten neustarten.

 Geht nun auf euer Dashboard (Lovelace), oben rechts auf das Stiftsymbol zum Bearbeiten und fügt ein neues Markdown Element hinzu.

Bei Code (nicht nur Inhalt) fügt ihr folgenden Code ein (https://pastes.io/): 

type: markdown
content: "{{ state_attr(\"sensor.vbb_journeys_markdown\", \"markdown\") }}"

 

Und das sollte es auch schon gewesen sein, bei mir funktioniert es jedenfalls.


2024-12-19

Selfhost: RustDesk Server hinter Nginx Proxy Manager in Proxmox

 Wie man einen eigenen RustDesk Server im Homelab betreibt und ihn per URL erreichbar macht.

Proxmox Container erstellen (ich nutze Debian 12 als Template) und starten

Container aktualisieren (apt update && apt full-upgrade -y)

Der Anweisung auf https://rustdesk.com/docs/de/self-host/rustdesk-server-oss/install/ folgen :

wget https://raw.githubusercontent.com/techahold/rustdeskinstall/master/install.sh
chmod +x install.sh
./install.sh
Dort bereits angeben, dass ihr eine Domain und keine IP benutzen möchtet, also eure Subdomain der Wahl eingeben.
Wenn ihr HTTP Server mit ausgewählt habt, bekommt ihr am Ende die Ausgabe:
Creating /var/log/gohttp
Tidying up Go HTTP Server Install
Created symlink /etc/systemd/system/multi-user.target.wants/gohttpserver.service -> /etc/systemd/system/gohttpserver.service.
Your IP/DNS Address is RUSTDESK.EURE-DOMAIN.de
Your public key is EuerLangerPublicKey6756745674564567=
Install Rustdesk on your machines and change your public key and IP/DNS name to the above
You can access your install scripts for clients by going to http://RUSTDESK.EURE-DOMAIN.de:8000
Username is admin and password is JHujiUIZGtzufu

Diese Daten alle unbedingt kopieren, diese sind sehr wichtig!
 
Ob die beiden Dienste laufen, könnt ihr checken mit den Befehlen:
systemctl status rustdesksignal
systemctl status rustdeskrelay
 
Als nächstes habe ich in NPM (Nginx Proxy Manager) einen neuen Proxy Host erstellt und ihn auf http://10.10.20.11:8000 geleitet (dies ist mein RustDesk Container im LAN) ihr müsst natürlich die IP auswählen, die bei euch korrekt ist, ich habe nur Block Common Exploits aktiviert und auch SSL ist eher optional.
 
Als nächstes unter Hosts -> Streams die Ports weiterleiten
 
21114-21119 TCP und 21116 noch zusätzlich auch als UDP
So sollte es dann aussehen.
 
Außerdem die Ports auch in der FritzBox freigeben und auf eure NPM IP leiten.



 
Dann leitet ihr nur noch eure Subdomain auf eure IP (per A-Records für IPv4 )und das wars.
Ich nutze dafür den Dienst von https://desec.io und ein Script teilt ihm meine Dynamische IP Adresse mit, damit diese als A-Records aktuell gehalten werden.


Ob die Portweiterleitung funktioniert, könnt ihr z.B. mit https://check-host.net/check-tcp prüfen, einfach eure Domain:Port eingeben und es sollte eure IP-Adresse aufgelöst werden. (Achtung, der Port 21114 wird euch immer Refused auswerfen)

Außerdem kann es etwas dauern, bis euer Anbieter eure Subdomain auch korrekt auflöst, testet notfalls erst 24h später erneut, wenn es nicht sofort funktioniert.

In RustDesk ist dann überall bei Server RUSTDESK.EURE-DOMAIN.de hinterlegt, bei API mit http davor und bei Key kommt rein, was euch bei der Installation mitgeteilt wurde als EuerLangerPublicKey6756745674564567.

2024-11-22

FRITZ!Box 6690 Cable Downgrade - FRITZ!OS 8 zu 7.57

 Falls ihr Probleme mit dem neuen FRITZ!OS 8.00 haben solltet, könnt ihr ein Downgrade auf Version FRITZ!OS 7.57 versuchen.

Auf der offiziellen Seite gibt es leider nur Version 8 (Schande über AVM)

Daher müssen wir über die Waybackmachine von Archive.org gehen und uns dort die alte Datei herholen.

Hier gibt es die Datei noch als Mirror auf mega.nz

2024-11-21

Empfehlenswerte DNS Server

########################################################

Cloudflare
1.1.1.1
1.0.0.1
2606:4700:4700::1111
2606:4700:4700::1001

Use the following DNS resolvers to block malicious content:
    1.1.1.2
    1.0.0.2
    2606:4700:4700::1112
    2606:4700:4700::1002

Use the following DNS resolvers to block malware and adult content:
    1.1.1.3
    1.0.0.3
    2606:4700:4700::1113
    2606:4700:4700::1003

DNS over HTTPS (DoH)
Block malware
https://security.cloudflare-dns.com/dns-query

Block malware and adult content
https://family.cloudflare-dns.com/dns-query

DNS over TLS (DoT) Block malware
security.cloudflare-dns.com

Block malware and adult content
family.cloudflare-dns.com

########################################################
Google


8.8.8.8
8.8.4.4
2001:4860:4860:0:0:0:0:8888
2001:4860:4860:0:0:0:0:8844
########################################################
Quad9


IPv4
9.9.9.9
149.112.112.112

IPv6
2620:fe::fe
2620:fe::9

HTTPS
https://dns.quad9.net/dns-query
TLS
tls://dns.quad9.net
########################################################
Adguard


Default servers: AdGuard DNS will block ads and trackers.
94.140.14.14
94.140.15.15
2a10:50c0::ad1:ff
2a10:50c0::ad2:ff

Family protection servers: AdGuard DNS will block ads, trackers, adult content, and enable Safe Search and Safe Mode, where possible.
94.140.14.15
94.140.15.16
2a10:50c0::bad1:ff
2a10:50c0::bad2:ff

DNS-over-HTTPS
https://dns.adguard.com/dns-query
DNS-over-HTTPS Family Protection
https://dns-family.adguard.com/dns-query

2024-11-18

ReVanced Audio-Spur nicht auswählbar

 Revanced Audio Track selection missing?

Wer Revanced benutzt kennt das Problem vielleicht, Youtube Video ist original auf deutsch, alle Einstellungen sagen deutsch, aber man hört als Audio Dub schlechtes KI englisch.

Bei Firefox Mobile unter Android habe ich das Problem auch, dort muss man in den Desktop Modus gehen um die Audiospur auswählen zu können.

Bei Revanced muss man gleich 2 Einstellungen überprüfen und ändern.

1. Einstellungen - Revanced - Player - FlyOut Menu - Audiospur ausblenden (muss deaktiviert sein)

2. Einstellungen - Revanced - Sonstiges - Spoof-Video-Streams - Spoof-Video-Streams (muss deaktiviert sein)

danach die App neustarten und die Auswahl ist wieder vorhanden.

Reddit automatische Übersetzung über Google deaktivieren

 Sehr nervig finde ich es ja, wenn Seiten (schlecht) übersetzt werden ohne, dass ich es möchte.

Suche ich bei Google etwas, komme ich oft auf Reddit und die Posts sind automatisch übersetzt, weil Google in der URL "?tl=de" am Ende mitnimmt.

Daher kann ich nur das Firefox Addon redditUntranslate empfehlen, dann landet man wieder auf dem Originalpost.

Proxmox Helper Script alle Container Updaten

Auf dem PVE Host erstellt ihr ein Script z.B. mit " nano update.sh " und befüllt es mit diesem Inhalt . Das Originalscript sta...