News archive 2018 - Koos van den Hout

Archive by year: 1999 | 2000 | 2001 | 2002 | 2003 | 2004 | 2005 | 2006 | 2007 | 2008 | 2009 | 2010 | 2011 | 2012 | 2013 | 2014 | 2015 | 2016 | 2017 | 2018

2018-06-25 Distributed ssh attack 5 hours ago
SSH attacks are on the rise. But fail2ban isn't blocking as much of those attacks as it used to since the attacks are quite distributed. This morning I noticed clear correlation between a subset of the attempts, they were all using names of websites hosted on the same system.
Jun 25 06:18:44 greenblatt sshd[10092]: Invalid user campwireless from
Jun 25 06:29:21 greenblatt sshd[10993]: Invalid user camp-wireless from
Jun 25 06:30:51 greenblatt sshd[11073]: Invalid user campwireless from
Jun 25 06:41:43 greenblatt sshd[12213]: Invalid user camp-wireless from
Jun 25 06:50:01 greenblatt sshd[12962]: Invalid user campwireless from
Jun 25 06:59:39 greenblatt sshd[13794]: Invalid user camp-wireless from
Jun 25 07:35:27 greenblatt sshd[16771]: Invalid user virtualbookcase from
Jun 25 07:35:36 greenblatt sshd[16779]: Invalid user campwireless from
Jun 25 07:39:28 greenblatt sshd[17175]: Invalid user camp-wireless from
Jun 25 07:46:01 greenblatt sshd[17570]: Invalid user camp-wireless from
Jun 25 07:54:59 greenblatt sshd[18273]: Invalid user camp-wireless from
Jun 25 07:59:48 greenblatt sshd[18754]: Invalid user idefix from
Jun 25 08:02:08 greenblatt sshd[18926]: Invalid user idefix from
Jun 25 08:05:54 greenblatt sshd[19358]: Invalid user virtualbookcase from
Jun 25 08:09:45 greenblatt sshd[19809]: Invalid user urlurl from
Jun 25 08:26:35 greenblatt sshd[21183]: Invalid user urlurl from
Jun 25 08:29:07 greenblatt sshd[21357]: Invalid user camp-wireless from
Jun 25 08:43:04 greenblatt sshd[22400]: Invalid user campwireless from
Jun 25 08:45:45 greenblatt sshd[22558]: Invalid user campwireless from
Jun 25 09:01:30 greenblatt sshd[23883]: Invalid user urlurl from
Jun 25 09:08:17 greenblatt sshd[24516]: Invalid user camp-wireless from
Jun 25 09:23:47 greenblatt sshd[26042]: Invalid user camp-wireless from
Jun 25 09:45:27 greenblatt sshd[27812]: Invalid user camp-wireless from
Jun 25 09:56:02 greenblatt sshd[28617]: Invalid user campwireless from
Jun 25 10:06:47 greenblatt sshd[29707]: Invalid user campwireless from
Jun 25 10:14:58 greenblatt sshd[30250]: Invalid user camp-wireless from
Jun 25 10:15:43 greenblatt sshd[30317]: Invalid user camp-wireless from
Jun 25 10:19:17 greenblatt sshd[30698]: Invalid user campwireless from
Jun 25 10:19:25 greenblatt sshd[30702]: Invalid user urlurl from
Jun 25 10:32:42 greenblatt sshd[31743]: Invalid user idefix from
Jun 25 11:04:33 greenblatt sshd[2346]: Invalid user campwireless from
This suggests coordination between the attacking systems.

But the simpler attacks do continue:
Jun 25 09:17:31 greenblatt sshd[25579]: Invalid user cristina from
Jun 25 09:17:35 greenblatt sshd[25582]: Invalid user cristina from
Jun 25 09:17:39 greenblatt sshd[25586]: Invalid user cristina from
Jun 25 09:17:39 greenblatt sshd[25585]: Invalid user cristina from

Tags: ,
2018-06-23 SMART can be wrong 1 day ago
Someone brought me a 'WD My cloud' that does not respond at all. So I took it apart and found out how to access the disk in an i386 Linux system: mount the 4th partition as ext4. When the disk was available I did a smart test:
SMART overall-health self-assessment test result: PASSED
But while trying to find out how much data is actually on the disk, I get:
[  866.165641] Sense Key : Medium Error [current] [descriptor]
[  866.165645] Descriptor sense data with sense descriptors (in hex):
[  866.165647]         72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00 
[  866.165659]         b0 90 ea 60 
[  866.165664] sd 2:0:0:0: [sda]  
[  866.165668] Add. Sense: Unrecovered read error - auto reallocate failed
So the disk isn't very healthy. But rerunning the smart check still shows nothing is wrong. It is a Western Digital 'RED' harddisk especially for NAS systems so it should return errors earlier to the operating system but this disk is bad, which is probably related to why the 'my cloud' enclosure isn't working.
Read the rest of SMART can be wrong

Tags: ,
2018-06-22 Slow password guessing for imaps 2 days ago
Interesting in the logs:
Jun 19 21:22:29 greenblatt imapd-ssl: LOGIN FAILED, method=PLAIN, ip=[::ffff:]
Jun 19 21:23:30 greenblatt imapd-ssl: LOGIN FAILED, method=PLAIN, ip=[::ffff:]
Jun 19 21:27:05 greenblatt imapd-ssl: LOGIN FAILED, method=PLAIN, ip=[::ffff:]
Jun 19 21:31:58 greenblatt imapd-ssl: LOGIN FAILED, method=PLAIN, ip=[::ffff:]
Jun 19 22:27:15 greenblatt imapd-ssl: LOGIN FAILED, method=PLAIN, ip=[::ffff:]
Jun 19 22:30:10 greenblatt imapd-ssl: LOGIN FAILED, method=PLAIN, ip=[::ffff:]
Jun 19 22:44:17 greenblatt imapd-ssl: LOGIN FAILED, method=PLAIN, ip=[::ffff:]


Jun 22 14:23:39 greenblatt imapd-ssl: LOGIN FAILED, method=PLAIN, ip=[::ffff:]
Jun 22 14:24:35 greenblatt imapd-ssl: LOGIN FAILED, method=PLAIN, ip=[::ffff:]
Jun 22 15:20:05 greenblatt imapd-ssl: LOGIN FAILED, method=PLAIN, ip=[::ffff:]
Jun 22 15:21:01 greenblatt imapd-ssl: LOGIN FAILED, method=PLAIN, ip=[::ffff:]
Jun 22 15:29:18 greenblatt imapd-ssl: LOGIN FAILED, method=PLAIN, ip=[::ffff:]
Jun 22 15:30:06 greenblatt imapd-ssl: LOGIN FAILED, method=PLAIN, ip=[::ffff:]
Every time fail2ban blocks the addresses for a while but the attacker is more persistant than that.

Tags: ,
2018-06-19 I don't run your nameserver 6 days ago
Showing in the logs since a few hours:
Jun 18 12:48:36 server named[16424]: client query '' denied
Jun 18 12:48:39 server named[16424]: client query '' denied
Jun 18 12:48:45 server named[16424]: client query '' denied
Jun 18 12:48:47 server named[16424]: client query '' denied
Given earlier reports of the same IPv4 address asking about the same queries this has been seen by at least one other place before. Blacklisted for now, maybe I can think of some answers that can slow down the resolver later.

Tags: ,
2018-06-17 More kilometers distance into Australia 1 week ago
This evening I made an FT8 contact with VK7AC which is a new distance record: 16918 kilometers. Which is an improvement over the previous record: 16581 kilometers to Melbourne.

With Australia being huge I'm not surprised distances can be very different.

The contact was hard to make but callsigns and signal reports got exchanged eventually. This was on the 40 meter band so that's also a new band for that country.

In the rest of the weekend I made more FT8 contacts on different bands and some SSB (voice) contacts to several active stations. Noticable was that several high-power stations were active on the 10 meter band Friday evening enjoying the band opening.

Tags: , ,
2018-06-17 Apache 2.2 Proxy and default block for everything but the .well-known/acme-challenge urls 1 week ago
I'm setting up a website on a new virtual machine on the new homeserver and I want a valid letsencrypt certificate. It's a site I don't want to migrate so I'll have to use the Apache proxy on the 'old' server to allow the site to be accessed via IPv4/IPv6 (for consistency I am now setting up everything via a proxy).

So first I set up a proxy to pass all requests for the new server to the backend, something like:
        ProxyPass /
        ProxyPassReverse /
But now the requests for /.well-known/acme-challenge also go there and they are blocked needing a username/password since the new site is not open yet.

So to set up the proxy correctly AND avoid the username checks for /.well-known/acme-challenge the order has to be correct. In the ProxyPass rules the rule for the specific URL has to come first and in the Location setup it has to come last.
        ProxyPass /.well-known !
        ProxyPass /
        ProxyPassReverse /

        <Location />
        Deny from all
        AuthName "Site not open yet"

        <Location /.well-known/acme-challenge>
            Order allow,deny
            Allow from all
And now the acme-challenge is done locally on the server and all other requests get forwarded to the backend after authentication.

Tags: , , ,
2018-06-04 First 'Sporadic E' contact on 2 meter 2 weeks ago
As guessed when I got earlier personal distance records with FT8 on the 2 meter band bigger distances are possible with 'Sporadic E', a condition in which even higher frequencies can be propagated through the ionosphere.

This evening G8EOH came back to an FT8 cq on 2 meter and I found out that gave me a new distance record: 342 kilometer.

Tags: , ,
2018-06-04 An active weekend on the 10 meter band, Faroe islands in the log 3 weeks ago
This weekend had enough time available to be active on the radio. And the 10 meter band was open again, just like the evening opening on 10 meters three weeks ago. This weekend the 10 meter band cooperated most of Friday evening, a few hours Saturday morning and most of Sunday afternoon and evening. Especially 10 meters FT8 was busy and I worked a lot of European countries on the 10 meter band. On Thursday evening I had 15 countries confirmed (lotw or paper qsl) on 10 meter for my call PE4KH, on Sunday evening that number was 25.

I added the Faroe islands to the log Sunday (also on 10 meter FT8) when I saw OY1DZ active and had a contact. Not yet confirmed, I have requested a card via the OQRS system in use for OY1DZ and other calls. According to that page the LoTW confirmation will also happen soon.

I also got a few voice contacts in the log: special event calls and world wide flora and fauna activations are always nice to have. The flora and fauna location spff-450 activated by SP5KD/P was hard to understand at home so I used the utwente websdr to receive and the transmitter at home to transmit.

Tags: , ,
2018-05-25 Going full duplex with amateur satellites, part 13: receiving a linear satellite transponder / SO-50 without the preamp 1 month ago
This evening another try, this time without the preamp. And tried receiving a linear satellite transponder.

This makes things even more complicated as I have to look at one display (gpredict) to have an idea where to aim the antenna and another display (gqrx) for the waterfall display. Maybe both can be on the same screen with a lot of resizing.

The first pass I tried was a pass of the FO-29 satellite which has a linear transponder. It was not a very high pass so all reception was through a house. I did hear morse first, and later saw signs of USB signals in the passband. Signals were weak and noise was high. I was almost able to understand one callsign, a 9A.. callsign (Croatia).

The other pass I tried was a pass of the SO-50 satellite which is a narrow FM satellite. Signals were weak for narrow FM so I had to keep turning the arrow antenna to get the polarisation right. I could hear spanish and english callsigns.

I recorded the SO-50 pass and noted the audio looked very distorted in audacity. Maybe I can improve the audio somewhere in the chain and get things better.

Tags: , ,
2018-05-24 Going full duplex with amateur satellites, part 12: picking it up again 1 month ago
So last year I wanted to get back on amateur satellites and bought some hardware that would enable me to go full-duplex: receive and transmit at the same time. The most important part is to get the receive side working.

This evening had a pass of the SO-50 amateur satellite and a pass of the Fox-1D satellite right after another (with some overlap). And it's dry and a reasonable temperature to be outside with laptop, preamp, rtl-sdr stick and arrow antenna.

Signal levels on narrow FM are still very faint and hard to hear, so I guess I am at the limits of the rtl-sdr for weaker signals, even with the preamp.

Tags: , ,
2018-05-24 Stopping the weather map site 1 month ago
In all the web content that has to be migrated to a new environment I noticed the weather map site depends on a load of complex scripts to generate it and never got any amount of visitors.

So I decided to stop that site. I'll archive all the scripts around it so I can pick it up again some day.

Tags: ,
2018-05-22 The linkspammers are back, but they are trying to hide it a lot better 1 month ago
Over the years I have ranted several times about linkspammers. About spammers in general too, but linkspammers are a special category.

Most of them, especially the fully automated ones died when google started detecting their deceit. That time there was some amusement to be had reading mails "somehow there is an evil link to my site from your site, please remove it as it affects both our google ranking".

But now they are back, but trying to hide it a lot better. I received several nicey-nicey and helpful mails with really personal suggestions to improve my site, or improve the world in general by adding some link they proposed, complete with the right anchor text.

At first I thought they were personal and answered them telling them the proposed links were wrong, or they had not read the article/post/.. they wanted to change very carefully.

And then a week or two later I'd get another personal mail asking whether I had considered their previous request. And answering with "did you read my answer?" did not change a thing.

My best guess at the moment is that I wasn't looking at a personal mail and that I should add a lot of airquotes about terms like "personal" above. It's a template with 'page X' 'needs link Y' and 'with anchor text Z' and there is software running that checks whether page X has the 'right' link and keeps sending reminders until it does.

As you can imagine (or not), I feel very annoyed by this new scam tactic.

One sample:
Hi pal,

My name is Oliver and I'm writing to share an infographic that aims to educate people about PTSD amongst our veterans and serving military personnel. The infographic is titled "The Silent Enemy: How PTSD Damages Our Soldiers".

You can view the infographic by clicking here: [link]

To spread the word about these issues, I ask if you could add a "weblink" to this infographic from this page on your own website: Note how this page has only a link to 'military' but actually reading it for 4 seconds would let you know that it has no link to PTSD in the military.

I chose this page because you already link to from this page.

If this is possible, you could add the below text to this page on your own websi te:

The Silent Enemy: How PTSD Damages Our Soldiers – An infographic aiming to raise awareness about PTSD in the military.

Alternatively, you could also publish the infographic on your website as a "guest blog post". If this is OK, I can write a unique introduction to go with the infographic. This will save you time and also help to highlight the important issues covered in the infographic.

I really appreciate your time. I know that linking to this infographic will help to build awareness about mental health issues amongst veterans and serving memb ers of the military. I'm sure this is a cause you would like to get behind by adding the above link. I've actually attached the infographic to this email for you to add to your website at either the page I suggest or as a fresh blog post.

Many thanks,

Oliver Clark

Rehab 4 Alcoholism

Please click on Unsubscribe to be unsubscribed from any future communications. P rivacy notice.
The last line is quite a hint that this is from an automated system, the stories are somewhat long so this isn't always very visible.

Now I also wonder whether the link would be to a very commercial rehab organisation.

Tags: , , ,
2018-05-20 I participated in the EU PSK DX Contest 2018 1 month ago
This weekend I had some time to participate in the EU PSK DX Contest. Conditions did not cooperate very well. First I thought local qrm was making me hear only the loudest stations but comparing it to the Utwente websdr I was hearing about 'everything'.
Total number of QSO in your log is 41, Including 0 QSO with errors, Valid QSO - 41
Band  QSOs Dupes Points Mults
160      0     0      0     0
80       0     0      0     0
40      28     0     56    39
20      13     0     25    21
15       0     0      0     0
10       0     0      0     0
Total   41     0     81    60
Claimed score is 4860 points
Read the rest of I participated in the EU PSK DX Contest 2018

Tags: , ,
2018-05-14 Back to the 10 meter band 1 month ago
The 10 meter amateur band (from 28.0 to 29.7 MHz) is the HF band where I started making the first HF contacts in 2014 but after that HF propagation went down and I had to go to lower frequencies and bigger antennas.

But there are short periods of better propagation and this evening I tried FT8 on the 10 meter band again and made two contacts into Norway. I even received signals from Brazil so propagation was ok, mostly along the 'greyline' which is the line over the earth between the areas in the sun and not in the sun and causes some more propagation.

Tags: ,
2018-05-07 I participated in the ARI International DX Contest 1 month ago
Last weekend I participated in the ARI International DX Contest.

Before the contest I was looking at the option of trying the tlf contest software and operating phone (voice) but adding the definitions for scoring this contest to tlf turned out to be not possible at the moment and at the end the weekend was filled with enough other things that only a few hours of operating RTTY were left. Propagation wasn't very cooperative and I first was blaming local interference until I noticed that the same lack of signals was showing in other places and twitter was filled with aurora pictures, so a solar flare had blocked propagation.

In the end I made 43 contacts and entered in the 'single operator RTTY low power' category. Low power on an Italian scale: below 100 watts.

Tags: , ,
2018-05-05 High-Tech Bridge 'security scan' causing big noise in the logs 1 month ago
I noticed a lot of error messages from sshd/imaps and other services all related to IPv4 address Checking the firewall logs found even more attempts.

It seems all this noise is related to a 'Web Server Security Test' from High-Tech Bridge. Something like the Qualys SSL Labs SSL Server Test but aimed at a complete test according to PCI DSS, HIPAA and NIST. Since most of those standards have to do with procedures too an automated test can never be complete.

But with all these errors and firewall log entries it is very noisy. And now I wonder who was interested in my webserver security at a time that I was asleep.

Tags: ,
2018-05-03 The preferring IPv6 policy is working 1 month ago
Yesterday I changed some IPv4 addresses on virtual machines on the new homeserver to make autofs work. This is a known issue with autofs: autofs does not appear to support IPv6 hostname lookups for NFS mounts - Debian Bug #737679 and for me the easy solution is to do NFS mounts over rfc1918 ipv4 addresses. I prefer autofs over 'fixed' NFS mounts for those filesystems that are nice to be available but aren't needed constantly.

It took about 9 hours before arpwatch on the central router noticed the new activity. I guess the policy to try to do everything over IPv6 is working.

Tags: , , ,
2018-05-01 Getting amateur satellite contacts into LoTW correctly 1 month ago
A very good bit of info just flew by on the amsat-bb mailing list: Logging Satellite QSOs with Logbook of the World - AMSAT-NA.

Complete with screenshots and needed steps, how to create an ADIF file (which I could import into CQRLOG) with the satellite-specific fields set to the values needed by LoTW to make it a valid satellite-contact.

CQRLOG has no support for satellite-specific contact information, so for me the workflow for these contacts would be to create an ADIF file as above in LoTW, upload it, and import the ADIF file in CQRLOG and not upload it from CQRLOG.

Now to find time, energy and nice weather to get on the satellites again.

Tags: , ,
2018-04-26 More radio maps and their limits 2 months ago
The PE4KH website has maps of the locations where I contacted radio amateurs all over the world. The maps with generated images are created by exporting my locators worked/confirmed from cqrlog and using gcmwin for linux with a whole set of different configurations to plot the results.

But now the 2 meter band has been added and on that band a 'record distance' is not as far as on HF. On HF my current distance record was a contact with Australia at 16581 kilometers. My current distance record on the 2 meter band is 363 kilometer in Germany. Quite a different scale!

So the maps part has been enhanced with a 2 meter contacts map, but gcmwin can't use 6-position maidenhead locators so the map is quite coarse compared to what I want. I don't know the solution at the moment to improve this. The recent qso map PE4KH does show the more precise gridsquares when available in the log, so maybe that page needs distances added.
Read the rest of More radio maps and their limits

Tags: , ,
2018-04-24 KVM and os-specific defaults 2 months ago
Today I wanted to install a new virtual machine on the new homeserver and virt-install gave me a new warning:
WARNING  No operating system detected, VM performance may suffer. Specify an OS with --os-variant for optimal results.
According to the virt-install manpage the --os-variant can be found with osinfo-query os which I can't find in Devuan jessie. But the same information is available via Installing Virtual Machines with virt-install, plus copy pastable distro install one-liners.

I chose debian7 as that is probably the closest to Devuan Jessie to be upgraded to Devuan ascii immediately.

The interesting change is that the resulting linux suddenly has virtio networkcards and a disk /dev/vda. That last bit is quite different from earlier virtual machines.

Tags: , ,
2018-04-24 Building my own balun, part 7: Better measurements of the result 2 months ago
Homemade balun version 2 SWR scan 1-60 MHz
Homemade balun version 2 SWR scan 1-60 MHz 20180424
Homemade balun version 2 SWR scan 10 meter band
Homemade balun version 2 SWR scan 10 meter band 20180424
Homemade balun version 2 SWR scan 20 meter band
Homemade balun version 2 SWR scan 20 meter band 20180424
Time to do measurements of the revised attic antenna. And now with a voltage balun with more windings the balun is working better, showing ok SWR values. A nice optimum in the middle of the 20 meter band (although I originally wanted that optimum near the digital mode part) and a nice optimum in the 10 meter band (also somewhat higher than originally planned). Comparing them to the original measurements show an increase in frequency in both SWR curves.

So I consider this a good result! Time to get it on the air and make contacts again.

Next step, working on an outside dipole with the Fritzel balun.
Read the rest of Building my own balun, part 7: Better measurements of the result

Tags: , ,
2018-04-23 Building my own balun, part 6: Redo and some success: a working antenna again 2 months ago
After the previous measurements showed the balun and dipole under the roof weren't acting as a perfect combination. So time to do a few things better: more windings, less leftover wire and a switch to a voltage balun. Yes, other sources indicate a current balun is better, but I decided otherwise. The Fritzel balun turned out to be a voltage balun after I removed it from the dipole antenna.

Balun project version 2 in case So I used the instructions at 1:1 voltage balun by VK6YSF to rebuild it as a voltage balun and I made sure the wires were shorter in the end. Getting the shorter wires in the right places in the case did get me some slightly burned fingers!

Success is currently defined as "I can transmit a carrier on the 20 meter or 10 meter band and the SWR meter of my radio only goes up a few segments" which isn't very scientific, I will need to do the rest of the measurements with the SWR meter to be sure.
Read the rest of Building my own balun, part 6: Redo and some success: a working antenna again

Tags: , ,
2018-04-20 Spam van StoryTel 2 months ago
Spam van StoryTel, waarin het me opvalt dat ze de e-mail marketing spam infrastructuur van mandrillapp gebruiken, maar zelfs zonder manieren om uit te schrijven of iets anders wat nog een beetje rekening houdt met de huidige wetgeving op dat gebied.

Zoeken op storytel spam levert niet veel vergelijkbare verhalen op dus blijkbaar is dit een nieuwe aanpak van StoryTel.

Dan maar via alle routes aangemeld als spam, inclusief een complete melding bij Spam melden bij ACM.

Tags: , ,
2018-04-16 Building my own balun, part 5: First tests of the result 2 months ago
Homemade balun SWR scan 1-60 MHz
Homemade balun SWR scan 1-60 MHz 20180415
Homemade balun SWR scan 10 meter band
Homemade balun SWR scan 10 meter band 20180415
Homemade balun SWR scan 20 meter band
Homemade balun SWR scan 20 meter band 20180415
So I removed the old balun and installed the one I made. Removing the old one wasn't easy: the Fritzel balun has a cover over the SO239 connector which makes the heavy duty connector I used very hard to unscrew. So I had to break bits of that cover to get the needed access. And the connector ended with a lot more scratches from my attempts to get access to it.

But now the balun is replaced, and measured. And it looks like some things have changed now causing the antenna to be 'mistuned'.

Update: Just some measurements and thinking: adding the big common mode choke in the mix makes the combination show better SWR curves (still not what I want) but with the frequency with the best SWR still too low. This suggests (to me) two things: I need more windings on the ferrite core and less extra wire length from the core to the connectors. Time for a rebuild.
Read the rest of Building my own balun, part 5: First tests of the result

Tags: , ,
2018-04-15 Building my own balun, part 4: Deciding on where to put dipole ends and finishing it 2 months ago
Balun, case and ferrite core Balun in open case I finally decided where to put the holes in the case for the dipole ends of the balun. This took some serious pondering!

I made those holes, put screws through them and wound the ferrite core with enamelled copper wire. To guess the needed length of wire I first wound it with packing rope, made a small knot at the point where it was enough and unwound the rope to measure the length I used and took a bit longer wire.

Using sanding paper I removed the enamel isolation from the ends of the wires and used soldering tin on it.

Other parts of this project:

Tags: , ,
2018-04-08 I participated in the EA RTTY Contest 2018 2 months ago
As planned I participated in the EA RTTY Contest edition 2018.

I had most of the time to play radio on Sunday so I decided to participate in the SO20DX (single operator 20 meter band outside Spain) category. I did make two contacts on the 40 meter band when I thought I wasn't going to find any new station the 20 meter band but I returned. And found more stations on the 20 meter band.

20 meter interference pattern
Interference pattern on the 20 meter band
Radio propagation was ok, best DX were some Asiatic Russia stations and a US station in Illinois. The local noise was bad and there were some new sources of interference active. The pattern as in the image (links to full view of the 2.5 kHz waterfall) which is very stable in frequency and has a tendency to stop and start, and at the stop the carriers move together. Also a more 'rattling' noise which sounded like an electrical problem.

In the end I made 81 contacts in total, 79 on the 20 meter band.
Read the rest of I participated in the EA RTTY Contest 2018

Tags: , , ,
2018-04-07 I'm glad you read my newsitem 2 months ago
Apr  6 23:41:16 greenblatt sshd[25116]: Invalid user squid from
Apr  7 01:44:09 greenblatt sshd[3495]: Invalid user squid from
Apr  7 08:21:37 greenblatt sshd[7106]: Invalid user squid from
I'm glad you read my newsitem about keeping squid running.

Tags: , ,
2018-04-06 And a contact with South Africa, new country 2 months ago
Another new country that should not be too hard to get in the log but did not happen until today: South Africa. ZS6ZA was active on 40 meter FT8 and received my answers.

Tags: , ,
2018-04-06 Keeping squid webproxy running for network mismatches 2 months ago
I considered stopping using squid when upgrading to the new homeserver but I have now changed that decision: I need to keep it running for applications that want to do http connections to IPv6-only systems but can't handle those. There are some old scripts running that need it but it's also the way to fix the problem I noticed with linuxcounter.

Tags: , ,
2018-04-06 25 years of Linux use 2 months ago
Powered by Linux In looking at a problem with the linuxcounter script I noticed I am now passing the 25 years with Linux mark. I first saw it in the beginning of 1993 when part of my internship happened at the 'expa' lab (if I recall correctly) of Hogeschool Utrecht with SLS Linux.

Anyway, still using Linux a lot. It's been an interesting 25 years!

Tags: , ,
2018-04-04 I am planning to participate in the EA RTTY Contest 2 months ago
After my participation in the EA PSK63 Contest 2018 I plan to have the radio active in the upcoming weekend for the EA RTTY Contest.

Tags: , ,
2018-04-04 Building my own balun, part 3: First work on the case 2 months ago
Balun project case Balun project case The first work on the balun case was placing the SO239 socket. This included drilling a hole in the case of the right size and at the right position. Figuring out where to put it was mostly influenced by the fact that the ferrite core has to be placed inside the case and I wanted the SO239 socket, the ferrite core and the output terminals not all jammed together. So the SO239 socket was not going to be in the center. For this my new caliper was a useful tool and I measured the inside size and the wanted location of the socket. And I figured out I could drill a 16mm hole and the SO239 socket would fit inside while leaving enough room for the mounting flange.

Holes were drilled and things worked out fine, so the SO239 socket is now mounted. After checking the future location I realized I will have to mount the balun with the SO239 socket facing downwards because the antenna cable is quite heavy. This has to be taken into account with the next steps.

Other parts of this project:

Tags: , ,
2018-04-04 Building my own balun, part 2: measuring the 'old' balun 2 months ago
Fritzel balun SWR scan 1-60 MHz 20180325
Fritzel balun SWR scan 1-60 MHz 20180325
Fritzel balun SWR scan 10 meter band 20180325
Fritzel balun SWR scan 10 meter band 20180325
Fritzel balun SWR scan 20 meter band 20180325
Fritzel balun SWR scan 20 meter band 20180325
Since I want to replace a balun that has been up there for ages I want to be able to compare the two. So I used the antenna analyzer to get graphs of the SWR over the whole possible range (1-60 MHz) and on the amateur bands it was built for: the 10 meter band and the 20 meter band.

There was a very interesting difference with the earlier results on the 10 meter band when I first tested the SARK100 antenna analyzer from Linux. The 10 meter band dipole probably moved a bit or something else changed.
Read the rest of Building my own balun, part 2: measuring the 'old' balun

Tags: , ,
2018-03-30 More FT8 on the 2 meter band 2 months ago
I have now tried FT8 on the 2 meter band several times. One time I received a message via FT8 to try it on the 70cm band too but I haven't figured out the right frequency on that band yet.

DX contacts have been made into England, France and Germany. Furthest 2 meter contact at the moment is 323 kilometers. From the doppler shift I see the most probably reason for these distances is aircraft scatter, which means I'm using big metal reflectors in the sky to bounce my signal, without even paying for an airplane ticket.

I'm looking forward to 'E-skip' and other phenomena that can make 2 meter radio signals reach larger distances. I wonder what that will bring me.

Tags: , ,
2018-03-24 Trying FT8 on the 2 meter band 3 months ago
The different radio bands also have quite different properties. The HF bands below 30 MHz have ionospheric refraction which lets the signal return to earth in far away places. The VHF bands (30-300 MHz) are usually only line of sight, signals usually will not get beyond the horizon.

Recently I saw mention of the FT8 mode on the 2 meter band. Specifically here: Essex 2M Activity Day Update - Essex Ham and VHF FT8 - M1AVV.

This inspired me to give it a try myself. It took a bit of searching to find the right frequency for FT8 on 2 meter. I found out it's 144.178 MHz so I started trying there and soon made my first contacts with Dutch amateurs at reasonable distances. But from time to time I saw signals from further away than was possible, for example England and France. My best guess is that aircrafts reflect the signals. I also saw doppler shift in signals which confirms aircraft reflections.

After a few tries I was able to make my first contacts at nice distances in the Netherlands.

Tags: ,
2018-03-19 Building my own balun, part 1: idea and parts needed 3 months ago
I was considering hanging a dipole antenna outside. This would need a balun and I realized that I have a good outdoor-capable balun hanging in the attic. It's a Fritzel 1005 1:1 current balun which is good up to 300 watts power.

I am not going to use 300 watts under the roof close to other equipment and the balun there does not need to be rain proof. So the idea was born to build a smaller balun for use under the roof and have the Fritzel balun available for outdoor use.

And last Saturday was a hamfest (radio onderdelenmarkt Rosmalen) so I had an idea of things I wanted for this project.

Parts needed for a current balun:
  • A ferrite core with the right specifications
  • Wire with enamel coating
  • An SO239 socket
  • Terminals for connecting the dipole wires
  • A case
The various collections of electronics parts only missed the SO239 socket and a case. Those were found at the hamfest for a nice price.

The choice of design is a current balun or a voltage balun. I had to do some searching to find a good comparison between the two, and DX engineering has one at Baluns: Choosing the Correct Balun - DX Engineering which has:
Current baluns, rather than voltage baluns, should be used whenever possible. Current baluns provide better balance and often have lower loss. Current baluns, especially 1:1 ratio baluns, tolerate load impedance and balance variations much better than voltage baluns.
Some searches found good explanations of building your own baluns, I found a very clear explanation at VK6YSF project page.

So I'm building a current balun, and when it's finished enough to test it I will measure how it is doing. I have the tools like the SARK100 antenna analyzer that I can control from Linux and a dummy load so I can check everything.
Read the rest of Building my own balun, part 1: idea and parts needed

Tags: , ,
2018-03-19 (In augustus 2012 kreeg ik spam gericht aan een belg en bleek mijn adres op een spamlijst voor vlaams...) 3 months ago
Google+Koos van den Hout : In augustus 2012 kreeg ik spam gericht aan een belg en bleek mijn adres op een spamlijst voor vlaams-belgische bedrijfscontactpersonen te staan: de lijst kostte toen 199 euro.
En nog steeds krijg ik met enige regelmaat spam voor dezelfde doelgroep: . Het geeft alles bij elkaar wel een aardig overzicht van bedrijven die blijkbaar zo'n spamlijst gewoon gebruiken.
2018-03-16 Meer spam voor een Belg 3 months ago
Het gaat rustig door, ruim 5 jaar sinds de eerste spam die te herleiden was tot een belgische lijst. Ook vandaag, dit keer spam voor Desvo veilingen die blijkbaar ook dezelfde spamlijst gekocht hebben.

Tot nu toe was alle spam die ik dacht te herleiden naar deze bron nederlands / vlaams. Gericht op inkopers bij bedrijven. Maar nu eentje in het frans, maar uiteindelijk te herleiden tot Fruit at work die tweetalig werkt. En later op dezelfde dag Neopost weer gewoon in het nederlands maar volgens de mail ook via "B2Best Belgique" die op het web niet terug te vinden is.

Eerder, eerder, eerder, eerder, eerder.

Tags: ,
2018-03-15 Working on having the right IP address in the apache logs 3 months ago
I noticed the access_log for various websites being tested on the new homeserver all had the IPv6 address of the haproxy I configured in the logs and not the original IP address.

The fun bit is I have set up the right Apache mod_remoteip settings, RemoteIPHeader and RemoteIPInternalProxy and this was tested and working with Require ip rules. But it turns out the default logging formats use the %h logging variable which is not changed by mod_remoteip. Since I want IPv6/IPv4 addresses in the logs that can be resolved later I changed to the %a variable which is the Client IP address which can be changed by mod_remoteip.

Changed options:
LogFormat "%a %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%a %l %u %t \"%r\" %>s %O" common
LogFormat "%a %{HOST}i %l %u %t \"%r\" %s %b %{User-agent}i %{Referer}i -> %U" vcommon

Tags: , ,
2018-03-14 Try anything as an open webproxy 3 months ago
It seems any open port can be tried as an open webproxy. An open webproxy is interesting for hiding tracks or getting around restrictions. But some of the scans are getting stupid. There are still a lot of other tcp-based services, not everything is HTTP.

From recent logs:
Mar 14 13:46:42 greenblatt nnrpd[20297]: unrecognized GET / HTTP/1.0                                                                             
Mar 14 13:46:47 greenblatt nnrpd[20299]: unrecognized OPTIONS / HTTP/1.0                                                                         
Mar 14 13:46:52 greenblatt nnrpd[20301]: unrecognized OPTIONS / RTSP/1.0                                                                         
And this gem of distributed scanning:
Mar  8 08:45:00 greenblatt sm-mta[6355]: w287j0dE006355: probable open proxy: command=GET HTTP/1.1\r\n
Mar  8 08:45:00 greenblatt sm-mta[6359]: w287j0V0006359: []: probable open proxy: command=GET HTTP/1.1\r\n
Mar  8 08:45:00 greenblatt sm-mta[6360]: w287j0lM006360: []: probable open proxy: command=GET HTTP/1.1\r\n
Mar  8 08:45:04 greenblatt sm-mta[6353]: w287j4lq006353: []: probable open proxy: command=GET HTTP/1.1\r\n
Mar  8 08:45:04 greenblatt sm-mta[6356]: w287j4io006356: []: probable open proxy: command=GET HTTP/1.1\r\n
Mar  8 08:45:04 greenblatt sm-mta[6357]: w287j4h0006357: []: probable open proxy: command=GET HTTP/1.1\r\n
Mar  8 08:45:05 greenblatt sm-mta[6358]: w287j5pu006358: []: probable open proxy: command=CONNECT HTTP/1.0\r\n
Mar  8 08:45:05 greenblatt sm-mta[6354]: w287j5bt006354: [] (may be forged): probable open proxy: command=GET HTTP/1.1\r\n
Interesting timing and coordination on this one, looks like some form of central control was involved.

Tags: ,
2018-03-12 I participated in the EA PSK63 Contest 2018 3 months ago
As planned I participated in the EA PSK63 contest 2018 last weekend. As this contest starts at 16:00 UTC and not the usual 12:00 UTC I decided to again try my luck as single operator on the 40 meter band only (SO 40 DX for this contest).

Contacts were made Saturday evening and Sunday morning and afternoon. Sunday at 12:45 UTC I gave up on finding any new callsigns on the 40 meter band and decided to switch to the 20 meter band. Conditions were not very good and I think I made some errors copying serial numbers or on the decision whether to count a contact as valid. And at least two calls had me in their log but my log was not convinced we made a contact around that time.

In the end I made 125 contacts, 79 on the 40 meter band and 46 on the 20 meter band. Looking at the results of previous years I thought I would end up with a higher ranking with the 79 contacts on the 40 meter band only so I entered in that category. The 20 meter contacts will only count as checking for the other participants.

The one that got away: I saw an amateur from Thailand call CQ but my answer did not make it back there.

A nice contest. I was able to practice fast contacts a bit even in difficult conditions. As usual with all contests I also uploaded my score to the Veron Afdelingscompetitie where our local chapter A08 is doing ok.
Read the rest of I participated in the EA PSK63 Contest 2018

Tags: , ,
2018-03-07 () 3 months ago
Google+Koos van den Hout : Another sighting of an RFC2322 implementation. Really nice that these show up from time to time!
2018-03-05 Obfuscating powershell with -encoded and UTF-16 3 months ago
In some files I noticed a vbs file where I expected something else. Vbs sounds like visual basic script so I directly started looking for malware. And indeed I saw suspicous code, with a for me new type of obfuscation.

The vbs has one really long line, beginning with:
CreateObject("Wscript.Shell").Run("powershell -w hidden -ep bypass -enc aQBuAHYA
and at the end:
Which looked very base64-like to me. But standard tools could not find out what it was:
$ base64 -d < base64part | file -
/dev/stdin: data
But with a second look I could make out something:
$ base64 -d < base64part | xxd | less
0000000: 6900 6e00 7600 6f00 6b00 6500 2d00 6500  i.n.v.o.k.e.-.e.
0000010: 7800 7000 7200 6500 7300 7300 6900 6f00  x.p.r.e.s.s.i.o.
0000020: 6e00 2800 2200 7b00 3400 3800 7d00 7b00  n.(.".{.4.8.}.{.
0000030: 3100 3200 7d00 7b00 3200 3800 7d00 7b00  1.2.}.{.2.8.}.{.
0000040: 3100 3000 3300 7d00 7b00 3200 3100 7d00  1.0.3.}.{.2.1.}.
0000050: 7b00 3900 7d00 7b00 3100 3000 3600 7d00  {.9.}.{.1.0.6.}.
0000060: 7b00 3700 3000 7d00 7b00 3200 3800 7d00  {.7.0.}.{.2.8.}.
0000070: 7b00 3800 7d00 7b00 3000 7d00 7b00 3200  {.8.}.{.0.}.{.2.
0000080: 7d00 7b00 3400 3100 7d00 7b00 3100 3100  }.{.4.1.}.{.1.1.
0000090: 3300 7d00 7b00 3600 3600 7d00 7b00 3000  3.}.{.6.6.}.{.0.
Suddenly there is UTF-16 powershell code. Or when I simply cat it to a terminal:
-f "t","2"," ",".","i","f","C","'","c","o","2",")","n","n","0","c","'","/",
It looks like some kind of array mapping, but I have no idea how to decode this into readable code to check what it does. I am quite sure it can't be up to any good if I keep finding levels of obfuscation!

Tags: ,
2018-03-04 Trying a bit of radio at a holiday park 3 months ago
Last week we were staying in a holiday home in the Ardennen area in Belgium. Temperatures were constantly below zero which can make my fibermast break easily according to the instructions. I also forgot to bring a side cutter so setting up the fibermast with the rubber profile at every level would be hard to take down again. This made it a bad idea to leave it up overnight.

Due to the cold and me having a serious cold as well it took a few days before I got around to a bit of amateur radio. When I got around to setting up the mast it went reasonably well. The ground was frozen so I needed a hammer to get the pegs into the ground for the guy wires. The foot of the fibermast decided to slip away and the tip fell against a wall, but no damage.

When the mast was up and the dipole hanging the local RF noise turned to be at the same S8 level I am used to at home and it was very hard to make a contact. I tried 40 meter FT8 with transmit power dialed back to 25 watt since the radio itself started showing signs of RF interference. One partial contact was made (no full exchange of signal reports).

And then I noticed gardeners working on pruning bushes everywhere and working in my direction so I disassembled the mast again and took all the parts back in.

For next time I may find some plate to anchor the foot of the fibermast so it can't slip away. Maybe a plate with a big hole in it for the mast and two small holes for tent pegs.

Tags: , , ,
2018-03-02 I am planning to participate in the EA PSK63 contest 2018 3 months ago
This year I am planning to participate again in the EA PSK63 contest edition 2018. Although the weekend is not completely free there will be time to get as many spanish stations and others in the log as possible.

Time to find out if I can improve my score from participating in the EA PSK63 contest in 2016.

Tags: , ,
2018-03-01 An interesting bug in age-old Perl Net::SNMP code 3 months ago
I recently noticed the network traffic statistics weren't updated correctly for the LAN interface of my Draytek Vigor 130 modem. These statistics were extracted using code that I originally started using at the computer science systems group somewhere in the previous decade. It's all Perl Net::SNMP and not very efficient. I don't know if I wrote it myself or copied from somewhere else, I do know a new bug was introduced.

To understand the code it is important to realize that interface index numbers in SNMP are dynamic. Across a reboot a certain number can change. Interface names are static, but those are never used directly in SNMP.

So to get from a static interface name to a dynamic interface index the interfaces.2.1.2 subtree (ifDescr) has to be fetched from the device and checked for the right names. To get the interface index from an snmp object identifier I used to use this bit of code:
# find the current interface indices for the wanted ^ interfaces
foreach my $oid (oid_lex_sort(keys(%table))) {
    if (oid_base_match($ifTable_ifDesc,$oid)){
#        printf("%s => %s\n", $oid, $table{$oid});
        if (defined $wantstuff{$table{$oid}}){
            # I am lazy. I fill a hash with the interface indices so I can
            # use it for lookups
        #    printf "Found ifindex %d for %s\n",$wantstuff{$table{$oid}}{ifindex},$table{$oid};
But note how the current ifDesc subtree is from the modem:
IF-MIB::ifDescr.1 = STRING: LAN
IF-MIB::ifDescr.4 = STRING: VDSL
IF-MIB::ifDescr.5 = STRING: Resrved
IF-MIB::ifDescr.6 = STRING: 
IF-MIB::ifDescr.7 = STRING: 
IF-MIB::ifDescr.8 = STRING: 
IF-MIB::ifDescr.20.101.1 = STRING: WAN1
IF-MIB::ifDescr.21.101.1 = STRING: WAN2
IF-MIB::ifDescr.22.101.1 = STRING: LAN_PORT1
Using that rindex function there are 4 instances of index 1. Which caused the very similar code looking for the ifInOctets, ifOutOctets and other counters to overwrite the result for index 1 with those from WAN1, WAN2 and LAN_PORT1.

So that code is now improved, no more rindex but a well-defined use of length:
# find the current interface indices for the wanted ^ interfaces
foreach my $oid (oid_lex_sort(keys(%table))) {
    if (oid_base_match($ifTable_ifDesc,$oid)){
        #printf("%s => %s\n", $oid, $table{$oid});
        if (defined $wantstuff{$table{$oid}}){
                        my $intindex=substr($oid,length($ifTable_ifDesc)+1);
                        #printf "Submatch found ifindex %d for %s\n",$intindex,$table{$oid};
            # I am lazy. I fill a hash with the interface indices so I can
            # use it for lookups
            #printf "Found ifindex %d for %s\n",$wantstuff{$table{$oid}}{ifindex},$table{$oid};

Tags: , ,
2018-02-19 Again new countries in amateur radio in a pair 4 months ago
This evening another two new countries in my amateur radio log: Lebanon and Gibraltar. First OD5ZF from Lebanon and 4 minutes later ZB3M from Gibraltar. That makes three pairs in two months.

These two were both in FT8 mode on the 40 meter band. FT8 is very good at fast contacts at low received signal levels.

Tags: , ,
2018-02-18 I learned event-based programming recently 4 months ago
On 8 and 9 February last week I attended the Surf Security and Privacy conference. SURFcert, the incident response team of SURF, had its own 'side event' within this conference, an escape room. Since the members of SURFcert like to visit escape rooms themselves, the idea was to build our own escape room. A simple one as teams of 2 or 3 people had to solve it within 15 minutes. The best scores were indeed just over 5 minutes so it was doable.

The escape room clock
The escape room clock
The theme of this escape room was the trip Snowden made: from the US to Hongkong to Moscow. Each location had a puzzle and like Snowden the only thing you could take to the next location was knowledge. In this case a 4-digit code to open a lock. Someone else in the SURFcert team did most of the hardware work and I decided to dive into some programming to support this effort. The escape room needed a countdown clock that could only be stopped by the right code. My idea was to use a barcode scanner to link the stop action to scanning the barcode on an object.

So I installed a Raspberry Pi with a raspbian desktop and found out how to set up the autorun on the Pi so my program would be started at startup when the user 'pi' logs in automatically. This was done by starting it from ~/.config/lxsession/LXDE-pi/autorun.

The program I wrote had three inputs:
  • A reset switch connected to GPIO pin 11 and ground
  • A start button connected to GPIO pin 03 and ground
  • Entering the right barcode to stop the time. In the end this was the barcode of a real Russian bottle of vodka, so my program needed vodka as input
For the barcodes I used an usb barcode scanner I have lying around. It behaves like a usb keyboard so scanning a barcode will cause the code to be entered as keystrokes with an enter key at the end,

But all programming I do is sequential. This is different, I needed to write an event-based program. It needs to react to time events, enter events and needs to check the state of gpio bits on time events. And on certain events it needs to change the global state (reset, running, stopped). The last time I did any event-based programming was an irc-bot written in Perl 4.

So with a lot of google searches, copypasting bits of code, searching a lot for which input bits would be default high and go low when connected to earth and a lot of trying I wrote a program. It uses WxPerl to have a graphical interface and use events. I'm not saying its a good program, but it did the job.

Notable things:
  • The OnInit function sets up everything: a window with minimal decorations, tries to set it full-screen, a text box that will show the time and starts at 15:00 as static text. A handler for time events that will be called 10 times per second. And an input box and a handler for when the enter key is pressed.
  • The onTimer function that looks at global state and decides which inputs are valid in that state and handles them
  • The onenter function that calculates a sha256 hash of the input line and checks which inputs can change the global state. The hash was to make sure that someone who could have a look at the source still had no idea what the commands were to control it all via keyboard. And no keyboard was connected anyway. The input for a shutdown is the barcode from one of the loyalty cards I carry around.
Read the rest of I learned event-based programming recently

Tags: ,
2018-02-18 Two new countries in the log and I participated in the Russian worldwide PSK contest 2018 4 months ago
Two new countries in the PE4KH log: Oman and India. Oman was Friday afternoon when I was home early and decided to turn the dial over the 40 meter band to make some phone contacts and heard A41CK call. Who took my call on the second try!

India was late Friday evening. The call VU2NKS showed up in FT8 and it had a direct pile-up (lots of people answering). But with some persistance from my side and good operating skills from the other side the contact was made.

And this weekend was the Russian Worldwide PSK Contest so I participated Saturday afternoon / evening and a bit Sunday right before 12:00 UTC. I managed to start Saturday 12:00 UTC sharp calling CQ. Which worked at that time for getting contacts. I chose the 40 meter band category because I expected most radio time this weekend would be after sunset.

In the end I made 64 contacts. Not a very high score, but I had times were several contacts happened in short succession so I am improving in digimode contesting.
Band  QSOs Dupes Points Mults
160      0     0      0     0
80       0     0      0     0
40      64     0    388    28
20       0     0      0     0
15       0     0      0     0
10       0     0      0     0
Total   64     0    388    28
Claimed score is 10864 points
Read the rest of Two new countries in the log and I participated in the Russian worldwide PSK contest 2018

Tags: , , ,
2018-02-11 Plotting the number of amateur radio contacts 4 months ago
After the end of January I decided to plot the number of contacts again. QSL count plot up to January 2018 January is a busy month with two contests for me but I did not make a lot of contacts outside of those contests this year. I added contacts from holidays and the PE4KH/P activities to the total count.

Some more work on the plot script, I think bars look better than a line graph. But you could spend hours in gnuplot making the plot just right...

The new script:
set output "qslcount.png"
set terminal png size 640,300 fontscale 0.7
set timefmt "%Y-%m"
set xlabel "Month"
set ylabel "Number of contacts"
set xdata time
set style fill solid
set xtics format "%b %Y"
set xtics rotate
set grid
set boxwidth 0.75 relative
set autoscale xfixmin
set autoscale xfixmax
plot "dataset-qsocount" using 1:2 title "Contacts/Month" with boxes
Update: And indeed the change in x autoscale was one bit more 'just right'. The first graph was in February 2017: Rising number of amateur radio contacts.

Tags: , , ,
2018-02-02 (Applying robot logic to the term 'wingman') 4 months ago
Google+Koos van den Hout : Applying robot logic to the term 'wingman'
2018-02-02 Trying to make me skip the rest of the security report 4 months ago
In the sshd logging today:
sshd[26961]: Invalid user <!-- from
But the logging is parsed via software that doesn't trust input either, so the rest is in the report too. Including more attempts from that IPv4 address.

Tags: ,
2018-02-01 TV plannen van 50 jaar geleden 4 months ago
Tekst over TV uit Februari 1958 Iedere maand verschijnt er een Electron van 50 jaar geleden op Electron 50 jaar geleden en daar kijk ik graag even in, om het 'nieuws' op amateurradio gebied van 50 jaar geleden te zien. In die van Februari 1958 viel me een stukje op onder het kopje "Televisie" met:
Voor onze lezers is het wellicht interresant, te weten dat Philips op Maandag het normale TV-programma relayeert in band V: beelddraaggolf 772,25 MHz, geluidsdraaggolf 777,75 MHz. Amateurexperimenten in deze band zijn van veel belang, want ondanks de ontvangstmoeilijkheden, die er nog zijn, kon het toch wel eens dé TV-band van de toekomst blijken te zijn. Een voordeel van deze band is natuurlijk in de eerste plaats het grote aantal beschikbare kanalen - de band loopt van 610-960 MHz! -. De commerciële televisie, die in ons land ook nog eens op gang hoopt te komen, vlast natuurlijk op een aantal kanalen in die band. Een ander voordeel is, dat de antennes zo klein kunnen zijn, hetgeen het stedenschoon ten goede zal komen.
Ondertussen is analoge TV opgekomen in de UHF band en weer gestaakt. Opvallend is voor mij ook dat de genoemde draaggolf frequenties niet uitgekomen zijn op latere UHF kanalen. De afstand van 5 MHz tussen de audio en video draaggolf klopt wel met de analoge TV op UHF standaarden van later.

Commerciële TV via de analoge etherkanalen is er nooit gekomen, dat is heel lang tegen gehouden en later via kabel/satelliet opgekomen en pas bij de digitalisering kwam er ruimte voor digitale TV via de ether. Het deel van de UHF band gereserveerd voor TV-kanalen is ook gekrompen, ondertussen zijn we aan het werken naar een einde bij 700 MHz.

Mooi om zo'n voorspelling te zien en te vergelijken met de huidige realiteit.

Tags: , , , ,
2018-01-27 I caused an interesting problem with the VDSL pppoe session 4 months ago
Normally being active on certain HF bands causes one-time VDSL disconnects but what I have currently done seems to have triggered something else. After the connection dropped it refuses to come back at the moment. The entire session looks like:
22:49:28.466922 PPPoE PADI [Service-Name]
22:49:28.490394 PPPoE PADO [AC-Name "dr12.d12"] [Service-Name] [AC-Cookie 0xA3FE109A222CE73945C23FCE85E03F83] [EOL]
22:49:28.490603 PPPoE PADR [Service-Name] [AC-Cookie 0xA3FE109A222CE73945C23FCE85E03F83]
22:49:28.517063 PPPoE PADS [ses 0x40c] [Service-Name] [AC-Name "dr12.d12"] [AC-Cookie 0xA3FE109A222CE73945C23FCE85E03F83] [EOL]
22:49:28.575266 PPPoE  [ses 0x40c] LCP, Conf-Request (0x01), id 72, length 16
22:49:28.575776 PPPoE  [ses 0x40c] LCP, Conf-Request (0x01), id 99, length 22
22:49:28.575798 PPPoE  [ses 0x40c] LCP, Conf-Reject (0x04), id 72, length 10
22:49:28.589161 PPPoE  [ses 0x40c] LCP, Conf-Ack (0x02), id 99, length 22
22:49:28.589164 PPPoE  [ses 0x40c] LCP, Conf-Request (0x01), id 73, length 12
22:49:28.589666 PPPoE  [ses 0x40c] LCP, Conf-Ack (0x02), id 73, length 12
22:49:28.589682 PPPoE  [ses 0x40c] LCP, Echo-Request (0x09), id 0, length 10
22:49:28.589693 PPPoE  [ses 0x40c] CCP, Conf-Request (0x01), id 89, length 17
22:49:28.589702 PPPoE  [ses 0x40c] IPCP, Conf-Request (0x01), id 89, length 18
22:49:28.589711 PPPoE  [ses 0x40c] IP6CP, Conf-Request (0x01), id 89, length 16
22:49:28.603265 PPPoE  [ses 0x40c] LCP, Echo-Reply (0x0a), id 0, length 10
22:49:28.603267 PPPoE  [ses 0x40c] LCP, Term-Request (0x05), id 74, length 6
22:49:28.604033 PPPoE  [ses 0x40c] LCP, Term-Ack (0x06), id 74, length 6
22:49:31.623454 PPPoE PADT [ses 0x40c] [Generic-Error "RP-PPPoE: System call error: Input/output error"] [AC-Cookie 0xA3FE109A222CE73945C23FCE85E03F83]
So in the end the router at my ISP decides to terminate the connection. On the connection failing I decided to change the configuration to use the kernel mode pppoe driver but after this started showing I reverted that change. Which made no difference, the connection is still not coming up.

Update: I went looking at other changes I made to enable the pppoe server test and reverting the /etc/ppp/pap-secrets file to its original format fixed the problem. I guess I somehow started to authenticate the remote end.

And changing from user-mode pppoe to kernel-mode pppoe does lower the MTU to 1492, so that test is also finished. Back to user-mode pppoe.

Tags: , , ,
2018-01-25 Building a testing server for pppoe 5 months ago
The new homeserver will have to run the same pppoe client setup as the current server. But I want to get the whole setup tested before the migration to minimize disruption.

Since I'm not going to get a free extra vdsl line and vdsl modem to test with and the complicated part is in the pppoe and ppp client part I decided to use a test vlan and set up a pppoe-server and ppp server on that vlan.

The pppoe server part is started with
# pppoe-server -I eth0.99 -C kzdoos -L -R
And it's indeed available from the client:
# pppoe-discovery -I eth2
Access-Concentrator: kzdoos
Got a cookie: 84 39 c6 51 13 fe 32 00 2c 06 2a b4 38 0e 30 87 46 7b 00 00
AC-Ethernet-Address: 00:1f:c6:59:76:f6
So that part works. Next is to get an actual ppp session working over it.

The server part was a bit of work as I want to get the whole configuration including password checks. Server configuration in /etc/ppp/pppoe-server-options on the server system:
lcp-echo-interval 10
lcp-echo-failure 2
ipv6 ,
And the client configuration in /etc/ppp/peers/dray-vdsl:
user testkees
password topsecret
ipv6 ,
maxfail 0
ipparam xs4all
lcp-echo-interval 10
lcp-echo-failure 6
pty "pppoe -I eth2"
Lots of options to make the setup exactly the same as the current. It took a lot of tries before password authentication was working. I could not get the client-side password in /etc/ppp/pap-secrets to work, but as show above the password in the ppp configuration did work.

And the setup in /etc/network/interfaces on the client just the same as the known configuration:
iface pppdray inet ppp
        provider dray-vdsl

And it works!
# ifup pppdray
Plugin loaded.
# ifconfig ppp0
        inet  netmask  destination
        inet6 fe80::5254:ff:fe3c:2014  prefixlen 10  scopeid 0x20<link>
        ppp  txqueuelen 3  (Point-to-Point Protocol)
        RX packets 9  bytes 252 (252.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 9  bytes 202 (202.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
# ping -c 3
PING ( 56(84) bytes of data.
64 bytes from icmp_seq=1 ttl=64 time=0.721 ms
64 bytes from icmp_seq=2 ttl=64 time=0.436 ms
64 bytes from icmp_seq=3 ttl=64 time=0.449 ms

--- ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2029ms
rtt min/avg/max/mdev = 0.436/0.535/0.721/0.132 ms
The mtu is not yet what I want, but the session is alive.

Tags: , ,
2018-01-23 Avoiding the linux statefull firewall for some traffic 5 months ago
I was setting up a linux based firewall on a busy ntp server and to make sure everything worked as designed I added the usual:
iptables -A INPUT -j ACCEPT --protocol all -m state --state ESTABLISHED,RELATED
And after less than half an hour the system log started filling with
nf_conntrack: table full, dropping packet
nf_conntrack: table full, dropping packet
nf_conntrack: table full, dropping packet
nf_conntrack: table full, dropping packet
It is indeed a busy server. The solution is to exclude all the ntp traffic from the stateful firewall. Which means I have to allow all kinds of ntp traffic (outgoing and incoming) by itself.

The specific ruleset:
iptables -t raw -A PREROUTING --protocol udp --dport 123 -j NOTRACK
iptables -t raw -A OUTPUT --protocol udp --sport 123 -j NOTRACK

iptables -A INPUT -j ACCEPT --protocol udp --destination-port 123
I also made sure the rules for the ntp traffic are the first rules.

Traffic at this server is somewhat over 1000 ntp request per second. So the counters of the NOTRACK rules go fast.
# iptables -t raw -L -v
Chain PREROUTING (policy ACCEPT 1652K packets, 126M bytes)
 pkts bytes target     prot opt in     out     source               destination 
9635K  732M CT         udp  --  any    any     anywhere             anywhere             udp dpt:ntp NOTRACK
1650K  125M CT         udp  --  any    any     anywhere             anywhere             udp dpt:ntp NOTRACK

Chain OUTPUT (policy ACCEPT 1522K packets, 117M bytes)
 pkts bytes target     prot opt in     out     source               destination 
9029K  686M CT         udp  --  any    any     anywhere             anywhere             udp spt:ntp NOTRACK
1520K  116M CT         udp  --  any    any     anywhere             anywhere             udp spt:ntp NOTRACK
But no packets are dropped, which is good as this server is supposed to be under a constant DDoS.

Tags: , , ,
2018-01-23 (And they are back! New episodes showing up.) 5 months ago
Google+Koos van den Hout : And they are back! New episodes showing up.
2018-01-19 Collecting ages of ntpd mode 7 probes 5 months ago
I noticed today one of the ntp servers I manage has been collecting ages of ntpd mode 7 probes without ever responding. But it makes a nice overview of probing IPv4 addresses:
remote address          port local address      count m ver rstr avgint  lstint
===============================================================================          1714        3 7 2      1 3413098   40058         14152        7 6 2      1 1107023   60553         33482        9 7 2      1 647886   73704          47493        2 7 2      1  12199   78678           33066       44 7 2      1 139771   83493          39353        1 7 2      1      0   84058        16124        4 7 2      1 1830407  127241         36749        1 7 2      1      0  138342         38141       12 7 2      1 147806  143793            33119        6 7 2      1 199742  180842        57630        6 7 2      1 968029  223794            34540        2 7 2      1  31910  251316        50130        3 7 2      1 2950157  308291         33716        2 7 2      1 853413  311971          30820        2 7 2      1 3258925  334017         35963        7 7 2      1 452131  339518         42895       10 7 2      1 692139  348753           51096        2 7 2      1  74579  392665        38393        2 7 2      1 3535530  394349         48871        2 7 2      1 537671  411921         34651        5 7 2      1 1361673  478157         37973        6 7 2      1 476469  502270         21269       10 7 2      1 718112  567076         38190        6 7 2      1 1107237  649625           54536        8 7 2      1  40836  721372        39857        2 7 2      1 415601  788308         36079        2 7 2      1 1501700  862267         37702        4 7 2      1 1637431  908028          47766        5 7 2      1 361160  913255         39122        2 7 2      1 109901  976174         34990       41 7 2      1  88999 1045070         38666        6 7 2      1 822261 1079624         54815        7 7 2      1  89032 1102095          48406        4 7 2      1 1133779 1198815        39660        3 7 2      1 1951322 1244586        39459        2 7 2      1  53072 1252190           51099       10 7 2      1 223881 1325320        34319        4 7 2      1 905995 1339133        15081        2 7 2      1 2932231 1430316         35972        2 7 2      1 1499287 1491171         43409        2 7 2      1 4255207 1497992         55927        3 7 2      1 1566148 1718947          41914        2 7 2      1  53524 1936953         41523        5 7 2      1 1112720 1948506           40862        2 7 2      1 1676933 1991259         45915       20 7 2      1 156321 2041538         45785        2 7 2      1 132706 2107890         35315        5 7 2      1 350936 2206670          30296        3 7 2      1  59063 2226284         40060        2 7 2      1  20615 2253429        56609        4 7 2      1 604491 2291452            123        2 7 2      1  85831 2381504           50367        2 7 2      1 868629 2449128           40815        2 7 2      1 182471 2525650          40640        2 7 2      1  66892 2715823        39284        4 7 2      1 163873 2759391           45371        2 7 2      1  92720 2768083          18637        2 7 0      1 802096 2787683         40362       37 7 2      1  85431 2983252          49125        4 7 2      1  60114 3023906          34969        2 7 2      1 254056 3095396           41025        2 7 2      1 107397 3103557          40409        5 7 2      1 206100 3224158         35814        2 7 2      1 571497 3264230         39557        2 7 2      1  52796 3292818         47756        2 7 2      1 242695 3296347          59698        8 7 2      1 246226 3446607         52301        2 7 2      1 839605 3455884        52337        4 7 2      1   1384 3648002         37602        2 7 2      1 752428 3652434          53586        3 7 2      1 103699 3796467         52224        2 7 2      1 138668 3837468           42111        4 7 2      1 608618 3932262          59987        2 7 2      1 143642 4096101         40165        4 7 2      1 146715 4317577            55857        4 7 2      1 115972 4329305         49717        4 7 2      1 314874 4463013          58611        3 7 2      1 359548 4485937         56661        7 7 2      1 176060 4516810          58043        2 7 2      1 687406 4684505          46254        2 7 2      1 1263073 4750583          49259        2 7 2      1 329846 5160890         6065        3 7 0      1 101832 5558503         33999        3 7 2      1  90416 5655119         52973        2 7 2      1   2174 5717159          59170        2 7 2      1  47838 5847404         39141        2 7 2      1   4837 5895126
All IP addresses with only 1 packet removed.

Tags: , ,
2018-01-19 (Has anyone created a mediawiki template/plugin/... to use the first traffic light protocol in mediawiki...) 5 months ago
Google+Koos van den Hout : Has anyone created a mediawiki template/plugin/... to use the first traffic light protocol in mediawiki? I'd like to classify pages in our internal cert documentation.
2018-01-17 Niet al het afval wordt opgehaald: plastic afval blijft achter 5 months ago
We hebben al een paar keer gehad dat er plastic afval achterbleef in de container daarvoor. Vandaag was het ophaaldag en zat de container vrij vol, maar ongeveer de onderste 1/3e bleef zitten.

De niet zo milieuvriendelijke oplossing is om wat er overblijft in een vuilniszak te stoppen en die bij het restafval te doen.

Ik heb toch maar een vriendelijke melding aan de gemeente gedaan of daar iets aan te verbeteren is. Ik ben benieuwd.

Update: Reactie van de gemeente:
Uw melding is opgenomen in de reguliere werkzaamheden. Het kan daardoor enige tijd duren voordat uw melding zichtbaar is opgelost.
Klinkt een beetje als een standaardtekst voor afvalinzamelingsproblemen. Maar ik ga het een paar keer aankijken hoe het gaat.

Update: Inderdaad geen problemen meer. Maar we zorgen nu zelf ook dat het plastic afval minder klem zit in de container.

Tags: ,
2018-01-15 I participated in the UBA PSK63 prefix contest 5 months ago
PSK63 contest As planned I participated in the UBA PSK63 prefix contest in the weekend. Activity was Saturday evening and Sunday morning interrupted by some good sleep.

Compared to my experiences in the ARRL RTTY roundup one weekend earlier the 40 meter band decided to act quite differently. On Saturday evening it was quite hard to make a contact. A lot of interference, no far away stations and it was hard to get heard by the other side. I stopped before 22:00 UTC (23:00 localtime) because I thought some sleep would be more effective than getting annoyed by the lack of contacts.

Indeed, Sunday morning things got better although I heard only nearby signals on the 40 meter band, including some Belgian stations. No serious DX. Belgian stations are good for extra multipliers so it was good for the score.

In the end I made 76 contacts. The last contact was started by a CQ I called at 11:59 UTC but it was only answered at 12:00, so it does count but I had to note it in the log as originating at 11:59 where the software normally logs the moment I see the callsign for the first time.

Log submitted and de Veron afdelingscompetitie updated.
Read the rest of I participated in the UBA PSK63 prefix contest

Tags: , , ,
2018-01-14 Recovering firmware on the Draytek Vigor 130 VDSL2 modem with linux / macosx 5 months ago
Note beforehand: I have not tested this procedure, every time I needed it it was faster to boot Windows to run the utility Draytek has available.

I needed the recovery procedure again: there was a new firmware 3.8.12 with newer VDSL modem driver and the standard update via the webinterface failed.

I just want to keep the notes from "OzCableguy" since his shop and blog have gone. I found the saved version via, Updating Draytek firmare using the MacOS X or UNIX command line and TFTP - OzCableguy.

Draytek modems have several methods available to update their firmware.

You can use the Firmware Upgrade Utility under Windows, load it from the web interface via HTTP, FTP the file to the modem or use the TFTP (Trivial File Transfer Protocol) service built into the box.

If your modem has been bricked you can’t use FTP or HTTP. If you don’t want to use Windows or go through the web interface, then this TFTP method is a viable alternative. Note that unlike a lot of other boxes using TFTP to load firmware, the Draytek is acting as a TFTP server, the UNIX/MacOS box as a client and you PUT the file onto the modem. It is normally the other way around, but that needs some extra setup steps that are conveniently avoided with this method.

The firmware comes in two pieces. Use the .rst version of the file if you want to change the modem settings back to factory defaults, use the .all file to keep the current settings (.all may not be a good option if the modem is bricked).

Secondly you need an ethernet interface on your Mac or UNIX box set to the subnet (eg: with IP address so that you can talk to the modem at its default IP address of

If the modem is up and running (and not bricked), you should now be able to ping it ..
$ ping
PING ( 56 data bytes
64 bytes from icmp_seq=0 ttl=255 time=0.309 ms
64 bytes from icmp_seq=1 ttl=255 time=0.421 ms
64 bytes from icmp_seq=2 ttl=255 time=0.409 ms
—- PING Statistics—-
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.309/0.380/0.421/0.050 ms$ 
If your modem is really bricked then the ping will only work when the modem is actually in TFTP upload mode as below. You can ignore this step, it just demonstrates that the ethernet cable is working.

Now we can upload the firmware. With the modem powered off, press and hold the factory reset button, then power up the modem. Continue to hold the button down until ’some’ of the lights flash together. On the Vigor2820Vn ’some’ is the left column of three. On the 2800 and 2910 the left two LEDs flash.

Release the button and on your UNIX/MacOS box type the following commands (note that the modem only stays in TFTP mode for a short time, you can actually type right up to the end of the put command and just press return when the left-hand modem lights start flashing).

The name of the firmware and the number of bytes transmitted depend on the product you are trying to recover.
$ tftp
tftp> binary
tftp> put v2820_v03301_211011_A.rst
Sent 4973144 bytes in 13.1 seconds
tftp> quit
There will be a pause after the ‘put’ command, but your modem ethernet port light should be flashing madly. The transfer is done when you get the “Sent” message. Quit the TFTP client and perhaps your Terminal session, there’s nothing more to see.

What happens next isn’t really documented but we presume that the modem has to unpack the firmware and load it into flash. On our 2820Vn the column of 3 lights continued to flash, but gradually slowed down, speeded up, then slowed again. Eventually after a minute or two the modem rebooted in the normal fashion. Just be patient.
And this last bit is where the windows utility is better: it will tell you when the recovery is done and a success. With a commandline tool you'll just have to wait for the leds to blink right.

After all the recovery and the waiting the modem works again and the line is stable. I chose the 'modem6' version again. I may try the 'modem5' and 'modem4' version too to see whether I can get lower latency without losing stability. Although the improvement may be in the single digit millisecond range so it would be a lot of work for very little improvement.

Tags: , ,
2018-01-12 I am planning to participate in the UBA PSK63 contest 5 months ago
As in previous years, I am planning to participate in the UBA PSK63 Prefix Contest in the upcoming weekend.

I can't participate for 24 hours since other things have to be done too in the weekend including the all important 'sleep'.

I just finished the preparations:
  • The endfed antenna for 10/20/40 is hanging outside
  • The contest macros have been updated to call CQ UBA PFX TEST
On Saturday evening the 20 meter band will probably be closed by the time I am available for contesting. So I'll start on the 40 meter band. The choice for 40 meter band only or all band will have to be made on Sunday morning, depending on the amount of new contacts I can make in the 40 meter band.
Read the rest of I am planning to participate in the UBA PSK63 contest

Tags: , ,
2018-01-08 I participated in the ARRL RTTY Roundup 2018 5 months ago
RTTY contest on websdr For the past weekend I had the ARRL RTTY Roundup planned, meaning I had reserved time in the family calendar. Other things had to happen too but I reserved time for contesting and made sure I had the right macros available before the contest started. I hoped to find time to set up the endfed antenna before the contest but that did not happen so it was the first thing to do when we got home at the beginning of Saturday evening.

In the contest I only operated on the 40 meter band. Most of the time I was able to participate were in the dark when I did not expect the 20 meter band to cooperate and I thought that operating in just one band would make me end higher in the rankings for that more specific category. Only after the contest I read the rules exactly and noticed that this specific contest does not differentiate between single and multi band operation.

In the end I made 95 contacts. Local noise is high in my current setup so only the strongest stations came through the noise. I made only one contact in CQ mode, the rest was search and pounce. Propagation wasn't really good until late in the evenings when I managed to score some US contacts. I did see someone from Prince Edwards Island in Canada but that station did not hear me return. I noticed WP2B did not give me a US state but a serial number and found out that is a US Virgin Island callsign, so that was a new country for me.

In the end a nice contest. For upcoming contests: check the rules / propagation predictions and plan my strategy.
Read the rest of I participated in the ARRL RTTY Roundup 2018

Tags: , , ,
2018-01-05 Mastercard securecode of een hele goeie phishing poging 5 months ago
Ik wilde vandaag iets betalen in een website en die kwam vervolgens met "Mastercard securecode". Alleen de manier waarop was dusdanig dat ik de betaling afgebroken heb omdat ik het niet vertrouwde.

De afhandeling van Mastercard securecode was binnen een iframe van de website, in een compleet andere stijl dan de website. Vervolgens bleek bij het opvragen van details dat dat iframe komt van wat geen EV certificaat heeft. Na het vragen om de creditcard gegevens kwam een vraag over de rekening die gekoppeld is aan de creditcard en een geboortedatum. Of dat gaat om mijn geboortedatum of die van de persoon van wie de creditcard is stond er niet bij.

Dus een ernstige phishing poging of een slechte implementatie van het voorkomen van fraude. Ooit heb ik de mastercard secure code ingesteld, en daar werd ook niet naar gevraagd. Ik heb er voor gekozen de betaling af te breken.

In 2010 schreef al iemand hierover: Verified by Visa and Mastercard SecureCode are broken and need to be fixed. Sindsdien is de enige verandering dat ik nu een EV certificaat op zo'n site zou verwachten. En dat heeft niet.

Tags: , ,
2018-01-03 Fixing stuff in The Virtual Bookcase for PHP 7 5 months ago
After spending an evening fixing scripts on The Virtual Bookcase to make them run in PHP 7 and make them safer at the same time I came to the conclusion that I still don't like php.

My conclusion is that if I want to maintain sites I'd rather redo them in perl. I noticed any serious maintenance on the scripts of The Virtual Bookcase was 9 years ago (!). That was also when I had the habit of writing maintenance scripts in perl and web code in php. The upside is that a part of the page-generating code is already available in perl.

But a rewrite is a task for another day. For now the site works cleanly in PHP 7 (and 5) and I can go on to the next task for moving the homeserver.
Read the rest of Fixing stuff in The Virtual Bookcase for PHP 7

Tags: , , , ,
2018-01-01 Making my own web stuff more robust 5 months ago
In building the new homeserver there is also time to test things and improve robustness a bit (although I should not overdo it).

The one thing that forces me to look at some web-code again is that the new servers run PHP version 7. Some of my code is giving warnings, time to fix that. But I haven't written any serious PHP in ages, I just rewrote sites in mod_perl. So my PHP is rusty and needs work, especially with PHP 7.

It's a good thing I use version management, which allows me to test the fixes on the development version(s) of the site and push them to the production version when I'm happy with the results.

Some of the things I notice that could improve go on the todo list. One thing I did notice and fixed right away was that the CVS metadata inside the web directories could be requested too. Although I find no serious security information in there it is still an unwanted information leak.

Tags: , , ,

, reachable as PGP encrypted e-mail preferred.

PGP key 5BA9 368B E6F3 34E4 local copy PGP key 5BA9 368B E6F3 34E4 via keyservers pgp key statistics for 0x5BA9368BE6F334E4 Koos van den Hout
Other webprojects: Camp Wireless, wireless Internet access at campsites, The Virtual Bookcase, book reviews
This page generated by $Id: morenews.cgi,v 1.43 2017/09/25 14:15:37 koos Exp $ in 0.195565 seconds.