Free callsign lookup for HRD 5.24 and sunspot data fix

  • 1
  • Idea
  • Updated 3 years ago
I recently hooked my Flex-3000 back up after a hiatus and configured HRD with MiniDeluxe (http://github.com/krisp/minideluxe) and my old mysql logbook, only to realize that my QRZ XML subscription had lapsed years ago and I'm not really serious enough about it to resubscribe.

Instead, I wrote a small python web service that will intercept callsign lookups from HRD and supply it with free data from hamqth.com. I also added passthrough support for the files that HRDLogbook tries to download pertaining to sunspot data. NOAA changed their URLs and they are hard-coded into HRD.

The intention of this program is not to stiff QRZ.com on subscription fees, but to open up options for old legacy software. It is reasonably easy to install Python and install the modules. It can also run as a service (manual or automatic.)

The more computer-savvy you are, the eaiser this will be to get working. It requires installing some software, typing some commands and editing your hosts file.

Theory of operation, usage and source code are available at http://github.com/krisp/fauxqrz
Photo of K1FSY

K1FSY

  • 5 Posts
  • 0 Reply Likes

Posted 4 years ago

  • 1
Photo of Drax

Drax

  • 99 Posts
  • 13 Reply Likes
Doesn't HRD already support free qrz.com page stripping?
Photo of K1FSY

K1FSY

  • 5 Posts
  • 0 Reply Likes
The paid 6.x version might, but that functionality has long since been stripped from the free 5.x version. The qrz forum people deleted my post about this from their HRD section so I'm guessing that they are using the xml subscription data from 5.x users as a cash cow.
(Edited)
Photo of Steve Magee

Steve Magee

  • 2 Posts
  • 0 Reply Likes
Hi Dave,

Followed the instructions paying particular attention to  the host file, when i try to look up a callsign from the test panel i get this:-


<?xml version="1.0"?><!--                                                          -->
<!-- ===================== WARNING ========================== -->
<!-- | The contents of this file must not be changed if the | -->
<!-- | program is to operate correctly. To avoid problems,  | -->
<!-- | please do NOT edit this file.                        | -->
<!-- ======================================================== -->
<!--                                                          -->
<!-- Filename ..: HRDLogbookCallsignLookup                    -->
<!-- Created ...: 15/06/2015 20:15:25                         -->
<!-- Computer ..: CONSERVATORY-PC                             -->
<!-- Username ..: Conservatory                                -->
<!-- Program ...: HRDLogbook.exe                              -->
<!--                                                          -->
<!-- HRDLogbookCallsignLookup.cpp line 1999                   -->
<!--                                                          -->
<HRD xml:lang="EN" Description="Callsign Lookup" Created="15-Jun-2015 20:15">
<head>
<Lookup Options="2">G3PKW</Lookup>
<Callsign></Callsign>
<Source>QRZ.com subscription interface</Source>
<Status></Status>
<Valid>No</Valid>
<Timestamp>2015-06-15 20:15:25</Timestamp>
</head>
<body></body>
</HRD>

if you could point me in the right direction I would be very grateful.

Cheers

Steve GW7VFJ
Photo of Alex - DH2ID

Alex - DH2ID, Elmer

  • 971 Posts
  • 180 Reply Likes
I am glad for my subscription to QRZ.com and HRD 6 as I like to support programmers who write excellent software for HAMs.

If I am able to shell out money for new hardware I should equally be able to spend a small percentage of this money for software.
(Edited)
Photo of K1FSY

K1FSY

  • 5 Posts
  • 0 Reply Likes
Hi Steve

Check to make sure it is running. Open your web browser and try this URL assuming you stuck with 127.0.0.5:

http://127.0.0.5/bin/xml?username=user&password=password

You should get an XML saying login failed. Replace user and password with your hamqth user and password. If it works, you will see an element called <Key> with a long string inside it. Copy this string into notepad or other text editor to form the following URL:

http://127.0.0.5/bin/xml?s=thekeystring&callsign=k1fsy

That should look up my callsign and return lots of details. If all this is working double check the hosts file (%windir%\system32\drivers\etc\hosts) and make sure it has the right entries in it. You can test this by running a command prompt and typing "ping xml.qrz.com". It should reply from 127.0.0.5. If not it's the host file. If the other tests fail because you can't connect to the service, double check all the python stuff and make sure it is running. I suggest running it from the command line in the foreground for initial testing before trying the service installer just in case.
Photo of Steve Magee

Steve Magee

  • 2 Posts
  • 0 Reply Likes
Hi Dave it doesn't appear to be running as the browers wont connect, ive turned the firewall off still no joy, its late here and im working early in a few hours so i'll have another bash when i get home
Thanks for your help

Steve GW7VFJ
Photo of K1FSY

K1FSY

  • 5 Posts
  • 0 Reply Likes
Hi Steve, I added a couple steps to the install notes on the github page on how to download and run the script as well. Hope it helps straighten things out.

73s
Photo of Robert AA6UP

Robert AA6UP

  • 33 Posts
  • 1 Reply Like
Dave - would you mind emailing me. I need to talk to someone who is proficient connecting PSDR programs together.

Thanks es 73
Robert AA6UP topdawg044atyahoodotcom
Photo of Steve

Steve

  • 1 Post
  • 0 Reply Likes
trying to get this python script to run.  I have my host file set correctly as I can ping the site and get a response.  When I put this in to a url I get nothing back http://127.0.0.5/bin/xml?s=thekeystring&callsign=k1fsy . 
When I look at the fauxgrz.py file executing it eventually stops after a few seconds complaining that the port 80 is not free on 127.0.0.5.  I've looked at this with tcpview and don't see where it's used.

Here's a screen shot of the command prompt running the python script.


Any  help... 73, KC1AXJ
(Edited)
Photo of K1FSY

K1FSY

  • 5 Posts
  • 0 Reply Likes
Hi Steve

Windows has a few services that rely on "http" service which will bind to 0.0.0.0:80. You can try stopping it and then connecting to 127.0.0.5:80. The connection should no longer work and then you can try the script again. An alternative would be to run the python script on another machine (or in a linux vm for example) and to point the hosts file to that machine's IP address.