Az XLX egy Multi Protocol Reflector. Támogatha többek közt a DMR, a C4FM, D-STAR rádiókat és *hidat képez közöttük, így egy ilyen reflectoron több rádiózási platform használója is egyszerre beszélgethet.

FIGYELEM – Mielőtt XLX-be vágsz, ezt nagyon jó, ha előre tudod
Az XLX telepítése első ránézésre tényleg barátságos. A rendszer szépen felmegy, a dashboard megjelenik, a modulok ott sorakoznak, és úgy tűnik, már csak egy karnyújtás, hogy a DMR, YSF és D-STAR felhasználók egy helyen beszélgessenek.
A kellemetlen igazság azonban az, hogy az XLX önmagában ettől még messze van.
Az XLX nem végez protokoll- vagy hangátalakítást.
Ő csak a forgalmat tereli egyik modulból a másikba.
A tényleges átjárót olyan külön programok végzik, mint:
- YSF2DMR
- DMR2YSF
- D-STAR transzkóder (AMBE hardverkulccsal)
Ha ezek nincsenek a helyükön és jól működő állapotban, akkor a cross-mode kommunikáció egyszerűen nem fog életre kelni.
És itt jön a feketeleves:
a hivatalos modulok, amelyek ezeket a feladatokat ellátják, évekkel ezelőtt megálltak a fejlődésben, és a mai Linux rendszereken sokszor már nem futnak stabilan — vagy egyáltalán nem is indulnak el.
A telepítésük és összehangolásuk sok esetben időtemető.
Nem órák kérdése, hanem napoké.
Akár úgy is, hogy közben mindent jól csinálsz.
Előfordulhat, hogy:
- lefordul, de már az indításnál összeomlik,
- elindul, de kapcsolódáskor szétválik,
- keepalive hibákat dob,
- „master is closing down”-ot ír,
- vagy egyáltalán nem kommunikál semmivel.
És ami a legfontosabb:
ahol ma a világban még működik a teljes értékű YSF ↔ DMR ↔ D-STAR crossmode XLX alatt, ott szinte biztos, hogy nem a hivatalos modulokat használják, hanem saját kézzel átírt, patchelt, „sufnituningos”, másoktól átvett, de nem publikált, vagy évekkel ezelőtt csendben módosított változatokat.
Ezeket sehol sem találod meg nyilvánosan.
Nem dokumentáltak, nem támogatottak, és nem adják ki őket.
Ezért tűnik úgy kívülről, hogy „van, ahol megy”.
Igen — megy.
Csak épp nem azzal, ami a GitHubon fent van.
D-STAR esetén a helyzet még szigorúbb:
az átjáróhoz kötelező a fizikai AMBE USB stick, VPS-en pedig ezt szinte lehetetlen használni.
Ezért a cross-mode D-STAR rendszerek jellemzően fizikai gépen vagy Raspberry Pi-n futnak.
Reálisan nézve:
nagyjából 80% az esélye annak, hogy egy frissen telepített XLX-ből nem fogsz tudni stabil átjárót építeni a hivatalosan elérhető modulokkal.
Nem azért, mert valamit rosszul csinálsz, hanem mert a szoftverek egyszerűen nincsenek már olyan állapotban, hogy ez mindenkinél működjön.
Az XLX ettől még kiváló rendszer.
Modulkezelésre, külön üzemmódok futtatására, dashboardra, központi csomópontként — remek.
Csak a cross-mode rész az, ami ma már rengeteg buktatót rejt, és sok helyen csak erősen módosított, nem nyilvános verziók tartják életben.
Aki mindezt tudva vág bele, az reálisan készül fel.
Aki pedig „csak gyorsan össze akar dobni egy teljes átjárót”, annak jobb előre szólni:
ez nem a plug-and-play kategória.
Ha te is szeretnél egy saját XLX reflectort, akkor a fentiek ismeretében vágj bele, az alábbi leírás alapján ami csak az alap telepítést mutatja be, a többi mazsolázás…
YSF DMR DSTAR C4FM többmódú reflektor üzemeltetése Ubuntu 22.04 vagy Debian 12 rendszeren XLX-szel
Néhány évvel ezelőtt csalódott voltam a YSF reflektor üzembe helyezésével kapcsolatos kutatásom során, ezért megírtam ezt az útmutatót arról, hogyan lehet egy YSF reflektort Debian 10-en futtatni. Most itt vagyunk, néhány évvel később, és ez gyakorlatilag elavult. Van egy új (valójában elég régi) gyerek a kínálatban, XLX néven. Az XLX egy többmódusú/többprotokollos átjáró reflektor amatőr rádió digitális üzemmódokhoz. Képes DMR, C4FM, Dstar átvitelre, és támogatja a különféle összekapcsolási protokolokat. De a hivatalos dokumentációjuk már 5 éves frissítések nélkül, amelyeket itt találsz , ha kíváncsi vagy. Az N5AMD készített egy hasznos telepítő szkriptet és néhány dokumentációt itt , de ez már több mint 1 éves (és Debian 9-re íródott) frissítések nélkül, és a PHP sebezhető verzióit telepíti.

Előfeltételek
- Ubuntu 22.04 szerver vagy Debian 12. Ehhez felhőszervernek a Linode-ot
ajánlom , mivel évek óta ezekkel futtatom a reflektoraimat havi 5 dollárért. Ha ezt a referral linket használod , 100 dolláros fiókjóváírást kapsz egy fizetési mód hozzáadása után. - Root felhasználóként bejelentkezve.
- Teljesen minősített domain név
- Válassz egy háromjegyű számot, ami még nincs felsorolva a https://xlx.n5amd.com/index.php?show=reflectors oldalon . A reflektor neve „XLX000” lesz, ahol a három 0 helyett a kiválasztott szám szerepel.
Új felhasználó létrehozása
Létrehozunk egy szuperfelhasználót, amelyet a kézikönyv további részében fogunk használni.
Ne felejts el root felhasználóként bejelentkezni ehhez a részhez.
Cseréld le a „kn4mkb” nevet a kívánt felhasználónévre alább:
apt update -y
apt-get install sudo
adduser kn4mkb
Az Enter billentyű megnyomásával kihagyhatja a feltett kérdéseket (a jelszó létrehozásán kívül), de a kérdésre válaszolva feltétlenül „y”-nal válaszoljon, ha a rendszer megkérdezi, hogy helyesek-e az információk.

Most hozzáadjuk ezt a felhasználót a „sudo” csoporthoz, hogy root parancsokat használhassunk.
Ne felejtsük el a „kn4mkb” helyére a fent létrehozott felhasználót írni.
usermod -aG sudo kn4mkb
Most átváltunk root felhasználóról az újonnan létrehozott felhasználóra. Ezt a felhasználót fogjuk használni a továbbiakban. Már nem root. (Cserélje ki a „kn4mkb”-t az új felhasználójára.)
su kn4mkb
cd ~

Szoftverkövetelmények (és tűzfal) telepítése
Itt fogunk gondoskodni azokról a függőségekről, amelyekre a reflektorunk működéséhez szükségünk lesz. Néhány php modulra lehet, hogy nincs szükség. De ez egy kis kísérlet a jövőbiztossá tételre / a váratlan problémák kezelésére.
sudo apt-get update -y
sudo apt-get upgrade -y
sudo apt install git git-core apache2 php libapache2-mod-php php-cli php-xml php-mbstring php-curl build-essential ufw -y
XLX letöltése és konfigurálása
Most letöltjük az XLX reflektor forráskódját a GitHubról, elvégezünk néhány módosítást, majd lefordítjuk.
git clone https://github.com/LX3JL/xlxd.git
cd xlxd/src/
nano main.h
Ez megnyit egy fájlt szerkesztésre.
Keresd meg a következő sort:
#define YSF_AUTOLINK_ENABLE 0
Változtasd meg a 0-t 1-re, hogy így nézzen ki:
#define YSF_AUTOLINK_ENABLE 1
A fájl mentéséhez nyomja meg a Ctrl + X billentyűkombinációt.
Fordítsd le az XLX Reflector forráskódját
Futtassa a következő parancsokat a forráskód lefordításához, a reflektor telepítéséhez és a bináris fájl futtathatóvá tételéhez.
make clean
make
sudo make install
sudo chmod +x /xlxd/xlxd
A szerver konfigurálása és az automatikus indítási szkript létrehozása
Másold az indítási sablont az /etc/init.d/xlxd fájlba, és szerkeszd a szkriptet.
sudo cp ~/xlxd/scripts/xlxd /etc/init.d/xlxd
sudo nano /etc/init.d/xlxd
Keresd meg a sort:
ARGUMENTS="XLX999 192.168.1.240 127.0.0.1"
Cserélje le a „999”-et a háromjegyű számra, amit az előfeltételek között talált.
Cserélje le a „192.168.1.240”-et a szerver NYILVÁNOS IP-CÍMÉVEL.
Cserélje le a 127.0.0.1-et a dedikált transzkódoló szerverére (ha van ilyen). Egyéb esetben hagyja 127.0.0.1-en.
A mentéshez nyomd meg a Ctrl+X billentyűkombinációt.
Töltse le a DMRID adatbázist
sudo wget -O /xlxd/dmrid.dat http://xlxapi.rlx.lu/api/exportdmr.php
Állítsa be a szolgáltatást automatikus indításra
sudo update-rc.d xlxd defaults
Másold a Dashboardot az apache webszerver könyvtárába
sudo cp -r ~/xlxd/dashboard /var/www/xlxd
A Reflektor irányítópult konfigurációjának szerkesztése
A műszerfal konfigurációjának szerkesztéséhez használja a következő parancsot:
sudo nano /var/www/xlxd/pgs/config.inc.php
Módosítsa a következő sorokat az oldal metaadataihoz, valamint egy jó kapcsolattartási e-mail cím megadásához.
$PageOptions['ContactEmail']
$PageOptions['MetaDescription']
$PageOptions['MetaAuthor']
Módosítsa a következő beállításokat az XLX Reflector jelentéskészítéshez:
$CallingHome[‘Active’] „true” értékre kell állítani ahhoz, hogy a reflektor megjelenjen a nyilvános listákon és a hosztfájlokban!
$CallingHome[‘MyDashBoardURL’] A szerverre mutató teljesen megadott domain névnek kell lennie.
Például: „xlx.yourwebsite.org”
$CallingHome[‘Country’] Az ország rövidítésének kell lennie, például: „USA”
$CallingHome[‘Comment’] Lehet egy rövid megjegyzés, amely megjelenik az XLX szerverlistákon
$CallingHome[‘HashFile’] A következőre kell módosítani: „/xlxd/callinghome.php”

Mentéshez nyomd meg a Ctrl+x billentyűkombinációt
Módosítsd a dashboard fájlunk jogosultságait, valamint a „callinghome.php” fájlt tartalmazó mappát. Ez a fájl a szolgáltatások újraindítása után hamarosan létrejön. Ez lesz az a fájl, amely ellenőrzi, hogy a reflektor a tiéd-e. Amit látok, gyakorlatilag nulla dokumentáció van arról, hogyan lehet ezt használni, ha ténylegesen szükséged van rá szerverek áthelyezéséhez.
sudo chown -R www-data:www-data /var/www/xlxd/
sudo chown -R www-data:www-data /xlxd/
Hozd létre a webkiszolgáló konfigurációs fájlját
Most létrehozzuk a webszerver konfigurációs fájlját. Kérjük, cserélje ki a „yourdhashdomain.com” részt a teljes domain nevére.
sudo nano /etc/apache2/sites-available/yourdhashdomain.com.conf
Írd be vagy másold ki + illeszd be a következőt az új fájlba ( ismét cseréld le a „yourdhashdomain.com” részt a teljes domain nevedre ):
<VirtuálisHoszt *:80>
Szervernév yourdhashdomain.com
DocumentRoot /var/www/xlxd
</VirtualHost>
Mentés: Ctrl+X
Nyisd meg a portokat
Ez megnyitja az összes szükséges portot az összes digitális módhoz, valamint a webszerverhez és az ssh-hoz . Ha telepítve vannak az ip-tables (néhány disztribúció tartalmazza), másold ki és illeszd be ezeket a parancsokat. Ha nem tudod, nem árt lefuttatnod őket.
sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 10001 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 10002 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 42000 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 30001 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 20001 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 30051 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 8880 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 62030 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 10100 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 10101 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 12345 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 12346 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 40000 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 21110 -j ACCEPT
Másolja és illessze be ezeket a telepített tűzfalunk portjainak megnyitásához.
sudo ufw allow 80
sudo ufw allow 8080
sudo ufw allow 10001
sudo ufw allow 10002
sudo ufw allow 42000
sudo ufw allow 30001
sudo ufw allow 20001
sudo ufw allow 30051
sudo ufw allow 8880
sudo ufw allow 62030
sudo ufw allow 10100
sudo ufw allow 12345
sudo ufw allow 12346
sudo ufw allow 40000
sudo ufw allow 21110
Indítsd el a szervert
Most végre elindíthatjuk a szervert, hogy lássuk munkánk gyümölcsét.
Ismét cseréljük le a yourdashdomain.com részt own-ra.
sudo a2ensite yourdhashdomain.com.conf
sudo systemctl reload apache2
sudo service xlxd start
sudo chown -R www-data:www-data /var/log/xlxd.xml
sudo systemctl restart apache2
Most már a http://yourdashdomain.com címre kell navigálnod, és meg kell jelenítened az új XLX irányítópultodat. Idővel a PI-star hosts fájlod fel fog tölteni az új reflektoroddal XLX000 néven, ahol a 000 a legelején kiválasztott három számjegy.
Ha elakadsz, kérdezz itt a fórumban!
Üdv: HA7LCA
*az itt olvasható anyag eredeti helye: https://themodernham.com/host-a-ysf-dmr-dstar-c4fm-multi-mode-reflector-on-ubuntu-22-04-or-debian-12-with-xlx/#comment-10641
Ha a leírásban lévő git clone https://github.com/LX3JL/xlxd.git link megszűnne, vagy nem töltődne le, akkor erről a linkről is leszedheted a csomagot: INNEN

