EchoLink Proxy Guide

I have already talked about what EchoLink is in a previous post. In this post, I am more interested in covering all the steps required to stand up your own private proxy for accessing EchoLink while you are on the go. I’m going to do this by documenting the steps while I actually deploy my own proxy.

I’m using AWS’s LightSail to provision a very cheap Ubuntu 20.04 machine as my server. You can use any cloud provider (Azure, AWS, Oracle, DigitalOcean, etc…) or even something as simple as a raspberry pi at home with some port-forwarding on your router. I’m not going to show how to set that part up as there are so many places and ways to do so… Once you have your server ready and online please continue on.

First step… Update everything…

sudo apt update && sudo apt upgrade

Now let’s start installing the necessary package dependencies for EchoLink.

sudo apt install fail2ban openjdk-17-jre-headless screen unzip

Let us create a folder to download and install EchoLink into.

mkdir echolink
cd echolink
wget https://www.echolink.org/downloads/EchoLinkProxy_1_2_3.zip

Now we’ll unzip the EchoLink proxy software, then modify the permissions to run the file.

unzip EchoLinkProxy_1_2_3.zip
chmod 755 EchoLinkProxy.jar

Open a text editor and edit the “ELProxy.conf” file. You will need to update the “Password” value to a password of your choice.

Password=MyBlogIsAwesome

*If you want to make it into a public proxy, set the password to “PUBLIC” if you will be a publically accessible proxy.

NOTE: Make note of which port is set to be used in your config file… Is it port 5200 or port 8100?
You will need this value when you connect from the client on your computer or smartphone.

Let’s make the cron job that helps us restart the proxy anytime the system has been rebooted.
Replace <USER> with your username.

crontab -e

@reboot sleep 60 && /usr/bin/screen -S echolink -d -m /usr/bin/java -jar /home/<USER>/echolink/EchoLinkProxy.jar /home/<USER>/echolink/ELProxy.conf

Something worth noting is that the above cron task waits 60 seconds after rebooting before it initializes EchoLink. This allows the system to finish fully booting up and potentially avoids some weirdness. It’s really not a big deal… But it is worth knowing so that you don’t expect to be able to connect instantly after a reboot.

Time to create the firewall rules on the machine.

sudo ufw allow 5198:5199/udp
sudo ufw allow 5200/tcp
sudo ufw allow 8100/tcp

Now it’s time to set up Fail2Ban. Let us navigate to the folder below and create a file that we will edit in the next step.

cd /etc/fail2ban/filter.d/
touch echolink.conf

Open your editor of choice and paste this into the echolink.conf file

# fail2ban filter configuration for Echolink proxy
[Init]
maxlines = 2
[Definition]
failregex = ^.* Client connected: <HOST>\n.* Incorrect password challenge received
ignoreregex =

After we have the above-mentioned filter, we need to set up a “jail.” Let us navigate to the folder below and create a file that we will edit in the next step.

cd /etc/fail2ban/jail.d/
touch echolink.local

Open a text editor and copy the code below into it. Update “<USER>” to your username.
Note: Make sure that the port used here is the same as what is in your ELProxy.conf file.

[echolink]
enabled  = true
port     = 8100
filter   = echolink
logpath  = /home/<USER>/echolink/ELProxy.log
findtime = 14400
maxretry = 3
bantime  = 31536000
banaction = ufw

Now that we have everything set up… Reboot your machine. Then after waiting for it to come back up, try connecting to your Personal EchoLink Proxy from the client application on your computer or smartphone.

EchoLink

EchoLink is an awesome bit of software that allows you to do a form of Radio-Over-IP (RoIP). That means you’re talking to other stations over the internet, anywhere in the world. Whether from your laptop in a coffee shop, or from your smartphone as you drive during your commute, you can call CQ and make your QSLs across the world. One thing of note is that while it is available worldwide, it’s only open to the Amateur Radio community as it requires a valid call sign to create an account.

Currently, EchoLink is only available on Windows 7 and above (link). However, it is available on App Store for Apple devices and the Google Play store for Android devices.

My Ham Shack

My “ham shack” is not big at all. It’s literally more like me at my computer desk playing on a small radio. It’s not much, but hey, it’s mine! 😊

So what sort of hardware am I working with?

  • Elecraft KX2 transceiver
  • Baofeng UV-5R
  • Kenwood TH-F6
  • RTL-SDR
  • EchoLink (on PC and iOS)

At this time, I’m currently working with two handheld radios. My first radio was just a “cheapo” Baofeng. I know they aren’t considered great radios, but honestly, it’s the cheapest and thus the easiest way to start off in the hobby. It has no issues hitting the local repeaters and making contacts, especially when I pair it with a nicer antenna like the Signal Stick. This is the radio that I tend to take out with me when I’m mobile.

I inherited the Kenwood HT from my father after he became a Silent Key. The radio, while older, is still a great radio. While I still need to get a new tri-band antenna for this one, I really like the range of bands that this radio can utilize. And the step-up in quality compared to my Baofeng is also instantly noticeable. Being my nicer radio, this one tends to be used more at home. I had also inherited his RTL-SDR. I haven’t really gotten around to using it, it’s on my list of projects to do.

Having some amazing friends, one of them gave me their KX2 to use after I earned my Amateur Extra license. I truly can’t speak more highly of them. He basically earned top spot on my best friends list. I’ve been itching to get onto the HF bands and this baby will let me work everything from 10M to 80M. I’m humming with more happiness than a resonant frequency.

And the final thing in my shack is EchoLink. Think of it as voip-for-hams. It’s a great way to turn your computer or smartphone into your transceiver and connecting with other hams all over the world. I think it is a really neat digital means to get on the air. While analog radio is interesting, coming from an IT background I am really interested in learning more about these newer digital modes of radio.