Table of Contents
XRouter (XrPi, XrLin, XrWin) Downloads
This page is a “work in progress”. The plan is to put more stuff on here, but the wiki only accepts files up to 2 megabytes. The very latest files can always be obtained from the XRouter group files area at:
https://groups.io/g/xrouter/files
These are the XRouter executables, as of 9th November 2025.
If you already have a working XRouter system, simply replace the old executable with the new one as follows:
- Download the variant that suits your OS (see below).
- Unzip the archive to extract the executable file.
- Rename the executable to “xrlin”, “xrpi” or “xrwin” as appropriate.
- Backup or rename your existing executable, just in case.
- Copy or move the new executable into your working XRouter directory.
- For Linux, remember to use “chmod -x {progname}” to allow it to run.
- Run with “./xrpi” or “sudo ./xrpi” as appropriate.
The “static” variants are standalone programs with no dependencies, so they should run on any Linux OS version. The non-static versions require a suitable version of GLIBC, which change with every OS. XRouter variants for older OS versions will generally run on later OS versions, but not necessarily the other way around. For example, the “stretch” variant will run on Bullseye, but the Bullseye version won't run on Stretch.
If you don't have an existing XRouter setup, you will need a full release package. This is too big for the wiki, so you will need to download the “support files” and executable separately.
(more on this to follow….)
Executables for 32-bit Raspberry Pi and Other ARM devices:
The wiki doesn't allow uploads greater than 2Mb, so the executables are zipped…
Executables for 64-bit Raspberry Pi and Other ARM devices:
Executables for X86 Linux:
Executables for X86-64 Linux:
v504n for Linux Mint 21 (Vanessa)
v504n for any flavour of Linux
The “vanessa” version should work on most recent flavours of Linux, especially if they are Debian or Ubuntu-based.
The “static” version is completely self-contained, with no dependencies, hence it SHOULD work on any flavour of linux. The downside of this version is that you MUST specify a Domain Name Server in XROUTER.CFG (e.g. DNS=8.8.8.8). This is because statically-linked programs are not able to use the Linux resolver.
Executables for MS Windows:
These are 32-bit, but work OK on 64-bit Windows
This one requires WINPCAP or NPCAP if you want to directly access the Ethernet via XRouter's IP stack:
This one doesn't require PCAP, but doesn't allow direct access to Ethernet:
XRouter Changelog
Summary of Recent Changes
=========================
Version 504k (19th Oct 2025)
============
Fixed: Bug introduced in v504j which caused segfault when unicasting
an "internal" nodecall via INP3.
Fixed: Bug introduced in v504j which caused blank Admin page on HTTP
interface.
Change: When loading the XRNODES recovery file, the saved MAXHOPS value
for a ROUTE now overrides the PORT maxhops ONLY if the route is
locked.
Added: AX25v2.2 TEST functionality.
************************************************************************
Version 504l (26th Nov 2025)
============
Fixed: PING now returns "No Route" instead or "No socket layer" if
an ethernet port was available but no suitable route had been
defined in IPROUTE.SYS.
Fixed: Restored the ability to specify COM in the Windows version as
either "COM=5" or "COM=COM5". This was broken in March 2020,
since when only the second form had been accepted.
Fixed: Suppressed the "Use cap-net_raw" msg on Windows.
Fixed: The Windows version can now use ALT-X to exit, as per the Linux
versions, instead of CTRL-C.
Change: CHANNELS.DAT now uses plain text instead of binary format,
allowing it to be used by 16, 32 and 64-bit versions without
risk of corruption.
Change: Prevented reception of outgoing frames looped back from
EXTERNAL ethernet drivers. These were not causing any problem,
other than cluttering up the packet trace display.
Added: Automatic default route, if no routes specified in IPROUTE.SYS.
The policy of giving sysops the freedom to configure things how
they wanted has caused far too much work for me, having to try
and diagnose their configuration mistakes by telepathy. The
automatic route can of course be overridden by a manual entry.
Added: AXTEST command, which sends an AX25v2.2 TEST frame.
Added: Lots more packet reporting stuff.
Added: Protection against unspecified ETHADDR in EXTERNAL interface,
in Windows version.
************************************************************************
Version 504m (29th Oct 2025)
============
Fixed: In some situations, the timestamp associated with a CHAT
channel could be wrong.
Added: ARP and IP header tracing for Packet Network Monitoring Project.
************************************************************************
Version 504n (9th Nov 2025)
============
Fixed: Potential memory leak upon graceful close of TCP stream on the
host TCP/IP stack.
Fixed: When node-hopping via the HTTP interface, the user callsign
was being replaced by the nodecall.
Fixed: Bug in FRMR tracing that could, in very rare instances, cause
a segfault.
Change: Trace for CREQ and CREQX now report "myCct" instead of "cct".
It is the same number, but this change clarifies its purpose.
Added: L2 trace reports can now be read via the MQTT broker, using
the topic xrouter/L2Trace/{nodecall}/{portnum}.
Added: If the mailbox is in "full BBS" mode, it is now connectable
via NetRomX service 3 (BBS). Service 2 (PMS) access the mailbox
in "PMS" mode, i.e. private messages only. If the mailbox is
NOT in "full BBS" mode, service 3 is not available.
Change: Added "serial" to "L2Trace" reports, so that the chronological
sequence of reports can be preserved even if the transport or
server processing changes the sequence.
Change: Other minor tweaks to packet tracing.
************************************************************************
Version 504o (12th Nov 2025)
============
Fixed: Connecting to a DEDHOST application causes segfault on 64-bit
version.
************************************************************************
