Inicio
Ser radioaficionado
Repetidores
Herramientas
Blog
El club
Contacto
Socios
FRDEITENES
HB9V · Radioaficionados del cantón de Vaud

Instalación de un reflector Yaesu System Fusion (YSF)

● 26 de octubre de 2025 · 9 min de lectura
Reflector YSF Yaesu System Fusion C4FM: guía de instalación en un VPS de Infomaniak

🛰️ Instalación completa de un reflector YSFReflector en un VPS de Infomaniak: esta guía le permitirá instalar y configurar su propio reflector System Fusion (C4FM) alojado en Suiza, con panel web, HTTPS y registro oficial en DVRef. Compatible con Debian 11/12 y Ubuntu 22.04/24.04.

📡 ¿Qué es un reflector YSF?

Un reflector YSF (Yaesu System Fusion) es un servidor que permite conectar a través de Internet varias estaciones de radioaficionado que utilizan el modo digital C4FM de Yaesu. Actúa como un punto de encuentro central donde todos los usuarios conectados pueden comunicarse entre sí, creando así «salas» de conversación mundiales.

🎯 Principio de funcionamiento: cuando un radioaficionado transmite con su equipo conectado al reflector, la señal se redistribuye al instante a todos los demás usuarios conectados, lo que permite QSO en grupo a escala mundial.

¿Por qué pYSFReflector?

Este tutorial utiliza pYSFReflector, desarrollado por IU5JAE. Es una versión moderna en Python que sustituye a la antigua versión en C++ de G4KLX.

🐍 Python moderno

Sin necesidad de compilar C++, instalación directa y sencilla

✅ Compatible

Funciona con Pi-Star, WPSD y todos los equipos YSF

🔄 Mantenido

Actualizaciones periódicas y corrección activa de errores

💪 Estable

Mejor gestión de las conexiones, menos bloqueos

🇨🇭 ¿Por qué Infomaniak?

Infomaniak es un proveedor de alojamiento suizo de referencia, especialmente adecuado para alojar un reflector de radioaficionado:

🇨🇭 Alojamiento en Suiza

Protección de datos óptima

🌱 100 % renovable

Centros de datos ecológicos certificados

⚡ Alto rendimiento

Infraestructura SSD NVMe

💰 Precio asequible

Desde 7 CHF/mes

📋 Requisitos previos

Configuración mínima del VPS

  • 1 vCPU
  • 1 GB de RAM
  • 10 GB de SSD
  • Sistema: Debian 12 o Ubuntu 24.04 LTS (recomendado)

Información que debe preparar

📝 Antes de empezar, tenga a mano:

  • Nombre del reflector: 16 caracteres como máximo (p. ej.: "HB9 SUISSE")
  • Descripción: 14 caracteres como máximo (p. ej.: "Reflecteur CH")
  • Su correo electrónico: para el registro en DVRef y en Let's Encrypt
  • Su indicativo: indicativo de radioaficionado válido
  • Nombre de dominio: opcional, pero recomendado para HTTPS

🚀 Instalación paso a paso

1. Preparación del servidor

Conéctese por SSH a su VPS de Infomaniak:

ssh utilisateur@votre-ip-vps

Actualice el sistema:

sudo apt update
sudo apt upgrade -y

Instale las herramientas básicas:

sudo apt install -y git curl wget nano ufw

Cree el directorio de trabajo:

cd ~
mkdir ysf-install
cd ysf-install

2. Instalación de Python y de las dependencias

Instale Python 3:

sudo apt install -y python3 python3-pip python3-venv

Compruebe la instalación:

python3 --version

💡 Versión esperada: Python 3.9 o superior (normalmente 3.11 en Debian 12 / Ubuntu 24.04)

Instalación de las bibliotecas de Python

⚠️ Problema frecuente: "externally-managed-environment"

Si obtiene este error con pip, utilice uno de los 3 métodos siguientes.

Método 1: mediante los paquetes del sistema (RECOMENDADO)

sudo apt install -y python3-aprslib python3-tinydb

Para la biblioteca "threaded", que no está en los repositorios:

sudo pip3 install threaded --break-system-packages

🚨 ATENCIÓN, MUY IMPORTANTE: los guiones

Utilice DOS GUIONES -- (guiones cortos) y NO un guion largo (carácter U+2013). Si copia y pega desde un documento PDF o Word, ¡compruebe este punto! Un guion largo hará fallar el comando.

Método 2: instalación completa con pip

Si python3-tinydb no está disponible:

sudo pip3 install aprslib --break-system-packages
sudo pip3 install tinydb --break-system-packages
sudo pip3 install threaded --break-system-packages

Método 3: configuración permanente de pip

sudo mkdir -p /root/.config/pip
sudo nano /root/.config/pip/pip.conf

Añada estas líneas al archivo:

[global]
break-system-packages = true

Guarde con Ctrl+O, Intro y salga con Ctrl+X.

Ahora puede instalar sin la opción:

sudo pip3 install aprslib tinydb threaded

Compruebe que las bibliotecas están instaladas:

pip3 list | grep -E "aprslib|tinydb|threaded"

3. Instalación de pYSFReflector

Descargue pYSFReflector desde GitHub:

cd ~/ysf-install
git clone https://github.com/iu5jae/pYSFReflector.git

Cree los directorios necesarios:

sudo mkdir -p /opt/ysfreflector
sudo mkdir -p /var/log/ysfreflector
sudo mkdir -p /usr/local/etc

Copie los archivos:

cd pYSFReflector
sudo cp YSFReflector /opt/ysfreflector/
sudo cp YSFReflector.ini /opt/ysfreflector/
sudo chmod +x /opt/ysfreflector/YSFReflector

Cree el archivo deny.db:

sudo touch /usr/local/etc/deny.db
sudo chmod 644 /usr/local/etc/deny.db

⚠️ Archivo imprescindible: sin este archivo deny.db, pYSFReflector genera un error al arrancar. Este archivo contiene la lista de usuarios bloqueados (vacía al principio).

Defina los permisos de los logs:

sudo chown -R $USER:$USER /var/log/ysfreflector

4. Configuración de YSFReflector

Edite el archivo de configuración principal:

sudo nano /opt/ysfreflector/YSFReflector.ini

💡 Atajos de nano:

  • Ctrl+O y después Intro: guardar
  • Ctrl+X: salir
  • Ctrl+W: buscar

Modifique la sección [General]:

[General]
Id=00000
Name=HB9 SUISSE
Description=Reflecteur CH

💡 Explicaciones:

  • Id=00000: déjelo a cero por ahora. Lo cambiará tras el registro en DVRef
  • Name: 16 caracteres como máximo (espacios incluidos)
  • Description: 14 caracteres como máximo

Compruebe la sección [Network]:

[Network]
Port=42000

⚠️ Puerto estándar YSF: el puerto 42000/UDP es el puerto estándar de YSF. No lo cambie salvo que sea absolutamente necesario, ya que podría causar problemas de compatibilidad.

Compruebe la sección [Log]:

[Log]
FilePath=/var/log/ysfreflector
FileRoot=YSFReflector
FileLevel=1
DisplayLevel=1
FileRotate=1

Guarde el archivo: Ctrl+O, Intro, Ctrl+X

5. Instalación del panel web

Para Ubuntu 24.04 / Debian 12:

sudo apt install -y apache2 php libapache2-mod-php php-mbstring php-xml php-curl

Para Ubuntu 22.04 / Debian 11:

sudo apt install -y apache2 php libapache2-mod-php php8.1-mbstring php8.1-xml php8.1-curl

Active e inicie Apache:

sudo systemctl enable apache2
sudo systemctl start apache2

Descargue el panel:

cd ~/ysf-install
git clone https://github.com/dg9vh/YSFReflector-Dashboard.git

Instale el panel:

sudo rm -rf /var/www/html/*
sudo cp -R YSFReflector-Dashboard/* /var/www/html/
sudo rm -f /var/www/html/index.html

Cree el archivo de configuración:

sudo mkdir -p /var/www/html/config
sudo nano /var/www/html/config/config.php

Copie este contenido (adapte la URL a su caso):

<?php
// Rutas (SIN barra final)
define("LOGPATH", "/var/log/ysfreflector");
define("LOGPREFIX", "YSFReflector");
define("INIPATH", "/opt/ysfreflector");
define("INIFILENAME", "YSFReflector.ini");
define("REFL_PATH", "/opt/ysfreflector");

// Compatibilidad con versiones antiguas
define("YSFREFLECTORLOGPATH", "/var/log/ysfreflector");
define("YSFREFLECTORLOGPREFIX", "YSFReflector");
define("YSFREFLECTORINIPATH", "/opt/ysfreflector");
define("YSFREFLECTORINIFILENAME", "YSFReflector.ini");
define("YSFREFLECTORPATH", "/opt/ysfreflector");

// Parámetros de visualización
define("REFRESHAFTER", "10");
define("LOGO", "");
define("URL", "http://votre-domaine.com");
define("LOCALE", "fr_CH.utf8");
define("TIMEZONE", "Europe/Zurich");

// Funciones
define("SHOWSYSINFO", "1");
define("SHOWNETINFO", "1");
define("ENABLEXTDLOOKUP", "1");
define("QRZAPIKEY", "");
define("SHOWLH", "1");
define("LHLINES", "20");
define("DMRIDDATPATH", ".");
define("ENABLEYSFGATEWAY", "0");
?>

Guarde y defina los permisos:

sudo chown -R www-data:www-data /var/www/html/
sudo chmod -R 755 /var/www/html/
sudo chmod 644 /var/www/html/config/config.php
sudo systemctl restart apache2

6. Configuración del cortafuegos (IMPRESCINDIBLE)

🚨 FUNDAMENTAL: hay que configurar DOS cortafuegos

Hay que configurar obligatoriamente DOS cortafuegos:

  1. Cortafuegos UFW: en su servidor Linux
  2. Cortafuegos de Infomaniak: en el panel de control web

Si solo configura uno, ¡el panel NO será accesible desde Internet!

Parte 1: cortafuegos UFW (en el servidor)

🚨 ATENCIÓN: ¡autorice SSH PRIMERO!

Autorice SSH ANTES de activar UFW; si no, ¡quedará bloqueado y ya no podrá acceder a su servidor!

sudo ufw allow 22/tcp
sudo ufw allow 42000/udp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
sudo ufw status verbose

💡 Explicación de los puertos:

  • 22/tcp: SSH - acceso remoto al servidor (IMPRESCINDIBLE)
  • 42000/udp: YSFReflector - tráfico de radio System Fusion
  • 80/tcp: HTTP - panel web
  • 443/tcp: HTTPS - panel seguro

Parte 2: cortafuegos de Infomaniak (panel web)

  1. Inicie sesión en manager.infomaniak.com
  2. Vaya a Cloud & Serveurs → Public Cloud
  3. Seleccione su VPS
  4. Haga clic en Cortafuegos (Pare-feu si la interfaz está en francés) en el menú lateral
  5. Añada estas 4 reglas:
    • Puerto 22/TCP - Protocolo TCP - Origen: cualquiera - Acción: permitir
    • Puerto 42000/UDP - Protocolo UDP - Origen: cualquiera - Acción: permitir
    • Puerto 80/TCP - Protocolo TCP - Origen: cualquiera - Acción: permitir
    • Puerto 443/TCP - Protocolo TCP - Origen: cualquiera - Acción: permitir
  6. Guarde los cambios

7. Configuración del servicio systemd

Cree el archivo del servicio:

sudo nano /etc/systemd/system/ysfreflector.service

Copie este contenido:

[Unit]
Description=YSFReflector Service
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/opt/ysfreflector
ExecStart=/usr/bin/python3 /opt/ysfreflector/YSFReflector /opt/ysfreflector/YSFReflector.ini
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

Guarde y, después, active e inicie el servicio:

sudo systemctl daemon-reload
sudo systemctl enable ysfreflector.service
sudo systemctl start ysfreflector.service
sudo systemctl status ysfreflector.service

✅ Servicio activo: debe ver active (running) en verde. Si es así, ¡su reflector funciona!

Comandos útiles

  • sudo systemctl status ysfreflector.service: ver el estado
  • sudo systemctl restart ysfreflector.service: reiniciar
  • sudo journalctl -u ysfreflector.service -f: logs en tiempo real

Prueba del panel

Abra su navegador y vaya a: http://votre-ip-vps/

¡Debería ver el panel con la información de su reflector!

📝 Registro en DVRef

⚠️ Importante: el registro se hace ahora ÚNICAMENTE en DVRef.com. El antiguo registro YSFReflector.de ya no se mantiene desde junio de 2024.

Procedimiento de registro

  1. Vaya a https://dvref.com/ysf/new
  2. Rellene el formulario:
    • Name: nombre de su reflector (p. ej.: "HB9 SUISSE")
    • Description: descripción breve
    • Country: código de país (CH, FR, BE, etc.)
    • FQDN/IP: su IP o nombre de dominio
    • Port: 42000
    • Email: su dirección de correo electrónico
    • Callsign: su indicativo de radioaficionado
  3. Envíe el formulario
  4. Recibirá un correo de confirmación
  5. Haga clic en el enlace del correo para activarlo
  6. Anote su ID de 5 cifras (p. ej.: 12345)

Actualización de la configuración

Edite el archivo de configuración:

sudo nano /opt/ysfreflector/YSFReflector.ini

Modifique la línea Id:

[General]
Id=12345
Name=HB9 SUISSE
Description=Reflecteur CH

Sustituya 12345 por su ID real. Guarde y reinicie:

sudo systemctl restart ysfreflector.service

⏱️ Plazo de propagación: su reflector aparecerá en las listas de Pi-Star y WPSD en un plazo de 24 a 48 horas. Es normal: la actualización de las listas lleva tiempo.

🔒 Configuración de HTTPS con Let's Encrypt

⚠️ Se necesita un nombre de dominio: para HTTPS, debe tener un nombre de dominio que apunte a su VPS. Una simple dirección IP no basta.

Instalación de Certbot

sudo apt update
sudo apt install -y certbot python3-certbot-apache

Obtención del certificado SSL

sudo certbot --apache -d ysf.votredomaine.com

Sustituya ysf.votredomaine.com por su nombre de dominio real. Responda a las preguntas:

  1. Email: introduzca su correo electrónico
  2. Terms of Service: escriba Y
  3. Share email: Y o N (opcional)
  4. Redirect HTTP to HTTPS: elija 2 para redirigir automáticamente

Verificación

sudo certbot certificates

Actualización del panel

sudo nano /var/www/html/config/config.php

Modifique la línea URL:

define("URL", "https://ysf.votredomaine.com");

Guarde y reinicie Apache:

sudo systemctl restart apache2

Pruebe: https://ysf.votredomaine.com - ¡Debería ver un candado verde en la barra de direcciones!

🔒 HTTPS activado: su panel ya está protegido. El certificado se renovará automáticamente cada 60 días mediante una tarea programada (cron) de Certbot.

🎨 Personalización del panel

Añadir un logotipo

Suba su logotipo (PNG, se recomienda 200x200 px):

scp logo.png utilisateur@votre-ip:/home/utilisateur/
ssh utilisateur@votre-ip
sudo mv ~/logo.png /var/www/html/logo.png
sudo chown www-data:www-data /var/www/html/logo.png

Actívelo en la configuración:

sudo nano /var/www/html/config/config.php
define("LOGO", "logo.png");

Modificar el nombre y la descripción

sudo nano /opt/ysfreflector/YSFReflector.ini
[General]
Id=12345
Name=MON REFLECTEUR YSF
Description=Ma description

Reinicie el reflector:

sudo systemctl restart ysfreflector.service

🔧 Mantenimiento

Mantenimiento mensual recomendado

sudo apt update
sudo apt upgrade -y
sudo apt autoremove -y

Comprobar el espacio en disco

df -h

Limpiar los logs antiguos

sudo find /var/log/ysfreflector/ -name "*.log" -mtime +30 -delete

Copia de seguridad de la configuración

mkdir -p ~/backups
sudo cp /opt/ysfreflector/YSFReflector.ini ~/backups/YSFReflector.ini.$(date +%Y%m%d)
sudo cp /var/www/html/config/config.php ~/backups/config.php.$(date +%Y%m%d)

🔧 Resolución de problemas

Problema 1: el panel muestra una página en blanco

sudo tail -50 /var/log/apache2/error.log
sudo systemctl status ysfreflector.service
ls -la /var/log/ysfreflector/

Problema 2: el servicio no arranca

sudo journalctl -u ysfreflector.service -n 100

Si aparece el error "deny.db not found":

sudo touch /usr/local/etc/deny.db
sudo chmod 644 /usr/local/etc/deny.db
sudo systemctl restart ysfreflector.service

Problema 3: panel inaccesible

Compruebe los dos cortafuegos:

sudo ufw status | grep 80
sudo systemctl status apache2

Compruebe también en el panel de Infomaniak que los puertos 80 y 443 están abiertos.

Problema 4: no aparece en Pi-Star

Lista de comprobación:

  • ✓ ¿Registrado en DVRef.com?
  • ✓ ¿Ha recibido el correo electrónico de confirmación?
  • ✓ ¿ID actualizado en YSFReflector.ini?
  • ✓ ¿Puerto 42000/UDP abierto (UFW + Infomaniak)?
  • ✓ ¿Servicio ysfreflector en ejecución?
  • ✓ ¿Ha esperado al menos 24-48 h?

🎯 Conclusión

🎉 ¡Enhorabuena!

Su reflector YSF ya está operativo en su VPS de Infomaniak. Dispone de un servidor profesional con panel web, HTTPS seguro y registro oficial en DVRef.

✅ Reflector YSF

pYSFReflector instalado y configurado

✅ Panel web

Interfaz accesible 24/7

✅ Seguridad

HTTPS y cortafuegos de doble capa

✅ Registrado

Visible en Pi-Star/WPSD

Recursos útiles

🤝 Nuestros colaboradores

Phonicom.ch: especialista en radioafición en Suiza

En Phonicom encontrará los equipos Yaesu C4FM, los hotspots WPSD y todos los accesorios para la red Yaesu System Fusion. Asesoramiento personalizado y entrega en Suiza.

Visitar phonicom.ch →
Seguir leyendo

Últimos artículos

Todos los artículos →