EchoLink Proxy

Home
Take a Tour
Download
Validation
Interfaces
Support and FAQs
Help Files
Call CQ!
News and Tips
Vanity Node Numbers
Conference Servers
Routers and Firewalls
Current Logins
Link Status

[Background] [Installation] [FAQs] [Status Pages]

Background

EchoLink is a peer-to-peer system, by design.  This means that when your node is connected to another node over the Internet, the voice and text signals are sent directly from one node to the other, rather than going through some central server.  This helps ensure that the system is scalable and reliable.

Unfortunately, there are certain situations in which peer-to-peer connections such as these are difficult to establish.  A growing number of Internet providers are offering "one-way" access to the Internet — allowing your computer to initiate a connection, but not to accept one.  These include wireless community networks, or hotspots.  An example is the wireless Internet service now being provided by many hotels to their guests.  Guests with wireless-enabled laptop computers can check their e-mail and surf the Web from their rooms.  The hotel uses a router with a fast Internet connection and a single public address (or a small pool of addresses) shared amongst all guests.  This arrangement does not work with EchoLink, because the guests' computers are not reachable from the Internet.

A Solution

A solution to this problem is to split the EchoLink software into two pieces one that runs on your laptop, and the other that runs on a PC in some other location with good Internet access.  With this arrangement, the laptop need only establish a single, outbound Internet connection to the PC.  Then, the EchoLink software on the laptop "tunnels" all traffic through this connection to the remote PC, and the PC in turn establishes all of the necessary peer-to-peer connections to other EchoLink nodes.  In this scenario, the PC is acting as a proxy on behalf of the laptop.

EchoLink now offers special software to make this possible.  The proxy software, which is designed specifically for use with EchoLink, is called EchoLink Proxy.  The diagram below illustrates how EchoLink Proxy can be used.

Is EchoLink Proxy For You?

Consider setting up EchoLink Proxy only if both of the following are true:

  1. You have a fast, true, dedicated Internet connection at your home or office, or at some other place to which you have access to a PC, and
  2. You have "one-way" Internet service at some other location, or you often travel to such a place, such as an airport lounge, coffee shop, or hotel room.

Note that EchoLink Proxy will not help if you are simply having trouble connecting to other stations from your home PC.  In fact, you must first ensure that EchoLink works correctly on the machine on which the proxy will be installed.

Also, note that a given EchoLink Proxy can be used by only one EchoLink client machine at a time, since each logged-in EchoLink node (or its proxy) must still have a unique public IP address.  You can run more than one instance of EchoLink Proxy on a PC only if the PC has multiple public Internet addresses, which is uncommon.

Finally, the proxy PC must be reachable through a static public Internet address, or a dynamic public address that can easily be determined remotely.

Disadvantages

There are two key disadvantages to using EchoLink Proxy versus the regular EchoLink software:

  1. Voice messages are being transferred between the client and proxy over TCP, rather than UDP.  TCP is not designed to handle this type of data, and tends to magnify any problems with congestion along the path.
  2. Two computers (and Internet connections) are required, rather than just one.  It is necessary to run the Proxy software continuously on some remote server.

Installation Overview

Here are the overall steps for installing and using the EchoLink Proxy.  For detailed information, see the section that follows.

  1. If the proxy PC runs Windows, verify that the ordinary EchoLink software works correctly on it, and can connect to other stations.  Resolve any firewall issues.
  2. Be sure the PC has the Java Runtime Environment 1.4 (or above) installed.
  3. Download and install the Proxy software on that PC.
  4. Choose a port and password for the proxy, and edit the proxy configuration file.
  5. Start up the proxy software.
  6. If necessary, configure the router and/or firewall to allow the PC to accept inbound TCP connections on the proxy port (e.g. 8100).
  7. On the client computer (e.g. the laptop), download and install Version 1.9 of the EchoLink software.  This version of the software has a Proxy option.
  8. Configure the EchoLink software to connect to the new Proxy server.  You must enter the hostname or address of the proxy PC, the port number (e.g. 8100), and the chosen password.
  9. When the EchoLink software starts, it will try to connect to the Proxy PC.  If successful, the program will look and act exactly as it normally does.  When you exit EchoLink, it automatically disconnects from the Proxy server.

Installation Details

The EchoLink Proxy software can run on any OS that supports Java, such as Windows, MacOS, Linux, Solaris, or FreeBSD. 

To verify whether the Java Runtime Environment is installed, and what version it is, type this command at a command prompt:

java -version

If the command fails, or returns a version lower than 1.4, you will need to download and install the latest Java Runtime Environment (JRE).  Follow the instructions at:

www.java.com

Download the EchoLink Proxy software.  The download is a ZIP archive that contains two files.  The software is in a file called EchoLinkProxy.jar, and the sample configuration file is EchoLinkProxy.conf.  Copy both of these files to some convenient directory or folder on the PC.

Choose a password and a port number for the EchoLink Proxy.  The default port number is 8100.  The port number you choose must be a TCP port that your home ISP allows for incoming connections, and that the remote ISP allows for outgoing connections.  If you are using security software on your home PC, you might need to configure it to allow java.exe to accept connections on this port.  Also, if you have a home-networking router, you will need to configure it to "forward" incoming connections on this TCP port to the PC on which EchoLink Proxy will be running.

Using a text editor such as Windows Notepad, edit EchoLinkProxy.conf to reflect your choices.

You must also ensure that the proxy PC can accept UDP ports 5198 and 5199, and outbound TCP port 5200.  See Firewall Solutions for details.

To start the EchoLink Proxy software, open a command prompt, change to the directory or folder that contains EchoLinkProxy.jar, and type this command:

java -jar EchoLinkProxy.jar

When the program starts, it will display the message "Ready for new client connection."  Leave the command-prompt window open to allow the program to keep running.

On the remote PC (e.g., the laptop), download and install version 1.9 (or above) of the EchoLink software.  Start up EchoLink as usual, but go to Tools-->Setup, and click the Servers tab.  Check the box marked "Use proxy", and enter the hostname (or IP address) of the proxy PC, along with the chosen password and port number.  Note that the hostname (or IP address) must be the external address of the proxy PC, not the internal address.  Click OK and then re-start EchoLink for the changes to take effect.

After re-starting EchoLink, if it displays a message about problems connecting to the proxy, verify that the host name is correct and that no firewall or router issues are interfering with the TCP connection between EchoLink and the proxy.  (This connection uses only the single TCP port you selected.)

If the list of stations appears as usual, but you are unable to connect to other stations, check the firewall/router setup on the proxy PC.  In effect, the proxy PC is the PC from which EchoLink connections are established, so all of the information on the Firewall Solutions page applies to the proxy PC.

To shut down the proxy, switch to its window and hit Ctrl+C.

Frequently Asked Questions

Q: What version of the EchoLink software will work with EchoLink Proxy?

A: Version 1.9 or above.  The new proxy settings appear on the Servers tab under Tools-->Setup.

Q: I have a home network with a PC and a laptop, and I've been having trouble getting EchoLink to work on the laptop.  Will this Proxy thing help?

A: It might, but you are probably better off troubleshooting the laptop problem, since the proxy has certain disadvantages compared to a direct EchoLink connection.

Q: I have broadband Internet access, but my computer's public IP address changes from time to time.  How will I know what its address is when I am 1,000 miles away?

A: There are two solutions (choose one or the other):

  1. Subscribe to a "dynamic DNS" service such as DNS2Go.  With the help of special software installed on the PC, your PC will be assigned a fixed hostname, even though its IP address may change from time to time.
  2. Enable the RegistrationName feature in the proxy configuration file.  This will cause the proxy to periodically post a message to the EchoLink server advising it of your current IP address.  You can then find out the IP address from a special web page, which you can bring up each time you need to connect to the proxy.

Q: I run a full-time EchoLink Sysop node at home, on my broadband Internet connection.  Can I also run the EchoLink Proxy software at home, either on the same computer, or on a different one?

A: Probably not.  The reason is that each EchoLink node (including the proxy) must have a different public IP address; on most home networks, a single public Internet address is shared by all computers on the network.  You can do this only if you have made special arrangements with your ISP to have multiple public Internet addresses.

Q: If I use EchoLink (via the proxy) from a public "hotspot", such as an airport lounge, is there a security risk since others might "sniff" the information going to and from my laptop?

A: This is an important issue that is often overlooked by users of wireless networks.  EchoLink (version 1.8 and above) uses public-key cryptography to encrypt your login information, and EchoLink Proxy uses a challenge-response digest-based authentication mechanism.  Passwords are never sent "in the clear".  These features help ensure security over a shared public network.

Q: I've tried using the Proxy and it seems to work, except that I can't connect to any other stations.  What is the problem?

A: Most likely, it's a firewall or router problem at the proxy PC (not the EchoLink PC).  See Firewall Solutions for assistance.

Q: If my Internet connection is dropped while I'm using the proxy, can I re-connect?

A: In most cases, EchoLink Proxy will detect the dropped connection and re-set itself right away.  In other cases, it may take up to 10 minutes for the proxy to re-set itself and prepare for a new connection.

Q: Can more than one EchoLink user work through my proxy at the same time?

A: No; each instance of the proxy supports only one client at a time.  This is because each logged-on EchoLink user must have a different public IP address.  However, two (or more) users can take turns using your proxy at different times.

Q: When connected through the proxy, will EchoLink support conferencing?

A: Yes, but it is less efficient, since the EchoLink client is hosting the conference, not the proxy.  When calculating the maximum number of connections you can support,  you must consider both the proxy's upstream Internet connection and the EchoLink client's upstream Internet connection, and use the lesser of the two; divide the result (in kbps) by 18.  Also, keep in mind that the proxy uses equal amounts of upstream and downstream bandwidth.

Q: Can I set up an EchoLink Proxy for others to use, besides myself?

A: Yes, but you must agree not to charge a fee for access to it.  Note that the Proxy configuration file allows you to set an accept/deny list of callsigns if you want to restrict access to a specific group of users.

In fact, there is an option in the Proxy configuration file that allows you to "advertise" the server as a "public" proxy, and have it automatically be listed on a special page on the EchoLink Web site.

Q: Instead of setting up and running my own EchoLink Proxy, can I simply connect to someone else's?

A: Yes, but you would need to know the address and password of the proxy, and you would need the owner's permission to use it; or, use a "public" proxy (see list).  If you decide to use a public proxy, please be considerate; it is a shared resource, and should be used only for brief time periods.  If you have a need for long-term access to a proxy, please make arrangements to set up a private proxy for yourself.

Q: I have a home network with two computers that share a DSL connection to the Internet.  I run a full-time EchoLink Sysop node on one of them.  Can I run another copy of EchoLink on the second computer by pointing it to a proxy at some other location?

A: Yes; this will work, because your Sysop node and the distant proxy server would have two different IP addresses.  However, please be considerate about the use of "public" proxies; use them only for short periods.  If you require long-term access to a proxy, please make arrangements to use a private proxy, or set one up yourself at some other site that has Internet access.

Q: With EchoLink Proxy, will I be able to run EchoLink on a computer on a private network that has no gateway to the Internet at all?

A: The proxy arrangement still requires that the EchoLink client software perform DNS lookups for certain Internet hosts (namely, the addressing servers).  If you run the EchoLink client software on a private network and connect through a proxy as the gateway, you would also need a caching DNS resolver accessible from the EchoLink client.

Q: Is there any way to use EchoLink Proxy with an EchoLink client that is behind an HTTP proxy?

A: Yes, as long as the HTTP proxy supports "tunneling" via the CONNECT command, and the EchoLink Proxy is running on a port to which the HTTP proxy allows tunneled connections, such as 443.  It also requires that the HTTP proxy's inactivity timer be no shorter than 6 minutes, or that the EchoLink client remain connected to another station at all times.  To use this feature, put a slash after the EchoLink Proxy hostname, and then the IP address and port number of the HTTP proxy, separated by a colon.

Q: On a Windows computer, how can I set up the proxy so that it starts automatically each time Windows is re-started?

A: On Windows NT/2000 or above, you can set up the proxy to run as a Windows Service, using a freeware utility called JavaService (http://forge.objectweb.org/projects/javaservice/).  Assuming you have put EchoLinkProxy in C:\EchoLinkProxy, and you are running the Sun 1.4.2 JRE, a typical command to install the service might be (all on one line):

javaservice
    -install "EchoLinkProxy"
    "C:\Program Files\Java\j2re1.4.2\bin\client\jvm.dll"
    -Djava.class.path=C:\EchoLinkProxy\EchoLinkProxy.jar
    -start org.echolink.proxy.ELProxy
    -out C:\EchoLinkProxy\stdout.txt
    -current c:\EchoLinkProxy

Status Pages

List of Public EchoLink Proxies

This page displays the address and current status of each EchoLink Proxy Server that welcomes access from any EchoLink user.

EchoLink Proxy Lookup

Looks up the current Internet address of any proxy server (public or private) that has registered itself using the RegistrationName option.  See the comments in the EchoLink Proxy configuration file for details.

 

Copyright © 2002- EchoLink.org — EchoLink is registered trademark of Synergenics, LLC