4/13/2024

Windows Update Error 0x80070643 When Installing KB5034441

I have multiple computers, that fail to install the Windows Update KB5034441.

As so often, Microsoft have done a brilliant job of not fixing the problem for four months as of this writing. Well done! 😏

After reading up on the web, it seems that the error is related to an update to the Windows Recovery Environment (WinRE).

Surprisingly enough, I have the problem only on computers that do not run WinRE at all. Those that do have no problem. Now the web only has solutions (some of doubtful quality) for computers that do run WinRE, so they are not applicable to my case.

Here is my approach to this:

First of all, verify that you are not running WinRE: in an elevated command prompt run "reagentc /info".


If you get a similar output, saying "Disabled", then you can follow this advice. Otherwise, go back to the web, and good luck to you!

After having verified that this update is not relevant for me, I decided to hide it:

  • Download the Microsoft Show or Hide Updates Tool from here
  • Run the tool
  • click "Advanced"
  • uncheck "Apply repairs automatically"
  • click "Next"
  • be patient ...
  • click "Hide updates"
  • check KB5034441
  • click "Next"
  • let the tool do its job

Now you will not see the failed (and failing) update any longer.

Should Microsoft ever choose to fix the update, you can unhide it using the same tool and install it.

Ah, beautiful silence in the Windows Updater now. 😁

3/26/2024

Fritzbox S2S VPN mit WireGuard

Die Beschreibung von AVM ist ja eigentlich sehr gut und einfach zu verstehen: https://avm.de/service/wissensdatenbank/dok/FRITZ-Box-7490/3686_WireGuard-VPN-zwischen-zwei-FRITZ-Box-Netzwerken-einrichten?t_id=6167328

Trotzdem kam bei mir immer die schöne Fehlermeldung "Die konfigurierte WireGuard-Gegenstelle verursacht einen Netzwerkkonflikt".

Mögliche Ursachen kann man hier nachlesen: https://avm.de/service/wissensdatenbank/dok/FRITZ-Box-7490/3712_FRITZ-Box-meldet-Die-konfigurierte-WireGuard-Gegenstelle-verursacht-einen-Netzwerkkonflikt?t_id=6167328

Blöd nur, wenn diese Ursachen alle nicht zutreffen!

Nun, der AVM Support war hier sehr hilfreich. Es stellte sich heraus, dass man hier nur zwei Class-C Netzwerke (/24) miteinander verbinden kann. Ich hatte auf einer Sete leider ein Class-A (/8). Die Fehlermeldung könnte sicher aussagekräftiger sein ...

Sobald das Problem dann bekannt ist, ist es auch schnell behoben 😀

Wer braucht schon privat mehr als 255 IP-Adressen 😂 


3/21/2024

iptables and geo-ip blocking on Debian

I wanted to block all incoming traffic from untrusted countries to avoid the meanwhile excessive hacking attempts from Eastern Europe, China, Russia, etc.

Instructions that I found online were somewhat outdated, so they did not work, but contained valuable pointers into the right direction.

In principle, itworks as follows:

  • use iptables and the geoip module, which requires installation
  • downloads a database that maps IP addresses to countries (maxmind)
  • convert that database, so it is accessible by iptables geoip

Quite simple, isnt't it?


And this is my detailed procedure:

apt install geoipupdate: this tool will download maxmind's geiop database

sign up at https://dev.maxmind.com/, and generate an API key - it's free for "fair use"

after you have created the API key, download the generated configuration file for geoipupdate, and replace /etc/GeoIP.conf with it.

if you run geoipupdate now, you will find the downloaded databases in /var/lib/GeoIP/

mkdir /etc/geoip: this is where the necessary scripts and tool for converting the database go

get the release tarball from https://github.com/maxmind/libmaxminddb, so you can build libmaxminddb, which is needed by the converter. I unpacked it into /etc/geoip/libmaxminddb.

cd /etc/geoip/libmaxminddb && ./configure && make && make check

mkdir /etc/geoip/maxminddb-dump-country: this is where the exporter goes

cd /etc/geoip/maxminddb-dump-country && git clone https://github.com/vel21ripn/maxminddb-dump-country

add the following options to gcc in Makefile:
-I ../libmaxminddb/libmaxminddb-1.9.1/include -L ../libmaxminddb/libmaxminddb-1.9.1/src/.libs/

make

mkdir /usr/share/xt_geoip: do not change this patch, it is hardcoded into the geoip module

run the converter: maxminddb-dump-country/xt_geoip_build_maxmind -v -o /usr/share/xt_geoip geoip-db/GeoLite2-Country.mmdb

now you will have all the necessary country mappings in /usr/share/xt_geoip

install the geoip module: apt install xtables-addons-common

create a script /etc/geoip/block.sh. Mine contains something like this:

# accept local
iptables -I INPUT 1 -s 127.0.0.1 -j ACCEPT
iptables -I INPUT 2 -s 192.168.178.0/24 -j ACCEPT
# drop "untrusted" countries
iptables -I INPUT 5 -m state --state NEW -m geoip ! --source-country AT,FR,DE,GB -j DROP


Run block.sh.
If you have no persistent iptables rules (I don't), add block.sh to your crontab to run at boot time.

I also created a script /etc/geoip/update.sh, which runs 
/usr/bin/geoipupdate
maxminddb-dump-country/xt_geoip_build_maxmind -o /usr/share/xt_geoip geoip-db/GeoLite2-Country.mmdb

Finally, add update.sh to your crontab and have it run regularly but not too often. Fair Use, remember. Maxmind update their database twice a week.

Please note that this kind of block is not 100%. Some unwanted packets might slip through, so you better have other security measures in place. Also, it may block IP addresses that you did not want to block. These are rare cases, but it may happen.
My "disturbance" have gone down significantly (> 90%) since I applied this procedure.


2/01/2024

Installing Tiny Tiny RSS (ttrss) Server on Debian (Apache/MariaDB) without Docker

I am running Apache and MariaDB. Installing TTRSS without Docker was fairly easy, here is an outline.

Set Up Database and User

in a SQL prompt:

CREATE USER 'ttrss'@localhost IDENTIFIED BY 'YourPasswordHere';

create database ttrss;
grant all privileges on ttrss.* to 'ttrss'@localhost;

Clone Git Repository

Go to the directory where ttrss should be running.
git clone https://git.tt-rss.org/fox/tt-rss.git .
chown -R www-data:www-data .

Create Database Schema

mysql --user=ttrss '--YourPasswordHere' --database=ttrss
source sql/mysql/schema.sql
exit

Configuration

cp config.php-dist config.php

Edit config.php and add the following lines:
putenv('TTRSS_DB_HOST=localhost');
putenv('TTRSS_DB_NAME=ttrss');
putenv('TTRSS_DB_USER=ttrss');
putenv('TTRSS_DB_PASS=YourPasswordHere');
putenv('TTRSS_SELF_URL_PATH=http://your.serv.er/dir');
putenv('TTRSS_DB_TYPE=mysql');
putenv('TTRSS_DB_PORT=3306');

Update Database Schema

For some reason this was necessary, maybe the schema.sql above was outdated?

sudo -u www-data php ./update.php --update-schema

Create Service to Regularly Update Your Feeds

put the following text into a new file named /etc/systemd/system/ttrss_backend.service:
[Unit]
Description=ttrss_backend
After=network.target mysql.service

[Service]
User=www-data
ExecStart=<path to your directory>/update_daemon2.php

[Install]
WantedBy=multi-user.target
Then activate and start the new service
systemctl enable ttrss_backend
systemctl start ttrss_backend

Done

Ready to be accessed via the browser now. You can log in with admin/password. Do I need to mention that you should change the password?

A Little Security

You may want to add some security, such as a modsecurity rule that prevents the admin account from logging in from external networks.

And a fail2ban configuration watching out for failed logins, with a filter like this:
# Fail2Ban filter for tt-rss
#

[INCLUDES]

# Read common prefixes. If any customizations available -- read them from
# common.local
before = common.conf

[Definition]
failregex = ^.*Failed login attempt for .* from <HOST> .*$

ignoreregex =
Plus, of course, a jail definition using this filter.

To have TTRSS write to the Apache error log, you need to add this line to your config.php:
putenv('TTRSS_LOG_DESTINATION=');



1/02/2024

VPN FritzBox - Android

Einmal vorweg: wenn man keine IPv4 Adresse hat, kann man das Thema komplett knicken.

Das bisher übliche IPSec VPN habe ich mit dem seit Android 12 üblichen IKEv2 nicht zum laufen bekommen. Auch mit dem alten, aber noch vorhandenen IPSec ging es nicht. Es kam zwar eine Verbindung zustande, Daten wurden aber keine übertragen: 0 packets.

Das bei Fritz nun vorhandene WireGuard VPN war mittels QR Code denkbar leicht einzurichten. Und auf eine Fritzbox mit reinem IPv4-Anschluss funktionierte es auch bestens.

Mit einem IPv6-Anschluss kam zunächst keine Verbindung zustande. Ich habe den Servernamen dann so geändert, dass er eine IPv4-Adresse nutzte. Hier kam die Verbindung zustande, aber wieder keine Datenübertragung.

Fazit: mit IPv4 und WireGuard alles bestens. Sonst Finger weg.

Vorwerk Saugroboter VR300 einrichten - mit etwas Glück klappt das sogar!

Ich habe einen Saugroboter, Chinaware, mehr als 10 Jahre alt.

Nun habe ich jemandem beim Einrichten eines neuen VR300 helfen "dürfen". Und ich kann feststellen, dass Vorwerk bei den Fähigkeiten selbst meinem alten Gerät nicht das Wasser reichen kann.

Saugen: das erste Saugen hat er geschafft, allerdings sind die Pfade nicht immer nachvollziehbar und zwischendurch dreht er sich gerne mehrmals um die eigene Achse - Pirouetten, wie schön! Unter der Toilettenschüssel hat er sich dann festgeklemmt. So etwas kann mit vernünftigen Sensoren eigentlich nicht passieren. Aber gut, man kann ja später über die App künstliche Barrieren einbauen.

Verbindung mit dem Handy: hiermit habe ich mehr als einen Tag gekämpft - und ich bin vom Fach. Das Koppeln schlug mit dem Hinweis "keine Internetverbindung" fehl, obwohl das Gerät, wie man auf dem Router sehen konnte, korrekt eingebucht war. Zugangsbeschränkungen bestehen keine. Nach Fünf Wiederholungen, die Dank notwendiger wilder Knopfdrückerei am Gerät und notwendigen Neustarts eine Ewigkeit dauerten, habe ich erst einmal aufgegeben.

Am nächsten Tag habe ich mir die nötigen Werkzeuge zusammengestellt, um den Netzwerkverkehr aufzuzeichnen, um so festzustellen, warum er meint, kein Internet zu haben. Alles aufgesetzt, also Problem reproduzieren. Nun, diesmal gab es kein Problem, die Verbindung klappte. Über den Grund kann ich nur spekulieren: möglicherweise war der zuständige Server von Vorwerk nicht erreichbar?

Die Registrierung am Handy ist dann trotzdem fehlgeschlagen: "wiederholen", hieß es. Glücklicherweise fing der Prozess aber nicht wieder ganz von vorne an, denn das 20stellige WLAN Passwort wollte ich nicht schon wieder eingeben. Schon fertig!

Nochmal saugen lassen, damit er einen Grundriss aufbaut. Was er nicht tut, im Gegensatz zu meinem alten Gerät. Man muss ihm sagen, dass er jetzt einen Grundriss erstellen soll. OK.

Und was macht er dann? Er saugt und fährt dabei noch wirrere Bahnen (ich hätte nicht gedacht, dass das überhaupt möglich ist!) als beim normalen Saugen. Dank der wirren Bahnen hat er die 70qm nicht in einem Zug geschafft- wow, danke! Warum schaltet er beim "kennenlernen" überhaupt die Saugfunktion an? Und weitermachen wollte er erst wieder, nachdem er sich 2 lange Stunden voll aufgeladen hatte. Danach hat er es tatsächlich geschafft. Wir hatten einen Grundriss!

Die App meldet per Banner ein Software Update. Das Banner überdeckt wichtige Daten, also starten wir das Update: Fehler - wiederholen - Fehler - wiederholen - Fehler - wiederholen - Fehler - aufgeben.

Das Update kann man auch manuell machen. Dazu benötigt man ein USB-OTG Kabel und einen USB-Stick, der aber für Vorwerk bloß nicht zu groß sein darf, ... lassen wir das. Ich habe geraten, das Gerät für das Update zum Vorwerk-Shop zu bringen.

Barrieren einbauen: ja, das geht, ist aber am Handy mehr als mühsam. Auf ein Tablet konnten wir nicht ausweichen, da die App ausschließlich für Handys im App Store steht. Warum?

Mit viel Gefühl und Spucke haben wir auch das geschafft.

Wichtig ist noch, die nähere Umgebung um das Ladegerät nicht zu verändern: der Grundriss wir nämlich nach einem ersten "Abtasten" der Umgebung ausgewählt. Ja, der VR300 unterstützt tatsächlich mehrere Grundrisse! Und wenn die Umgebung geändert wurde, dann gibt es keinen passenden Grundriss und damit auch keine Barrieren.

Gut, wir habe ihn also lauffähig.

Würde ich das Gerät weiterempfehlen oder sogar selbst verwenden? Mmmm ... muss nicht sein.

Vorwerk hat wohl nur sehr wenig Expertise, wenn es um Smart Electronics geht, das sieht man hier und z. B. auch an den "aufgemotzen" Nachfolgern des ursprünglich sehr guten "Thermomix".

Bei den Saugrobotern liegt Vorwerk gegenüber den Mitbewerbern um mehrere Generationen zurück. Die "normalen" Staubsauge und den einfachen Thermomix verwende ich aber selbst gerne und oft und bin sehr zufrieden. Sie sollten nur einfach bei ihrer Kompetenz bleiben, oder Expertise einkaufen.

adaxas Web Directory