Volver al inicio

Relé propio

RemoScreen — Guía de despliegue del relé

Esta guía explica cómo desplegar un relé RemoScreen. El paquete incluye el relé para Linux, la herramienta de configuración, plantillas y esta guía. Consulta la disponibilidad del paquete en el estado de descarga de la aplicación.

Descargar el paquete del relé

Elige la arquitectura de tu servidor. El paquete incluye SHA256SUMS: comprueba la descarga antes de descomprimirla.

Linux x86_64 Linux ARM64 (en pruebas)

Para qué sirve el relé

Los dispositivos intentan conectarse directamente primero. Cuando no es posible, el relé transmite imagen, sonido y acciones de las sesiones autorizadas. Añade tu relé en Servicios de conexión tanto en el Mac como en el iPad para usarlo como ruta alternativa. Todos los pasos de descarga, configuración e inicio de esta guía corresponden al relé.

Descarga y preparación

Elige Linux x86_64 o ARM64 según el servidor. El paquete debe incluir remoscreen-service, remoscreen-setup, plantillas, esta guía, identificadores de versión y código fuente, y SHA256SUMS. Compara la suma de comprobación con la página de publicación, extrae el paquete en un directorio nuevo y conserva la versión anterior.

Prepara un servidor Linux, un dominio que apunte a él y un certificado HTTPS válido para ese dominio. Usa una cuenta exclusiva con permisos mínimos y un directorio de datos persistentes. Los programas deben ser ejecutables; solo esa cuenta debe acceder al directorio de estado, y los archivos de claves generados deben tener permisos 0600.

Los ejemplos usan connect.example.com, HTTPS 8443 y TCP 9443 para el relé. Comprueba dominio, puertos, cortafuegos y grupos de seguridad de la nube. Si un puerto está ocupado, planifica un proxy inverso u otra dirección de escucha; no reemplaces servicios existentes.

Inicializar el relé alternativo

Ejecuta la herramienta con la cuenta del servicio. Sustituye el dominio y usa un directorio independiente que pertenezca a esa cuenta:

./remoscreen-setup -directory /var/lib/remoscreen/relay \
  -role relay -name RemoScreen \
  -control-url https://connect.example.com:8443/v2/control \
  -relay-host connect.example.com -relay-tcp-port 9443

Se generan la identidad del servicio, la clave de acceso del cliente y la configuración. Al repetir la inicialización, conserva el rol relay y la dirección original; las identidades existentes no se sobrescriben. No borres datos ni regeneres claves para actualizar el programa.

Iniciar el relé alternativo

Usa el mismo directorio de datos y sustituye las rutas de certificados por archivos PEM reales que la cuenta del servicio pueda leer:

./remoscreen-service -service-role=relay \
  -control-listen=:8443 \
  -control-tls-certificate=/etc/remoscreen/fullchain.pem \
  -control-tls-key=/etc/remoscreen/privkey.pem \
  -service-info-config=/var/lib/remoscreen/relay/service-info.json \
  -relay-control-config=/var/lib/remoscreen/relay/relay-control.json \
  -relay-access-keys=/var/lib/remoscreen/relay/relay-access-keys.json \
  -control-revocation-store=/var/lib/remoscreen/relay/revocations.json \
  -control-primary-lock=/var/lib/remoscreen/relay/primary.lock \
  -account-deletion-journal=/var/lib/remoscreen/relay/deletion-journal.json \
  -usage-ledger-store=/var/lib/remoscreen/relay/usage.jsonl \
  -public-host=connect.example.com -tcp-relay-listen=:9443 \
  -tcp-require-local-control-allocation=true \
  -relay-node-id=self-hosted -relay-region=self-hosted \
  -require-commercial-subscription=false

Comprueba primero el inicio en primer plano y después utiliza el gestor de servicios de Linux. La unidad debe definir la cuenta exclusiva, rutas absolutas, los mismos argumentos, el directorio privado y reinicio ante fallos. Reinicia este servicio tras renovar el certificado para cargar el nuevo.

Añadirlo al Mac y al iPad

Lee el archivo privado client-connection.json en el servidor para obtener la dirección y la clave de acceso del cliente. Compártelas por un canal de confianza. En cada dispositivo, abre Servicios de conexión → Añadir servidor, introduce los datos, verifica la identidad y guarda.

Los archivos importables deben generarse con Exportar configuración en la aplicación. client-connection.json es un resultado de inicialización para administradores, no un archivo de importación. No compartas service-info.json, relay-control.json, claves privadas TLS ni el directorio completo de datos.

La conexión directa mantiene la prioridad. Solo se usa esta alternativa cuando se permite el relé y la conexión directa no está disponible.

Comprobar el despliegue

Desde otra red, verifica el certificado HTTPS y la identidad firmada en /v2/service-info, y después ejecuta la comprobación del servidor en la aplicación. Con dispositivos ya autorizados y una red de prueba sin conexión directa, confirma que se usa realmente este relé. Revisa los registros para detectar errores de certificado o clave de acceso.

Un proceso activo o una respuesta de salud correcta no bastan. Prueba la pantalla remota, teclado, ratón, transferencia de archivos y reconexión. Comprueba que la versión indicada por el servidor coincide con la distribuida.

Actualizar, restaurar y desinstalar

Antes de actualizar, guarda la configuración, todos los datos persistentes y los programas anteriores, y anota la versión. Detén el servicio correspondiente, cambia a la nueva versión conservando el directorio de datos y la identidad, y repite las comprobaciones. Si falla, detén la nueva versión y restaura la anterior con su copia de seguridad correspondiente. Sigue las instrucciones de migración si cambia el formato de datos.

Para desinstalar, desactiva y retira primero la unidad del servicio. El administrador debe decidir expresamente si elimina programas y datos. Conserva por defecto los datos persistentes y las copias; no borres datos de otros servicios o aplicaciones.