fixed a lot of typos

added automatic generation of gemini files
This commit is contained in:
Michael Clemens 2021-07-18 01:33:02 +02:00
parent 18bf678719
commit 2fdda3840d
34 changed files with 237 additions and 263 deletions

View File

@ -8,8 +8,25 @@ dateFormat = "2006-01-02" # default
publishDir = "/var/www/qrz.is"
[mediaTypes]
[mediaTypes."text/gemini"]
suffixes = ["gmi"]
[outputFormats]
[outputFormats.Gemini]
name = "GEMINI"
isPlainText = true
isHTML = false
mediaType = "text/gemini"
protocol = "gemini://"
permalinkable = true
path ="gemini/"
[outputs]
home = ["HTML", "RSS", "GEMINI"]
page = ["HTML", "GEMINI"]
# Menu links
[menu]
[[menu.main]]
@ -24,6 +41,14 @@ publishDir = "/var/www/qrz.is"
name = "About"
weight = 4
url = "/about/"
[[menu.main]]
name = "Impressum"
weight = 5
url = "/impressum/"
[[menu.main]]
name = "Datenschutz"
weight = 6
url = "/privacy/"
[[menu.footer]]
name = "Git"
weight = 5
@ -41,8 +66,7 @@ publishDir = "/var/www/qrz.is"
weight = 8
url = "/privacy/"
[[menu.footer]]
name = "Impress/Impressum"
name = "Imprint/Impressum"
weight = 9
url = "/impressum/"

View File

@ -8,19 +8,12 @@ showthedate: false
Hi, I'm Michael Clemens. I'm an information security engineer with many years of experience in information technology. My first computer was a Commodore C64 (1989), followed by an Amiga (1992) and finally, in 1995, I got my first PC. In 1998 I installed my first Linux distribution (S.u.S.E. Linux 5.3), moved to Debian in 2002, tried a lot of BSDs and Linux distributions but always came back to Debian.
I support the [Free Software Foundation Europe (fsfe.org)][1]. Everything I code in my freetime is therefore published as open source software. If you are interested, you can have a look at my projects [here][2]. I also try to document interesting stuff on my [blog][4].
I support the [Free Software Foundation Europe (fsfe.org)](https://wiki.fsfe.org/Fellows/clemens). Everything I code in my freetime is therefore published as open source software. If you are interested, you can have a look at my [projects](/projects/). I also try to document interesting stuff on my [blog](/post/).
Besides that, I enjoy gaming on everything 8-bit (C64, Atari 2600, NES etc.) or fantasy consoles (PICO-8, TIC-80).
Apart from computer related hobbies, I love analog photography, bicycles, reading and many more.
I am a licensed ham radio operator and member of the [DARC][3]. My callsign is DL6MHC. You can find some information about my station on my [QRZ.com page][6].
I am a licensed ham radio operator and member of the [DARC](https://www.darc.de). My callsign is DL6MHC. You can find some information about my station on my [QRZ.com page](https://qrz.com/DB/DL6MHC).
If you'd like to contact me, please send me a mail to [contact_0x7E5@qrz.is](mailto:contact_0x7E5@qrz.is) or send me a toot on [Mastodon][5].
[1]: https://wiki.fsfe.org/Fellows/clemens
[2]: /projects/
[3]: https://www.darc.de
[4]: /blog/
[5]: https://mastodon.radio/@DL6MHC
[6]: https://qrz.com/DB/DL6MHC
If you'd like to contact me, please send me a mail to [contact_0x7E5@qrz.is](mailto:contact_0x7E5@qrz.is) or send me a toot on [Mastodon](https://mastodon.radio/@DL6MHC).

View File

@ -1,61 +1,47 @@
---
title: The Laundruino
type: post
date: 2011-08-05T09:58:52+00:00
url: /the-arduino-enabled-washing-machine/
categories:
- arduino
tags:
- arduino
---
My washing machine is located in the basement. Unfortunately, the time data displayed on the front panel is always inaccurate. So instead of constantly running down the stairs and checking if the laundry is done, I decided to connect the washing machine to my LAN and extend it’s features by a simple http server. This is what I needed for it:
* 1 [arduino uno][1]
* 1 [ethernet shield][2]
My washing machine is located in the basement. Unfortunately, the time data displayed on the front panel is always inaccurate. So instead of constantly running down the stairs and checking if the laundry is done, I decided to connect the washing machine to my LAN and extend it's features by a simple http server. This is what I needed for it:
* 1 [arduino uno](http://arduino.cc/en/Main/ArduinoBoardUno)
* 1 [ethernet shield](http://arduino.cc/en/Main/ArduinoBoardEthernet)
* 1 opto-coupler (CNY17)
* 1 perfboard
* 1 resistor (150 Ohm)
In my case, getting the right signal from the washing machine was simple: It has a „Finished“ LED on the front panel, so all I needed to do, was to solder it out and replace it with a two-core wire.
In my case, getting the right signal from the washing machine was simple: It has a "Finished" LED on the front panel, so all I needed to do, was to solder it out and replace it with a two-core wire.
![image][3]
![image](/img/laundruino1_panel_small.jpg)
![image][4]
![image](/img/laundruino2_cuircuit_board_small.jpg)
![image][5]
![image](/img/laundruino3_washer_small.jpg)
To connect my washing machine with the arduino, I built a minimal shield with a prefboard and a CNY17. Here’s how everything is put together:
To connect my washing machine with the arduino, I built a minimal shield with a prefboard and a CNY17. Here's how everything is put together:
![image][6]
![image](/img/laundruino4_schematics_small.jpg)
![image][7]
![image](/img/laundruino5_shield_small.jpg)
![image][8]
![image](/img/laundruino6_shield_small.jpg)
Now I have a LOW signal on pin A2 (digital mode) when the laundry is done and a HIGH signal if the machine is running or turned off. In my case, a loop of 100ms duration is needed every time to watch the signal because I don’t get a steady voltage here (I guess the front panel LEDs might be multiplexed). If  the signal becomes LOW once in this time window, the washing machine has finished and the LED would have turned on.
Now I have a LOW signal on pin A2 (digital mode) when the laundry is done and a HIGH signal if the machine is running or turned off. In my case, a loop of 100ms duration is needed every time to watch the signal because I don't get a steady voltage here (I guess the front panel LEDs might be multiplexed). If  the signal becomes LOW once in this time window, the washing machine has finished and the LED would have turned on.
![image][9]
![image](/img/laundruino7_debug_small.jpg)
Screenshots:
![image][10]
![image](/img/laundruino8_screen1.jpg)
![image][11]
![image](/img/laundruino9_screen2.jpg)
You can download the code on github: [https://git.qrz.is/clemens/laundruino ][12]
 
[1]: http://arduino.cc/en/Main/ArduinoBoardUno
[2]: http://arduino.cc/en/Main/ArduinoBoardEthernet
[3]: /img/laundruino1_panel_small.jpg
[4]: /img/laundruino2_cuircuit_board_small.jpg
[5]: /img/laundruino3_washer_small.jpg
[6]: /img/laundruino4_schematics_small.jpg
[7]: /img/laundruino5_shield_small.jpg
[8]: /img/laundruino6_shield_small.jpg
[9]: /img/laundruino7_debug_small.jpg
[10]: /img/laundruino8_screen1.jpg
[11]: /img/laundruino9_screen2.jpg
[12]: https://git.qrz.is/clemens/laundruino
You can download the code here: [git.qrz.is](https://git.qrz.is/clemens/laundruino)

View File

@ -1,5 +1,6 @@
---
title: The One Button Audiobook Player
type: post
author: micha
date: 2012-10-29T23:20:05+00:00
url: /the-one-button-audiobook-player/
@ -9,14 +10,14 @@ tags:
- raspberry audiobook
---
This little Raspberry Pi based project is a gift for my wife’s grandmother for her 90th birthday. Being visually impaired, she is hard to entertain but loves to listen to audiobooks. The problem is, that she isn’t able to handle a ghetto blaster or MP3 player.
This little Raspberry Pi based project is a gift for my wife's grandmother for her 90th birthday. Being visually impaired, she is hard to entertain but loves to listen to audiobooks. The problem is, that she isn't able to handle a ghetto blaster or MP3 player.
The solution to this problem was – tadaaaah – a one button audiobook player 🙂
It basically consists of:
* 1 Raspberry Pi
* 1 [ModMyPi enclosure][1]
* 1 [ModMyPi enclosure](https://www.modmypi.com/)
* 1 button
* 2 resistors (330 Ohm, 10 Kilo-Ohm)
* 1 blue LED
@ -26,7 +27,7 @@ It basically consists of:
The following software has been used:
* Raspbian minimal image ([http://www.linuxsystems.it/2012/06/raspbian-wheezy-armhf-raspberry-pi-minimal-image][2])
* Raspbian minimal image ([http://www.linuxsystems.it/2012/06/raspbian-wheezy-armhf-raspberry-pi-minimal-image](http://www.linuxsystems.it/2012/06/raspbian-wheezy-armhf-raspberry-pi-minimal-image/))
* mpd (music player daemon)
* mpc
* mpd-python
@ -44,9 +45,9 @@ The features are the following:
Some pics and a video:
![image][3]
![image](/img/obabp_1.jpg)
![image][4]
![image](/img/obabp_2.jpg)
<iframe frameborder="0" width="525" height="295" src="https://www.dailymotion.com/embed/video/xup7rg" allowfullscreen allow="autoplay"></iframe>
@ -54,15 +55,15 @@ Some pics and a video:
If you like to build your own one button audio book player, here are the super simple schematics:
![image][5]
![image](/img/obabp_schematics.jpg)
And last but not least &#8211; the python script. The code might be crappy, please comment if you have improvements (especially regarding loadMusic). You can find it here:
<https://git.qrz.is/clemens/theonebuttonaudiobookplayer>
[https://git.qrz.is/clemens/theonebuttonaudiobookplayer](https://git.qrz.is/clemens/theonebuttonaudiobookplayer)
**Update (2013-11-26)**
Here&#8217;s what Russel wrote in a comment to this post:
Here's what Russel wrote in a comment to this post:
I just completed building this and have some addendum notes adding more details:
Install the following packages:
@ -122,9 +123,3 @@ Here&#8217;s what Russel wrote in a comment to this post:
sudo reboot
Then retest again to be sure all is well.
[1]: https://www.modmypi.com/
[2]: http://www.linuxsystems.it/2012/06/raspbian-wheezy-armhf-raspberry-pi-minimal-image/
[3]: /img/obabp_1.jpg
[4]: /img/obabp_2.jpg
[5]: /img/obabp_schematics.jpg

View File

@ -1,5 +1,6 @@
---
title: Adressenmeister
type: post
author: micha
date: 2013-01-29T12:39:02+00:00
url: /adressenmeister/
@ -7,19 +8,16 @@ categories:
- Uncategorized
---
I&#8217;d like to share my very first software project from 1992 with you which was written in BASIC 2.0 on my C64. It has never really been finished but had a nice intro screen with moving sprites and was able to print labels on a wire printer 🙂
I'd like to share my very first software project from 1992 with you which was written in BASIC 2.0 on my C64. It has never really been finished but had a nice intro screen with moving sprites and was able to print labels on a wire printer 🙂
In order to archive it for myself, I&#8217;ve set up a github repository where the source code is available: [https://github.com/exitnode/adressenmeister][1]
In order to archive it for myself, I've set up a git repository where the source code is available: [https://git.qrz.is/clemens/adressenmeister](https://git.qrz.is/clemens/adressenmeister)
Here&#8217;s a little screen-cap of it:
Here's a little screen-cap of it:
<iframe frameborder="0" width="525" height="371" src="https://www.dailymotion.com/embed/video/xx3xfk" allowfullscreen allow="autoplay"></iframe>
Update:
Here&#8217;s a pic of the floppy disk:
Here's a pic of the floppy disk:
![image][2]
[1]: https://git.qrz.is/clemens/adressenmeister "https://git.qrz.is/clemens/adressenmeister"
[2]: /img/diskette.jpg
![image](/img/diskette.jpg)

View File

@ -1,5 +1,6 @@
---
title: Little Helper
type: post
author: micha
date: 2013-03-23T11:49:38+00:00
url: /little-helper/
@ -7,11 +8,11 @@ categories:
- Uncategorized
---
Here&#8217;s the result of my attempt to recreate [Gyro Gearloose&#8217;s Little Helper (in German: Daniel Düsentrieb&#8217;s Helferlein)][1]:
Here's the result of my attempt to recreate [Gyro Gearloose's Little Helper (in German: Daniel Düsentrieb's Helferlein)](https://www.duckipedia.de/Helferlein):
![image][2]
![image](/img/helferlein_final_small.jpg)
It&#8217;s built out of:
It's built out of:
* aluminium tubes
* brass sticks
@ -20,6 +21,3 @@ It&#8217;s built out of:
* a 12V 40W bulb with E27 thread
* some wire
* a AC/DC converter 12V 3A
[1]: https://www.duckipedia.de/Helferlein
[2]: /img/helferlein_final_small.jpg

View File

@ -1,5 +1,6 @@
---
title: One-button audiobook player features in new book
type: post
author: micha
date: 2013-05-03T13:16:03+00:00
url: /one-button-audiobook-player-features-in-new-book/
@ -9,13 +10,10 @@ categories:
---
The One-button audiobook player has been included in the new book Raspberry Pi For Dummies by Sean McManus and Mike Cook. The book covers setting up the Raspberry Pi, using Linux on it, using the Pi for work and play, programming the Raspberry Pi in Scratch and Python, and creating electronics projects.
![image][1]
![image](/img/rapidcover250.jpg)
Co-author Sean McManus told me: “We wanted to finish the book by highlighting some inspiring projects that would give people an idea of what they could do by taking their new programming and electronics skills further. The one-button audiobook player is a nice example of an electronics project, but I particularly like the way its really improving someones quality of life, by making it possible for your wifes grandmother to listen to audiobooks. I get a lot of enjoyment from audiobooks myself, so I can imagine how much it means to her to be able to listen to them, especially given her visual impairment.”
Other inspiring Raspberry Pi projects mentioned in the book include a synthesiser, a bird feeder webcam, a weather station and a jukebox.
You can [find out more about Raspberry Pi For Dummies at Seans website][2].
[1]: /img/rapidcover250.jpg
[2]: http://www.sean.co.uk/books/raspberry-pi-for-dummies/index.shtm
You can [find out more about Raspberry Pi For Dummies at Seans website](http://www.sean.co.uk/books/raspberry-pi-for-dummies/index.shtm).

View File

@ -1,5 +1,6 @@
---
title: 'NSE-Script: SQLite output for Nmap'
type: post
author: micha
date: 2014-05-05T13:36:29+00:00
url: /nse-script-sqlite-output-for-nmap/
@ -7,16 +8,19 @@ categories:
- Uncategorized
---
I wrote this little NSE script that allows you to store the output of Nmap into a SQLite database: <a href="https://git.qrz.is/clemens/nmap-sqlite-output" title="sqlite-output" target="_blank">https://github.com/exitnode/nmap-sqlite-output<br /> </a>
I wrote this little NSE script that allows you to store the output of Nmap into a SQLite database: [https://git.qrz.is/clemens/nmap-sqlite-output](https://git.qrz.is/clemens/nmap-sqlite-output)
This might come in handy when performing large inventory scans. The SQLite database can be queried and sorted easily or exported as a CSV file. This way you can, for example, easily generate tables for your assessment report.
**Example:**
`$ nmap -sS -A -F --script sqlite-output scanme.nmap.org<br />
[...]<br />
$ sqlite3 scan.sqlite<br />
[...]<br />
sqlite> select * from scandata;<br />
scanme.nmap.org|74.207.244.221|22|tcp|ssh|open|OpenSSH5.3p1 Debian 3ubuntu7.1<br />
scanme.nmap.org|74.207.244.221|80|tcp|http|open|Apache httpd2.2.14`
## Example
```
$ nmap -sS -A -F --script sqlite-output scanme.nmap.org
[...]
$ sqlite3 scan.sqlite
[...]
sqlite> select * from scandata;
scanme.nmap.org|74.207.244.221|22|tcp|ssh|open|OpenSSH5.3p1 Debian 3ubuntu7.1
scanme.nmap.org|74.207.244.221|80|tcp|http|open|Apache httpd2.2.14
```

View File

@ -1,5 +1,6 @@
---
title: Patch for the CLI password manager „pass“
type: post
author: micha
date: 2016-05-25T21:47:20+00:00
url: /patch-for-the-cli-password-manager-pass/
@ -9,7 +10,7 @@ categories:
---
I use Pass (https://www.passwordstore.org/) to store and synchronize all my passwords.
When I use Pass via SSH on a remote system in order to retrieve a password, I cannot make use of it&#8217;s clipboard feature. In order to output the password without actually displaying it, I wrote the following patch which prints the password in red on a red background while still being able to be manually copied to the clipboard:
When I use Pass via SSH on a remote system in order to retrieve a password, I cannot make use of it's clipboard feature. In order to output the password without actually displaying it, I wrote the following patch which prints the password in red on a red background while still being able to be manually copied to the clipboard:
```
src/password-store.sh | 19 +++++++++++++------

View File

@ -1,5 +1,6 @@
---
title: Correlation Rule Documentation Generator for McAfee SIEM
type: post
author: micha
date: 2018-04-29T13:09:57+00:00
url: /correlation-rule-documentation-generator-for-mcafee-siem/
@ -7,11 +8,8 @@ categories:
- Uncategorized
---
Since we are required to document all custom correlation rules inside our SIEM (McAfee Enterprise Security Manager) for our customers, I wrote a Python script that converts XML rule exports to Markdown. Afterwards its easy to convert teh resulting file e.g. to PDF, DOCX, HTML or even variuous wiki-formats with e.g. Pandoc. This way it&#8217;s possible to generate a PDF documentation of all rules with just a few clicks/commands.
Since we are required to document all custom correlation rules inside our SIEM (McAfee Enterprise Security Manager) for our customers, I wrote a Python script that converts XML rule exports to Markdown. Afterwards its easy to convert teh resulting file e.g. to PDF, DOCX, HTML or even variuous wiki-formats with e.g. Pandoc. This way it's possible to generate a PDF documentation of all rules with just a few clicks/commands.
![image][1]
![image](/img/esm2markdown.png)
On the long shot that this is useful for you, you can find the script [here][2].
[1]: /img/esm2markdown.png
[2]: https://git.qrz.is/clemens/esm2markdown
On the long shot that this is useful for you, you can find the script on [git.qrz.is](https://git.qrz.is/clemens/esm2markdown).

View File

@ -1,5 +1,6 @@
---
title: Dynamic DNS for NSD
type: post
author: micha
date: 2018-05-03T02:26:11+00:00
url: /dynamic-dns-for-nsd/
@ -40,7 +41,7 @@ Create an empty _update.html_:
# mkdir /var/www/htdocs/dyndns/
# touch /var/www/htdocs/dyndns/update.html
After reloading HTTPD, try to access <a href="http://update.example.com/update.html" rel="nofollow">http://update.example.com/update.html</a> The request should show up in _/var/www/logs/dyndns.log_
After reloading HTTPD, try to access [http://update.example.com/update.html] The request should show up in _/var/www/logs/dyndns.log_
## **Create a zone file for dyn.example.com**
@ -65,11 +66,11 @@ Create a new zone file (e.g. at _/var/nsd/zones/dyn.example.com.zone_) with the
update IN A 123.123.123.123
dyn IN A 123.123.123.123
Don&#8217;t forget to set your own domain names, name servers and ip addresses Furthermore, add this zone file to your _/var/nsd/etc/nsd.conf_
Don't forget to set your own domain names, name servers and ip addresses Furthermore, add this zone file to your _/var/nsd/etc/nsd.conf_
## Configure and Install nsd-dyndns
* Download the scripts from here: https://git.qrz.is/clemens/nsd-dyndns
* Download the scripts from here: [https://git.qrz.is/clemens/nsd-dyndns](https://git.qrz.is/clemens/nsd-dyndns)
* Copy _dyndns.conf-dist_ to _/etc/dyndns.conf_
* _\# cp dyndns.conf-dist /etc/dyndns.conf_
* Edit _/etc/dyndns.conf_ to your needs
@ -85,7 +86,7 @@ Configure your router to query the following URL:
http://update.example.com/update.html?qwertzuiop1234567890
Don&#8217;t forgert to set your own domain name and to replace the string after &#8222;?&#8220; with the password you configured in the config file.
Don't forgert to set your own domain name and to replace the string after "?" with the password you configured in the config file.
# What it does
@ -97,7 +98,7 @@ When the script is executed e.g. via cron, the following happens:
* It greps the last line of _/var/www/logs/dyndns.log_ where the correct password was found and extracts the requesting IP address
* It checks if this IP is the same than the last time
* If it&#8217;s a new IP, then it replaces the forth line in your zone file &#8211; the line with the version number &#8211; with a new version (current unix time stamp)
* If it's a new IP, then it replaces the forth line in your zone file (the line with the version number) with a new version (current unix time stamp)
* As a second step, it updates the A record of you DynDNS domain (dyn.example.com in our example)
* It then stores the new IP in the file _/tmp/last\_dyndns\_ip.txt_
* Finally it reloads NSD

View File

@ -1,6 +1,7 @@
---
title: "Shortened 30m Dipole"
date: 2020-02-02T15:00:00+02:00
type: post
url: /30m-dipole/
---
@ -10,7 +11,7 @@ This aricle describes the construction of a 9,50 m long dipole for the 30 m band
The following diagram shows the dipole in theory:
![image][1]
![image](/img/30m_dipole_schematics.jpg)
# Bill of materials
@ -27,7 +28,7 @@ The following diagram shows the dipole in theory:
Drill a hole into the 16 mm installation tube and stick a few centimeters of the 1.5 mm2 wire through it. Afterwards tightly wind the wire around it 37 times. After the 37th turn, drill a hole closely to the wire into the tube and stick the wire through it. It now should look like this:
![image][2]
![image](/img/30m_dipole_coil.jpg)
Repeat this step to build a second coil.
@ -37,16 +38,10 @@ Connect 1 m antenna wire to each side of the feed point connector (or the 1:1 ba
The result should look like this:
![image][3]
![image](/img/30m_dipole.jpg)
# Result
The antenna ended up being 9,30 m long (including feed point, excluding isolators). The following photos show how nicely this antenna can be tuned:
![image][4]
[1]: /img/30m_dipole_schematics.jpg
[2]: /img/30m_dipole_coil.jpg
[3]: /img/30m_dipole.jpg
[4]: /img/30m_dipole_nanovna.jpg
![image](/img/30m_dipole_nanovna.jpg)

View File

@ -1,19 +1,15 @@
---
title: "Remote Antenna Switch"
type: post
author: micha
date: 2020-03-13T15:00:00+02:00
url: /antenna-switch/
---
New project: raspberry pi controlled remote antenna switch. One remote rpi for triggering the 4 relais inside the antenna switch and one rpi connected to the TRX in the shack measuring the ATU port's voltage to fully automatically choose the correct antenna for each band.
![image][1]
![image](/img/antenna-switch-1.jpg)
Update: The antenna switch itself is assembled and working. Next step: interfacing the pi and coding a simple web service which will be used to select an antenna via network.
![image][2]
[1]: /img/antenna-switch-1.jpg
[2]: /img/antenna-switch-2.jpg
![image](/img/antenna-switch-2.jpg)

View File

@ -1,23 +1,18 @@
---
title: "ATU-100"
type: post
author: micha
date: 2021-01-09T15:00:00+02:00
url: /atu-100/
---
Just finished my ATU-100 build. It's fun to build, super affordable and works without problems so far.
![image][1]
![image](/img/atu-100_1.jpg)
![image][2]
![image](/img/atu-100_2.jpg)
![image][3]
![image](/img/atu-100_3.jpg)
![image][4]
[1]: /img/atu-100_1.jpg
[2]: /img/atu-100_2.jpg
[3]: /img/atu-100_3.jpg
[4]: /img/atu-100_4.jpg
![image](/img/atu-100_4.jpg)

View File

@ -1,5 +1,6 @@
---
title: "HF Signals Bitx40"
type: post
author: micha
date: 2021-05-13T15:00:00+02:00
url: /bitx40/
@ -7,7 +8,4 @@ url: /bitx40/
Finally fixed some issues with the BITX40 and had my first QSO with it today (YU1XA, report 55) - two years after I purchased the kit. There are still some issues but I am on the right track.
![image][1]
[1]: /img/bitx40.jpg
![image](/img/bitx40.jpg)

View File

@ -1,22 +0,0 @@
---
title: "Cif / Bearded Avenger"
date: 2018-10-28T20:09:18+01:00
draft: true
---
# Introduction
cif@cif:~$ cif --itype fqdn --tags malware --limit 1 --fields tlp,indicator,count,tags,description,confidence,rdata,provider
+-------+----------------+-------+---------+----------------+------------+-------+--------------+
| tlp | indicator | count | tags | description | confidence | rdata | provider |
+-------+----------------+-------+---------+----------------+------------+-------+--------------+
| white | erxxxxxxzq.com | 2 | malware | malware domain | 9.0 | None | spamhaus.org |
+-------+----------------+-------+---------+----------------+------------+-------+--------------+
cif@cif:~$ cif --indicator 2xx.xx.xx.xx7 --format table --fields tlp,indicator,count,tags,description,confidence,rdata,provider --limit 3
+-------+---------------+-------+--------------------+------------------+------------+-------+---------------------+
| tlp | indicator | count | tags | description | confidence | rdata | provider |
+-------+---------------+-------+--------------------+------------------+------------+-------+---------------------+
| green | 2xx.xx.xx.xx7 | 1 | malware | compromised host | 8.0 | None | emergingthreats.net |
| green | 2xx.xx.xx.xx7 | 6 | bruteforce,scanner | None | 9.0 | None | dataplane.org |
| amber | 2xx.xx.xx.xx7 | 7 | search | None | 10.0 | None | admin |
+-------+---------------+-------+--------------------+------------------+------------+-------+---------------------+

View File

@ -1,5 +1,6 @@
---
title: "DX Century Club Award"
type: post
author: micha
date: 2021-07-03T15:00:00+02:00
url: /dxcc-phone/
@ -7,6 +8,4 @@ url: /dxcc-phone/
I finally managed to work 100 confirmed entities (SSB/Phone) and have now received the ARRL DXCC Phone award. My new adventures will be working QRP with my recently purchased FT-817ND and building a small PA for the times I need a small boost.
![image][1]
[1]: /img/dxcc.jpg
![image](/img/dxcc.jpg)

View File

@ -1,5 +1,6 @@
---
title: "Xiegu G1M Stand"
type: post
author: micha
date: 2021-06-05T15:00:00+02:00
url: /g1m-stand/
@ -7,7 +8,4 @@ url: /g1m-stand/
A $0 Xiegu G1M stand:
![image][1]
[1]: /img/Xiegu_G1M_stand.jpg
![image](/img/Xiegu_G1M_stand.jpg)

View File

@ -1,5 +1,6 @@
---
title: "Xiegu G90 Mods"
type: post
author: micha
date: 2020-01-17T15:00:00+02:00
url: /g90-mods/
@ -15,7 +16,7 @@ The original power cable is too thin and should be replaced with silicone 14AWG
Mine looks like this now:
![image][1]
![image](/img/g90_power_cable.jpg)
## Microphone Mod
@ -23,7 +24,7 @@ When using the original G90 microphone, your voice might be too bassy. To solve
The following image shows both capacitors (taken from https://xiegug90.groups.io/g/main/message/1219):
![image][2]
![image](/img/g90_mic_mod.jpg)
## Ferrite Beads
@ -40,7 +41,7 @@ Not essential but nice: A larger VFO knob. I bought a black aluminium potentiome
The G90 with a larger VFO knob:
![image][3]
![image](/img/g90_vfo_knob.jpg)
## Head Unit Stand
@ -53,8 +54,3 @@ I like [this 3D printable design over at thingiverse.com](https://www.thingivers
* [CI-V Reference](https://xiegug90.groups.io/g/main/files/G90%20CI-V%20REFERENCE.pdf)
* [Cheat Sheet](https://xiegug90.groups.io/g/main/files/XIEGU%20G90%20CHEAT%20SHEET%20v1.73%2012-15-2019.pdf)
* [ini file for OnmiRig](https://xiegug90.groups.io/g/main/files/XieguG90.ini)
[1]: /img/g90_power_cable.jpg
[2]: /img/g90_mic_mod.jpg
[3]: /img/g90_vfo_knob.jpg

View File

@ -2,6 +2,7 @@
title: "Heated Trackball"
date: 2014-12-22T14:34:34+02:00
draft: false
type: post
url: /heated-trackball/
---
@ -17,7 +18,7 @@ consume more than 150mAh, the wire might consume 350mAh. Knowing the
voltage of 5V and the desired power consumption, it is easy to
calculate the needed resistor:
![image][1]
![image](/img/resistance.png)
The heating wire has a resistance of 43,95 Ohm per meter, the wire
needs to be 33cm long in order to consume 350mAh:
@ -27,21 +28,14 @@ Icalculation of the wire length /pics/length.png
Glueing the wire to the inner side of the housing:
![image][2]
![image](/img/trackball1.jpg)
After reassembling the mouse buttons:
![image][3]
![image](/img/trackball2.jpg)
The finished trackball:
![image][4]
![image](/img/trackball3.jpg)
![image][5]
[1]: /img/resistance.png
[2]: /img/trackball1.jpg
[3]: /img/trackball3.jpg
[4]: /img/trackball2.jpg
[5]: /img/trackball4.jpg
![image](/img/trackball4.jpg)

View File

@ -1,5 +1,6 @@
---
title: "MikroTik: Auto-Backup der Routerkonfiguration via FTP"
type: post
author: micha
date: 2019-01-04T22:00:11+02:00
url: /mikrotik-auto-backup/

View File

@ -1,5 +1,6 @@
---
title: "MikroTik: Zentrales WiFi-Management mit CAPsMAN"
type: post
author: micha
date: 2018-12-31T16:00:11+02:00
url: /mikrotik-capsman-setup/

View File

@ -1,5 +1,6 @@
---
title: "MikroTik: Ausführen von Skripten per SMS"
type: post
author: micha
date: 2018-12-30T13:00:11+02:00
url: /mikrotik-exec-scripts-via-sms/

View File

@ -1,5 +1,6 @@
---
title: "qrz.sh - a CLI QRZ.com query tool"
type: post
author: micha
date: 2020-11-09T17:00:00+02:00
url: /qrz-sh/

View File

@ -1,5 +1,6 @@
---
title: "qrzlogger"
type: post
author: micha
date: 2021-07-13T15:00:00+02:00
url: /qrzlogger/
@ -31,8 +32,4 @@ python3 -m pip install qrzlogger
# Screenshot
![image][1]
[1]: /img/qrzlogger.jpg
![image](/img/qrzlogger.jpg)

View File

@ -1,5 +1,6 @@
---
title: "The AntennaPi"
type: post
author: micha
date: 2019-07-05T13:29:09+02:00
url: /the-antennapi/
@ -29,30 +30,21 @@ to upgrade easily by adding a second module.
Drill the holes for the PL sockets:
![image][1]
![image](/img/antennapi01.jpg)
Install the sockets:
![image][2]
![image](/img/antennapi02.jpg)
Mount the relay module and use some antenna wire to connect the sockets with the relay module like this:
![image][3]
![image](/img/antennapi03.jpg)
In the end it looks like this:
![image][4]
![image](/img/antennapi04.jpg)
![image][5]
![image](/img/antennapi05.jpg)
![image][6]
![image](/img/antennapi06.jpg)
## Software
[1]: /img/antennapi01.jpg
[2]: /img/antennapi02.jpg
[3]: /img/antennapi03.jpg
[4]: /img/antennapi04.jpg
[5]: /img/antennapi05.jpg
[6]: /img/antennapi06.jpg

View File

@ -1,5 +1,6 @@
---
title: "uBitx v6"
type: post
author: micha
date: 2021-05-18T15:00:00+02:00
url: /uBitx_v6/
@ -9,7 +10,4 @@ Yesterday I received and built my new uBitx v6 QRP transceiver. Connected to a L
The first mod will be the addition of an AGC.
![image][1]
[1]: /img/ubitx_v6.jpg
![image](/img/ubitx_v6.jpg)

View File

@ -1,5 +1,6 @@
---
title: "uBitx AGC Mod"
type: post
author: micha
date: 2021-06-15T15:00:00+02:00
url: /uBitx_agc/
@ -7,10 +8,6 @@ url: /uBitx_agc/
uBitx v6 modifications, Part I: The uBitx is a very nice radio but the missing AGC is an ear killer. I decided to purchase an AGC board from kit-projects and soldered it onto the radio main board. It's tiny and I was afraid to damage something but it turned out fine.
![image][1]
![image](/img/ubitx_agc.jpg)
![image][2]
[1]: /img/ubitx_agc.jpg
[2]: /img/ubitx_agc_2.jpg
![image](/img/ubitx_agc_2.jpg)

View File

@ -1,5 +1,6 @@
---
title: "uBitx VFO Knob Mod"
type: post
author: micha
date: 2021-06-18T15:00:00+02:00
url: /uBitx_vfo_knob/
@ -7,7 +8,4 @@ url: /uBitx_vfo_knob/
uBitx v6 modifications, Part III: 3D printed knobs (I like VFO knobs with a finger recess) and chassis tilt bails.
![image][1]
[1]: /img/ubitx_printed_knobs.jpg
![image](/img/ubitx_printed_knobs.jpg)

View File

@ -1,5 +1,6 @@
---
title: "uBitx S-Meter Mod"
type: post
author: micha
date: 2021-06-16T15:00:00+02:00
url: /uBitx_smeter/
@ -8,13 +9,8 @@ url: /uBitx_smeter/
uBitx v6 modifications, Part II: Since the AGC board has a S-Meter tap, the next mod was obvious :) The S-Meter of a dead Yaesu FT-290R was a perfect fit for the uBitx case and I think it looks nice.
![image][1]
![image](/img/ubitx_s-meter_1.jpg)
![image][2]
![image](/img/ubitx_s-meter_2.jpg)
![image][3]
[1]: /img/ubitx_s-meter_1.jpg
[2]: /img/ubitx_s-meter_2.jpg
[3]: /img/ubitx_s-meter_3.jpg
![image](/img/ubitx_s-meter_3.jpg)

View File

@ -5,49 +5,30 @@ draft: false
---
#### Software Projects
* [TSM Monitor][1] - A PHP application for monitoring IBM's Tivoli Storage Manager
* [TSM Monitor 2][2] - An enhanced PHP application for monitoring IBM's Tivoli Storage Manager
* [MSTerminology][3] - Translates strings used in all kind of Microsoft products
* [Nmap-sqlite-output][4] - Nmap NSE script for writing the scan output into a sqlite3 database
* [Adressenmeister][5] - Adressenmeister - my very first "software project" (C64 BASIC)
* [Shellfolio][6] - A command line cryptocurrency portfolio manager and price tracker
* [esm2markdown][7] - A converter for McAfee SIEM rule export files to Markdown documents
* [nsd-dyndns][8] - Dynamic DNS for NSD
* [TSM Monitor](https://git.qrz.is/clemens/tsmmonitor) - A PHP application for monitoring IBM's Tivoli Storage Manager
* [TSM Monitor 2](https://git.qrz.is/clemens/tsmmonitor2) - An enhanced PHP application for monitoring IBM's Tivoli Storage Manager
* [MSTerminology](https://git.qrz.is/clemens/MSTerminology) - Translates strings used in all kind of Microsoft products
* [Nmap-sqlite-output](https://git.qrz.is/clemens/nmap-sqlite-output) - Nmap NSE script for writing the scan output into a sqlite3 database
* [Adressenmeister](https://git.qrz.is/clemens/adressenmeister) - Adressenmeister - my very first "software project" (C64 BASIC)
* [Shellfolio](https://git.qrz.is/clemens/shellfolio) - A command line cryptocurrency portfolio manager and price tracker
* [esm2markdown](https://git.qrz.is/clemens/esm2markdown) - A converter for McAfee SIEM rule export files to Markdown documents
* [nsd-dyndns](https://git.qrz.is/clemens/nsd-dyndns) - Dynamic DNS for NSD
#### Hardware Projects
* [The Laundruino][9] - Washing machine monitoring with an Arduino
* [The One Button Audio Book Player][10] - The one button audiobook player
* [Little Helper][11] - Daniel Duesentrieb's Little Helper
* [Heated Trackball][14] - Heating mod for Logitech trackballs
* [The Laundruino](/the-arduino-enabled-washing-machine/) - Washing machine monitoring with an Arduino
* [The One Button Audio Book Player](/the-one-button-audiobook-player/) - The one button audiobook player
* [Little Helper](/little-helper/) - Daniel Duesentrieb's Little Helper
* [Heated Trackball](/heated-trackball/) - Heating mod for Logitech trackballs
#### Amateur Radio
* [qrzlogger][19] - A python application to log QSOs directly to QRZ.com from the command line
* [pyBMNotify][20] - Python script for monitoring the Brandmeister network and sending push notifications
* [qrz.sh][21] - QRZ.com callsign data query script written in Bash
* [The AntennaPi][17] - Raspberry Pi based remote antenna switch
* [Shortened 30m Dipole][18] - Dipole for the 30m band, designed for a 10m long attic
* [qrzlogger](https://git.qrz.is/clemens/qrzlogger) - A python application to log QSOs directly to QRZ.com from the command line
* [pyBMNotify](https://git.qrz.is/clemens/pyBMNotify) - Python script for monitoring the Brandmeister network and sending push notifications
* [qrz.sh](https://git.qrz.is/clemens/qrz.sh) - QRZ.com callsign data query script written in Bash
* [The AntennaPi](/the-antennapi/) - Raspberry Pi based remote antenna switch
* [Shortened 30m Dipole](/30m-dipole/) - Dipole for the 30m band, designed for a 10m long attic
#### Organizations / Projects I like and support
* [Free Software Foundation Europe][15] - a charity that empowers users to control technology.
* [Super Dimension Fortress][16] - SDF Public Access UNIX System .. Est. 1987
* [Free Software Foundation Europe](http://fsfe.org) - a charity that empowers users to control technology.
* [Super Dimension Fortress](http://sdf.org) - SDF Public Access UNIX System .. Est. 1987
[1]: https://git.qrz.is/clemens/tsmmonitor
[2]: https://git.qrz.is/clemens/tsmmonitor2
[3]: https://git.qrz.is/clemens/MSTerminology
[4]: https://git.qrz.is/clemens/nmap-sqlite-output
[5]: https://git.qrz.is/clemens/adressenmeister
[6]: https://git.qrz.is/clemens/shellfolio
[7]: https://git.qrz.is/clemens/esm2markdown
[8]: https://git.qrz.is/clemens/nsd-dyndns
[9]: /the-arduino-enabled-washing-machine/
[10]: /the-one-button-audiobook-player/
[11]: /little-helper/
[14]: /heated-trackball/
[15]: http://fsfe.org
[16]: http://sdf.org
[17]: /the-antennapi/
[18]: /30m-dipole/
[19]: https://git.qrz.is/clemens/qrzlogger
[20]: https://git.qrz.is/clemens/pyBMNotify
[21]: https://git.qrz.is/clemens/qrz.sh

View File

@ -0,0 +1,37 @@
# {{ .Title }}{{ $scratch := newScratch }}
{{ $content := .RawContent -}}
{{ $content := $content | replaceRE `#### ` "### " -}}
{{ $content := $content | replaceRE `\n- (.+?)` "\n* $1" -}}
{{ $content := $content | replaceRE `\n(\d+). (.+?)` "\n* $2" -}}
{{ $content := $content | replaceRE `\[\^(.+?)\]:?` "" -}}
{{ $content := $content | replaceRE `<br/??>` "\n" -}}
{{ $content := $content | replaceRE `<a .*href="(.+?)".*>(.+?)</a>` "[$2]($1)" -}}
{{ $content := $content | replaceRE `\sgemini://(\S*)` " [gemini://$1](gemini://$1)" -}}
{{ $content := $content | replaceRE `{{ < audio "(.+?)" >}}` "=> https://brainbaking.com/$1 Embedded Audio link - $1" -}}
{{ $content := $content | replaceRE `{{ < video "(.+?)" >}}` "=> https://brainbaking.com/$1 Embedded Video link - $1" -}}
{{ $content := $content | replaceRE `{{ < youtube (.+?) >}}` "=> https://www.youtube.com/watch?v=$1 YouTube Video link to $1" -}}
{{ $content := $content | replaceRE `{{ < vimeo (.+?) >}}` "=> https://vimeo.com/$1 Vimeo Video link to $1" -}}
{{ $content := $content | replaceRE "([^`])<.*?>([^`])" "$1$2" -}}
{{ $content := $content | replaceRE `\n\n!\[.*\]\((.+?) \"(.+?)\"\)` "\n\n=> $1 Image: $2" -}}
{{ $content := $content | replaceRE `\n\n!\[.*]\((.+?)\)` "\n\n=> $1 Embedded Image: $1" -}}
{{ $links := findRE `\n=> ` $content }}{{ $scratch.Set "ref" (add (len $links) 1) }}
{{ $refs := findRE `\[.+?\]\(.+?\)` $content }}
{{ $scratch.Set "content" $content }}{{ range $refs }}{{ $ref := $scratch.Get "ref" }}{{ $contentInLoop := $scratch.Get "content" }}{{ $url := (printf "%s #%d" . $ref) }}{{ $contentInLoop := replace $contentInLoop . $url -}}{{ $scratch.Set "content" $contentInLoop }}{{ $scratch.Set "ref" (add $ref 1) }}{{ end }}{{ $content := $scratch.Get "content" | replaceRE `\[(.+?)\]\((.+?)\) #(\d+)` "$1 [$3]" -}}
{{ $content | safeHTML }}
---
Written by Michael Clemens on {{ .Lastmod.Format (.Site.Params.dateFormat | default "2 January 2006") }}.
## References
{{ $scratch.Set "ref" (add (len $links) 1) }}{{ range $refs }}{{ $ref := $scratch.Get "ref" }}{{ $url := (printf "%s #%d" . $ref) }}
=> {{ $url | replaceRE `\[(.+?)\]\((.+?)\) #(\d+)` "$2 [$3] $1 ($2)" -}}
{{ $scratch.Set "ref" (add $ref 1) }}{{ end}}
{{ $related := first 3 (where (where .Site.RegularPages.ByDate.Reverse ".Params.tags" "intersect" .Params.tags) "Permalink" "!=" .Permalink) }}
{{ if $related }}
## Related articles
{{ range $related }}
=> {{ replace .RelPermalink "/gemini" "" 1}} {{ .Title }}: {{ .Params.Subtitle }}{{ end }}{{ end }}
---
=> / Back to the Index
=> https://qrz.is{{ replace (replace .RelPermalink "/gemini" "" 1) "index.gmi" "" }} View this article on the WWW

27
layouts/index.gmi Normal file
View File

@ -0,0 +1,27 @@
```
██████╗ ██████╗ ███████╗ ██╗ ██████╗
██╔═══██╗██╔══██╗╚════██║ ██║██╔════╝
██║██╗██║██████╔╝ ███╔═╝ ██║╚█████╗
╚██████╔╝██╔══██╗██╔══╝ ██║ ╚═══██╗
╚═██╔═╝ ██║ ██║███████╗██╗██║██████╔╝
╚═╝ ╚═╝ ╚═╝╚══════╝╚═╝╚═╝╚═════╝
```
# QRZ.is
This is the personal gemini capsule of Michael Clemens. Most of what you will find here is related to amateur radio, software development and hardware projects.
## Pages
=> gemini://qrz.is/projects/index.gmi Software/Hardware Projects
=> gemini://qrz.is/about/index.gmi About me
## Posts
{{ range (where (where (where .Site.Pages "Section" "in" (slice "post")) ".Params.type" "eq" "post") ".Params.concept" "ne" "true").GroupByDate "2006" "desc" }}{{ $year := .Key -}}
### {{ .Key }}
{{ range .Pages.ByDate.Reverse }}
=> {{ replace .Permalink "/gemini" "" 1}} {{ .Date.Format ("2006/01/02") }} - {{ .Title }}
{{- end }}
{{ end }}

View File

@ -10,13 +10,15 @@
</a>
</div>
<hr style="border-style: solid; size: 1px; border-color: orange" />
<nav>
/ <a style="text-decoration: none" href="/"><b>Home</b></a>
<a style="text-decoration: none" href="/"><b>Home</b></a>
{{ with .Site.Menus.main }}
{{ range . }}
/ <a style="text-decoration: none" href="{{ .URL | relURL }}"><b>{{ .Name }}</b></a>
{{ end }} /
- <a style="text-decoration: none" href="{{ .URL | relURL }}"><b>{{ .Name }}</b></a>
{{ end }}
</nav>
</p>
{{ end }}
</header>
<hr style="border-style: solid; size: 1px; border-color: orange" />
</p>