Hi Toussaint,
I will explain things here on the list as there may be other people wondering about
this...
The package you can download at
https://pe1chl.nl/Softw/elproxy.tar.gz includes a README
file
and a configuration example. You can also look on the original
Echolink.org site for the
Java
proxy and its documentation, this proxy has nearly the same configuration and of course
the same usage scenario. See
https://secure.echolink.org/proxy.htm
An echolink proxy server is a connection between a TCP session at the user side and a
pair
of UDP ports at the proxy. This has been invented because Echolink requires 2 UDP ports
to be open to the public (5198 and 5199) to be able to receive incoming connections from
other users. As users often are behind firewalls or NAT that they do not manage, the
proxy
server is used to move the UDP ports outside the own network and use only a single
outgoing
TCP connection which normally passes through NAT and firewalls without issue.
Each proxy server can be used only by a single user at a time, and it requires its own
static
IP address on the internet, without NAT. So you can usually cut some space out of a
44.190
allocation (or just any allocation) and run several proxy servers. We run 230 proxy
servers
on 44.137.75.x, and several other networks already offer proxy servers in the 44.190
space.
See
http://echolink.org/proxylist.jsp for a list of currently active proxies and their
busy status.
A proxy server, when configured and running, automatically registers itself in that list.
A relay server is a kind of "proxy server light" that was invented for use by
the echolink app
on mobile devices. It has some restrictions:
- users of a relay can only make outbound connections, you cannot connect someone behind a
relay
- only one of all users of the same relay can connect to the same destination
As a big benefit, a relay can have multiple users so a single relay, occupying a single
external
IP address, can serve many of those mobile users. We are running 10 relay server
instances
which typically have 40-50 users each. But they consume only 10 IP addresses instead of
500.
The echolink software detects conflicts when you want to connect someone who is already
connected by another user of the same relay, and hops over to another relay. That is the
reason it still is useful to run e.g. 10 relays on a single site, e.g. when several users
want to
connect to a popular repeater.
A relay server requires manual registration at Echolink. There is a geo-aware DNS
service
for the domain name
relay.echolink.org and it returns a number of IP adresses of
available
relay servers, depending on the approximate location from where the request was made.
(unless you use a VPN to the other side of the world or a DNS resolver somewhere else, of
course)
The mobile app picks a number of these addresses, sends a ping to each of them, and then
connects to the relay that responds the quickest.
Normally you would first gain some experience with proxy servers, maybe setup the
relays and use a trick to let
relay.echolink.org resolve to your own relay servers
locally
on your network, and when it all works and you still want to do this you can contact the
admin to suggest adding your relay servers to the pool.
(our 10 relays consume about 150GB/month of data traffic so make sure that is no problem)
For all of this, software released by Echolink already exists. But it is written in Java
and
each instance of the program can only serve 1 proxy. My software is different in that it
is
written in C and a single instance of the program can serve hundreds of proxies and many
relays, provided that the machine where it runs has many IP addresses on its network
device (I use a separate dummy0 interface where I add all the IP addresses in a startup
script). The total resource consumption (memory and CPU) of our 230proxy+10relay
service is much less than even a single instance of the Java software :-)
(about 3MB memory and 3-5% of a single core of a Xeon CPU E5-2667 v3 @ 3.20GHz)
I have been running these proxies for about 5 years and often the process has run for
well over a year. In the 1.2.4c version I have had some stability problems but it looks
like
they now are under control. I have not changed the software version number to track
each change, as originally all proxies had the version 1.2.3 (of the Java version) and I
changed that to 1.2.3c for my C version. Now there is version 1.2.4c but it would
actually
have been better to increment the version at each change. I did not do that because I
was unsure if there would been issues with that in the network (I know that there are
issues
when the version number of the clients is changed, because the server changes behavior
depending on client version number...). However, the Echolink admin has recently
confirmed
there is no such issue with the proxy/relay version, so I will likely just increment it
in
the future. The file date of the .c file is now Apr 6, 2021. When you have an older
version,
please re-download it.
I also have been trying to add it to the GIT repository recently discussed, but I have
encountered
difficulty when trying to synchronize the entire history instead of only the most recent
version.
(due to my lack of knowledge of GitLab)
I don't think there is a dedicated mailing list, I am in direct contact with the
Echolink
author/admin when I have questions. But to run relays that is not required, you can just
install the program, configure it, and provide the proxies which will automatically be
used.
Rob
On 4/15/21 3:31 PM, Toussaint OTTAVI via 44Net wrote:
Le 24/03/2021 à 09:15, Rob PE1CHL via 44Net a écrit :
I have released a new version 1.2.4c of my
Echolink proxy/relay software, which is now
available on my websitehttps://pe1chl.nl/ ashttps://pe1chl.nl/Softw/elproxy.tar.gz
Hi Rob,
I have quite no experience with Echolink. But as far as users seem to enjoy this mode,
I'd like to install a local relay and/or proxy on our 44.190 IP range. Do you have
some documentation about how to setup a relay / proxy ? Do I need both ? Can the same
software do both ? Do I need several instances of each ?
I know it may be a little bit off-topic here. Is there a dedicated mailing-list about
Echolink sysop / server administration ?
Thank you in advance.
73 de TK1BI
_________________________________________
44Net mailing list
44Net(a)mailman.ampr.org
https://mailman.ampr.org/mailman/listinfo/44net