Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

rcq-server-ref

FastAPI + Postgres + Redis backend para el mensajero RCQ. Código abierto bajo AGPL-3.0.

Ficha actualizada 23 sept 2026, 11:35 · upstream 23 sept 2026, 11:24 · release v0.4

Ver códigoProblemas y ayudaRepositorio ↗
00

Qué es rcq-server-ref

Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.

El servidor de referencia de RCQ Messenger es una implementación open-source (AGPL-3.0) que permite ejecutar un servidor propio en lugar de confiar en api.rcq.app. Funciona con Python, FastAPI, PostgreSQL y Redis, y soporta mensajería end-to-end cifrada, identidad por UIN, notificaciones push vía APNs, transmisión de medios cifrados y federación entre islas. El proyecto incluye herramientas para autenticación sin servidor, administración propia, migración de cuentas y un sistema de invitaciones con números reservados.

CASOS DE USO
  • Servidor backend propio para RCQ Messenger en entornos aislados o restringidos
  • Implementación de mensajería cifrada end-to-end (libsignal v2) sin almacenar mensajes en texto plano
  • Gestión de identidad anónima mediante UIN de 7-9 dígitos sin teléfono ni correo electrónico
  • Notificaciones push vía APNs para iOS y Android
  • Transmisión cifrada de medios (blobs) con intercambio de claves AES por cada mensaje
  • Federación entre islas RCQ a través de registros de UIN compartidos en Redis
  • Administración propia del servidor mediante panel web sin dependencias externas
  • Migración segura de cuentas antiguas a nuevos números UIN reservados
PUNTOS DESTACADOS
  • Soporta mensajería end-to-end cifrada con libsignal v2 envelopes y fallback ECIES + Ed25519 para clientes legacy
  • Identidad por UIN (7-9 dígitos) sin teléfono ni correo electrónico, con algoritmo de asignación que evita números reservados
  • Notificaciones push vía APNs tanto para alertas como llamadas VoIP, con claves privadas almacenadas en el servidor
  • Soporta transmisión cifrada de medios (blobs) donde las claves AES se intercambian dentro del envelope cifrado
  • Federación entre islas RCQ a través de registros compartidos en Redis sin confianza entre servidores
  • Panel administrativo propio con autenticación por token JWT, gestión de usuarios y invitaciones con números reservados
PRECAUCIONES
  • El servidor no almacena mensajes en texto plano ni claves de descifrado de medios
  • Los clientes iOS requieren un certificado CA para conectarse a la isla
  • La migración de cuentas requiere re-clave de todos los usuarios afectados
  • No hay soporte nativo para servidores sin dominio (solo modo fingerprint)
  • El sistema de UIN tiene restricciones limitadas por el algoritmo de asignación
  • Las notificaciones push requieren un desarrollador Apple con cuenta y clave privada
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU2 vCPUrecomendación inicial
MEMORIA2 GBRAM estimada
DISCO30 GBalmacenamiento base
COMPLEJIDADmediumnivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Listo para automatizar

Instalación recomendada: usar Docker Compose para despliegue rápido. Configurar .env con JWT_SECRET, POSTGRES_PASSWORD y RCQ_DOMAIN. Si no tienes dominio, usar modo fingerprint (solo HTTPS). Para producción sin Docker: instalar PostgreSQL 16 + Redis 7 en VPS, configurar systemd service, SSL con Caddy o Let's Encrypt. Habilitar masquerading con X-RCQ-Auth header para ocultar la API de Shodan/Censys. El servidor está en producción y actualizado a versión 2026.08.07.

✓Dockerfile
✓Compose
✓One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
Next.jsFastAPIPython
SERVICIOS
PostgreSQLRedisNATS
BASES DE DATOS
PostgreSQLRedis
PUERTOS
80006379
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

Experiencia real de la comunidad

Ayuda a contrastar la estimación automática con instalaciones reales.

Todavía no hay datos comunitarios para este proyecto.