Aloja tus servidores
Un servidor FreeSpeech no guarda ningún mensaje. Ponerlo en marcha es sencillo y administrarlo no exige ni interfaz web ni reinicios: basta una línea de comandos. La edición Pro ofrece una consola web.
Tres funciones
| Función | Para qué sirve | Quién puede conectarse |
|---|---|---|
| Relé público | Transmite mensajes entre dispositivos conectados. Puede asociarse con otros relés públicos mediante un secreto compartido (lista blanca mantenida a mano). | Cualquiera, salvo las identidades vetadas. |
| Relé privado | Para una familia, una asociación, una empresa. No aparece en ningún otro sitio y rechaza todo tráfico entre servidores. | Solo las identidades que el administrador haya autorizado o invitado. |
| Pasarela push | Despierta la aplicación de un dispositivo desconectado. Nunca recibe contenido: solo un identificador de dispositivo. | Los relés a los que el operador haya dado una clave propia. |
Un mismo dispositivo puede usar tantos relés, públicos o privados, como quiera: la identidad no depende de ningún servidor.
Primeros pasos
El servidor es una aplicación ASP.NET Core 10. Detrás de nginx (que termina el TLS), escucha en la máquina local:
Admin__Secret="un valor secreto largo" \
dotnet FreeSpeech.Server.dll --urls http://127.0.0.1:5290
La guía paso a paso (nginx, systemd, certificado, cortafuegos, actualizaciones) está en el repositorio: sources/SERVER_INSTALLATION.en.md y sources/DEPLOYMENT.en.md.
Administración por línea de comandos libre
El comando admin habla con la API de administración del servidor en marcha. Todo se aplica al instante y se guarda: sin reiniciar, así que no se corta ninguna conexión.
# Relé privado: aceptar solo a personas invitadas
dotnet FreeSpeech.Server.dll admin access allowlist
dotnet FreeSpeech.Server.dll admin invite "Ana" --days 7 # ficha de un solo uso, se muestra una vez
dotnet FreeSpeech.Server.dll admin clients # autorizados, vetados, invitaciones
dotnet FreeSpeech.Server.dll admin ban <identificador> "motivo" # corta también sus conexiones activas
# Relé público: servidores vecinos y pasarelas push (el otro administrador acepta)
dotnet FreeSpeech.Server.dll admin add relay https://otro.ejemplo.net
dotnet FreeSpeech.Server.dll admin add push https://push.ejemplo.net
dotnet FreeSpeech.Server.dll admin server-ban https://malo.ejemplo.net "abuso"
dotnet FreeSpeech.Server.dll admin drain 50 # invitar a 50 clientes a pasar a un vecino antes de un mantenimiento
# Pasarela push: aceptar los relés que lo piden
dotnet FreeSpeech.Push.dll admin requests # solicitudes recibidas, con la huella del relé
dotnet FreeSpeech.Push.dll admin accept <id>
dotnet FreeSpeech.Push.dll admin ban <id>
dotnet FreeSpeech.Push.dll admin maintenance on # responde «ocupado»: los relés usan otra pasarela
Para los usuarios, la dirección del servidor se añade en Ajustes → Servidores: el servidor dice a la aplicación si es privado, y la aplicación ofrece entonces escribir una invitación o solicitar acceso.
Registros y seguimiento, al estilo consola
dotnet FreeSpeech.Server.dll admin log level relay debug # más detalle, ahora mismo
dotnet FreeSpeech.Server.dll admin log tail -f # flujo en directo
dotnet FreeSpeech.Server.dll admin trace 3fa9c1d2e4 --minutes 15 # seguir una sola identidad, se detiene sola
dotnet FreeSpeech.Server.dll admin log reset
Regla de privacidad: un registro solo contiene metadatos. Nunca el contenido de un mensaje, nunca una clave, nunca un identificador de dispositivo, y los identificadores se acortan a 8 caracteres. Quién escribe a quién no aparece en el nivel normal; un seguimiento preciso hay que pedirlo, se limita a una hora y deja una línea en el registro.
Una administración poco expuesta
- La API de administración solo atiende llamadas que vienen de la propia máquina, con un secreto. nginx no la publica; se accede por SSH o por una VPN.
- Los secretos son de solo escritura: una vez introducidos, ni la línea de comandos ni la consola los vuelven a mostrar.
- Un archivo de acceso ilegible cierra el servidor en lugar de abrirlo.
Edición Pro Pro
Para gestionar varios servidores sin línea de comandos.
Consola de administración web
Una sola página para todos tus relés y pasarelas: clientes e invitaciones, servidores vecinos, pasarelas push, límites, registros en directo y seguimiento. Cuentas con roles (lector, operador, administrador), doble autenticación, bloqueo tras intentos repetidos y registro de auditoría de cada acción.
Instalación lista para usar
Una imagen Docker y una máquina virtual con nginx, el servidor, la consola y las actualizaciones: arrancas, añades tus servidores y listo. En preparación.
Nada se retiene de la edición libre
El servidor libre sigue completo y administrable por línea de comandos. La consola Pro usa las mismas API públicas y no cambia nada del protocolo.
¿Interesado, o una pregunta? contact@rebisway.com
FreeSpeech