Set Up EchoLink Proxy in Ubuntu 20.04

Running an Echolink proxy in Ubuntu 20.04 is relatively easy. This tutorial assumes that you’re planning on setting this up via the command line.

Prerequisites: A Java Runtime Environment (JRE). If you don’t have one installed already, you can do so using apt. Ubuntu does not ship with unzip by default so we’ll install that too.

$ sudo apt install openjdk-14-jre-headless unzip  

Get started:

First, find the latest EchoLink proxy software from here. At the time of this writing the version is 1.2.3.

I created a directory called echolink to contain the application and changed into the newly created echolink directory.

$ mkdir echolink
$ cd echolink

Download the latest EchoLink Proxy Software.

$ wget http://echolink.org/downloads/EchoLinkProxy_1_2_3.zip

Unzip the application.

$ unzip EchoLinkProxy_1_2_3.zip

Set permissions on the .jar file so you’ll be able to execute it.

$ chmod 755 EchoLinkProxy.jar

Now you’ll need to set a password for the proxy. Open the ELProxy.conf file in your favorite text editor and find the section that says:

You must change the password to something besides “notset”.

Password=notset

Obviously you’ll want to change “notset” to something else. If you would like for your proxy to be available for anyone to use and be listed on the EchoLink Proxy Server List then you will want to set the password to PUBLIC. Just to be clear, the line in your ELProxy.conf file should look like this:

Password=PUBLIC

If this proxy is just for your use, change the password to something you will remember.

If you want the proxy to be listed publicly, scroll down and edit the lines:

RegistrationName=
RegistrationComment=

These lines only matter if you are listing the proxy server publicly. If it’s going to be a private server, you can skip editing these lines.

Now save the configuration file.

We’re ready to run the server.

$ java -jar EchoLinkProxy.jar

With any luck your proxy should now be listening. You should see the following message displayed:

EchoLink Proxy version 1.2.3
Listening for connections on port 8100
Posting registration info to EchoLink Web site
Ready for new client connection.

Note: You will only see “Posting registration info to EchoLink Web site” if you set your server to be public using “Password=PUBLIC”. If you decided to make it public, you will see your server listed on the Echolink Proxy Server List within a couple of minutes.

Firewall:

If you’re running a firewall you will need to allow some ports. You will need to allow UDP 5198 and 5199. You will also need to allow TCP 5200 and 8100.

If you are running UFW, use the following commands:

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

If running iptables:

$ sudo iptables -A INPUT -p udp --match multiport --dports 5198:5199 -j ACCEPT
$ sudo iptables -A INPUT -p tcp --dport 5200 -j ACCEPT
$ sudo iptables -A INPUT -p tcp --dport 8100 -j ACCEPT

Keep it running:

If this is running on a server or other headless device, you’ll undoubtedly want to be able to disconnect from your terminal session without killing the proxy. There are many ways to do this but I prefer screen. If you don’t have it, you can install it via apt.

$ sudo apt install screen

Once it is installed, just type screen.

$ screen

You’ll be presented with a splash screen. Just press space to clear the splash page. Everything looks the same but be aware that you’re in a screen session. Start the server as you did before.

$ java -jar EchoLinkProxy.jar

Your server should be running inside the screen session now. To detach the screen session hold CTRL. While holding CTRL press a and release both keys. Now press d. This will detach you from the current screen session. The proxy will keep running within this screen session. If you would like to reattach to this session, type:

$ screen -rd

You should see your proxy server still alive and well inside of the screen session. You can detach again using CTRL a then d.

Screen is a powerful utility and there is a lot more it can do. You can learn more about it by consulting its man page.

Automatically restart after reboot.

One last item I neglected to include is the ability to have the proxy restart again on reboot. Thanks to VK4JE for the suggestion. There are several ways to accomplish this but we’ll stick with screen. Linux includes a task scheduler known as cron. We can use this to automatically launch the echolink proxy after a reboot.

Edit your crontab configuration.

$ crontab -e

After the last line, insert the following (editing paths as required). Note that it is necessary to provide the full path to EchoLinkProxy.jar as well as pass the full path to ELProxy.conf as an argument as below. I have noticed odd behavior when trying to start the proxy immediately after a reboot so I have a “sleep 60” in the command just to make sure it starts as expected every time.

@reboot sleep 60 && /usr/bin/screen -S echolink -d -m /usr/bin/java -jar /full/path/to/EchoLinkProxy.jar /full/path/to/ELProxy.conf 

Save and exit the text editor.