How to create an XLX/XRF D-Star Reflector

Work In Progress….

Since the dawn of D-Star, there have been a few reflectors and networks built to support its protocol. XLX/XRF is the newest edition of reflectors that allows you to spin up your very own D-Star reflector. Most all the reflectors like REF, already have servers in place that you can link to and utilize. XLX/XRF is a piece of software that runs on a linux server somewhere in the cloud that can be accessed from other D-Star repeaters and hotspots. The special thing about these reflectors too, they do not require registration on the D-Star trust system to use them. Simply link and start talking. This article will assume you have a decent level of knowledge in Linux.

Some features include:

  • Complete control over a d-star reflector.
  • Real Time dashboard showing last heard and current ongoing QSOs through the reflector.
  • Ability to link to other reflectors, with an agreement between reflector owners.
  • Cross digital modes using a hardware vocoder; D-Star can talk to DMR or D-Star to analog or Fusion, etc..
  • Support as many modules as you want A-Z.

Whats involved:

  • Finding an available XRF number that isn’t being used already.
  • Having a fresh and up to date install of Debian Linux accessible from the internet with a Static IP*
    • * A static IP address is required because IP lookups are done on DV host files, not DNS. (This is so xlxd will start faster.)
  • Downloading the XLX app from github
  • Creating an account and posting on the xrefl forum boards requesting activation of the reflector
  • Lots of linux changing config files and compiling software
  • Creating DNS records

Once you have a Debian 7 Linux server at the ready with a static IP address, head to As you scroll, there will be a list of pre-existing reflectors. You will notice there are gaps in the consecutive numbers. Find one that is not being used. When you have the server ready, and a reflector number in mind, you are ready to start…. (Also now would be a good time to create a DNS record for your XRF reflector board. For example

How to install XLX/XRF on Debian Linux (Install script coming soon….)

  1. As root, install the dependencies:
    1. apt-get install build-essential g++-4.7 git git-core apache2 php5
  2. Download and compile the XLX sources:
    1. cd ~/
    2. git clone
    3. cd xlxd/src/
    4. make clean
    5. make
    6. make install
  3. Copy startup scripts to /etc/init.d/:
    1. cp ~/xlxd/scripts/xlxd /etc/init.d/xlxd
  4. Edit the /etc/init.d/xlxd “ARGUMENTS” line:
    1. ARGUMENTS=”XLX### <Your.Static.IP.Address> <IP of transcoding server, if there isnt one>”
      1. For Example: ARGUMENTS=”XLX999″
  5. Download the dmrid.dat file from the XLXAPI server into your xlxd directory:
    1. wget -O /xlxd/dmrid.dat
  6. Ensure xlxd starts up on boot:
    1. update-rc.d xlxd defaults
  7. Copy the dashboard to apache’s root directory:
    1. cp -r ~/xlxd/dashboard /var/www/
  8. Use the following to control the xlxd service
    1. service xlxd start
    2. service xlxd stop
  9. Reboot the server to make sure the xlxd service starts up

Once your server is back up and xlxd is running and you can navigate to http://<IPorDNS.OF.YOUR.SERVER>, your xlx dashboard should load. If the dashboard loads, its time to register and request your reflector be added on Your dashboard MUST BE ACCESSIBLE and setup properly before they will accept and add your reflector.

Requesting your XRF be added to the core host file:

  1. Go to the last page of
  2. Make a post in the following format….
    1) Required: the URL to a working dashboard
    2) Required: the address to be added to the host file
    3) Required: the hosting or sponsoring station or organization
    4) Required: the country
    5) Optional: the organization website if it exists
    6) Optional: any title or other description for the reflector
    7) Optional: the city and/or region
  3. scroll through the posts on that thread, to get an example if you need to.
  4. It could take a few days for the admin to approve it if everything is correct. If something is off, they will let you know. Please have patience while awaiting for approval.
  5. In the mean time, follow the next section


Editing the main config file

The config file is important and is where you will make the majority of your personal changes for the reflector. The file is: /var/www/pgs/ Most of the options in the file are self explanatory and have comments explaining the fields. You will want to update this file before going live.

Once you are approved, the field you need to update is:

$CallingHome[‘Active’] = false; // xlx phone home, true or false

When this gets switched to ‘true’ your reflector will start to announce its live and show up on the reflector list.

**When this is flipped, a file called “callinghome.php” is created in /tmp. Make sure to copy this file or change its location in the config. This hash verifies the reflector is yours. Back it up!!**



Updated: 10-1-2018