Crypto Workflow Token Simulation mit dem Camunda Modeler Plugin. Hier das Ergebnis als 30 Sekunden Video:
Das BPMN Modell von oben: … „Crypto Workflow Token Simulation mit BPMN und Camunda Modeler Plugin“ weiterlesen
Wenzlaff.de – Rund um die Programmierung
mit Java, Raspberry Pi, SDR, Linux, Arduino, Sicherheit, Blender, Statistik, Krypto und Blockchain
Crypto Workflow Token Simulation mit dem Camunda Modeler Plugin. Hier das Ergebnis als 30 Sekunden Video:
Das BPMN Modell von oben: … „Crypto Workflow Token Simulation mit BPMN und Camunda Modeler Plugin“ weiterlesen
Gestern die neue Version von ArchUnit 0.19.0 veröffentlicht. Dann mal ein Quicktest: … „ArchUnit in Version 0.19.0 veröffentlicht oder wie validiere ich die Architektur am Beispiel einer Blockchain“ weiterlesen
(Danke Dr. Kleinhirn.eu)
Mal den Taproot Status von der Kommandozeile ausgeben mit:
curl https://taproot.watch/index.txt
„Taproot Status von der Kommandozeile – bald ist es soweit“ weiterlesen
TWHackSSH ist nun auch auf Maven Central erhältlich. Lange dort nichts mehr hochgeladen. Die habe jetzt auch eine schöne Übersichtsseite aller Abhängigkeiten mit Scann und mit E-Mail Benachrichtigung:
Jetzt geht der Download also auch darüber, wer das TWHackSSH haben will, kann über
https://search.maven.org/remotecontent?filepath=de/wenzlaff/twhackssh/de.wenzlaff.twhackssh/1.0.5/
gehen oder von diese Seite das Programm laden … „TWHackSSH 1.0.5 nun auch auf Maven Central“ weiterlesen
SSH Brute-Force mit Java. Gar nicht so schwierig.
Wir lesen eine Passwort- und eine Userdatei ein und machen ein connect zu einem SSH-Server mit jeder Kombination bis wir eine gültige Verbindung gefunden haben. Hier die Architektur inkl. JUnit-Testklassen: … „SSH Brute-Force mit Java, picocli und TWHackSSH“ weiterlesen
Der Versuch macht klug und der Erfolg kommt schon mit dem Versuch und nicht erst wenn es klappt. Wer sein eigenes Passwort für den Raspberry Pi (oder auch jeden anderen Rechner) vergessen hat, kann es ja mal mit dem SSH Brute-Force Script von nmap versuchen. Und es ist auch erschreckend, wie schnell und einfach man ein passwortgeschützen Zugang hacken kann. Aber nur an eigenen Rechnern 😉
Wir habe hier mal, wie oben dargestellt zwei Raspberry Pi. Von dem pi oben links, machen wir mit der Brute-Force-Methode einen Scann des pi auf dem ein SSH Port Nr. 22 offen ist.
Dazu benutzen wir nmap. Das können wir installieren mit
sudo apt-get install nmap oder wie hier beschrieben selbst compilieren.
Nun checken wir, ob der SSH-Port Nr. 22 offen ist mit nmap: … „SSH Passwort Zugriff mit Brute-Force Script in 19 Sekunden oder „Versuch macht klug!““ weiterlesen
Wer hin und wieder mal ein Passwort braucht, kann sie auch leicht auf der Komandozeile eines jeden Linux-Rechners (Pi, Mac …) erzeugen. Mit Disk Dump (dd) schreiben wir von der unlimitierten Zufallszahlengenerator Schnittstelle eine Base64 Zahl.
Hier mal ein Beispiel mit einer 128-Bit Entropie: „Kommandline Quickie: Passwort Generierung“ weiterlesen
Mit automatischer Architektur validierung mit JUnit 5 Annotation @ArchTest von archunit kann leicht die Architektur vorgaben überprüft werden. Aber es kann auch leicht verhindert werden, das man z.B. System.out oder System.err verwendet. Oder das verhindert wird, das das interne Java Logging verwendet wird.
Was für mich auch wichtig ist, das der Logger immer LOG heißt, und nicht log oder logger.
Einfach diese JUnit-Test Klasse in alle Projekte einbinden. „Architektur mit archunit validieren“ weiterlesen
Die auf dem Rechner installierten SSH-Keys können mit diesem Befehl gelistet werden:
1 |
for keyfile in ~/.ssh/id_*; do ssh-keygen -l -f "${keyfile}"; done | uniq |
Dabei ist der Algorithmus wichtig, der angezeigt wird. … „Upgrade deine SSH Keys auf: ed25519“ weiterlesen
Mit dem Genesis Block Nr. 0 ist die Bitcoin Blockchain am 3.1.2009 gestartet. Ca. alle 10 Minuten kommt ein neuer Block.
Jetzt sind wir gerade bei Block Nr. 683973: … „BTC Blocknummer (683973) der Blockchain in NodeRed Dashboard anzeigen“ weiterlesen
Vor 3 Jahren hatte ich hier schon mal berichtet, wie man rtl_433 installieren und updaten kann. Und hier wie man die Daten per MQTT verteilt. Da vor ein 8 Tagen das neue Release 21.05 veröffentlicht wurde, ist es mal Zeit das zu installieren.
… „Release 21.05 von rtl_433 für den Raspberry Pi veröffentlicht um Temperatursensoren und Luftruck von Autoreifen (TPMS) uä. zu empfangen“ weiterlesen
Seit JUnit 5.1 gibt es das OS Enum. Mit der können leicht Tests in Abhängigkeit des OS durchgeführt werden. Es werden die folgenden Betriebssysteme unterstüzt:
Also nur die Methode z.B. mit der @EnabledOnOs(OS.MAC) Annotation versehen, und der Test läuft nur auf dem Mac 🙂 oder nicht dann mit @DisabledOnOs(OS.MAC): … „Betriebssystem abhängige Tests 🙁 – EnabledOnOs oder DisabledOnOs für JUnit 5“ weiterlesen
Coronavirus: Zahl der täglichen Neuinfektionen geht weiter zurück (153). Wie lautet die Inzidenz für meine Stadt? Hier ein kleiner Flow, der täglich auf das Handy per Pushover (siehe Bild oben) die aktuelle Inzidenz Zahl vom RKI versendet. Dann braucht man nicht immer auf das Dashboard des RKI zu schauen…. „Covid Inzidenz abfragen beim „Robert Koch Institute (RKI)“ und per Pushover auf das Handy versenden“ weiterlesen
Gerade eben die Java Blockchain erweitert v0.0.3. Wer Lust hat mitzumachen kann gern Merge-Requests einreichen.
Schöne echtzeit Simulation der echten Bitcoin-Transaktionen:
Es gibt nun auch einen neuen Node „bip39 wordlist“ für die BIP39 Wortlisten.
Der Beispiel-Flow zum generieren und validieren der BIP39 Wortlisten könnte so aussehen: … „BIP39 Wortlisten als Node für NodeRed“ weiterlesen
Wer mal eben in ein paar Sekunden einen QR-Code von der Kommandozeile erzeugen will, braucht nur diese URL mit curl aufrufen:
curl http://qrenco.de/[HIER DER TEXT FÜR DEN QR-CODE INHALT]
Z.B.: curl http://qrenco.de/kleinhirn.eu
Wer Kurse auch im NodeRed-Dashboard anzeigen bzw. umrechnen will, kann diesen Beispiel Flow als Template verwenden.
Die Funktion ist schnell erklärt. Es wird nach der Eingabe des Bitcoin Wert (Achtung, kein Komma, nur den Dezimalpunkt verwenden) der Kurs bei Kraken abgefragt und der aktuelle BTC in Euro umgerechnet. Der Beispiel Button, im Flow, erzeugt z.B. den Wert für 1000 Euro. Kann ja leicht angepasst werden oder auch direkt vom Konto eingspielt werden, wie hier schon mal gezeigt. … „BTC -15,94% wenn das kein Grund für einen BTC to Euro Dashboard mit NodeRed ist“ weiterlesen
Eine Firewall ist auf dem Raspberry Pi schnell mit dem UFW eingerichtet und kann die Sicherheit verbessern.
Die Firewall UFW muss nur installiert werden mit:
1 2 3 |
sudo apt-get update sudo apt-get upgrade sudo apt-get install ufw |
Nun schalten wir zuerst den ipv6 auf no in der Datei /etc/default/ufw, da er bei mir nicht verwendet wird. „Firewall in 10 Minuten einrichen mit UFW (Uncomplicated firewall) nicht nur auf dem Raspberry Pi“ weiterlesen
Gestern wurde ArchUnit in Version 0.18.0 veröffentlicht.
Wenn das keine Grund ist mal zu zeigen, wie man eine Package-Abhängigkeit überprüfen kann.
Also wir wollen einen Test schreiben, der durchläuft wenn nur aus dem Package blockchain auf das Package be zugegriffen wird. Wie hier im UML Diagramm gezeigt:… „ArchUnit gestern in Version 0.18.0 veröffentlicht oder wie validiere ich die Architektur am Beispiel einer Blockchain“ weiterlesen
Wollte heute mal noch vor dem Börsengang von Coinbase ein Blockchain in Java coden. Mit nur zwei Klassen sind die Grundlagen implementiert. D.h. ein Block verweist jeweils auf den nächsten Block. Jeder Block hat einen Hash über die Daten und kann so von jedem validiert werden. Ein Block kann alles enthalten, hier mal ein String Objekt, es muss ja nicht immer Bitcoin sein. Hier die Architektur:
Ein JUnit 5 Testklasse erzeugt eine gültige Blockchain mit 5 Blöcken und wird anschließend validiert. Bei Bitcoin werden alle 10 Minuten neue Blöcke erzeugt. Die haben dann jeweils (ursprünglich) eine Größe von ca. max 1 MB an Daten.
Dann im zweiten Testfall wird ein Block verändert und in die Blockhain eingefügt. Das Ergebnis der validierung muss dann einen Error ausgeben.
Ein Block sieht so aus: „Blockchain in Java – Bitcoin heute Neues Allzeithoch – Nasdaq: Börsengang von Coinbase“ weiterlesen
In der neuen Version von gestern von NodeRed können nun nur selektierte Nodes exportierte werden. Dazu die Nodes markierern die exportiert werden sollen und im Menü auf Export:
Schon erscheinen die selektierten Nodes, und man kann evl. vertrauliche BTC Adressen löschen: „NodeRed export von selektierten Nodes“ weiterlesen
Es gibt nun auch seit ein paar Stunden einen neuen Docker Kontainer für den Raspberry Pi.
Was es neu gibt, kann hier nachgeschlagen werden.
Hier die Haupt Features
-npm packaged subflows (da bin ich ja gespannt, wie mein erster Flow in gepackt wird, später mehr)
-Function node use of npm modules
-Referencing msg properties in Change/Switch nodes
-Node-RED Plugins framework
Editor Features
-Export preview (siehe hier … „Neue NodeRed Version 1.3.1 veröffentlicht auch für Docker auf dem Raspberry Pi (v6, v7)“ weiterlesen
Wer mal eben den Bitcoin Kurs wissen will, einfach
curl rate\.sx/btc von der Kommandozeile eingeben.
Und hier die Anleitung: … „Bitcoin Kurs zu Ostern (-2.20%) mal von der Kommandozeile“ weiterlesen
Wer mal schnell das Wetter auf der Kommandozeile ausgeben will kann einfach
curl http://wttr.in/langenhagen
aufrufen (Ort ersetzen 🙂
Oder mit deutscher Beschriftung, macht das Wetter aber auch nicht besser: … „Wetter Quickie von der Kommandozeile“ weiterlesen
Manchmal will man mal eben etwas Text in ein PDF umwandeln. Das geht auch ganz schnell und einfach von der Kommandozeile. Es muss zuvor nur ghostscript und enscript auf dem Raspberry Pi installiert werden mit:
sudo apt-get install ghostscript enscript
Dann kann es schon losgehen. Wir haben z.B. eine Test-Datei mit Name test-txt-to-pdf.txt und diesem Inhalt:
1 2 3 4 5 6 7 8 9 |
Diese kleine Testdate soll einfach mal in PDF umgewandelt werden. Das klappt mit ps2pdf aus dem ghostscript Package. |
Wir geben dann auf der Kommandozeil ein:
enscript test-txt-to-pdf.txt -o – | ps2pdf – ergebnis.pdf
Und schon erhalten wir eine ergebnis.pdf mit diesem Inhalt: … „Wie kann Text in PDF von der Kommandozeile erzeugt werden?“ weiterlesen
In der Pandemie könnte mit diesem Counter am Eingang eines Ladens die Besucher gezählt werden. Auch ein Foto wird jeweils gemacht (Achtung, Datenschutz beachten 😉 ) und die Besucher schön in einem Diagram nach Uhrzeit ausgegeben. Alles wird über einen eigenen Server ausgegeben.
Auf die Straße gerichtet, wird der PKW mit Foto und Geschwindigkeit erfasst. Cool. Und man kann sehen, wieviel Autos so auf der Straße fahren. Alles ohne KI und mit einem Raspberry Pi.
Hier mal das Ergebnis, welches nur die Daten von einem Raum anzeigt. So kann man gut sehen wer wann und wie oft den Raum besucht. Aus Datenschutzgründen ist das Foto nicht „unscharf“ gemacht worden, (sondern die Kamera ist defekt wie weitere Tests zeigten und geht zurück…) und auf den Kopf gestellt, damit man mich da nicht erkennt 😉
Man kann auch in der unteren Zeile sehen, wie schnell ich gegangen bin:
Hier als Diagramm, wie oft der Raum jeweils in einer Stunde/Tag betreten wurde:… „Überwachung und Erkennung mit Raspberry Pi Kamera oder wie zähle ich die Besucher oder PKWs“ weiterlesen
Wer kennt nicht das Problem. Man wartet auf den eingang einer Zahlung und schaut mehrfach ob sie schon da ist.
Oder wie lautet mein Kontostand?
Oder auch in diesem Fall, gib mir eine Nachricht, oder schalte den Button grün, wenn eine „Buy me a Coffee“ Spende eingegangen ist.
Oder mache das Licht an, wenn eine BTC Zahlung eingegangen ist.
Oder für Hochzeit, den QR-Code neben der Kamera aufhängen und bei einzahlung ein Foto auslösen 😉
Oder, oder oder …
All das macht dieser kleine Flow. Mal was anderes als „Ausgangssperre“ und 7-Tage-Inzidenz von 134 oder XBT von 59368.
Und warum soll das Dashboard nicht den Kontostand anzeigen?
Die Funktion ist einfach, in dem Funktions-Node die BTC Adresse eingeben. Die wird dann über die Web-API von https://mempool.space/ abgefragt. Ohne Anmeldung und Paswort möglich. Und schon kann man alles schalte was man will in Abhängigkeit des Kontostand! Cool. Bin ja gespannt, wann der obere Button für den Kaffee eine Aktion auslöst.
Das kanns Du leicht über die Buy my a coffee: bitcoin:bc1qj4grttyhk2h5wqask3nku70e3qtycssz5kvw5l tun. … „Aktionen in NodeRed mit Bitcoin (BTC) Zahlungen auslösen oder Kontostandsanzeige“ weiterlesen
Bitcoin Transaktionen kosten im Moment im Durchschnitt ca. 18 Dollar. Man kann ja die Gebühr selbst festlegen und damit die Geschwindigkeit der Überweisung steuern. Wählt man zuwenig, wird sie evl. auch nach Tagen nicht ausgeführt. Evl. reicht aber auch eine kleinere Gebühr, wenn die Transaktion nicht in den nächsten Block der Blockchain kommen muss und man evl. Zeit für ein paar Tage hat. Dann reichen evl. schon wie unten zu sehen 4 Satoshi per Byte.
Bei BTC hängen ja die Gebühren nicht an dem Betrag, sondern an der Länge der Transaktion, die je nach Adressentyp unterschiedlich ist.
Man kann hier schauen, was so im Moment berechnet wird. Dort steht:
1 2 |
The fastest and cheapest transaction fee is currently 102 satoshis/byte, shown in green at the top. For the median transaction size of 224 bytes, this results in a fee of 22,848 satoshis. |
Das ist aber umständlich. Um die aktuelle Kosten anzuzeigen, habe ich einen kleinen NodeRed-Flow im Dashboard entwickelt, das einen Web-Service von mempool.space abfragt und anzeigt. So sieht man auf einen Blick, welcher Betrag ca. für welche Zeit nötig ist.
So braucht man nur einmal auf den „Update“ Button klicken und erhält die Möglichen werte um nicht zuviel zu bezahlen. Manche Wallets ermöglichen ja auch nachträglich die Kosten zu erhöhen wenn die Transaktion nicht durchkommt. Das nervt zwar, spart aber und nennt sich Replace-by-Fee (RBF). Hier das Dashboard:… „Empfohlene Transaktionsgebühr für Bitcoin Transaktionen im NodeRed Dashboard anzeigen, es muss ja nicht immer Replace-by-Fee (RBF) oder CO2-Ampel sein“ weiterlesen