Informationen über ein Zertifikat auslesen

Im Terminal bzw. via SSH zum Ablageort des Zertifikats wechseln.

Alternativ über den Dateimanager (z.B. PCMan File Manager) im entsprechenden Ordner positionieren und dann in der Menüleiste Werkzeuge & „Aktuellen Ordner im Terminal öffnen“ wählen.

Im Terminal folgenden Befehl ausführen:

openssl x509 -noout -text -nameopt multiline -in cert.pem

Unter „Subject: commonName“ wird angezeigt, zu welcher Domain die Zertifikatsdatei gehört.

Validity gibt an, ab bzw. bis wann ein SSL/TLS-Zertifikat gültig ist.

Raspberry Pi: E-Mail bei Wechsel der externen IP-Adresse senden

Script prüft auf die aktuelle externe IP-Adresse und gleicht sie mit der gespeicherten ab. Bei Abweichung (=IP-Wechsel) wird eine E-Mail versandt.

Task 1: Datei IPfile.txt in /home/pi anlegen

Task 2: Folgenden Code in einer neuen Datei unter dem Namen IPmail.py im gleichen Pfad abspeichern:

import socket
import re
import smtplib

# Python3:
from urllib.request import urlopen

# Python2 (deprecated):
# from urllib2 import urlopen

# Define timeout (in seconds) if server is not available
timeout=10
socket.setdefaulttimeout(timeout)

# SETUP: Login credentials of mailbox, mailserver etc.
from_address = 'PLEASE_FILL_OUT'
to_address = 'PLEASE_FILL_OUT'
username = 'PLEASE_FILL_OUT'
password = 'PLEASE_FILL_OUT'
server = smtplib.SMTP('PLEASE_FILL_OUT')

# Define IP address service
url = 'http://ip.fnord.eu'
print ("Active IP address service:",url)

# Open up the URL, then read the contents and start UTF-8 decoding
request = urlopen(url).read().decode('utf-8')

# Extract the IP address only
myIP = re.findall("\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}", request)
myIP = str(myIP)
print ("The actual IP address is:",myIP)

def send_email(myIP):
    subject = 'Info: external IP changed'
    body_text = myIP + ' is your new IP address'
    message = '\r\n'.join(['To: %s' % to_address,
                       'From: %s' % from_address,
                       'Subject: %s' % subject,
                   '', body_text])
    
    # Actually send the email
    server.starttls()
    server.login(username,password)
    server.sendmail(from_address, to_address, message)
    server.quit()
    print ("The notification (E-Mail) was sent to recipient's address.")

# Open up IPfile.txt and extract the contents
with open ('/home/pi/IPfile.txt', 'rt') as IPfile:
    IPfile = IPfile.read() # Read the text file

# Check if IP address has changed
if IPfile == myIP:
    print ("Your IP address did not change.")
else:
    print ("You got a new IP address.")
    with open('/home/pi/IPfile.txt', 'wt') as IPfile:
        IPfile.write(myIP)
    print ("The new IP address was saved successfully.")
    send_email(myIP)

Task 3: Cronjob via SSH anlegen

 crontab -e

Am Ende folgende Zeile einfügen, damit das Script alle 2 Minuten ausgeführt wird und bei Verlassen speichern:

*/2 * * * * python3 /home/pi/IPmail.py

Dieses Python-Script basiert auf einem
YouTube-Tutorial von Alexander Baran-Harper und wurde für den persönlichen Gebrauch modifiziert / erweitert.

Nextcloud-Update: Fehlende Konvertierung in BIGINT

Hinweismeldung:
Bei einigen Spalten in der Datenbank fehlt eine Konvertierung in big int. Aufgrund der Tatsache, dass das Ändern von Spaltentypen bei großen Tabellen einige Zeit dauern kann, wurden sie nicht automatisch geändert. Durch Ausführen von „occ db:convert-filecache-bigint“ können diese ausstehenden Änderungen manuell übernommen werden. Diese Operation muss ausgeführt werden, während die Instanz offline ist.

Im Nextcloud-Stammverzeichnis folgenden Befehl via SSH ausführen:

php occ db:convert-filecache-bigint