🛰️ 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:
Protección de datos óptima
Centros de datos ecológicos certificados
Infraestructura SSD NVMe
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 DVRefName: 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:
- Cortafuegos UFW: en su servidor Linux
- 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)
- Inicie sesión en manager.infomaniak.com
- Vaya a Cloud & Serveurs → Public Cloud
- Seleccione su VPS
- Haga clic en Cortafuegos (Pare-feu si la interfaz está en francés) en el menú lateral
- 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
- 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 estadosudo systemctl restart ysfreflector.service: reiniciarsudo 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
- Vaya a https://dvref.com/ysf/new
- 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
- Envíe el formulario
- Recibirá un correo de confirmación
- Haga clic en el enlace del correo para activarlo
- 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:
- Email: introduzca su correo electrónico
- Terms of Service: escriba
Y - Share email:
YoN(opcional) - Redirect HTTP to HTTPS: elija
2para 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.
pYSFReflector instalado y configurado
Interfaz accesible 24/7
HTTPS y cortafuegos de doble capa
Visible en Pi-Star/WPSD
Recursos útiles
- DVRef.com - Registro oficial YSF
- pYSFReflector en GitHub
- Panel en GitHub
- VPS de Infomaniak
- Let's Encrypt
📚 Lea también en HB9V
- 📡 Instalación de un reflector XLX multiprotocolo: guía completa para instalar un reflector XLX compatible con D-STAR, DMR y YSF
- 📻 WPSD: el hotspot de radioaficionado definitivo: configure su hotspot para acceder a los reflectores YSF, DMR y D-STAR
- 🖨️ Soporte FTM-510 y FTM-500 en impresión 3D: archivos STL gratuitos para su equipo Yaesu C4FM
- 📊 Hotspot DMR para radioaficionados: guía completa: Pi-Star, WPSD, Brandmeister y talkgroups de Suiza
🤝 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 →





