Python Bottle mit SSL (https)

14.01.2025 - Lesezeit: ~1 Minute

Änderung gegen über der Original-Quelle (Deprecated since version 3.6: OpenSSL has deprecated all version specific protocols.)

PROTOCOL_TLSv1_2 wird zu PROTOCOL_TLS_SERVER

  • test_bottle_https_ssl.py
from bottle import ServerAdapter,run,get

class SecureAdapter(ServerAdapter):
    def run(self, handler):
        from wsgiref.simple_server import make_server, WSGIRequestHandler, WSGIServer
        from socketserver import ThreadingMixIn
        import ssl

        if self.quiet:
            class QuietHandler(WSGIRequestHandler):
                def log_request(*args, **kw):
                    pass

            self.options['handler_class'] = QuietHandler

        #Setup SSL context for 'A+' rating from Qualys SSL Labs.
        context = ssl.SSLContext(protocol=ssl.PROTOCOL_TLS_SERVER)
        context.load_cert_chain(certfile='server.pem')
        context.set_ciphers('EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH')

        class ThreadAdapter(ThreadingMixIn, WSGIServer): pass
        ssl_server = make_server(self.host, self.port, handler, server_class=ThreadAdapter, **self.options)
        ssl_server.socket = context.wrap_socket(ssl_server.socket, server_side=True)
        ssl_server.serve_forever()

@get("/x")
def get_x():
 return "Hi there"

run(server=SecureAdapter, host="0.0.0.0", port=8090)
Tags:

Raspberry Pi OS Lite mit Music Player Daemon (mpd)

11.01.2025 - Lesezeit: ~1 Minute

Auch unter Raspberry Pi OS Lite läuft der Music Player Daemon (mpd).

zur Beachtung:

  • der speaker-test blockiert die alsa-Schnittstelle, so dass der mpd keine Musik abspielen kann.
Tags: raspi mpd

Raspi mit Music Player Daemon (mpd)

09.01.2025 - Lesezeit: 2 Minuten

Nachdem auf dem Raspi Zero das Soundsystem funktioniert, kann ich den mpd installieren.

sudo apt install mpd

Der User mpd muss zur Gruppe audio hinzugefügt werden

sudo usermod -aG audio mpd

Anzeige der vorhandenen Soundkarten

aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: vc4hdmi [vc4-hdmi], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: sndrpihifiberry [snd_rpi_hifiberry_dac], device 0: HifiBerry DAC HiFi pcm5102a-hifi-0 [HifiBerry DAC HiFi pcm5102a-hifi-0]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

Die Datei /etc/mpd.conf anpassen:

sudo nano /etc/mpd.conf

Die Zeile kommentieren, damit der Zugriff über das Handy funktioniert:

# bind_to_address                 "localhost"
audio_output {
        type            "alsa"
        name            "Hifi Berry DAC"
        device          "hw:1,0"        # optional
        mixer_type      "software"      # optional
##      mixer_device    "default"       # optional
##      mixer_control   "PCM"           # optional
##      mixer_index     "0"             # optional
}
sudo systemctl enable mpd
sudo service mpd restart
sudo service mpd status
music_directory      "/var/lib/mpd/music"
playlist_directory    "/var/lib/mpd/playlists"

Bei Problemen das journalctl anzeigen:

  • -f Follow (Live-Anzeige)
  • -u Unit mpd

journalctl -f -u mpd

Meine Fehlermeldungen:

Tags: raspi mpd

Raspi mit Soundkarte hifiberry-dac

08.01.2025 - Lesezeit: 2 Minuten

Raspberry Pi Zero 2 W Rev 1.0 mit Soundkarte hifiberry-dac

Soundkarte hifiberry-dac

Da das Soundsystem unter Linux nicht trivial zu installieren ist, installiere ich ein komplettes Raspbian.

Raspi-imager

Auf dem Raspi die Soundkarte eintragen:

$ sudo nano /boot/firmware/config.txt

dtoverlay=hifiberry-dac

Nicht benötigte Programme deinstallieren

$ sudo apt purge firefox
mkdir bin
nano bin/wls_update
#!/bin/bash
sudo apt update && sudo apt dist-upgrade
sudo apt-get autoremove --purge
sudo apt-get autoclean
sudo chmod +x bin/wls_update

Das Soundsystem aktivieren

sudo raspi-config
6 - Advanced Options
A7 - Audio Config
1 - Pulse Audio

Den Raspi neustarten.

Die Soundausgabe testen:

aplay /usr/share/sounds/alsa/Front_Center.wav
aplay /usr/share/sounds/alsa/Front_Left.wav
aplay /usr/share/sounds/alsa/Front_Right.wav
aplay /usr/share/sounds/alsa/Front_Center.wav

oder mit

speaker-test -t wav -c 2 
Tags: raspi hifiberry-dac alsa sound

Entschlüsseln einer mit PGP verschlüsselten Datei

30.12.2024 - Lesezeit: 3 Minuten

Eine mit PGP verschlüsselte Datei hat normalerweise die folgenden Komponenten:

  • Passphrase – PGP verwendet eine Passphrase, um Ihren privaten Schlüssel auf Ihrem Computer zu verschlüsseln. Ihr privater Schlüssel wird auf Ihrer Festplatte verschlüsselt, wobei ein Hash Ihrer Passphrase als geheimer Schlüssel verwendet wird. Sie verwenden die Passphrase zum Entschlüsseln und Verwenden Ihres privaten Schlüssels. Eine Passphrase sollte für Sie schwer zu vergessen und für andere schwer zu erraten sein.
  • Öffentlicher Schlüssel – Ein öffentlicher Schlüssel ist ein Schlüssel, den andere Personen zum Verschlüsseln einer Nachricht verwenden, die nur Sie öffnen können.
  • Privater Schlüssel – Ein privater Schlüssel ist der Schlüssel, mit dem Sie die an Sie gesendeten Nachrichten basierend auf Ihrem öffentlichen Schlüssel entschlüsseln können.

Diese Komponenten werden vom Client bereitgestellt und wir müssen sie zum Entschlüsseln der Dateien verwenden.

Jetzt erstelle ich ein Schlüsselpaar für info@wlsoft.de Alle Fragen beantworte ich mit den Default-Werten.

$ gpg --full-generate-key

Anzeigen des erzeugten Schlüssels:

$ gpg --list-secret-keys --keyid-format=long
sec   rsa3072/7DF93BFA6A2E11DA 2024-12-31 [SC]
      863B3A7B59C550547E4AD75C7DF93BFA6A2E11DA
uid                 [ultimate] Information <info@wlsoft.de>
ssb   rsa3072/1AE18982CFBE2926 2024-12-31 [E]

Den Public-Key ausgeben:

$ gpg --armor --export 863B3A7B59C550547E4AD75C7DF93BFA6A2E11DA > info-wlsoft-de-public-key.asc

Jetzt in Thunderbird diesen Schlüssel importieren:

  • Tools - OpenPGP Manager
    • File - Import Public Key from File

Testen der Verschlüsselung und Entschlüsselung. Für das Entschlüsseln miuss einmalig die Passphrase für den privaten Schlüssel eingegeben werden.

#! /bin/bash
DATEI=/tmp/dk_bilddestages.txt
if [ -f $DATEI'.gpg' ]; then
   echo "Datei $DATEI.gpg exists."
   rm $DATEI'.gpg'
fi
echo Schlüssel auflisten
gpg --list-public-keys
echo für mich selbst Verschlüsseln
gpg -e  --recipient info@wlsoft.de --verbose $DATEI
echo Entschluesseln
gpg -d --verbose $DATEI'.gpg' > $DATEI.decrypted
Tags: gpg gnupg thunderbird

Teufel Cinebase

21.12.2024 - Lesezeit: ~1 Minute

Technische Beschreibung und Bedienungsanleitung 6.1 Sounddeck mit Sonic Emotion Absolute 3D Bluetooth Kompatible Geräte wie z.B. die meisten Smartphones können Sie über Bluetooth mit Ihrer Cinebase verbinden. Die Tonausgabe des Smartphones erfolgt dann über die Cinebase.

  1. Wählen Sie mit der Taste BLUETOOTH (20) als Quelle aus.Die Betriebs-LED (11) beginnt langsam blau zu blinken.
  2. Schalten Sie an Ihrem Quellgerät (z.B. Smartphone) die Bluetooth-Funktion ein.
  3. Drücken Sie die Taste BT PAIRING (18).Die Betriebs-LED (11) blinkt schnell blau.
  4. Lassen Sie Ihr Quellgerät nach Bluetooth-Geräten suchen. Mehr Informationen dazu finden Sie in der Bedienungsanleitung Ihres Quellgerätes.In der Liste der gefundenen Geräte sollte nach dem Suchlauf auch „Cinebase“ aufgeführt sein.
  5. Wählen Sie „Cinebase“ aus der Liste der gefunde-nen Geräte aus.Die Cinebase arbeitet jetzt wie ein Bluetooth-Kopfhörer und gibt alle Töne wieder, die sonst von Ihrem Quellgerät abgespielt würden.

Literatur: https://www.bedienungsanleitu.ng/teufel/cinebase/anleitung?p=1

Cinebase Fernbedienung

Tags: Teufel Cinebase Bluetooth