ptunnel, proxy via icmp

Years ago while sitting at the airport trying to get internet access a friend and I set up a VPN via dns – I can’t remember off hand what it was called. It worked, albeit very slowly, and transferred all requests. However, recently they’ve gotten clever and poisoned DNS till you’ve paid for your internet service. It seems though that some still allow ICMP packets through.

That is where ptunnel comes in. You run it on a server that listens for ICMP packets with a special payload.

This initiated the server that listens on the specified port. A nice safety feature is the password authentication.

This starts up the client. It looks like you can map any port through from the client. So if you need internet browsing, have a remote proxy ready to accept connections through ptunnel. I tested the tunnel with ssh, and although there is a definite additional lag, the response was very good. Delay was not too much and throughput was good.

According to the web site they tested about 150 kbps download speed. Not too shabby for free internet…

More HF ARQ information exchange software – PSKMail

Initially when I started looking at PSKMail it seemed to be the open source version of the Winlink 2000 offering. It however targets a slightly different market.

Both offer the following:

  1. Email
  2. Robust transfers, i.e. automatic retransmission etc.

The advantages of Winlink are the seamless integration into their network. Mail delivered at one mail server, from the internet or via radio is accessible from any of the sites. This means a traveller has to only tune to the nearest Winlink 2000 radio station and send and receive email. This is a huge plus. In addition, the Winmor protocol seems very robust and efficient.

PSKMail has similar advantages. It offers email, however, distributed and redundant mail as offered by Winlink is not available by default. However, with a dedicated group of individuals it can be achieved but will be unlikely. It does offer the ability to link up to your own ISP which is great news. In theory you can connect to any PSKMail server and send your mail settings through and download your mail from your ISP. The drawback is still the single point of failure, your service provider. In addition it also offers file uploads and downloads, APRS positioning, internet browsing (text only) and some other features that might appeal to the traveller. Communication is via all modes supported by fldigi.


Installing is simple for the client. Download and install the jar file for the latest client from PSKMail. Be sure that the latest librxtx is installed, sudo apt-get install librxtx-java and that you have a oracle sun java install. OpenJDK had some issues with the application on my PC, but maybe that’s just me.

I also had issues with librxtx not being found by my java installation. I had to link the librxtx libraries into my version of java.

/usr/lib/jvm/java-8-oracle/jre/lib/ext$ sudo ln -s /usr/share/java/RXTXcomm.jar

/usr/lib/jvm/java-8-oracle/jre/lib/ext$ sudo ln -s /usr/lib/jni/

Note the java directory of my jre. Make sure it is in your jre,

Remember to change the call sign before doing anything else. People get very excited, in a bad way, when NOCALL is attempting to connect to their station.

FLDigi is required as virtual TNC, and I’m lead to believe it is an excellent piece of software. apt-get install fldigi sorts this out.

I can’t go any further with either Winlink or PSKMail at the moment as my laptop was stolen on Friday (how baffles me, a story for another time) and the patch cable from my server to the HF set is too long and experiences problems with the Vox triggering from the noise it picks up.

I have my sights on an HF set for mobile operation, so perhaps we’ll get the mobile sorted as well sometime soon.

Oh, just for fun I had AndPSKMail (also available from the PSKMail web site) installed on my tabled (the one stolen along with my laptop) and had the server installed on the laptop. Using just the speakers and mics on the two devices they were happy to talk PSK250R.

Sigh, that is the 3rd laptop stolen… 2 cars stolen, 5 breakins in the cars.

Thats it for now.

Winlink sysop software installation – RMS Trimode and Relay

Next up in my Winlink exploration is to get the sysop software running under linux.

I downloaded the latest and greatest, RMS Trimode Full, unzipped and tried to install with, wine setup.exe. The first thing it tried to do was install .NET 4.0. Rather than let it screw up my carefully installed Wine configuration I opted to use winetricks again.

$ ./winetricks dotnet40

Success! .NET 4.0 installed without issues (excepting the usual warnings about .NET 4.0 not fully working yet – pffft)

RMS Trimode

$ wine RMS\ Link\ Test.exe

So far so good, although, this is what was working in my chooked install previously.

I have no idea what to do with RMS Trimode, however, it installs and runs beautifully.

RMS Relay

$ unzip ../
Archive:  ../
inflating: RMS Relay Setup.msi

$ msiexec -i RMS\ Relay\ Setup.msi

That’s the easy part 🙂

$ wine RMS\ Relay.exe

But alas, I am not a sysop so I cannot go any further. However, this installation seems the most complete, and stable. I suspect if I get my HF station up and running with sysop credentials access it should work without any issues.

Dotnet and wine weirdness

It turns out I might’ve gone the long and hard route to install .NET. Since upgrading to wine 1.6 and using the latest winetricks

$ wget
$ chmod +x winetricks

and using a clean WINEARCH=win32 prefix the install went a lot smoother.


$ export WINEARCH=win32

$ ./winetricks dotnet35sp1

initiates the install for .NET 2.0, 2.0sp2, 3.0 and 3.5sp1.

Unfortunately I have to go to this trouble as .NET 3.5 is a requirement for the installation of RMS Trimode and possibly Relay which is the sysop software for Winlink 2000 RMS servers. As I want to set up my station as an RMS mail relay this is very important. I want to evaluate the need and effective coverage of such a station with Winmor in South-Africa before even considering the huge expense of a Pactor 1-4 capable modem.

Having completed the above install of .NET I could install and run RMS Express without any trouble.

$ msiexec -i RMS\ Express\ Setup.msi

$ wine RMS\ Express.exe

Done and dusted. Now to get Trimode and Relay to work.

Winlink (WL2K) operation under linux

Here comes the sticky bit. I don’t have windows installed on any of my machines, except in virtual encironments and as a rule I don’t boot it up if I can do the task in linux. Unfortunately, Winlink programs were coded for Windows only.

Wine seems the obvious answer, but unfortunately, the programs require .NET and probably a number of other Microsoft applications to work. After about 16 hours I finally managed to get it going. Here’s what I did. Much of the problems I faced were probably of my own making, so if you find a shorter easier method, by all means, please let me know and I’ll post a follow up with your contribution.

Wine .NET install for RMS Express and Paclink

My home PC runs Ubuntu 12.04 LTS 64 bit, laptop 13.10 64 bit and I also have an old server running my linux containers on 12.04 LTS 32 bit. Yes, containers with Centos, a couple of Ubuntus, Busybox and Gentoo all coexist in perfect harmony on an old AMD Athlon XP 2200+ with 512 MB RAM. It’s hostname is affectionately set to playground as I use it to test various configurations, scenarios and applications. As everything runs in containers they are created and destroyed as necessary without any changes ever being made to the host OS and as such it has now run for 160 days and counting without a reboot. It would’ve been longer but I had to move it to a better location. I digress, as you can see I like my little server quite a bit. My bigger and better systems just don’t have the same appeal.

To get RMS Express and Paclink to work the following steps were taken. The list below is a bit messy as I copied and pasted directly from my notes, and they weren’t really meant to be published.

You’ll notice I have a heading whenever I copied my .wine directory from one machine to the other to carry on with the installation.

Ubuntu 13.10 64 bit

Without .NET 1.1 the applications do not run at all and complain .NET 2.0 is required. However, that alone is not enough. It seems at the very least .NET 1.1, 2.0, 3.0 and 3.5 are required. In addition it looks like various VB calls are made so I ended up installing all C and VB dlls winetricks would allow me to. They’re probably not all necessary.

paulg@Media:~$ WINEARCH=win32
paulg@Media:~$ winetricks dotnet11

My home PC / Server is called Media, because its my media server… I could’ve been more imaginative I know, but it’s at least descriptive. It’s also my packet BBS, plex server, virtual server and plain old desktop.

ubuntu 12.04 32 bit

I could not for the life of me get .NET 2.0 to install on any 64 bit OS. It would just fail every time even with WINEARCH=win32 specified. Eventually out of desperation I decided to try on playgrouds 32 bit install inside a container spun up for this purpose.

ubuntu@ubuntu_test:~$ winetricks dotnet 20

I also installed the items below. I’m not sure what is and is not required, I just worked through the list and installed everything that looked like it might be related.

  • dotnet 40
  • vb6run
  • vb5run
  • vb4run
  • vcrun6sp6
  • vb2run
  • vb3run
  • vb4run
  • vb5run
  • vb6run
  • vcrun2010
  • msxml3
  • msxml4
  • msxml6

Up to this point I got RMS Link test.exe working which was very exciting to say the least. The rest followed.

  • msscript
  • vcrun2008
  • vcrun2005
  • vcrun2003
  • vjrun20

Back to Ubuntu 13.10 64bit
RMS Express would still fail without any useful messages and I decided to try more .NET versions. So far 1.1, 2.0 and 4.0 were installed. I saw on Windows 3.0 and 3.5 was also installed so 3.5 was my next challenge. It would not install on the 32 bit machine so back to 64 bit.

$ winetricks dotnet35

At some point the wine installation just hung. No CPU usage and no prompts. I had to kill setup.exe) as it got stuck for some reason. What winetricks did install was .NET 2.0 SP1, .NET 3.0 finished, and 3.5 failed.

RMS Express opens, sends mail and generates noises. Looks good so far!
Paclink opens, but cannot bind to ports.

Note – looks like it binds fine if run as root.
Note2 – Paclink binds fine to not priviledged ports, i.e. 8025 and 8110.

It looks like both packages install and run fine. TNC Winmor audio sounds distorted / static.

I’m updating to a beta version of wine (apparently 1.4.1 has a problem with sound):
Add PPA ppa:ubuntu-wine/ppa to the ubuntu repository

# apt-get update

# apt-get install wine1.6

It’s beautiful! Sound appears perfect, however, I have not yet got the HF sorted to test.


I believe the most important parts are the .NET installs. That is where the tricky bits come in. Dotnet20 does not want to install on my 64 bit Ubuntu 13.10 (or home PC with 12.04) but can install on 32 bit (I know, WINEARCH=win32 – doesn’t work)

Then once all the above works, update wine to 1.6 which solves audio issues.

Next up
Try to get RMS Trimode and other Sysop SW to work.They install but do not run yet. I haven’t really had a chance to experiment yet.


A side note, if you want to install any of the applications, the install file is easily installed with msiexec.

ubuntu@ubuntu_test:~$ msiexec RMS\ Express\ Setup.msi

Winlink 2000 (WL2K) operation

The way I understand it is that there are a number of CMS, or Common Message Servers. These servers receive and relay mail. All of them are apparently able to relay mail to the respective recipients.

End users are able to connect to RMS gateways that relay messages to CMSs and so link the Winlink network to the internet. Very cool stuff.

Accessing your messages via radio or telnet

In order to access the Winlink network via radio (Winmor or Pactor) or the Internet (Telnet) two excellent programs were made available. RMS Express (now the preferred application) and Paclink. Both have their advantages.

RMS Express has a nice gui allowing the user to enter his, call sign and location amongst the most important, and can spin up a software modem (TNC) for Winmor operation or link up to a packet modem on a COM port.

It looks like your typical friendly mail client and allows easy mail composition and sending and receiving of messages.

Above you can see a message I sent to myself earlier.

Paclink is more of a gateway to the Winlink network. It too accepts the above information but does not have a built in mail client. Rather it opens up POP3 and SMTP ports so the user can link up any mail client such as Outlook express and Thunderbird.

Paclink is very simple to set up. Configure an access password, ports, callsign and grid square and it’s ready to talk to your mail client.

In both cases a Sound card TNC can be started for Winmor operation or the software configured to communicate via your trusty TNC, usually Pactor.

ZS6IO callsign Winmor – It’s actually kind of pretty, the sound.

Winlink 2000 (WL2K)

I’ve been looking for ways to revive an old hobby of mine, ham radio. I struggled to find reason (for myself) to stay involved especially with the not so recent decline in packet radio and active hams in our area.

As I have no interest in rag chewing or using antiquated CW I couldn’t come up with something useful to do or contribute. So I started up my old packet station and set up a BPQ32 BBS. As it turns out there is tremendous interest. I’m linked to Amsterdam, the UK and  BBS about 60 km from my home and regularly forward messages. My one VHF packet subscriber checks in once a day.

This was loads of fun to set up and I learnt a lot. But, the greater community pointed me to something even more special, Winlink. I quote from their web site:

Winlink 2000 (WL2K) is a worldwide system of volunteer sysops, radio stations and network assets supporting e-mail by radio, with non-commercial links to internet e-mail.

I followed a course presented by them and quickly had my client up and running. This resulted in my an email address, zs6io at being registered for me. Btw, ZS6IO is my ham call. I can also be reached at ZS6IO@ZS6IO.PTA.GAU.ZAF.AF (packet radio only obviously).

What the system offers is a message relay via HF, VHF and also the internet via Telnet if it is available. It relays to the internet, so if you’re a sailor at sea or in need of emergency communication this is a very effective means of reaching out.

Winlink supports a number of digital modes, including Pactor 1 – 4 (my word, Pactor modems are frighteningly expensive – $ 1000 region), HF and VHF packet and also a new mode called Winmor. Winmor is my obvious choice as it is free and operates as a software modem on a generic PC sound card. Apparently it is similar to Pactor 2 in terms of performance.

More on the apps later.