Software De Hub uhub ADC Y ADCS

uhub

uhub, pronunciado «you hub», es un servidor de hub Direct Connect de código abierto creado por Jan Vidar Krey. Su desarrollo se remonta a 2007 y el proyecto se publica bajo la GNU General Public License version 3. Está escrito en C y está diseñado específicamente para comunidades que usan clientes compatibles con ADC, como DC++, AirDC++ y otras aplicaciones Direct Connect modernas.

Un hub es el punto de encuentro de una comunidad Direct Connect. uhub mantiene la lista de usuarios conectados, retransmite el chat público y privado, distribuye búsquedas y resultados, aplica reglas de acceso y ayuda a los clientes a establecer conexiones directas entre sí. Los archivos reales no pasan por uhub. Cuando dos usuarios deciden intercambiar un archivo, la transferencia suele realizarse directamente entre sus clientes. Esta diferencia permite que un servidor relativamente pequeño coordine mucha más actividad de intercambio de archivos de la que podría retransmitir por sí mismo.

Esto también importa para clientes basados en navegador o alojados en un servidor. Conectar un cliente web a uhub puede proporcionar chat, listas de usuarios y búsqueda, pero no convierte automáticamente las transferencias entre pares en descargas web ordinarias. El cliente web o su servicio de apoyo todavía debe implementar el proceso de transferencia de cliente a cliente. uhub coordina a los usuarios y sus solicitudes de conexión; no es un servicio de almacenamiento de archivos, un proxy de descarga ni un servidor web.

uhub se construyó alrededor de un núcleo pequeño orientado a eventos y con poco uso de memoria. Un hub privado puede ejecutarse en hardware modesto, incluidos sistemas Linux pequeños y dispositivos integrados, mientras que instalaciones mayores pueden atender a miles de usuarios conectados en servidores más capaces. Admite IPv4 e IPv6, conexiones cifradas, cuentas registradas, permisos de operador, bloqueos, protección contra flood, plugins opcionales, supervisión y varias maneras de ampliar un hub conforme crece la comunidad.

El proyecto se ha desarrollado por etapas. La versión 0.5.0 se publicó en 2014 como código fuente portable para Linux, macOS, BSD y Solaris. El desarrollo volvió a acelerarse en 2026. La versión 0.6.0 modernizó los requisitos TLS y la interfaz de plugins. La versión 0.7.0 añadió supervisión, operación multiproceso y la posibilidad de enlazar varias instalaciones de uhub en un hub lógico. La versión 0.7.1 mejoró los comandos de usuario, la autenticación, los límites de conexión y las comprobaciones de seguridad. La versión 0.8.0 añadió plugins JavaScript aislados, formato de chat más rico, moderación ampliada, herramientas de cuenta de autoservicio, detección más rápida de conexiones muertas y restauró las compilaciones para Windows.

El proyecto oficial todavía describe uhub como software de calidad alpha y no como una plataforma de servicio para misiones críticas. Eso no significa que sea solo una demostración, pero sí que un operador debe probar la versión elegida, los plugins, los clientes, el proceso de copia de seguridad y el procedimiento de actualización antes de depender de él para una comunidad pública importante.

Funcionamiento De ADC Y ADCS

uhub sirve a comunidades que usan ADC, el protocolo Direct Connect moderno. Los usuarios se conectan con un cliente compatible con ADC e introducen una dirección que comienza con adc:// o adcs://. ADC proporciona la conexión normal al hub, mientras que ADCS añade cifrado TLS entre el cliente y el hub.

Una conexión ADCS cifrada protege la autenticación de cuentas, el chat, las búsquedas, la información de usuarios y el resto del tráfico intercambiado con el hub. No cifra un archivo encaminándolo por uhub. Las transferencias directas de archivos siguen siendo conexiones independientes entre clientes y dependen de las capacidades y ajustes de esos clientes.

Los operadores pueden permitir conexiones cifradas y sin cifrar, o exigir ADCS. Las versiones actuales de uhub admiten TLS 1.2 y TLS 1.3 mediante OpenSSL o LibreSSL. La dirección publicada del hub, el nombre de host, el certificado y el puerto de escucha deben referirse al mismo servicio. Un servidor puede aceptar una conexión de red básica y aun así rechazar después el protocolo de enlace TLS, el inicio de sesión, la autenticación de la cuenta o la negociación ADC.

uhub admite IPv4 e IPv6 y puede preferir IPv6 cuando está disponible. Esto permite que una comunidad atienda a usuarios de cualquiera de los dos tipos de red, aunque las transferencias directas siguen dependiendo de que ambos clientes puedan establecer una ruta compatible. uhub también incluye coordinación de conexiones relacionada con NAT, pero no puede anular el cortafuegos, el router, las restricciones del proveedor ni un cliente mal configurado del usuario.

Un operador público puede proporcionar un nombre, descripción, propietario, sitio web, nombre de red y dirección publicada para el hub. uhub también puede anunciarse a un servicio de registro de hublist compatible. Los hubs privados pueden dejar desactivado el registro y aceptar solo usuarios invitados o registrados.

Operaciones Y Extensiones

  • Comunidades Pequeñas Y Grandes: La instalación predeterminada se ejecuta como un proceso orientado a eventos y resulta adecuada para muchos hubs privados y públicos. Los operadores pueden elegir el máximo de usuarios, decidir si se permiten invitados, exigir cuentas registradas, limitar conexiones desde una dirección y establecer reglas para la compartición mínima, las ranuras de subida, los términos de búsqueda o el número de otros hubs a los que un usuario puede conectarse.
  • Cuentas Y Moderación: Los plugins de autenticación pueden proporcionar cuentas registradas para miembros, operadores y administradores. Según los plugins activados, un operador puede registrar usuarios o permitir que se registren ellos mismos. La moderación incluye restricciones por apodo, CID e IP; bloqueos temporales o permanentes; motivos de bloqueo; restricciones de chat; controles de flood; información de usuarios recientes; gestión de temas y comandos de operador. La versión 0.8.0 movió las cuentas registradas del antiguo archivo de control de acceso a plugins de autenticación, por lo que las instalaciones existentes deben migrar esos registros al actualizar.
  • Funciones De Chat Y Comunidad: uhub puede conservar una cantidad configurable de historial reciente del chat principal, mostrar mensajes de bienvenida, publicar reglas del hub, exponer comandos en clientes compatibles y restringir el chat o los mensajes privados según el nivel de la cuenta. La versión 0.8.0 añadió soporte para la extensión de texto enriquecido RTF0. Los clientes que la admiten pueden mostrar chat, mensajes e imágenes remotas con formato, mientras que los clientes antiguos siguen recibiendo texto sin formato. Los operadores que no quieran que los clientes carguen imágenes de URL externas pueden desactivar esa función.
  • Uso De Más De Un Núcleo De CPU: uhub se ejecuta en modo de proceso único de forma predeterminada. Una instalación mayor puede establecer workers en un valor superior a uno para que varios procesos de trabajo compartan el mismo puerto de escucha y aparezcan ante los usuarios como un hub. Establecer workers=0 selecciona un trabajador para cada núcleo de CPU disponible. Es útil cuando el cifrado o un gran número de conexiones hacen que un proceso sea el límite. Los usuarios no necesitan direcciones separadas para los trabajadores individuales.
  • Enlazar Hubs Entre Máquinas: La federación conecta instalaciones independientes de uhub y hace que parezcan una comunidad mayor. Los usuarios conectados a nodos distintos pueden compartir una lista de usuarios visible, chatear entre sí, intercambiar mensajes privados, buscar, recibir resultados y establecer transferencias directas a través de los límites de nodo. También se pueden propagar temas y bloqueos activos. La federación sigue documentada como experimental y se destina a sistemas de confianza. Un operador debe comprender sus límites, probar la reconexión y el comportamiento de red dividida, y proteger las credenciales compartidas usadas por los servidores enlazados.
  • Plugins: uhub mantiene muchas funciones opcionales fuera de su núcleo y las carga mediante plugins. Los plugins incluidos pueden proporcionar autenticación SQLite o basada en archivos, registro, historial de chat, mensajes de bienvenida, comandos de tema, autoregistro, respuestas a flood, menús de comandos y chat restringido. Los plugins C nativos tienen acceso amplio al hub en ejecución y deben coincidir con la API de plugins de la versión instalada. La versión 0.8.0 también añadió plugins JavaScript mediante QuickJS. Las extensiones JavaScript se ejecutan en un entorno restringido sin acceso ordinario al sistema de archivos ni a la red, por lo que son adecuadas para muchos comandos personalizados y funciones basadas en eventos sin compilar código C.
  • Supervisión: La versión 0.7.0 añadió un endpoint opcional de métricas compatible con Prometheus. Puede informar de usuarios conectados, conexiones, tráfico de hub transferido, recuentos de mensajes y tiempo del bucle de eventos. El endpoint está desactivado por defecto y requiere un token bearer. Los operadores deben acceder a él mediante HTTPS, loopback o una red de administración de confianza, porque enviar el token por HTTP sin cifrar puede exponerlo.
  • Recuperación De Conexiones: Las versiones actuales revisan periódicamente las conexiones inactivas para eliminar con rapidez a usuarios cuya sesión de red desapareció sin una desconexión limpia. Esto reduce las situaciones en que a un cliente que se reconecta se le rechaza porque el hub todavía cree activa su sesión anterior. Esta función mejora la recuperación tras Wi‑Fi, NAT, cortafuegos y conexiones de cliente interrumpidos sin cambiar el tratamiento de usuarios activos normales.
  • Instalación Y Plataformas: El repositorio oficial ofrece código fuente y paquetes de lanzamiento. La documentación actual cubre Linux, macOS, BSD y Windows, con paquetes para sistemas x86-64 y ARM64 habituales. Los usuarios de Debian y Ubuntu también pueden usar el repositorio de paquetes mantenido por la comunidad enlazado por el proyecto. Los operadores que compilan desde código fuente necesitan un compilador C actual, CMake, archivos de desarrollo SQLite y una versión compatible de OpenSSL o LibreSSL.
  • Configuración Y Copias De Seguridad: Los ajustes principales se almacenan en uhub.conf, mientras que los datos de cuentas, reglas de acceso, plugins, certificados y archivos relacionados pueden almacenarse por separado. Una copia completa debe incluirlos todos, además de la versión instalada, la definición del servicio y las versiones de plugins. Antes de actualizar, pruebe la nueva versión en otro puerto o sistema y confirme inicio de sesión, cuentas, moderación, chat, búsquedas, plugins, TLS, supervisión, comportamiento de reinicio y compatibilidad de clientes.

Recursos Oficiales De uhub

El sitio web oficial de uhub, la documentación, el archivo de noticias, el repositorio, las versiones y el rastreador de incidencias proporcionan la información más fiable sobre el proyecto. Use documentación que coincida con la versión instalada porque la configuración, autenticación, plugins, moderación y comportamiento de escalado cambiaron de forma importante en las líneas 0.6, 0.7 y 0.8.

El repositorio de GitHub contiene el código fuente, configuración de ejemplo, ejemplos de plugins, instrucciones de compilación, pruebas y el historial completo de cambios. El sitio de documentación es más adecuado para quienes quieren instalar u operar un hub sin leer el código fuente. Los defectos reproducibles y las solicitudes de funciones deben enviarse por el rastreador de incidencias con la versión exacta, sistema operativo, detalles de configuración, plugins relevantes, registros y pasos para reproducir el problema.

EtiquetaEnlaceDescripción
Sitio Del Proyecto uhubhttps://www.uhub.org/Resumen oficial de qué hace uhub, para quién está pensado, funciones compatibles, descargas y enlaces actuales del proyecto.
Documentación De uhubhttps://www.uhub.org/doc/Índice de documentación para instalación, configuración, TLS, plugins, supervisión, enlace de hubs, arquitectura y desarrollo.
Primeros Pasoshttps://www.uhub.org/doc/getstarted.htmlIntroducción paso a paso para compilar o instalar uhub, crear una configuración, iniciar el servicio, conectar un cliente, registrar usuarios y habilitar varios trabajadores.
Referencia De Configuraciónhttps://www.uhub.org/doc/config.htmlReferencia consultable de todos los ajustes compatibles, incluidos listeners, identidad del hub, límites de usuarios, controles de flood, TLS, supervisión, archivos, workers y federación.
Enlace De Hubs Y Federaciónhttps://www.uhub.org/doc/linking.htmlExplica cómo un hub puede usar varios núcleos de CPU y cómo se conectan instancias uhub separadas entre máquinas, con límites actuales y consideraciones de seguridad.
Documentación De Pluginshttps://www.uhub.org/doc/plugins/index.htmlÍndice de plugins incluidos para autenticación, registro, historial de chat, mensajes de bienvenida, moderación, registro y otro comportamiento opcional.
Documentación TLShttps://www.uhub.org/doc/config-ssl.htmlInstrucciones para configurar certificados y conexiones ADCS cifradas con OpenSSL o LibreSSL.
Documentación De Supervisiónhttps://www.uhub.org/doc/metrics.htmlExplica el endpoint Prometheus opcional, las estadísticas disponibles, el token de autenticación y el acceso seguro recomendado.
Noticias Del Proyecto E Historial De Versioneshttps://www.uhub.org/news.htmlAnuncios fechados del proyecto que describen los principales cambios introducidos en uhub 0.5, 0.6, 0.7 y 0.8.
Repositorio Fuente De uhubhttps://github.com/janvidar/uhubCódigo fuente oficial, instrucciones de compilación, configuración de muestra, plugins, pruebas, documentación técnica, licencia e información de contribución.
Versiones De uhubhttps://github.com/janvidar/uhub/releasesPaquetes de lanzamiento versionados y notas detalladas sobre funciones nuevas, requisitos de actualización, correcciones de seguridad y cambios de compatibilidad.
Rastreador De Incidencias De uhubhttps://github.com/janvidar/uhub/issuesLugar oficial para informar defectos reproducibles, solicitar funciones y revisar incidencias conocidas del proyecto.
uhub Dev Central adcs://adc.uhub.org:1511 Configuración de uhub, plugins, comportamiento ADC, interoperabilidad y compilaciones de desarrollo actuales.

Página Superior

Comentarios

Aún No Hay Comentarios. Inicie La Conversación.

Añadir Comentario

Los comentarios aquí requieren una cuenta. Inicie sesión para unirse a la conversación o registre una cuenta.