FreedomBox es un servidor personal diseñado tomando en cuenta la privacidad y la propiedad de los datos. Es un subconjunto del sistema operativo universal Debian e incluye solo software libre. Puedes ejecutarlo en casa en un ordenador pequeño, barato y energéticamente eficiente dedicado a tal uso. También se puede instalar en cualquier ordenador que ejecute Debian o en una máquina virtual.
Para reeemplazar servicios de comunicaciones de terceros que están espiando toda tu vida, podrás alojar servicios por ti mismo y usarlos en casa o a través de Internet mediante un navegador o aplicaciones especializadas. Estos servicios incluyen chat y audioconferencias, correo electrónico web, compartición de ficheros y calendario, libreta de direcciones y sincronización de feeds de noticias. Por ejemplo, para comenzar a usar un servicio de chat privado activa el servicio desde el interfaz de administración y agrega a tus amistades como usuarios autorizados del servicio. Podrán conectarse al servicio alojado en tu FreedomBox usando clientes de chat XMPP como Conversations para Android, Pidgin para Windows y Linux, o Messages para Mac OS, y acceder a comunicaciones cifradas.
FreedomBox es un producto que puedes comprar, instalar y queda lista para usar. Una vez instalado el interfaz es fácil de usar, parecido a un teléfono inteligente.
Documentación de usuario:
FreedomBox también puede alojar un punto de acceso Wi-Fi, un proxy para bloquear anuncios y una red privada virtual (VPN). Los usuarios más avanzados pueden reemplazar su router por un FreedomBox.
Configurar FreedomBox en casa sobre un hardware específico o en tu ordenador con Debian podría requerir cierto conocimiento técnico o ayuda de la comunidad.
Documentación técnica relacionada:
FreedomBox proporciona servicios a ordenadores y dispositivos móviles en tu hogar, y a tus amistades. Esto incluye mensajería instantánea segura y audioconferencias de alta calidad con poco consumo de banda. FreedomBox te permite publicar tus contenidos en un blog y en un wiki para colaborar con el resto del mundo. Están previstos los servicios de servidor personal de correo electrónico y red social federada, para proporcionar alternativas a Gmail y Facebook que respeten la privacidad.
Se puede extender el espacio de almacenaje disponible para la FreedomBox conectando un disco duro externo. Esto permite a FreedomBox ejercer como biblioteca multimedia para tus fotos, música, y videos. Las carpetas se comparten en la red local con ordenadores y dispositivos móviles, y se pueden retransmitir los contenidos a dispositivos locales, como smart TVs.
FreedomBox se ejecuta en un ordenador físico y puede enrutar tu tráfico. Puede reemplazar a tu router inalámbrico de casa dando salida a internet a dispositivos variados como teléfonos móviles, ordenadores portátiles y televisores. Enrutando tráfico FreedomBox puede eliminar anuncios espía y malware web antes incluso de que alcancen tus dispositivos. FreedomBox puede ocultar tu localización y protejer tu anonimato enrutando tu tráfico por la red Tor. FreedomBox proporciona un servidor VPN que puedes emplear cuando estés lejos de casa para mantener secreto tu tráfico en redes inalámbricas públicas en las que no confíes y para acceder con seguridad a tus dispositivos de casa.
También lo puedes llevar contigo y tu portátil y usarlo para para habilitar sus servicios en redes públicas en la escuela o en la oficina. En el futuro, FreedomBox intentará dar soporte a medios alternativos de conexión a Internet, como redes Mesh.
El objetivo principal del diseño de FreedomBox es ser empleado como servidor personal en el hogar para uso por parte de una única familia y sus amistades. No obstante, en esencia es un software servidor que puede ayudar a un usuario no técnico a desplegar y mantener servicios con facilidad. El software se encarga automáticamente de muchas de las decisiones técnicas de administración del sistema, incluída la seguridad, reduciendo la complejidad para un usuario no técnico. Esta naturaleza de FreedomBox le hace apropiado para alojar servicios para comunidades pequeñas como aldeas o pequeñas empresas. Las comunidades pueden alojar sus propios servicios con un esfuerzo minimo usando FreedomBox. Pueden desplegar redes Wi-Fi que cubran toda el área de la comunidad y traer conexiones a Internet desde largas distancias. Los miembros de la comunidad pueden disfrutar conectividad a Internet, cobertura Wi-Fi omnipresente, servicios de VoIP, contenidos educativos y de entretenimiento offline, etc anteriormente no disponibles. También reforzará la privacidad individual de los miembros de la comunidad, reducirá su dependencia de servicios centralizados proporcionados por grandes compañías y les hará resistentes a la censura.
El libro electrónico libre FreedomBox for Communities describe la motivación y proporciona instrucciones detalladas para configurar FreedomBox para este caso de uso. Miembros del proyecto FreedomBox estan involucrados en desplegar redes Wi-Fi con conectividad gratuíta a Internet en la India rural. Este libro electrónico documenta su conocimiento y experiencias.
La charla Eben Moglen - Freedom in the cloud que impartió Eben Moglen antes del arranque del proyecto FreedomBox expone aspectos de la filosofía que hay detrás FreedomBox.
Primera demostración de FreedomBox en SFLC, Universidad de Columbia por Sunil Mohan Adapa.
La forma fácil es comprar un kit FreedomBox.
Alternativamente podrías optar por montarlo tu mismo reuniendo todas las piezas:
Un dispositivo soportado (incluyendo cualquier dispositivo que pueda funcionar con Debian). En el resto de este manual lo llamaremos la FreedomBox.
Un cable de alimentación para tu dispositivo.
Un cable de red Ethernet.
Una tarjeta microSD (o un medio de almacenamiento equivalente para tu dispositivo) preparado según las instrucciones de la página de Descargas.
Conecta un extremo del cable de red al puerto Ethernet de tu FreedomBox y el otro a tu router.
Enciende la FreedomBox.
Nota: En la mayoría de computadoras monoplaca no esperes un efecto de salida en un monitor si lo conectas por HDMI porque el núcleo (kernel) del sistema podría no reconocerlo. Mira más abajo para aprender cómo acceder y controlar tu FreedomBox desde la red.
En el primer arranque FreedomBox ejecutará su configuración inicial (las versiones más antiguas de FreedomBox se reinician tras este paso). Este proceso podría llevar varios minutos en algunas máquinas. Después de darle unos 10 minutos aproximadamente, sigue con el siguiente paso.
Después de que tu FreedomBox haya finalizado su configuración inicial puedes acceder a su interfaz web mediante tu navegador web.
Si tu ordenador está conectado directamente a tu FreedomBox a través de un segundo puerto Ethernet de la red local, puedes navegar a http://freedombox/ o a http://10.42.0.1/.
Si tu ordenador soporta mDNS (GNU/Linux, Mac OSX o Windows con software mDNS instalado), puedes navegar a: http://freedombox.local/ (o a http://<el-hostname-que-estableciste-durante-la-instalación>.local/)
Si te manejas con el interfaz web de tu router, puedes buscar allí la dirección IP de tu FreedomBox y navegar a ella.
Si no están disponibles ninguno de estos métodos necesitarás averiguar la dirección IP de tu FreedomBox. Puedes usar el programa "nmap" de tu ordenador para encontrar su dirección IP:
nmap -p 80 --open -sV 192.168.0.0/24 (remplaza la ip/máscara de red con la que use tu router)
En la mayoría de los casos puedes mirar tu dirección IP actual y cambiar los últimos dígitos por 0 para encontrar tu red local, así: XXX.XXX.XXX.0/24
Tu FreedomBox aparecerá como una dirección IP con un puerto TCP 80 abierto usando el servicio Apache httpd
sobre Debian. En el siguiente ejemplo estaría en http://192.168.0.165
:
Nmap scan report for 192.168.0.165 Host is up (0.00088s latency). PORT STATE SERVICE VERSION 80/tcp open http Apache httpd 2.4.17 ((Debian))
Si nmap no encuentra nada con el comando anterior puedes probar a remplazar 192.168.0.0/24
por 10.42.0.255/24
.
nmap -n -sP 10.42.0.255/24
El informe de escaneo mostrará algo similar a esto:
Nmap scan report for 10.42.0.1 Host is up (0.00027s latency). Nmap scan report for 10.42.0.50 Host is up (0.00044s latency).
En este ejemplo, la FreedomBox está en http://10.42.0.50
. (10.42.0.1
es mi ordenador.)
Al acceder al interfaz web de FreedomBox tu navegador te avisará de que comunica en modo seguro pero que considera invalido el certificado de seguridad. Tienes que aceptarlo porque el certificado es autogenerado en la FreedomBox y "autofirmado" (el navegador podría denominarlo "no confiable", "no privado", "error de privacidad" o "emisor/autoridad desconocida"). Decir a tu navegador que ya lo sabes podría implicar accionar algunos botones como "Entiendo los riesgos", "proceder ... (inseguro)" o "Añadir excepción". Después de la instalación este certificado se puede cambiar a otro normal usando la opción Let's Encrypt.
Si el nombre de dominio que usas tiene un certificado válido de una authoridad de certificación reconocida, como Let's Encrypt no podrás acceder al interfaz web. Por ello no se te ofrecerá la opción de continuar. Esto podría ocurrir, por ejemplo, si estás reinstalando tu FreedomBox o estás reutilizande de algón modo un nombre de dominio con un certificado asociado. Esto es normal, porque tu navegador recuerda haber visitado el sitio con el certificado oficial válido. En consecuancia el navegador no aceptará un certificado autofirmado y te verás bloqueado. Hay dos maneras de superar este obstáculo.
El primer método es acceder a tu FreedomBox por su dirección IP en vez de por el dominio. Así, en vez de usar algo como https://ejemplo.com usarías algo como https://198.51.100.2 (substituyendo tu priopia dirección IP).
El segundo método es crear un perfil nuevo en tu navegador y acceder a tu FreedomBox con él. El perfil nuevo no recordará ni el sitio ni el certificado. Una vez tu FreedomBox tenga su nuevo certificado Let's Encrypt puedes volver a usar el perfil antiguo en el navegador.
La primera vez que accedes al interfaz web de tu FreedomBox verás una página de bienvenida. Haz clic en el botón "Iniciar configuración" para continuar.
Si has instalado FreedomBox usando un paquete Debian se te pedirá una clave secreta. Esta clave se habrá generado durante la instalación del paquete Debian. Se puede leer en el archivo /var/lib/plinth/firstboot-wizard-secret
.
La siguiente página te pide un nombre de usuario y contraseña. Rellena el formulario y haz clic en "Crear Cuenta."
Nota: El usuario que creas aquí tendrá privilegios de Admin y también podrá entrar por SSH. Por mayor seguridad deberías emplear para tareas administrativas una cuenta diferente de la de uso habitual. Luego puedes añadir más usuarios, entre ellos el tuyo de uso habitual.
Tras completar el formulario estarás en el interfaz web de FreedomBox y podrás acceder a las apps y a la configuración mediante el interfaz web.
Ahora puedes probar cualquier App disponible en FreedomBox.
La página principal es la que verás al acceder a la raíz web de tu FreedomBox. También puedes acceder a ella haciendo clic sobre el logo de FreedomBox de la esquina de arriba a la izquierda del interfaz web de FreedomBox.
La página principal tiene accesos directos a las apps instaladas que estén habilitadas. Haciendo clic en los accesos directos de aplicaciones web te llevarán a la página web correspondiente de cada app. Si son otro tipo de servicios hacer clic en los accesos directos te mostrará información acerca de cada servicio.
Al Menú de Aplicaciones se accede por el icono de rejilla que está junto al logo de FreedomBox. Esta página lista todas las apps disponibles para instalar en tu FreedomBox. Haz click sobre el nombre de la app para visitar su página, desde la que podrás instalarla y configurarla.
Al Menú de Ayuda se accede por el icono del signo de interrogación de la esquina de arriba a la derecha. Incluye enlaces útiles y el manual de FreedomBox.
Al Menú del Sistema se accede por el icono del engranaje de la esquina de arriba a la izquierda. Incluye páginas relacionadas con la configuración del sistema.
En la esquina superior derecha se muestra el nombre del usuario actual. Un menú desplegable incluye opciones para editar el perfil del usuario o sacarle del interfaz web.
El interfaz web de FreedomBox's es autoadaptativo. En pantallas o ventanas de navegador estrechas las opciones del menú podrían estar ocultas.
Esto se debe a que las opciones del menú han colapsado en el icono de hamburguesa mostrado en la esquina superior derecha de la ventana. Haz clic en él para desplegar el menú.
La comunidad FreedomBox proporciona ayuda en vivo a través de foros, chat y correo electrónico. Contacta y pregunta lo que quieras. Si recibes ayuda, considera por favor informar de tu solución en la página Preguntas y Respuestas para que otros puedan beneficiarse en el futuro.
La forma más fácil de obtener soporte es usando el foro de debate. Puedes hojear soluciones a problemas conocidos o pedir ayuda a los contribuyentes de la comunidad preguntando. Esta es también la mejor manera de aportar a los contribuyentes de la comunidad información acerca de tu experiencia con FreedomBox.
Para publicar contenido nuevo necesitarás registrarte con un nombre y una dirección de correo electrónico (pero puedes usar un pseudonimo y una dirección secundaria). Habilitando el 'modo lista de correo' ('mailing list mode') en las preferencias de tu cuenta, puedes interactuar con el foro simplemente enviando y recibiendo correos electrónicos como en una lista de correo.
Puedes unirte a la sala Matrix #freedombox:matrix.org. La sala está federada con el canal IRC y recuerda la historia del chat. Si aún no tienes un cliente instalado puedes usar tu navegador web para unirte. Para más opciones, visita la página de introducción al cliente matrix.
Si te manejas con IRC (Internet Relay Chat) y sus clientes puedes obtener ayuda en línea instantánea de la comunidad en el canal #freedombox de irc.debian.org. Quizá pase un tiempo antes de que algún miembro te responda. Sé paciente. Ya llegará alguna respuesta.
Se puede acceder a los usuarios y contribuyentes de FreedomBox mediante e-mail con la lista de correo. Para formular preguntas y recibir respuestas de la comunidad por favor regístrate en la página de la lista de correo dando tu dirección de correo electrónico y creando una contraseña. También puedes leer los hilos archivados. Esta lista reune a cerca de 700 lectores.
Una vez tengas tu solución, no olvides añadirla a la página de Preguntas y Respuestas. Cuéntanos las funcionalidades que empleas de FeedomBox en la página de Casos de Uso. Podría ayudar a otros a usar FreedomBox de modos que no hayan imaginado.
Bienvenido a la página de descargas de FreedomBox.
Nota: Si has comprado un kit FreedomBox esta sección no está pensada para tí, así que puedes simplemente saltártela entera. (A no ser que quieras específicamente compilarte una imagen alternativa del software).
Puedes instalar FreedomBox sobre alguno de los baratos dispositivos hardware soportados, sobre cualquier sistema operativo Debian Linux, o sobre una máquina virtual.
Instalar en una máquina que lleve el sistema Debian es fácil porque FreedomBox está disponble como paquete. Recomendamos instalar FreedomBox sobre una placa SBC soportada. La placa estaría dedicada al uso de FreedomBox en el hogar. Esto evitará un montón de riesgos, como configuraciones accidentalmente incorectas por el usuario. En caso de duda decidiendo qué hardware es el más apropiado para tí o durante la instalación, usa por favor la página de soporte o lee la página de Preguntas y Respuestas basada en los archivos de la lista de correo Freedombox-discuss.
Si estás instalando sobre un sistema Debian existente no necesitas descargar las imágenes. Lee las instrucciones para configurar FreedomBox en Debian.
Lee las instrucciones específicas para tu hardware respecto a como preparar tu dispositivo en la sección Hardware. En la web hay abundante documentación respecto a como configurar tu dispositivo y grabar USB's o tarjetas SD para arrancar tu hardware.
Las imágenes recientes para hardware soportado están disponibles aquí:
Imágenes Oficiales: https://freedombox.org/download/
Imágenes Oficiales: https://ftp.freedombox.org/pub/freedombox/
Es importante verificar las imágenes que has descargado para asegurar que el fichero no se ha corrompido durante la transmisión y que efectívamente es la imagen construída por los desarrolladores de FreedomBox.
Nota: Las imágenes de prueba y nocturnas las firma el servidor de integración contínua de FreedomBox automaticamente.
Primero abre un terminal e importa las claves publicas de los desarrolladores de FreedomBox que construyeron las imágenes:
$ gpg --keyserver keyserver.ubuntu.com --recv-keys BCBEBD57A11F70B23782BC5736C361440C9BC971 $ gpg --keyserver keyserver.ubuntu.com --recv-keys 7D6ADB750F91085589484BE677C0C75E7B650808 # Esta es la clave del servidor de integración contínua de FreedomBox $ gpg --keyserver keyserver.ubuntu.com --recv-keys 013D86D8BA32EAB4A6691BF85D4153D6FE188FC8 # Esta es la clave del uevo servidor de integración contínua de FreedomBox $ gpg --keyserver keyserver.ubuntu.com --recv-keys D4B069124FCF43AA1FCD7FBC2ACFC1E15AF82D8C
A continuación, verifica la huella de las claves públicas:
$ gpg --fingerprint BCBEBD57A11F70B23782BC5736C361440C9BC971 pub 4096R/0C9BC971 2011-11-12 Key fingerprint = BCBE BD57 A11F 70B2 3782 BC57 36C3 6144 0C9B C971 uid Sunil Mohan Adapa <sunil@medhas.org> sub 4096R/4C1D4B57 2011-11-12 $ gpg --fingerprint 7D6ADB750F91085589484BE677C0C75E7B650808 pub 4096R/7B650808 2015-06-07 [expires: 2020-06-05] Key fingerprint = 7D6A DB75 0F91 0855 8948 4BE6 77C0 C75E 7B65 0808 uid James Valleroy <jvalleroy@mailbox.org> uid James Valleroy <jvalleroy@freedombox.org> sub 4096R/25D22BF4 2015-06-07 [expires: 2020-06-05] sub 4096R/DDA11207 2015-07-03 [expires: 2020-07-01] sub 2048R/2A624357 2015-12-22 $ gpg --fingerprint 013D86D8BA32EAB4A6691BF85D4153D6FE188FC8 pub rsa4096 2018-06-06 [SC] 013D 86D8 BA32 EAB4 A669 1BF8 5D41 53D6 FE18 8FC8 uid [ unknown] FreedomBox CI (Continuous Integration server) <admin@freedombox.org> sub rsa4096 2018-06-06 [E] $ gpg --fingerprint D4B069124FCF43AA1FCD7FBC2ACFC1E15AF82D8C pub rsa4096 2022-03-09 [SC] D4B0 6912 4FCF 43AA 1FCD 7FBC 2ACF C1E1 5AF8 2D8C uid [ unknown] FreedomBox CI (Continuous Integration server) <admin@freedombox.org> sub rsa4096 2022-03-09 [E]
Finalmente, verifica tu imágen descargada con su archivo de firma .sig
. Por ejemplo:
$ $ gpg --verify freedombox-bookworm_all-amd64.img.xz.sig gpg: assuming signed data in 'freedombox-bookworm_all-amd64.img.xz' gpg: Signature made Wed 14 Jun 2023 03:22:04 PM PDT gpg: using RSA key D4B069124FCF43AA1FCD7FBC2ACFC1E15AF82D8C gpg: Good signature from "FreedomBox CI (Continuous Integration server) <admin@freedombox.org>" [unknown] gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: D4B0 6912 4FCF 43AA 1FCD 7FBC 2ACF C1E1 5AF8 2D8C
Tras la descarga puedes emplear la imágen para arrancar tu hardware (incluyendo máquinas virtuales). Necesitarás copiar la imágen a la tarjeta de memoria o pincho USB así:
Averigua en qué dispositivo está tu tarjeta.
Desconecta tu tarjeta (Sácala de la ranura).
Ejecuta dmesg -w
mara mostrar y seguir los mensajes del núcleo (kernel).
Conecta tu tarjeta (insértala en su ranura). Verás mensajes como estos:
[33299.023096] usb 4-6: new high-speed USB device number 12 using ehci-pci [33299.157160] usb 4-6: New USB device found, idVendor=058f, idProduct=6361 [33299.157162] usb 4-6: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [33299.157164] usb 4-6: Product: Mass Storage Device [33299.157165] usb 4-6: Manufacturer: Generic [33299.157167] usb 4-6: SerialNumber: XXXXXXXXXXXX [33299.157452] usb-storage 4-6:1.0: USB Mass Storage device detected [33299.157683] scsi host13: usb-storage 4-6:1.0 [33300.155626] scsi 13:0:0:0: Direct-Access Generic- Compact Flash 1.01 PQ: 0 ANSI: 0 [33300.156223] scsi 13:0:0:1: Direct-Access Multiple Flash Reader 1.05 PQ: 0 ANSI: 0 [33300.157059] sd 13:0:0:0: Attached scsi generic sg4 type 0 [33300.157462] sd 13:0:0:1: Attached scsi generic sg5 type 0 [33300.462115] sd 13:0:0:1: [sdg] 30367744 512-byte logical blocks: (15.5 GB/14.4 GiB) [33300.464144] sd 13:0:0:1: [sdg] Write Protect is off [33300.464159] sd 13:0:0:1: [sdg] Mode Sense: 03 00 00 00 [33300.465896] sd 13:0:0:1: [sdg] No Caching mode page found [33300.465912] sd 13:0:0:1: [sdg] Assuming drive cache: write through [33300.470489] sd 13:0:0:0: [sdf] Attached SCSI removable disk [33300.479493] sdg: sdg1 [33300.483566] sd 13:0:0:1: [sdg] Attached SCSI removable disk
En este caso, el disco insertado recientemente está disponible en /dev/sdg. Toma nota con mucho cuidado para emplearla en el paso de copia más adelante.
Descomprime la descarga usando tar:
$ xz -d freedombox-stable-free_buster_cubietruck-armhf.img.xz
El comando de arriba es un ejemplo para la imagen estable para cubietruck. El nombre de archivo de tu descarga será diferente.
Copia la imágen a tu tarjeta. Asegúrate de que NO escribes sobre el almacenamiento principal de tu ordenador (como /dev/sda). Asegúrate
también de que NO ejecutas este paso como root para evitar sobreescribir datos en tu disco duro por una identificación errónea del dispositivo o fallos al teclear el comando. No habitual es que los usuarios normales tuvieran acceso de escritura sobre los discos USB y tarjetas SD pinchados en el sistema. Si no tienes permiso para escribir en tu tarjeta SD como usuario normal quizá necesites ejecutar éste comando como root. En tal caso comprueba y recomprueba todo antes de ejecutar el comando. Otra precaución de seguridad es desconectar todos los demás discos externos excepto la tarjeta SD antes de ejecutar el comando.
Por ejemplo, si tu tarjeta SD es /dev/sdg, como en el paso anterior, para copiar la imágen, ejecuta:
$ dd bs=1M if=freedombox-stable-free_buster_cubietruck-armhf.img of=/dev/sdg conv=fdatasync status=progress
Un comando alternativo para copiar a la tarjeta SD:
$ cat freedombox-unstable-free_2015-12-13_cubietruck-armhf.img > /dev/sdg ; sync
En MS Windows necesitarás una herramienta como etcher. En MacOS (OSX) puedes usar programas como balenaetcher y rosaimagewriter.
El comando anterior es un ejemplo para la imagen estable para cubietruck. El nombre del archivo de tu imágen será diferente.
Al identificar el dispositivo, usa el destino con letra de unidad como /dev/sdg, NO un destino numerado como /dev/sdg1. El dispositivo sin número refiere al dispositivo completo, mientras que el numerado refiere a una partición concreta. Queremos usar todo el dispositivo. Las imágenes descargadas contienen información completa acerca de cuantas particiones debería haber, sus tamaños y tipos. No necesitas formatear tu tarjeta SD ni crear particiones. Todo el contenido previo de la tarjeta será eliminado durante el proceso de escritura.
Usa la imágen insertando la tarjeta SD o disco USB en el dispositivo de destino y arrancándolo. Tu dispositivo también debe estár preparado (ver la sección Hardware).
Lee (el resto de) el Manual para obtener instrucciones acerca de como usar las aplicaciones de FreedomBox.
FreedomBox es 100% software libre y puedes obtener el código fuente para estudiarlo, modificarlo y distribuir mejoras.
FreedomBox se compone de diferentes programas de software y puedes obtener el código fuente de cualquiera de ellos. Estas instrucciones son similares a obtener y construír código fuente de Debian ya que FreedomBox es una variante pura de Debian. Usando este procedimiento puedes obtener el código fuente de la misma versión del paquete que estás usando actualmene en FreedomBox.
Para ver la lista de paquetes software instalados en tu FreedomBox, ejecuta lo siguiente en un terminal:
dpkg -l
Para obtener el código fuente de cualquiera de esos programas ejecuta:
apt source <nombre_del_paquete>
Esto requiere que el archivo /etc/apt/sources/list contenga información acerca de los repositorios de código fuente. Esto es así por defecto en todas las imágenes FreedomBox. Pero si has instalado FreedomBox desde Debian necesitas asegurarte de que los repositorios de código fuente figuren en este archivo.
Para construir el paquete desde su código fuente, primero instala sus dependencias
apt build-dep <nombre_del_paquete>
Cambia al directorio fuente creado con el comando apt source:
cd <directorio_fuente>
Y construye el paquete
dpkg-buildpackage -rfakeroot -uc
Instala el paquete:
dpkg -i ../<paquete_construído>.deb
El código fuente de cualquier paquete se puede ver y buscar usando el interfaz web de sources.debian.org. Por ejemplo, mira el paquete plinth.
El código fuente y el binario precompilado de cualquier version de un paquete, incluyendo versiones antigüas, se pueden obtener de snapshot.debian.org. Por ejemplo, mira el paquete plinth.
También puedes obtener los enlaces a la web del proyecto original, al control de versiones del proyecto original, al control de versiones de Debian, registro de cambios, etc. desde la página de control Debian para el proyecto en tracker.debian.org. Por ejemplo, mira la página de control para el paquete plinth.
Puedes compilar e instalar un paquete desde el control de versiones de Debian. Por ejemplo,
git clone https://salsa.debian.org/freedombox-team/freedombox.git cd freedombox apt build-dep . dpkg-buildpackage -rfakeroot -uc dpkg -i ../freedombox*.deb
También puedes construír imágenes de disco FreedomBox para varias platformas de hardware usando la herramienta freedom-maker. Esta también está disponible como paquete Debian y su código fuente se puede obtener empleando los métodos anteriores. Hay disponibles Instrucciones de Construcción para generar imágenes de disco incluídas en el código fuente del paquete freedom-maker.
Las imágenes de disco de FreedomBox se construyen y suben a los servidores oficiales empleando la infraestructura de integración contínua automatizada. Esta infraestructura está disponible también como código fuente y proporciona información precisa acerca de como se contruyen las imágenes de FreedomBox.
Hay una excepción menor en el paquete u-boot que viene con el hardware que se vende como Kits de Servidor Doméstico FreedomBox Pioneer Edition. Contiene un parche pequeño pero importante que no está en el código fuente de Debian. Tanto el repositorio fuente de Debian u-boot como el parche de FreedomBox están disponibles como un repositorio aparte. Esperamos que en algún momento este parche esté integrado en u-boot de serie y este repositorio ya no sea necesario. Este paquete se puede compilar en una máquina Debian armhf como sigue (también se puede hacer compilación cruzada, simplemente sigue las instrucciones para compilación cruzada de paquetes Debian):
apt install git git-buildpackage git clone https://salsa.debian.org/freedombox-team/u-boot.git cd u-boot pbuilder create --distribution=buster gbp buildpackage --git-pbuilder
El paquete u-boot Debian estará en u-boot-sunxi*.deb. Este paquete contendrá
mkdir temp dpkg -x u-boot-suxi*.deb temp unxz <lime2_image_built_with_freedom_maker> dd if=temp/usr/lib/u-boot/A20-OLinuXino-Lime2/u-boot-sunxi-with-spl.bin of=<lime2.img> seek=8 bs=1k conv=notrunc
La imagen resultante tendrá el u-boot modificado.
Add entries here sorted after the level 2 heading inside the page to keep the list alphabetically sorted
|
Disponible desde: versión 20.14
bepasty es una aplicación web que permite cargar y compartir archivos grandes. También se pueden cargar y compartir recortes de texto y código. Los textos, imágenes, audio, video y documentos PDF se pueden previsualizar en el navegador. Se puede asignar una caducidad a los archivos.
bepasty solo usa contraseñas (sin usuarios) para controlar el acceso. El usuario tendrá permisos diferentes dependiendo de la contraseña empleada para ingresar a bepasty. Podría tener cualquier combinación de los siguentes permisos:
read: Leer un archivo, si conoce la URL.
list: Listar todos los archivos.
create: Pegar o cargar un archivo nuevo.
delete: Eliminar un archivo.
admin: Bloquear y desbloquear archivos.
Tras instalar bepasty viene pre-configurado con los siguientes roles:
Viewer: puede ver y listar archivos.
Editor: puede ver, listar, crear y eliminar archivos.
Administrator: tiene todos los permisos
Estos roles dan soporte a un caso de uso de compartición de archivos entre usuarios authorizados y conocidos. Si lo necesitas puedes reconfigurar bepasty para otros roles y casos de uso.
Por omisión, la configuración de Acceso Público está puesta a None, de modo que se requiere contraseña para cada uso de bepasty. Esto implica que necesitarás distribuir las contraseñas a los usuarios mediante cualquier canal de comunicación del que dispongas.
Observa que quizá quieras crear múltiples contraseñas con los mismos permisos de modo que puedas distribuir una contraseña única a cada usuario (o grupo de usuarios) y si necesitas revocar acceso a un usuario puedas símplemente borrar su contraseña sin afectar a los demás usuarios.
Tras ingresar a bepasty, si tienes el permiso Create verás una caja grande de texto en la que podrás pegar cualquier texto. Opcionalmente puedes proporcionar un nombre de fichero o tipo de contenido (Content-Type) para los datos. Tras pulsar Submit se crea el fichero.
Puedes también arrastrar archivos al area de abajo. Se cargan inmediatamente al soltarlos en este área. También puedes crear una lista para controlar la colección de archivos cargados.
En ambos casos puedes establecer una caducidad y cuando expire se eliminará el archivo.
Si tienes el permiso List verás un enlace List all Items en la zona superior de la página. Esto mostrará todos los archivos creados o cargados.
Si tienes el permiso Delete o Admin verás acciones junto a cada archivo en la página de la lista.
Si sólo tienes el permiso Read para leer los archivos necesitarás tento una contraseña como una o más URLs de archivos existentes.
La página de configuración de bepasty en el interfaz de FreedomBox te permite crear contraseñas nuevas, o eliminar alguna. Al crear una contraseña puedes elegir cualquier combinación de permisos descritos anteriormente. Observa que un administrador típico debiera tener todos los permisos (no solo "Admin").
También puedes establecer un comentario. Se recomienda. Y deberías usarlo para ayudarte a recordar el propósito de la contraseña o quién la va a usar.
Puedes configurar también el Acceso Público, que establece los permisos disponibles por omisión incluso sin ingresar con contraseña. Puedes establecer esto para permitir leer archivos por su URL, o leer y listar todos los archivos.
Proyecto original: https://github.com/bepasty
Documentación de uso: https://bepasty-server.readthedocs.io/en/latest/user.html
|
Disponible desde: versión 20.15
Calibre es una solución para administrar libros electrónicos. Puedes organizar tus libros en "bibliotecas". Calibre puede cambiar a la mayoría de formatos habituales de libro electrónico. También administra metadatos como portadas, descripciones, autores, editoriales, etc.
Trasladar tu biblioteca desde el escritorio a FreedomBox te permite acceder a tus libros desde cualquier dispositivo de la red local o desde Internet.
Sólo los usuarios del grupo calibre tienen acceso a las bibliotecas. Puedes asignar usuarios a este grupo mediante la aplicación del sistema Usuarios y grupos.
Quizá ya estés familiarizado con el lector de libros para escritorio que viene con Calibre. El servidor Calibre que se instala en tu FreedomBox viene con un lector web con aspecto similar, lo que te permite leer tus libros desde cualquier dispositivo con navegador web.
Tras la instalación, estará disponible una biblioteca inicial "Library". El administrador de FreedomBox puede añadir o eliminar cualquier biblioteca incluyendo la inicial desde los ajustes de la app en el interfaz web de FreedomBox.
Tras la instalación se puede acceder a Calibre mediante el cliente web en https://<mi_freedombox>/calibre
.
Sitio web: https://calibre-ebook.com
Manual de usuario: https://calibre-ebook.com/help
|
Disponible desde: versión 20.8
Coturn es un servidor para facilitar llamadas y conferencias de audio/video proporcionando una implementación de los protocolos TURN y STUN. Los servidores de comunicación por WebRTC, SIP y otros pueden usarlo para establecer una llamada entre partes que de otro modo no podrían conectarse entre si.
No está pensado para que lo usen diréctamente los usuarios. Los servidores como Matrix Synapse necesitan configurarse con los datos proporcionados en la página de app de Coturn. Además de Matrix Synapse, Jitsi, Ejabberd, Nextcloud Talk, etc. pueden usar el servidor Coturn para llamadas y conferencias de audio/video. No hace falta que los servidores se ejecuten en la misma máquina que FreedomBox. Los servidores externos pueden usar un Coturn ejecutado en FreedomBox.
Coturn está configurada en FreedomBox como app avanzada. Esto implica que para ver el icono de Coturn en la sección "Apps" necesitas marcar en "Mostrar apps y funcionalidades avanzadas" en "Configuración General".
Al hacer una llamada de audio/video lo mejor es enrutar los flujos multimedia directamente entre los pares porque minimiza la latencia (mejor calidad de señal) y evita depender de un servidor centralizado (privacidad). Esto escala bien porque un servidor de chat simple puede albergar miles de llamadas sin involucrarse de ningún otro modo que para establecer la llamada. Sin embargo este enfoque no suele funcionar la mayoría de las veces por cómo se configuran las redes. La mayoría de los pares de la red carecen de una dirección IP propia reservada para ellos y suelen operar detrás de un dispositivo de red que les traduce las direcciones de red (NAT: "Network Address Translation"). Esto significa que en realidad estos pares no tienen modo de alcanzarse entre sí directamente.
Para abordar este problema se introdujo una técnica simple conocida como STUN. Con ayuda de un servidor STUN los pares pueden prescindir de los dispositivos NAT para transmitir entre ellos. Desafortunadamente este truco solo funciona un 80% de las ocasiones. Así que si STUN falla, los pares no tienen más opción que enrutar su comunicación a través de un intermediario llamado servidor TURN. Todo el mecanismo de intentar primero con STUN y recaer en TURN se describe en un protocolo llamado ICE.
En FreedomBox, Coturn proporciona servidores STUN y TURN. Ambos servicios se proporcionan tanto sobre TCP como sobre UDP y tanto en canales cifrados (que tienen mayor probabilidad de éxito) como sin cifrar. Como los servidores STUN son baratos y no consumen muchos recursos no se necesita autenticación para usarlos. Por otra parte los servidores TURN sí la necesitan. Esta autenticación está altamente simplificada y no requiere mantener una base de datos de usuarios. Un servidor como matrix-synapse que vaya a establecer una llamada de audio/video entre dos pares generará un nombre de usuario y contraseña empleando un secreto compartido. Cuando los pares usen el servidor TURN se les validará usando estas credenciales porque el servidor TURN conoce este secreto.
En resumen, un servidor de comunicaciones necesita saber las URLs de los servidores STUN/TURN junto con el secreto de autenticación para TURN. Después, durante el establecimiento de la llamada de audio/video guiarán a los pares a usar los servidores STUN/TURN. La app Coturn de FreedomBox proporciona exactamente ésta información, que se puede usar para configurar un servidor de comunicaciones independientemente de que se ejecute en la misma máquina que FreedomBox o en otro servidor.
Para configurar Matrix Synapse para que use el servidor de TURN/STUN Coturn tienes que marcar "Gestionar automáticamente el establecimiento de llamadas de audio/video" en la sección de configuración de Matrix Synapse y a continuación clicar en "Actualizar configuración".
Si tu FreedomBox está detrás de un router, necesitarás configurar la redirección de los siguientes puertos para Coturn:
UDP 3478
TCP 3478
UDP 3479
TCP 3479
UDP 5349
TCP 5349
UDP 5350
TCP 5350
UDP 49152-50175
TCP 49152-50175
Proyecto original: https://github.com/coturn/coturn
Wiki de Coturn (quizá esté anticuado): https://github.com/coturn/coturn/wiki/
|
Disponible desde: versión 0.5
Deluge es un nodo (servidor y cliente, ambos a la vez) BitTorrent.
BitTorrent es un protocolo de comunicaciones para compartir ficheros entre pares (P2P = peer-to-peer).
No es anónimo; debes asumir que otros puedan ver qué ficheros estás compartiendo.
Este protocolo destaca compartiendo ficheros grandes y populares.
Hay 2 nodos web para BitTorrent disponibles en FreedomBox: Transmission y Deluge. Tienen funcionalidades similares pero quizá prefieras uno sobre otro.
Deluge es un cliente BitTorrent altamente configurable. Se puede añadir funcionalidad adicional instalando extensiones (plugins).
Tras instalar Deluge se puede acceder apuntando tu navegador a https://<tu freedombox>/deluge
. Necesitarás introducir una contraseña para ingresar:
La contraseña inicial es deluge
. La primera vez que ingreses Deluge te preguntará si quieres cambiarla. Debes cambiarla por algo más dificil de adivinar.
A continuación se te mostrará el administrador de conexiones. Haz clic sobre la primera entrada (Offline - 127.0.0.1:58846). Luego pulsa "Arrancar el Demonio" para que arranque el servicio Deluge service que se ejecutará en segundo plano.
Ahora debería poner "Online". Haz clic en "Conectar" para completar la configuración.
En este punto ya estás usando Deluge. Puedes hacer más cambios en las Preferencias o añadir un fichero o una URL de torrent.
Proyectos originales:
Deluge: https://www.deluge-torrent.org
BitTorrent: https://www.bittorrent.org
Documentación de uso: https://dev.deluge-torrent.org/wiki/UserGuide
Descripciones del protocolo:
Del proyecto original: https://www.bittorrent.org/introduction.html
De Wikipedia: https://es.wikipedia.org/wiki/BitTorrent
|
Disponble desde: versión 0.3
Ejabberd es un servidor de conversaciones (chat) que usa el protocolo Extensible Messaging and Presence Protocol (XMPP).
XMPP es un protocolo cliente-servidor federado para Mensajería Instantánea. Esto significa que los usuarios que tengan cuenta en un servidor XMPP pueden conversar con los usuarios que estén en el mismo u otros servidores XMPP.
XMPP se puede usar también para llamadas de voz y vídeo si los clientes las soportan.
Actualmente FreedomBox ofrece ambas partes desde su interfaz web: un servidor (ejabberd) y un cliente web (JSXC).
Con XMPP las conversaciones se pueden securizar de 2 maneras:
TLS: Esto securiza la conexión entre el cliente y el servidor o entre 2 servidores. Esto está altamente recomendado y ya debería estar soportado por todos los clientes.
Punto a punto: Esto securiza los mensajes enviados entre los clientes de modo que ni siquiera el servidor pueda ver los contenidos. El último protocolo y también el más cómodo se llama OMEMO. Algunos clientes que no soportan OMEMO podrían soportar otro protocolo llamado OTR. Para que funcione ambos clientes tienen que ser compatibles con el mismo protocolo.
Para que funcione XMPP tu FreedomBox necesita tener Nombre de Dominio accesible desde la red.
Si sólo necesitas que los usuarios de tu red local (LAN) conversen entre sí, puedes inventarte un nombre de dominio. Pero si quieres que participen usuarios de internet en tus salas necesitas un nombre de dominio público. Puedes leer acerca de la obtención de un Nombre de Dominio en la sección DNS Dinámico de este manual.
Una vez tengas ya tu Nombre de Dominio puedes decirle a tu FreedomBox que lo use dándolo de alta en la configuración del sistema.
Nota: Tras cambiar tu Nombre de Dominio la página del servidor (XMPP) de mensajería instantánea podría mostrar que el servicio no está funcionando. En un minuto más o menos se actualizará y lo volverá a mostrar operativo.
Ten en cuenta que de momento PageKite no soporta el protocolo XMPP.
Actualmente todos los usuarios creados con FreedomBox podrán ingresar al servidor XMPP. Puedes añadir usuarios nuevos con el módulo Usuarios y Grupos del Sistema. Los grupos seleccionados para el usuario nuevo no importan.
Si tu FreedomBox está detrás de un router tendrás que configurar en él la redirección de puertos. Redirije los siguientes puertos de XMPP:
TCP 5222 (cliente-a-servidor)
TCP 5269 (servidor-a-servidor)
FreedomBox proporciona un cliente web: JSXC.
Hay clientes XMPP disponibles para varias plataformas de escritorio y móviles. FreedomBox enlaza a las fuentes de descarga de algunos. Eres libre de incluir más aquí (requiere registro libre). Nosotros lo notaremos y quizá lo listemos en FreedomBox.
Para máxima facilidad FreedomBox proporciona un cliente web: JSXC. Tus usuarios no necesitan instalarse software adicional por su parte. Podrán simplemente usar el navegador. Esta es la opción habitual para usuarios nuevos y eventuales.
Puedes descargar uno de los cliente XMPP para tu smartphone o tableta listados a continuación.
Conversations es un cliente XMPP para Android con soporte de llamadas de audio y/o video disponible en F-Droid o en la Play Store. Las llamadas de audio y video funcionan entre Conversations y Monal sobre iOS. Además de para mensajería de texto puedes usar Conversations para enviar imágenes y/o ficheros y tener conversaciones grupales.
|
De izquierda a derecha: (1) Primera pantalla - (2) Pantalla de acceso - (3) Añadir contactos.
All abrir Conversations por primera vez se te preguntará si quieres crear una cuenta nueva o si quieres usar una que tengas. Selecciona "Ya tengo una cuenta" (1).
Con ejabberd instalado FreedomBox proporciona una cuenta XMPP a cada usuario. Se pueden crear usuarios (no-administradores) FreedomBox en Sistema -> Usuarios y Grupos.
Una vez ingresado en tu cuenta Freedombox/XMPP la app Conversations proporciona un botón + que ofrece varias opciones para contactar a otra gente (3).
Monal es un cliente XMPP libre con soporte a videollamadas disponible en App Store. Las llamadas de audio y video funcionan entre Conversations sobre Android y Monal. Además de para mensajería de texto puedes usar Monal para enviar imágenes y/o ficheros y tener conversaciones grupales.
Siskin es un cliente XMPP libre con soporte a videollamadas disponible en App Store.
Gajim es un cliente libre de XMPP en el escritorio para Windows, MacOS y Linux. Esta aplicación está disponible en Debian, y para otros sistemas operativos puedes descargarla desde esta página y encontrar instrucciones para instalarla.
|
De izquierda a derecha: (1) Primera pantalla - (2) Pantalla de acceso - (3) Pantalla principal.
Al arrancar Gajim por primera vez aparece un diálogo (1) pidiendo ingresar a tu cuenta XMPP (FreedomBox) o registrar una nueva. Al elegir ingresar, tras hacer clic en "Siguiente" se te pide tu Jabber ID y contraseña (2): aquí tienes que introducir tu cuenta en FreedomBox y su contraseña.
Finallmente, tras ingresar con éxito verás la pantalla principal de Gajim (3). Desde aquí puedes añadir contactos (Cuenta > Añadir contacto...) e iniciar conversaciones (Gajim > Empezar conversación).
Dino es un cliente libre para XMPP en el escritorio. Está disponible en https://github.com/dino/dino/wiki/Distribution-Packages.
|
De izquierda a derecha: (1) Primera pantalla - (2) Pantalla de acceso - (3) Comenzar una conversación
Tras la instalación, al abrir Dino por primera vez haz clic en el botón Configurar cuenta
. Se te pedirá tu JID
: es tu usuario en FreedomBox. Introdúcelo y haz clic en Seguir
(2). O puedes hacer clic en Crear cuenta
si no tienes usuario en FreedomBox.
Una vez ingreses podrás comenzar una conversación con algún contacto XMPP o unirte a un canal (3).
Movim es un cliente XMPP libre para Linux con soporte a videollamadas. El proyecto proporciona un paquete Debian extraoficial.
Monal es un cliente XMPP libre con soporte a llamadas de audio y/o video disponible en Mac App Store.
Sitio web: https://www.ejabberd.im
Documentación de uso: https://docs.ejabberd.im
FreedomBox recomienda algunas aplicaciones cliente. Selecciona su icono en la página de Aplicaciones y haz clic en el botón> Aplicaciones Cliente.
Sitio web: https://xmpp.org
Resumen en Wikipedia: https://en.wikipedia.org/wiki/XMPP
Disponible desde: 22.6
FreedomBox proporciona una solución completa para servir correo electrónico empleando Postfix, Dovecot, y Rspamd. Postfix envía y recibe correo. Dovecot permite a los clientes de correo acceder a tu buzón empleando los protocolos IMAP y POP3. Rspamd trata el correo indeseado. Esta solución ofrece las siguientes funcionalidades:
Enviar y recibir correo electrónico
Interoperar con otros servidores de correo electrónico
Evitar mediante SPF que otros suplanten tu dirección de correo
Firmar todo to correo saliente mediante DKIM
Recibir informes de intentos de suplantación mediante DMARC
Acceder al correo fácilmente
Acceder al correo desde cualquier dispositivo mediante el lector de correo web Roundcube
Configurar clientes de correo sólo con introducir una dirección de correo electrónico y una contraseña
Autoconfiguración con clientes que usen el esquema autoconf, como Thunderbird
Autoconfiguración con clientes que usen el esquema DNS
Guardar los mensajes en el servidor y acceder a ellos con múltiples clientes mediante IMAP
Descargar los mensajes a un dispositivo local mediante POP3
Direcciones de correo electrónico para todos tus usuarios
Cada usuario registrado en tu FreedomBox automaticamente obtiene una dirección de correo del tipo usuario@mi.dominio
Cada usuario registrado obtiene psedónimos ilimitados automaticamente. usuario+proposito@mi.dominio apunta a usuario@mi.dominio
Los usuarios pueden añadir pseudónimos por sí mismos. fulano@mi.dominio puede apuntar a usuario@mi.dominio
Muchos pseudónimos habituales como info@mi.dominio y postmaster@mi.dominio apuntan a la dirección de correo del administrador.
Filtrar mensajes en el servidor empleando filtros sieve
Configurar contestadores automáticos (por ejemplo, para vacaciones) que funcionan aunque no estés usando tu cliente de correo
Reenviar a direcciones externas/internas, guardar ficheros en carpetas, eliminar, etc.
Administrar filtros en el servidor desde clientes de correo (por ejemplo, Thunderbird con la extensión sieve)
Configuración automatica de certificados TLS obtenidos de Let's Encrypt
Todos los servicios (SMTP, IMAP, POP3 y manageseive
) vienen configurados para usar TLS/STARTTLS
Los certificados se renuevan aproximadamente cada trimestre
Con cada renovación, se instalan los certificados y se reinician los servicios
Copias de respaldo y restauración de correos, pseudónimos y configuración
Agendar respaldos periódicos
Escanear correo entrante buscando correo indeseado
Comprueba el mensaje contra varias listas negras
Mueve el correo indeseado a la carpeta de basura (Junk)
Marca el mensaje cuando la puntuación de indeseado alcanza un umbral
Rechaza el mensaje a la recepción cuando la puntuación de indeseado alcanza un umbral más alto
Entiende decisiones respecto al correo indeseado mediante cabeceras extendidas añadidas al mensaje
Ver detalles del procesamiento de correo indeseado y administrar ajustes mediante la interfaz web de Rspamd
Los administradores pueden ingresar a la interfaz web para correo indeseado mediante el ingreso único de FreedomBox
Enseñar a distinguir correo indeseado mediante mensajes de ejemplo
Deber poseer un dominio donde configurar registros DNS avanzados (MX, TXT y SRV). Se puede obtener un dominio alquilándolo a un registro o pagando a un proveedor de servicio de DNS dinámico (como freedns.afraid.org
). De momento los subdominios gratuitos que proporciona el servicio de DNS dinámico de la FreedomBox Foundation en ddns.freedombox.org
no sirven. Hay planes a futuro para soportarlos.
Tu ISP o proveedor de nube debe permitir el tráfico de tu conexión a internet hacia servidores de correo externos. No pocos bloquean el tráfico saliente por el puerto 25. Esto impedirá al servidor enviar correos a direcciones externas. Muchos de estos proveedores te permiten solicitar que se desactive esta restricción. Para probar si esto es un problema en tu conexión a internet ejecuta la siguiente orden (deberías ver algo así):
usuario@miservidor:~$ nc freedombox.org 25 220 mx.sflc.info ESMTP Postfix (Debian/GNU) ^C
Ve al menú Apps.
Si ya está instalado, se mostrará el Servidor de Correo encima de la línea Deshabilitadas. Probablemente no sea tu caso, pero si lo es salta este paso y vé al siguiente.
Si el Servidor de Correo se muestra entre los iconos debajo de la línea Deshabilitadas es que no está instalado todavía o está deshabilitado. Este es el estado habitual de partida.
Seleccionando la app Postfix/Dovecot llegas a su página. Si no está instalado se te mostrará el botón Instalar. Haz clic en él.
Esto desencadenará el proceso de instalación.
Tras instalar y configurar todos los paquetes de software FreedomBox te dirá que la instalación tuvo éxito y la página de la app mostrará contenido adicional como información de puertos, formulario de configuración y ajustes de DNS.
La próxima vez que vayas al menú Apps mostrará la app habilitada (por encima de la línea deshabilitadas).
Si quieres enviar y recibir correo a/de usuarios de otros servidores en Internet necesitas un dominio en condiciones. Como se explica en la sección Prerequisitos, o alquilas uno a un registro o pagas a un proveedor de servicio de DNS dinámico. Si alquilaste un dominio a un registro añádelo en la página Sistema → Configuración. Si es un DNS dinámico configuralo en la página Sistema → Cliente DNS dinámico.
Cuando se añade un dominio a FreedomBox se obtiene automáticamente un certificado TLS para dicho dominio. Este certificado se emplea entonces para comunicaciones cifradas con todos los servicios configurados con el dominio. Vé a la sección Sistema, página de Let's Encrypt y verifica que el certificado se haya obtenido con éxito para el dominio. Si no, haz clic en el botón Obtener y resuelve los problemas que surjan. Para obtener el certificado tu FreedomBox tiene que ser accesible desde Internet y tu router, si lo hay, tiene que estar configurado para redirigirle el tráfico de los puertos web (80 y 443).
Tras añadir un dominio a FreedomBox, visita la página del Servidor de Correo. En la sección Configuración selecciona el dominio configurado como dominio primario para enviar y recibir correo electrónico.
Tras establecer el dominio primario aparecerá información en la sección Registros DNS de la página. Estos son los registros que hay que ajustar manualmente en el dominio. Ingresa el interfaz web de tu proveedor de DNS para administrar los registros DNS de tu dominio. Introduce allí todas las entradas que muestra la tabla de registros DNS.
La longitud del valor del registro DNS para DKIM excede los 255 caracteres. Típicamente hay que romperlo en una serie de valores entrecomillados con comillas dobles y separados por espacios. Esto es lo que hace FreedomBox. Si tu proveedor de DNS tiene un modo diferente para introducir estos valores, consulta su documentación.
Todos los valores se suponen "bajo" el dominio que estás ajustando pero se puede proporcionar un valor autocontenido. Por ejemplo, el valor "Dominio" de "dkim._domainkey" significa "dkim._domainkey.mi.dominio.". Usa este formato si fuera necesario.
Instala la app Roundcube si quieres acceder a los mensajes mediante una interfaz web. En la configuración de Roundcube asegurate de habilitar la opción de "Usar solo el servidor de correo local". Esto oculta el campo del servidor de la página de login y hace que la app funcione sin más configuración.
Como usuario puedes:
Empezar a enviar y recibir correos electrónicos empleando la mayoría de clientes de correo.
Crear y/o administrar tus pseudónimos en la solapa Pseudónimos de la página Servidor de correo del interfaz web de FreedomBox.
Administrar filtros en el servidor empleando sieve.
Una vez que un administrador ha establecido la configuración de RoundCube para que funcione con el servidor de correo de FreedomBox puedes ingresar a RoundCube empezar a enviar y recibir correos electrónicos sin necesitar más clientes de correo. Usa las mismas credenciales para ingresar a RoundCube que usas para ingresar al interfaz web de FreedomBox.
FreedomBox proporciona el cliente de correo electrónico RoundCube como app opcional. Si se ha instalado RoundCube antes que el servidor de correo hay una opción de hacerlo funcionar con el servidor de correo de FreedomBox's. Una vez ambas apps estén instaladas, tienes una instalación de webmail completa.
Abre Thunderbird. Ve a menú de hamburguesa → Nuevo → Cuenta de correo existente. Introduce un nombre, la dirección de correo de FreedomBox, y tu contraseña de FreedomBox. Haz clic en Continuar.
FreedomBox implementa el endpoint de configuración automática de cuenta (AAC, Automatic Account Configuration) del que hará uso Thunderbird.
Dile a tu cliente de correo electrónico que use estos parámetros:
Username: tu dirección de correo electrónico de FreedomBox o solo la parte del nombre de usuario
Incoming mail: IMAPS, puerto 993, SSL forzoso, autenticación normal mediante contraseña
Outgoing mail: SMTPS, puerto 465, SSL forzoso, autenticación normal mediante contraseña
También soporta STARTTLS en el puerto de envío SMTP.
Los pseudónimos de correo electrónico son útiles para la privacidad. Ahora, como usuario del correo electrónico de FreedomBox (no necesitas ser administrador) puedes tener direcciones de correo electrónico bajo tu control, ya sean temporales de usar y tirar o específicas. Puedes listar, crear y eliminar pseudónimos de correo electrónico desde el acceso directo Mis pseudónimos que hay en la página principal de FreedomBox.
Los mensajes dirigidos a usuarios o pseudónimos inexistentes o a usuarios de sistema se rechazarán a nivel de conexión SMTP.
Además de permitir a los usuarios crear sus propios pseudónimos FreedomBox reconoce pseudónimos automáticos adjuntando una cadena a tu nombre de usuario mediante un signo '+'. Si tu dirección de correo es minombre@mi.dominio, entonces todos los minombre+cualquiercosa@mi.dominio se toman como pseudónimos automáticos de tu dirección. Por ejemplo, al subscribirte a una lista de correo, llamémosla foolist, puedes dar tu dirección de correo como minombre+foolist@mi.dominio. Los mensajes que lleguen a esa dirección acabarán en el buzón de minombre@mi.dominio. Esto es útil para organizar el correo y controlar el correo indeseado.
Abre una conexión SSH a tu FreedomBox. Teclea sudo journalctl -b -o short-monotonic --no-pager
-b
muestra entradas desde el arranque
-o short-monotonic
usa formato corto para las marcas tiempo
--no-pager
facilita el copia-pega
Porque Postfix no reconoce el dominio del correo. Para arreglarlo
Asegurate de que FreedomBox conoce el nombre del dominio en internet. Si no tienes un nombre de dominio salta al paso 2.
Ingresa al interfaz web de FreedomBox como administrador.
Ve a Sistema → Servicios de nombres
Añade un nombre de dominio, si no lo has hecho ya.
Causa raíz: Roundcube intentó enviar tu mensaje desde una conexión sin cifrar, pero los puertos 465 y 587 requieren cifrados SSL y STARTTLS respectivamente.
Soluciones:
Para RoundCube, edita el fichero /etc/roundcube/config.inc.php
para que use el puerto 25 (sin cifrar). Ajústalo así:
$config['smtp_server'] = 'smtp://localhost'; $config['smtp_port'] = 25;
Notas:
Accede a tu FreedomBox mediante SSH.
Puedes editar el fichero con el editor de texto nano
. El fichero tiene el acceso restringido, así que tienes que acceder como superusuario: sudo nano /etc/roundcube/config.inc.php
.
Si empleas otro cliente de correo electrónico como Thunderbird, fuerza que use SSL o STARTTLS.
Por favor, comenta tu experiencia usando el servidor de correo en esta conversación del foro.
El servidor de correo de FreedomBox se presentó en la Debconf21. Las Diapositivas y la grabación en vídeo están disponibles por cortesía del equipo Outreach de Debian.
Este asunto en Salsa dirige la implementación. Siéntete libre de participar en los debates y proporcionar ideas técnicas.
Sitios web de origen:
Wiki de la comunidad Debian:
FreedomBox recomienda algunas aplicaciones cliente. Selecciona su icono en la página de Aplicaciones y haz clic en el botón> Aplicaciones Cliente.
|
Disponible desde versión: 19.19
GitWeb proporciona alojamiento Git en FreedomBox. Proporciona un interfaz web para realizar acciones comunes sobre repositorios Git como ver archivos, diferencias, descripciones de cambio, etc. Git es un sistema de control de versiones distribuído para trazar cambios en código fuente durante el desarrollo de software. Con GitWeb puedes hojear la historia y el contenido del código fuente, y usar la búsqueda para encontrar cambios y código específicos. También puedes clonar repositorios y subir cambios al código con un cliente Git de línea de órdenes o con múltiples clientes gráficos que hay disponibles. Y puedes compartir tu código con gente de todo el mundo.
Para aprender a usar Git visita su tutorial.
Tras instalar GitWeb se puede crear un nuevo repositorio. Se puede marcar como privado para limitar el acceso.
Tras instalar GitWeb se puede acceder a GitWeb mediante el cliente web (p.ej) en https://<mi_freedombox>/gitweb
.
Actualmente el GitWeb de FreedomBox solo soporta remotos HTTP(S) (no SSH). Para evitar tener que introducir la contraseña cada vez que haces pull/push al repositorio puedes editar tu remoto para incluír credenciales.
Ejemplo: https://usuario:contrasena@mi.freedombox.mola/gitweb/mirepo
Tu nombre de usuario y contraseña se cifrarán. Quien monitorize el tráfico de la red solo apreciará el nombre de dominio.
Nota: Al usar este método tu contraseña se almacenará en claro en el fichero .git/config
del repositorio local. Por este motivo debes crear un usuario FreedomBox que solo tenga acceso a gitweb y no usar nunca una cuenta de administrador.
Para usuarios de GNOME (Avanzado) La utilidad "Contraseñas y claves" de GNOME se puede emplear para almacenar el usuario y su contraseña. Más detalles de cómo hacerlo en esta respuesta en StackOverflow.
Aunque tus repositorios se albergan principalmente en tu propia FreedomBox puedes configurar un repositorio en otro servicio de alojamiento Git como GitLab a modo de copia espejo.
Algunas funciones que en gitweb vienen de serie se han cambiado en FreedomBox:
Habilitada: Funcionalidad blame para mostrar qué quién y en qué revisión modificó cada línea de un fichero.
Habilitada: Funcionalidad pickaxe para listar los commits que introdujeron o eliminaron una cadena de texto dada.
Habilitada: Funcionalidad de resaltado de sintaxis para los blobs.
Deshabilitada: Funcionalidad de instantánea que descarga un fichero comprimido tar con una revisión dada (por su alto consumo de recursos).
Un administrador puede ajustar estas selecciones editando el fichero de configuration de git de cada repositorio en FreedomBox. Más detalles de sintaxis y funciones en la página man de gitweb.conf(5). Por ejemplo, para rehabilitar las instantánes en el repositorio mirepo
, ingresa como administrador al terminal de FreedomBox por SSH o consola web y edita el fichero /var/lib/git/mirepo/config
para que contenga la sección siguiente:
[gitweb] snapshot = tgz
Sitio web: https://git-scm.com
Documentación de uso: https://git-scm.com/docs/gitweb
Wiki de Debian: https://wiki.debian.org/CategoryGit
|
Ikiwiki convierte páginas wiki a páginas HTML listas para publicar en un sitio web. En particular, proporciona blogs, podcasts, calendarios y una amplia selección de extensiones (plugins).
Puedes crear un wiki o blog para albergarlo en tu FreedomBox mediante la página Wiki y Blog (Ikiwiki). La primera vez que visites esta página te pedirá instalar paquetes requiridos por Ikiwiki.
Tras completar la instalación de paquetes selecciona la solapa Crear.
Puedes elegir el tipo: Wiki o Blog. Teclea también un nombre para el wiki o blog, y el usuario y contraseña para su cuenta de administrador. Al hacer clic en Actualizar configuración verás el wiki/blog añadido a tu lista. Observa que cada wiki/blog tiene su propia cuenta de administrador.
Tus wikis y blogs se listan en la app de Ikiwiki. Hacer clic en tu sitio web te llevará a su página de inicio.
Desde aquí, si le das a Editar o a Preferencias se te llevará a una página de ingreso. Para ingresar con la cuenta de administrador que creaste antes selecciona la solapa Otros, introduce el usuario y la contraseña y haz clic en Ingresar.
Se puede dar permiso para editar a otros usuarios de FreedomBox además de al administrador del wiki/blog. Sin embargo no tendrán todos los permisos del administrador. Podrán añadir o editar páginas pero no podrán cambiar la configuración del wiki.
Para añadir a un usuario al wiki ve a la página Usuarios y Grupos de FreedomBox (bajo Configuración del Sistema, el icono del engranaje de la esquina superior derecha de la página). Crea o modifica un usuario y añádele al grupo wiki. (Los usuarios del grupo admin tendrán también acceso al wiki.)
Para ingresar como usuario FreedomBox ve a la página de ingreso del wiki/blog y selecciona la solapa Otros. Luego haz clic en el botón Ingresar con autenticación HTTP. El navegador mostrá un diálogo emergente en el que podrás introducir el usuario y la contraseña del usuario de FreedomBox.
Ingresa al wiki con su cuenta de administrador.
Haz clic en Preferencias y luego en Configurar.
Debajo de Principal, en usuarios administradores de algún wiki, añade el nombre de un usuario de FreedomBox.
(Opcional) Desmarca la opción habilitar autenticación mediante contraseña de extensión de autenticación: autenticación mediante contraseña. (Nota: Esto deshabilitará el ingreso con la cuenta de administrador anterior. Solo se podrá ingresar mediante ingreso único usando autenticación HTTP.)
Haz clic en Grabar Configuración.
Pulsa Preferencias y a continuación Salir.
Ingresa como el nuevo usuario administrador usando Ingresar con autenticación HTTP.
Por defecto cada página del wiki tiene una página de "Discusión" que se puede editar anónimamente, sin ingresar. Para evitar spam quizá quieras deshabilitar totalmente la funcionalidad Discusión deseleccionando la opción "¿Habilitar páginas de discusión?" en la configuración.
Ingresa al wiki con la cuenta de administración especificada al crearlo.
Pulsa en Preferencias, y luego en Configurar.
Debajo de web plugin: tema, selecciona ¿habilitar tema?.
Justo debajo de la caja del selector, escribe el nombre del tema. Puedes elegir entre los siguientes temas soportados oficialmente:
actiontabs - apropiado para móviles
blueview - inapropiado para móviles
goldtype - inapropiado para móviles
monochrome - apropiado para móviles
Al final de la página haz clic Grabar Configuración.
Para visibilizar tus cambios quizá tengas que refrescar la caché de tu navegador o esperar unos minutos y refrescar tu página de ikiwiki.
También se pueden instalar temas contribuidos por usuarios desde el Mercado de temas de ikiwiki. Ten en cuenta que esto requiere conocimiento técnico adicional.
Sitio web: https://ikiwiki.info
Documentación de uso: https://ikiwiki.info
Foro de usuarios: https://ikiwiki.info/forum/
Mercado de temas: https://ikiwiki.info/theme_market/
|
Disponible desde: versión 0.5
Infinoted es un servidor de edición colaborativa de textos para Gobby.
Para usarlo descarga el cliente Gobby para escritorio e instalalo. Inicialo, selecciona "Conectar a un Servidor" e introduce el nombre de dominio de tu FreedomBox.
Si tu FreedomBox está detras de un router necesitarás configurar la redirección de puertos en tu router. Redirije los siguientes puertos de infinoted:
TCP 6523
Sitio web: https://gobby.github.io/libinfinity
FreedomBox recomienda algunas aplicaciones cliente. Selecciona su icono en la página de Aplicaciones y haz clic en el botón> Aplicaciones Cliente.
El cliente principal de Infinoted se llama "Gobby: https://gobby.github.io
Documentación de uso: https://github.com/gobby/gobby/wiki
Wiki de Gobby: https://github.com/gobby/gobby/wiki
|
Disponible desde: versión 22.13
Janus es un servidor WebRTC ligero de propósito general. Puede soportar diferentes tipos de aplicaciones de comunicación en tiempo real, como llamdas y retransmisiones de video.
Actualmente FreedomBox incluye con Janus una sala simple de videoconferencia. Cualquiera que visite tu FreedomBox puede acceder a esta sala. No requiere ingresar con una cuenta de usuario.
En el futuro será reemplazada por Jangouts, una app de videoconferencia completa.
Para usar Janus se necesita Coturn, así que también debe estar instalado y funcionando en tu FreedomBox.
El acceso directo a Janus te llevará a la página Sala de Video de Janus. Pulsa aquí el botón Comenzar enla parte superior de la página.
A continución tendrás que dar un nombre de pantalla. Puede ser cualquiera. Pulsa el botón "Unirse a la sala" para entrar.
La primera vez que entres a la sala, tu navegador te preguntará si le das permiso a esta página para acceder a tu cámara y micrófono. Pulsa "Permitir" para seguir.
Se mostrará tu propia imagen en la ventana "Video local". Desde aquí podrás acallar tu sonido o usar despublicar para dejar de compartir tu imagen y/o sonido. Si otra gente entra en la sala aparecerán en las ventanas de "Vídeo remoto".
Proyecto original: https://janus.conf.meetecho.com
Documentación de usuario: https://janus.conf.meetecho.com/docs
|
Disponible desde: versión 0.11.0
JSXC is un cliente web de mensajería instantánea. Sirve para conectar con servidores de mensajería instantánea compatibles.
FreedomBox ofrece ambas partes desde su interfaz web: un servidor (ejabberd) y un cliente web (JSXC).
JSXC está hecho con HTML5 e implementa el protocolo XMPP sobre BOSH.
XMPP es un protocolo cliente-servidor para Mensajería Instantánea federado. Esto significa que los usuarios con cuenta en un servidor pueden conversar con usuarios de otro servidor.
Se puede usar XMPP también para llamadas de voz y/o vídeo, si los clientes las soportan.
Puedes instalar JSXC mediante su icono de la sección Apps de la interfaz web de FreedomBox. El icono de ejabberd (servidor XMPP) también ofrece lanzar el cliente web (instalando JSXC de paso si fuera preciso).
Tras completar la instalación del módulo JSXC, queda accesible mediante su icono en la sección Apps de la interfaz web de FreedomBox. El icono de ejabberd (servidor XMPP) también ofrece lanzar el cliente web. Ambos te redirigirán a https://<tu_freedombox>/plinth/apps/xmpp/jsxc/
.
Para usarlo necesitas introducir el nombre de dominio del servidor al que quieres conectarte. Automáticamente comprueba la conexión al servidor BOSH cuando tecléas el nombre de dominio.
|
|
Más detalles en https://www.jsxc.org.
JSXC ofrece funcionalidades de videoconferencia y transferencia de ficheros pero no parecen funcionar aún en FreedomBox.
Si tu FreedomBox está detrás de un router y quieres conectarte a otros servidores, necesitarás configurar la redirección de puertos de tu router. Para XMPP deberás redirigir los siguientes puertos:
TCP 5222 (cliente-a-servidor)
Sitio web: https://www.jsxc.org
Documentación de uso: https://www.jsxc.org/manual.html
Manual de FreedomBox del servidor ejabberd: https://wiki.debian.org/es/FreedomBox/Manual/ejabberd
|
Disponible desde: versión 0.14.0
Matrix es un protocolo abierto para comunicaciones sobre IP en tiempo real interoperables y descentralizadas. Synapse es la implementación de referencia de un servidor Matrix. Se puede usar para montar mensajería instantánea sobre FreedomBox para albergar salas de chat con comunicaciones cifradas punto a punto y llamadas de audio/vídeo. Matrix Synapse es una aplicación federada en la que puede haber salas de chat en un servidor y los usuarios de cualquier otro servidor de la red federada pueden unirse a ellas. Más información acerca de Matrix.
Para acceder al servidor Matrix Synapse recomendamos el cliente Element. Puedes descargar Element para escritorio. Las aplicaciones para Android e iOS están disponibles en sus tiendas (app stores) respectivas.
Para habilitar Matrix Synapse, primero navega a la página de tu servidor de chat (Matrix Synapse) e instálalo. Matrix necesita un nombre de dominio válido configurado. Tras la instalación, se te pedirá que lo configures seleccionandolo de entre un menú desplegable con dominios disponibles. Los dominios se configuran en la página Sistema -> Configuración y actualmente no podrás cambiar el dominio una vez esté configurado. Tras configurar un dominio verás que el servicio se está ejecutando. El servicio estará accesible en el dominio de FreedomBox configurado.
Tendrás que configurar tu router para que reenvíe el puerto 8448 a tu FreedomBox.
Todos los usuarios registrados en tu FreedomBox tendrán sus IDs Matrix @usuario:dominio
. Si está habilitado el registro público tu cliente se puede usar también para registrar una cuenta de usuario nueva.
El servidor Matrix Synapse solo es responsable de establecer las conexiones entre los participantes de la sala. Los clientes Matrix como Element son los responsables de transmitir el audio/vídeo. Element soporta tanto llamadas individuales como de grupo.
Para conversaciones individuales, Element intenta establecer una conexión directa entre ambos participantes. Esto funciona cuando ambos participantes están empleando Element en máquinas con una IP pública o si están en la misma red (local). Si ambos participantes están detrás de diferentes NATs no será posible establecer una conexión directa entre ellos. Esta dificultad se resuelve configurando Matrix Synapse contra un servidor STUN/TURN. FreedomBox proporciona una app llamada Coturn para este propósito. FreedomBox no instala Coturn automaticamente al instalar Matrix Synapse. No obstante, en cuanto se instala la app Coturn FreedomBox automáticamente reconfigura Matrix Synapse para usarla en llamadas de audio/vídeo. Se puede ajustar esta configuración en la interfaz web para emplear otro servidor STUN/TURN.
Para llamadas de grupo Element emplea una instancia de Jitsi Meet externa; por omisión, jitsi.riot.im
. Si se configura el servidor Matrix Synapse para usar una instancia Jitsi Meet diferente Element la usará para todos los usuarios del servidor.
Podrás interactuar con cualquier otra persona que ejecute otra instancia de Matrix. Esto se hace simplemente iniciando una conversación con ellos usando su matrix ID que seguirá el formato @su-usuario:su-dominio
. También podrás unirte a salas de otros servidores y tener llamadas de audio/video con contactos de otros servidores.
El servidor de referencia Synapse implementado en Python es conocido por consumir mucha RAM, especialmente al cargar salones grandes con miles de participantes como #matrix:matrix.org. Se recomienda evitar unirse a estos salones si tu dispositivo FreedomBox solo tiene 1 GiB RAM o menos. Debería ser seguro unirse a salas con hasta 100 participantes. El equipo de Matrix está trabajando en una implementación de servidor Matrix escrita en Go llamada Dendrite que debería tener mejor rendimiento en entornos con poca memoria.
Algunos salones públicos muy grandes de la red Matrix están también disponibles como canales IRC (p.ej. #freedombox:matrix.org está disponible también como #freedombox en irc.debian.org). Es mejor usar IRC en vez de Matrix para estos salones tán grandes. Puedes unirte a los canales de IRC usando Quassel.
Si quieres crear una gran cantidad de usuarios en tu servidor de Matrix Synapse usa los siguientes comandos en una shell remota como usuario root:
cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1 | sed "s+^+registration_shared_secret: +" > /etc/matrix-synapse/conf.d/registration_shared_secret.yaml chmod 600 /etc/matrix-synapse/conf.d/registration_shared_secret.yaml chown matrix-synapse:nogroup /etc/matrix-synapse/conf.d/registration_shared_secret.yaml systemctl restart matrix-synapse register_new_matrix_user -c /etc/matrix-synapse/conf.d/registration_shared_secret.yaml
Si quieres ver la lista de usuarios registrados en Matrix Syanpse haz lo siguiente como usuario root:
apt install sqlite3 echo 'select name from users' | sqlite3 /var/lib/matrix-synapse/homeserver.db
Para crear una comunidad en Matrix Synapse se necesita un usuario Matrix con privilegios de admin en el servidor. Para dárselos a miusuario
ejecuta los siguientes comandos como usuario root:
sudo apt install sqlite3 echo "UPDATE users SET admin=1 WHERE name='@miusuario:dominio'" | sudo sqlite3 /var/lib/matrix-synapse/homeserver.db
Si tu FreedomBox está detrás de un router, necesitarás configurar la redirección de los siguientes puertos para Matrix:
UDP 3478
TCP 3478
UDP 3479
TCP 3479
UDP 5349
TCP 5349
UDP 5350
TCP 5350
Sitio web de Matrix: https://matrix.org
Sección de Synapse: https://github.com/element-hq/synapse
Documentación de uso: https://matrix.org/docs/chat_basics/matrix-for-im/
Matrix en el wiki de Debian : https://wiki.debian.org/Matrix
Video tutorial para instalar Matrix Synapse sobre una instancia en la nube: https://youtu.be/8snpMHHbymI
FreedomBox recomienda algunas aplicaciones cliente. Selecciona su icono en la página de Aplicaciones y haz clic en el botón> Aplicaciones Cliente.
|
Disponible desde: versión 0.20.0
MediaWiki es el software de base de la gama de wikis Wikimedia.
Lee más acerca de MediaWiki en Wikipedia
MediaWiki viene configurado en FreedomBox para ser públicamente legible y editable en privado. Sólo los usuarios ingresados pueden editar el wiki. Esta configuración evita publicidad indeseada (spam) y otros vandalismos en tu wiki.
Solo el administrador de MediaWiki (usuario "admin") puede crear los usuarios. El usuario "admin" puede usarse también para restablecer contraseñas de usuarios MediaWiki. Si se olvida la contraseña del administrador se puede restablecer desde la página de MediaWiki del interfaz web de FreedomBox.
MediaWiki es muy versátil y se puede emplear para muchos usos creativos. También es áltamente adaptable y viene con un montón de extensiones (plugins) y estilos estéticos.
El MediaWiki de FreedomBox puede ser tu propio repositorio de conocimiento personal. Como MediaWiki tiene buen soporte multimedia puedes escribir notas, almacenar imágenes, crear listas de comprobación, guardar referencias y enlaces, etc. de manera organizada. Puedes almacenar el conocimiento de una vida en tu instancia de MediaWiki.
Una comunidad de usuarios podría usar MediaWiki como su repositorio común de conocimiento y material de referencia. Se puede emplear como un tablón de anunciós de universidad, como un servidor de documentación para una pequeña empresa, como un bloc de notas para grupos de estudio o como un wiki de fans al estilo de wikia.
Varios sitios web de internet son sólo instancias de MediaWiki. El MediaWiki de FreedomBox es de solo lectura para visitantes. Se puede por tanto adaptar para servir como tu sitio web y/o blog personal. El contenido de MediaWiki es fácil de exportar y puede moverse después a otro motor de blogs.
FreedomBox monta MediaWiki con dos tipos de editores: el editor WikiText y el Editor Visual.
Este editor es para editar el wiki directamente en el lenguaje de marcado de MediaWiki.Tiene una barra de herramientas con opciones de uso habitual como negrita, cursiva etc. Haz clic en la sección Avanzadas para acceder a más opciones como cabaceras, listas con viñetas, etc.
Como su nombre indica, la extensión Editor Visual de MediaWiki proporciona un interfaz de usuario visual (WYSIWYG) para crear páginas del wiki. Esta extension viene con MediaWiki desde la versión 1.35 y está habilitada por omisión desde FreedomBox 21.9.
Como este es esencialmente un editor de texto enriquecido no se necesita conocimiento del lenguaje de marcado de MediaWiki. Para usar funcionalidades avanzadas no disponibles (aún) en el editor VisualEditor vuelve a la edición mediante código fuente.
No es imprescindible que aprendas el lenguaje de formateo de MediaWiki. Puedes escribir en tu formato favorito (Markdown, Org-mode, LaTeX etc.) y convertirlo al formato de MediaWiki usando Pandoc.
Se puede habilitar la carga de imágenes desde FreedomBox versión 0.36.0. También puedes usar directamente imágenes de Wikimedia Commons mediante una funcionalidad llamada Instant Commons.
El tema por defecto de MediaWiki suele ser Vector. El de FreedomBox es Timeless.
Vector es un tema optimizado para visualizarlo en pantallas grandes pero no se adecúa bien a los tamaños de pantalla de los móviles. Wikimedia usa otro sitio específico para móviles. Para instalaciones pequeñas como las de FreedomBox no merece la pena un segundo sitio dedicado. Usar un tema de estilo más polivalente como Timeless es una solución más eficiente al problema.
Los administradores pueden elegir el tema por defecto desde la configuración de la app. Los usuarios del sitio tienen también la opción de visualizarlo con temas diferentes.
Sitio web: https://www.mediawiki.org/wiki/MediaWiki
Documentación de uso: https://www.mediawiki.org/wiki/Help:Contents
MediaWiki en el wiki de Debian: https://wiki.debian.org/MediaWiki
|
Disponible desde: versión 0.9
Minetest es un Block Sandbox multijugador para mundos infinitos. Este módulo permite ejecutar el servidor Minetest
en esta FreedomBox, en su puerto por defecto (30000). Para conectar al servidor se necesita un cliente de Minetest.
Si tu FreedomBox está detrás de un router necesitarás configurar la redirección de puertos en tu router para los siguientes puertos de Minetest:
UDP 30000
Accediendo mediante SSH a servidor FreedomBox, instalar los mods (mediante unzip
o git clone
) en /var/games/minetest-server/.minetest/mods
(Por ejemplo, para el mod mobs_animal mod se tendría el directorio /var/games/minetest-server/.minetest/mods/mobs_animal/
.
Para habilitar el mod primero reinicia minetest:
sudo systemctl restart minetest-server.service
Esto actualizará el fichero de configuración del mundo, situado en /var/games/minetest-server/.minetest/worlds/world/world.mt
, con una línea relativa al mod recientemente añadido. Para habilitar el nuevo mod en tu instancia de minetest cambia el estado de la línea de false
a true
. Por ejemplo:
load_mod_mobs_animal = true
Después, guarda los cambios, vuelve a reiniciar minetest y ya lo deberías tener disponible.
Proyecto original: https://www.minetest.net
Documentación original: https://wiki.minetest.net
Minetest en el wiki de Debian: https://wiki.debian.org/Games/Minetest
Usar MineTest en educación: https://www.minetest.net/education/
Debian: el nombre de paquete del cliente es DebianPkg:minetest.
Otras plataformas: https://www.minetest.net/downloads/
|
Disponible desde: versión 19.23
MiniDLNA es un servidor multimedia que intenta ser compatible con clientes DLNA/UPnP.
MiniDLNA ha cambiado recientemente su nombre a ReadyMedia.
Nota: Este servicio solo está disponible en redes configuradas como zona "interna". Tampoco está disponble a través de OpenVPN (es incompatible).
UPnP (Universal plug & play) es un conjunto de protocolos de red que permite a los dispositivos de una red, como PCs, TVs, impresoras etc, reconocerse entre sí y establecer comunicación para compartir datos. Es un protocolo con cero configuración y require solo un servidor multimedia y un reproductor multimedia compatibles con el protocolo.
DLNA se deriva de UPnP como una forma de estandarizar interoperabilidad entre medios. Conforma un estándar/certificación que cumplen muchos dispositivos electrónicos de consumo.
Para instalar/habilitar el servidor multimedia necesitas navegar a la página MiniDLNA y habilitarlo. Se intenta que la aplicación esté disponible en la red interna y por ello requiere asignarle un interfaz de red configurado para tráfico interno.
Tras la instalación queda disponible en la red local una página web en http://<dirección_IP_de_tu_freedombox>:8200 (observa que un nombre mDNS como freedombox.local
no funciona aquí). La página web incluye información de cuántos ficheros detecta el servidor, cuántas conexiones existen etc. Esto resulta muy útil cuando conectas discos externos con contenido para para verificar que detecta los nuevos archivos como debe. Si no ocurre así, desconectar y activar el servidor lo arreglará.
Cualquier dispositivo compatible con DLNA debiera ser capaz de detectar, hojear y reproducir automáticamente contenido multimedia de MiniDLNA en FreedomBox. Los siguientes dispositivos y reproductores se han probado:
GNOME Videos: Videos es el reproductor multimedia por defecto en el popular entorno de escritorio GNU/Linux GNOME. Abre Videos, cambia a 'Canales'. Deberías ver un canal denominado 'freedombox: minidlna'. Deberías poder hojear y reproducir su contenido.
VLC media player: VLC es un reproductor multimedia para GNU/Linux, Android, Windows y macOS muy popular. Abre VLC y haz clic en 'Ver -> Lista de reproducción'. En la barra lateral de la lista de reproducción que aparece selecciona 'Universal Plug'n'Play'. Deberías ver un elemento denominado 'freedombox: minidlna'. Deberías poder hojear y reproducir su contenido.
Kodi: Kodi es un software popular de centro multimedia con un interfaz de usuario diseñado para televisores. Abre Kodi, ve a 'Sistema -> Configuración del Servicio -> UPnP/DLNA' y 'Habilitar soporte UPnP'. Visita entonces 'Home -> Videos -> Archivos -> Añadir videos... -> Navegar -> dispositivos UPnP'. Deberías ver 'freedombox: minidlna'. Selecciónalo y elige 'OK'. Entonces, elige 'OK en el diálogo 'Anadir entrada de video'. A partir de ahora , deberías ver 'freedombox: minidlna' en la sección 'Videos -> Archivos'. Deberías poder hojear y reproducir su contenido. Para más información mira la documentación de Kodi.
Roku: Roku es un aparato conectado a una TV para reproducir contenido de servicios de retransmisión por Internet. También hay muchas TVs que llevan a Roku integrado. Encuentra en el interfaz de Roku un canal denominado 'Roku Media Player' y ábrelo. Deberías ver un elemento denominado 'freedombox: minidlna'. Deberías poder hojear y reproducir su contenido.
Rhythmbox: Rhythmbox es el reproductor de sonido por defecto en el popular entorno de escritorio GNU/Linux GNOME. Abre Rhythmbox y asegura que el panel lateral esté abierto pulsando en 'Menú de Aplicación -> Ver -> Panel Lateral'. En el panel lateral deberías ver 'freedombox:minidlna' bajo la sección 'Compartidos'. Deberías poder hojear y reproducir sus archivos de sonido. Los archivos de video no aparecerán.
MiniDLNA soporta una amplia variedad de formatos de archivo de video y sonido.
Video: Archivos terminados en .avi, .mp4, .mkv, .mpg, .mpeg, .wmv, .m4v, .flv, .mov, .3gp, etc.
Sonido: Archivos terminados en .mp3, .ogg, .flac, .wav, .pcm, .wma, .fla, .aac, etc.
Imágen: Archivos terminados en .jpg, .jpeg
Listas de Reproducción: Archivos terminados enh .m3u, .pls
Subtítulos: Archivos terminados en .srt, .smi
Obsérvese que no soporta archivos con las siguientes extensiones. Parece que renombrar el archivo a una extensión reconocida funciona el la mayoría de casos.
Video: Archivos terminados en .webm
Además del soporte al formato de archivo por parte de MiniDLNA, tu dispositivo o reproductor de medios necesita soportar el codec de sonido/video con el que se haya codificado tu contenido. MiniDLNA carece de la habilidad de traducir archivos a un codec compatible con el reproductor. Si te topas con problemas en la reproducción de contenido, usa VLC para identificar el codec empleado en el contenido y comprueba en la documentación de tu dispositivo o reproductor de medios si lo soporta.
Al usar un disco externo que se usa también desde sistemas Windows el mejor formato para el sistema de archivos es NTFS. NTFS conservará los permisos de acceso de Linux y la codificación UTF-8 para los nombres de fichero. Esto es útil si los nombres de archivos tienen tildes, eñes u otros signos raros.
Sitio del proyecto original: http://minidlna.sourceforge.net (en)
Documentación y soporte del proyecto original: https://sourceforge.net/projects/minidlna/support
Acerca de DLNA: https://es.wikipedia.org/wiki/Digital_Living_Network_Alliance
MiniDLNA en el wiki de Debian: https://wiki.debian.org/minidlna
|
Disponible desde: FreedomBox en Debian 13 (Trixie)
Miniflux es un lector de noticias minimalista y con una marcada personalidad que soporta una amplia variedad de formatos - RSS, ATOM, RDF y JSON. En FreedomBox es una alternativa a Tiny Tiny RSS.
La interfaz web primaria es amigable con los dispositivos móviles y maximiza la legibilidad. Miniflux es una aplicación web progresiva. Se puede añadir a la pantalla principal del móvil y acceder como si fuera nativa.
El servidor Miniflux proporciona una API para clientes. También es compatible con aplicaciones existentes creadas para Fever o la API de Google Reader. Hay una lista de clientes para varias plataformas de escritorio y móviles en el sitio web oficial del projecto original.
El lector de Miniflux soporta varios tipos de contenido. Además de los blogs y comics habituales que soportan la mayoría de lectores, puedes también escuchar podcasts y reproducir videos desde Miniflux. Los videos de YouTube se reproducen usando youtube-nocookie.com o (opcionalmente) un proxy como invidious.io para evitar que se rastreen tus preferencias entre sitios webs. Miniflux también elimina los pixeles de rastreo y todo el JavaScript externo.
Miniflux tiene un extractor de contenido qu te permite obtner y leer el artículo completo incluso si el sitio solo publica un resumen en su feed. Solo se extrae el contenido relevante, proporcionando una experiencia de lectura similar a Firefox Reader View. Este extractor es también capaz de obtener la duración de un video de YouTube o Invidious.
Miniflux proporciona algunas funcionalidades de comodidad como búsqueda de texto completo (basada en una base de datos PostgreSQL), reglas de filtrado, atajos de teclado y eventos táctiles. Hay integraciones con varias aplicaciones como soluciones de lectura diferida, marcapáginas (Shaarli) y apps de mensajería (Matrix). Si no usas Shaarli, marca un artículo con una estrella en Miniflux.
Miniflux no permite instalar extensiones ni estilos. Puedes elegir uno de los estilos existentes o instalar una extensión de navegador para leer con otro estilo.
Miniflux no se integra con los mecanismos de ingreso único de FreedomBox. La app de FreedomBox para Miniflux proporciona una opción para crear usuarios administradores. Una vez creado el usuario administrador se pueden crear y administrar más usuarios (administradores o no) desde los ajustes de Miniflux.
La app de FreedomBox app también permite restablecer la contraseña de cualquier usuario de Miniflux. Esto es especialmente útil en caso que solo una persona use Miniflux. Sin esta opción, si el único usuario de Miniflux olvida su contraseña habría que crear un administrador para restablecerla desde los ajustes de Miniflux.
Como las cuentas de Miniflux no están conectadas a las de FreedomBox puedes dar cuentas Miniflux a tus amigos aunque carezcan de cuenta en FreedomBox.
Por hacer
Añadir un marcapáginas a Shaarli
Publicar feeds en un canal de Matrix
Puente RSS
Proyecto original: https://miniflux.app
Documentación del proyecto original: : https://miniflux.app/docs/index.html
|
Disponible desde: versión 0.5
Mumble es un software de conversaciones de voz. Principalmente diseñado para uso con juegos multijugador por red, sirve para hablar con alta calidad de audio, cancelación de ruido, comunicación cifrada, autenticación de interlocutores por defecto mediante par de claves pública/privada, y "asistentes" para configurar tu micrófono, por ejemplo. Se puede marcar a un usuario dentro de un canal como "interlocutor prioritario".
FreedomBox incluye el servidor Mumble. Para conectar con el servidor los usuarios pueden descargar algún cliente de entre los disponibles para plataformas de escritorio y móviles.
Si tu FreedomBox está detrás de un router necesitarás configurar la redirección de puertos de tu router. Deberías redirigir los siguientes puertos para Mumble:
TCP 64738
UDP 64738
En Mumble un superusuario puede crear cuentas de administrador que a su vez pueden administrar permisos a grupos y canales. Esto se puede hacer tras ingresar con el usuario "SuperUser" y la contraseña de superusuario. Ver la Guía de Mumble para obtener información respecto a cómo hacer esto. La interfaz web de FreedomBox permite establecer la contraseña de superusuario.
Sitio web: https://www.mumble.info
Documentación de uso: https://www.mumble.info/documentation
|
Disponible desde: versión 0.7
OpenVPN proporciona un servicio de red privada virtual a tu FreedomBox. Puedes usar este software para acceso remoto, VPNs punto-a-punto y seguridad Wi-Fi. OpenVPN incluye soporte para direcciones IP dinámicas y NAT.
Si tu FreedomBox está detrás de un router necesitarás configurar la redirección de puertos en tu router. Debes redirigir los siguientes puertos para OpenVPN:
UDP 1194
En el menú de apps de FreedomBox selecciona Red Privada Virtual (OpenVPN) y haz clic en Instalar.
Tras instalar el módulo todavía queda un paso de configuración que puede llevar largo tiempo completar. Haz clic en "Iniciar configuración" para empezar.
Espera a que termine la configuración. Puede tardar un rato.
Una vez completada la configuración del servidor OpenVPN puedes descargar tu perfil. Esto descargará un archivo llamado <usuario>.ovpn
, siendo <usuario> un usuario de FreedomBox. Todos los usuarios de FreedomBox podrán descargar un perfil propio y diferente. Los usuarios que no sean administradores pueden descargar el perfil desde la portada después de ingresar.
El archivo ovpn contiene toda la información que necesita un cliente vpn para conectar con un servidor.
El perfil descargado contiene el nombre de dominio de FreedomBox al que debe conectarse el cliente. Este se obtiene del dominio configurado en la sección 'Configuración' de la página de 'Sistema'. En caso de que tu dominio no esté configurado adecuadamente quizá necesites cambiar este valor después de descargar el perfil. Si tu cliente OpenVPN lo permite puedes hacer esto después de importar el perfil OpenVPN. De lo contrario puedes editar el perfil .ovpn con un editor de texto y cambiar la línea 'remote' para que contenga la dirección IP WAN o el hostname de tu FreedomBox como se indica aquí.
client remote tu.freedombox.org 1194 proto udp
Si tu red no soporta IPv6 quizá tengas que eliminar la siguiente línea de la configuración del cliente OpenVPN. Especialmente en casos en los que tu servidor soporta IPv6 pero tu cliente no, lo que causa confusión en el cliente respecto a qué protocolo emplear.
proto udp6
Para conectar por IPv4, asegúrate de que la siguiente línea consta.
proto udp
Tras conectar a la VPN el dispositivo cliente podrá navegar por Internet sin más configuración adicional. No obstante una pre-condición para que esto funcione es que necesitas tener al menos 1 interfaz (tarjeta) de red conectado a Internet en la zona Externa del cortafuegos. Usa la página de configuración de redes para editar la zona del cortafuegos con los interfaces (tarjetas) de red del dispositivo.
Visita la página principal de FreedomBox. Ingresa con tu cuenta de usuario. Desde la página principal descarga el perfil OpenVPN. El archivo se llamará <usuario>.ovpn
.
Descarga un cliente OpenVPN como OpenVPN for Android. Se recomienda el repositorio F-Droid. En la app, selecciona Importar perfil.
En el diálogo Seleccionar perfil elige el archivo <usuario>.opvn
que acabas de descargar. Pon un nombre a la conexión y graba el perfil.
El perfil recién creado aparecera. Si hace falta edita el perfil y pon el nombre de dominio de tu FreedomBox como dirección de servidor.
Conecta haciendo clic sobre el perfil.
Cuando esté desconecta haciendo clic sobre el perfil.
Instala un cliente OpenVPN para tu sistema
$ sudo apt install openvpn
Abre el archivo ovpn con el cliente OpenVPN.
$ sudo openvpn --config /ruta/a/<usuario>.ovpn
Si te sale un error como configuration error: invalid 1th argument to “proto” (line 5)
edita el fichero .ovpn y elimina la línea proto udp6
.
Trata de hacer ping a tu FreedomBox u otros dispositivos de tu red.
El comando ip addr
debe mostrar una conexión tun0
.
El comando traceroute freedombox.org
debiera mostrar la dirección IP del servidor VPN como primer salto.
Si usas Network Manager
puedes crear una conexión nueva importando el fichero:
$ sudo apt install network-manager-openvpn-gnome $ sudo nmcli connection import type openvpn file /ruta/a/<USUARIO>.ovpn
Tras conectar por OpenVPN, podrás acceder a algunos servicios FreedomBox restringidos a acceso interno, además de a los de acceso externo. Esto se puede hacer usando la dirección IP 10.91.0.1 como hostname para esos servicios. (Por ejemplo, usa smb://10.91.0.1
en vez de smb://freedombox.local
para acceder a carpetas compartidas Samba).
Los siguientes servicios funcionan con OpenVPN:
Algunos servicios no funcionan aún con OpenVPN:
Sitio web del proyecto original: https://openvpn.net
Documentación del proyecto original: https://openvpn.net/connect-docs
OpenVPN en el wiki de Debian: https://wiki.debian.org/OpenVPN
Wiki y Administrador de tareas: https://community.openvpn.net/openvpn
|
Disponible desde: versión 0.1
Un proxy web actúa como filtro para tráfico web entrante y saliente. Por tanto, puedes ofrecer a los ordenadores de tu red pasar su tráfico internet a través del proxy para eliminar anuncios y mecanismos de rastreo indeseados.
Privoxy es un software para la seguridad, privacidad, y control certero sobre la web. Proporciona una navegación web mucho más controlada (y anónima) que la que te puede ofrecer tu navegador. Privoxy "es un proxy enfocado principalmente al aumento de la privacidad, eliminación de anuncios y morralla, y a liberar al usuario de las restricciones impuestas sobre sus propias actividades" (fuente: Preguntas frecuentes acerca de Privoxy).
Mira el vídeo acerca de como configurar y usar Privoxy en FreedomBox.
Instala Proxy Web (Privoxy) desde FreedomBox
Adapta las preferencias de proxy de tu navegador al hostname (o dirección IP) de tu FreedomBox con el puerto 8118. Observa por favor que Privoxy sólo puede tratar tráfico HTTP y HTTPS. No funciona con FTP u otros protocolos.
Vé a la página http://config.privoxy.org/ o http://p.p. Si Privoxy está instalado adecuadamente podrás configurarlo en detalle y si no verás un mensaje de fallo.
Si usas un portátil que tenga a veces que conectarse con FreedomBox y Privoxy pasando por routers de terceros quizá quieras instalar una extensión proxy switch que te permite activar y desactivar el proxy más fácilmente.
La instalación de serie debería proporcionar un punto de partida razonable para la mayoría de los usuarios. Indudablemente habrá ocasiones en las que quieras ajustar la configuración. Eso se puede afrontar cuando surja la necesidad.
Planifica primero:
Con Privoxy activado puedes ver su documentación y los detalles de su configuración en http://config.privoxy.org/
o en http://p.p
.
La Guía rápida es un buen punto de partida para leer acerca de cómo definir reglas de bloqueo y filtrado propias.
Lee el manual con atención, especialmente esre aviso de seguridad: No se puede controlar por separado el accesso al editor por "ACLs" o authenticación HTTP, así que cualquiera con acceso a Privoxy puede modificar la configuración de todos los usuarios. Esta opción no se recomienda para entornos con usuarios no confiables. Nota que un código de cliente malicioso (p.ej. Java) también puede usar el editor de acciones y no deberías habilitar estas opciones a no ser que entiendas las consecuencias y estés seguro de que los navegadores están correctamente configurados.
Solo cuando ya estés preparado, realiza los cambios:
Para habilitar los cambios en estas configuraciones primero tienes que cambiar el valor de habilitar-acciones-de-edición en /etc/privoxy/config
a 1
.
Ahora encontrarás un botón EDITAR
en la pantalla de configuración de http://config.privoxy.org/.
Sitio web del proyecto original: https://www.privoxy.org
Manual de usuario del proyecto original: https://www.privoxy.org/user-manual/index.html
|
Disponible desde: versión 0.8
Quassel es una aplicación IRC separada en 2 partes: un "núcleo" y un "cliente". Esto permite que el núcleo permanezca conectado a los servidores IRC recibiendo mensajes aunque el cliente esté desconectado. Ejecutando el servicio nucleo de Quassel FreedomBox puede mantenerte siempre en línea. Se pueden usar uno o varios clentes Quassel para conectarse intermitentemente desde escritorios o dispositivos móviles.
Muchos debates acerca de FreedomBox tienen lugar en el canal IRC irc://irc.debian.org/freedombox
. Si tu FreedomBox ejecuta Quassel recolectará todos ellos mientras estás ausente, capturando las respuestas a tus preguntas. Recuerda que el proyecto FreedomBox es mundial y participa gente de casi todos los husos horarios. Usarás tu cliente para conectar al núcleo de Quassel y leer y/o responder cuando tengas tiempo y disponibilidad.
En el interfaz web de FreedomBox
selecciona Aplicaciones
ve a Cliente IRC (Quassel) e
instala la aplicación y asegúrate de que está habilitada
tu núcleo de Quassel se está ejecutando
Si tu FreedomBox está detras de un router necesitarás configurar la redirección de puertos en tu router. Redirije los siguientes puertos de Quassel:
TCP 4242
Ejemplo de configuración en el router:
Hay disponibles clientes para escritorio y dispositivos móviles para conectar a Quassel.
En un sistema Debian puedes, p. ej. usar quassel-client. Los siguientes pasos describen cómo conectar el Cliente Quassel con el Núcleo de Quassel de tu FreedomBox. La primera vez que te conectes el Núcleo de Quassel se inicializará también.
Abre el Cliente Quassel. Te guiará paso a paso para Conectarse al núcleo
.
Haz clic en el botón Añadir
para abrir el diálogo Añadir cuenta de núcleo
.
Rellena cualquier cosa en el campo Nombre de la cuenta
. Introduce el hostname DNS de tu FreedomBox en el campo Servidor
. El campo Puerto
debe tener el valor 4242
. Pon el usuario y la contraseña de la cuenta que quieres crear para conectar con el Núcleo de Quassel en los campos Usuario
y Contraseña
. Si no quieres que se te pida la contraseña cada vez que arranques el cliente de Quassel marca la opción Recordar
.
Tras pulsar OK
en el diálogo Añadir cuenta de núcleo
deberías ver la cuenta en el diálogo Conectarse al núcleo
.
Selecciona la cuenta del núcleo recién creada y dale a OK
para conectar con él.
Si es la primera vez que te conectas a este núcleo verás un aviso de Certificado de seguridad no confiable
y necesitarás aceptar el certificado del servidor.
Selecciona Continuar
. Se te preguntará si quieres aceptar el certificado permanentemente. Selecciona Para siempre
.
Si nadie se ha conectado nunca antes a este Núcleo Quassel antes verás un diálogo por pasos Asistente de configuración del núcleo
. Selecciona Siguiente
.
En la página Crear usuario administrador
introduce el usuario y la contraseña que has usado antes para crear la conexión al núcleo. Selecciona Recordar la contraseña
para que recuerde la contraseña para futuras sesiones. Haz clic en Siguiente
.
En la página Seleccionar un motor de almacenamiento
selecciona SQLite
y haz clic en Enviar
.
La configuración del núcleo está completa y verás un asistente Quassel IRC
para configurar tus conexiones IRC. Haz clic en Siguiente
.
A continuación en la página de Configurar identidad
pon un nombre y múltiples pseudónimos. Te presentarás con estos a otros usuarios de IRC. No es necesario dar tu nombre real. Los pseudónimos múltipes son útiles como suplentes cuando el primero no se pueda usar por cualquier motivo. Tras aportar la información haz clic en Siguiente
.
A continuación en la página de Configurar conexión de red
pon el nombre de red que quieras y una lista de servidores a los que se deba conectar el Núcleo de Quassel para unirte a esa red IRC (por ejemplo irc.debian.org:6667
).
Selecciona un servidor de la lista y dale a Editar
. En el diálogo Información del servidor
pon el puerto 6697
(consulta la lista real de servidores y sus puertos seguros en la documentación de tu red) y haz clic en Usar conexión cifrada
. Clic en OK
. Esto es para asegurar que la comunicación entre tu FreedomBox y el servidor de la red IRC va cifrada.
<<BR>>
Ya de vuelta en el diálogo Configuración de Conexión de Red
proporciona una lista de canales IRC (como #freedombox) a los que unirte al conectarte a la red. Dale a Grabar y Conectar
.
Deberías conectar con la red y ver la lista de canales a los que te has unido en el panel Todas las conversaciones
de la izquierda de la ventana principal del Cliente Quassel.
Selecciona un canal y empieza a recibir mensajes de otros participantes del canal y a enviar los tuyos.
Para dispositivos Android puedes usar p.ej. Quasseldroid obtenido desde F-Droid
introduce el núcleo, usuario, etc.
Por cierto el verbo alemán quasseln significa hablar mucho, rajar.
Sitio web del proyecto original: https://quassel-irc.org
Wiki del proyecto original: https://bugs.quassel-irc.org/projects/quassel-irc/wiki
|
Disponible desde: versión 0.9
Con Radicale puedes sincronizar tus calendarios, listas de tareas y agendas de contactos personales entre varios ordendores, tabletas, y/o teléfonos inteligentes y compartirlos con tus amistades. Todo sin tener que permitir a terceros que accedan a tu información privada.
Usando Radicale puedes evitar servicios centralizados como Google Calendar o Apple Calendar (iCloud) que explotan los datos de tus eventos y conexiones sociales.
Primero el servidor Radicale necesita estar activado en tu FreedomBox.
En el servicio FreedomBox
selecciona Apps
ve a Radicale (Calendario y Libreta de contactos) e
instala la aplicación. Tras completar la instalación asegúrate de que la aplicación está marcada como "habilitada" en el interfaz de FreedomBox. Habilitar la aplicación arranca el servidor CalDAV/CardDAV Radicale.
define los permisos de acceso:
Solo el dueño de un calendario/libreta de contactos puede ver o hacer cambios
Cualquier usuario puede ver cualquier calendario/libreta de contactos pero solo el dueño puede hacer cambios
Cualquier usuario puede ver o hacer cambios en cualquier calendario/libreta
Nota: Solo los usuarios dados de alta en FreedomBox pueden acceder a Radicale.
Si quieres compartir un calendario solo con algunos usuarios determinados la manera más simple es crear un nuevo usuario común para ellos y compartir con ellos el nombre del usuario común y su contraseña.
Radicale proporciona un interfaz web básico que solo soporta crear calendarios y libretas nuevos. Para añadir eventos o contactos se necesita una aplicación cliente soportada externa.
Crear calendarios y/o libretas usando el interfaz web
Visita https://<dirección_IP_o_dominio_de_tu_servidor>/radicale/
Ingresa con tu cuenta de FreedomBox
Selecciona "Crear nuevo calendario o libreta"
Proporciona un título y selecciona el tipo
Opcionalmente, proporciona una descripción o selecciona un color
Haz clic en "Crear"
La página mostrará la URL de tu created nuevo calendario o libreta
Ahora abre tu aplicación cliente para crear calendarios y/o libretas nuevos que usarán tu FreedomBox y servidor Radicale. El sitio web de Radicale proporciona una lista de clientes soportados pero no uses las URLs que se mencionan allí; sigue este manual porque FreedomBox usa otra configuración. A continuación se muestran los pasos para 2 ejemplos:
Ejemplo de configuración con el cliente Evolution:
Calendario
Crea un calendario nuevo
Selecciona el "Tipo" "CalDAV"
Con "CalDAV" seleccionado aparecerán más opciones en el cuadro de diálogo.
URL: https://<dirección_IP_o_dominio_de_tu_servidor> cambiando los elementos marcados entre <> de acuerdo a tu configuración.
Habilita "Usar una conexión segura."
Usuario: <NOMBREUSUARIO>. Tu usuario en FreedomBox.
Haz clic en "Encontrar Calendarios"
Introduce to contraseña y selecciona un calendario.
Lista de tareas: Añadir una lista de tareas es prácticamente igual que con un calendario.
Contactos
Sigue los mismos pasos anteriores reemplazando CalDAV por WebDAV.
Configurar un calendario en FreedomBox con Radicale sobre Tor es lo mismo que sobre la red en claro, en resumen:
Cuando hayas ingresado al interfaz web de FreedomBox desde Tor haz clic en Radicale e introduce un usuario de tu FreedomBox y su contraseña.
Ingresa en el interfaz web de Radicale usando el usuario de tu FreedomBox y su contraseña.
Haz clic en "Crear libreta o calendario nuevo", proporciona un título, selecciona un tipo y haz clic en "Crear".
Anota la URL, p.ej. https://<direccion_onion_de_tu_servidor>.onion/radicale/<usuario>/<código_del_calendario>/
cambiando los elementos marcados entre <>
de acuerdo a tu configuración.
Estas instrucciones son para Thunderbird/Lightning. Nota: necesitarás estar conectado a Tor con el Tor Browser Bundle
.
Abre Thunderbird, la extensión (add-on) Torbirdy y reinicia Thunderbird. (Quizá no haga falta.)
En el interfaz Lightning, en el panel izquierdo bajo Calendario haz clic con el botón derecho del ratón y selecciona "Nuevo calendario".
Selecciona "En la red" como localización de tu calendario.
Selecciona "CalDAV" copia la URL, p.ej., https://<direccion_onion_de_tu_servidor>.onion/radicale/<usuario>/<código_del_calendario>/
. como localización cambiando los elementos marcados entre <>
de acuerdo a tu configuración.
Proporciona un nombre, etc. Haz clic en "Siguiente". Tu calendario está ahora sincronizando con tu FreedomBox a través de Tor.
Si no has generado un certificado con "Let's Encrypt" para tu FreedomBox quizá necesites seleccionar "Confirmar Excepción de Seguridad" cuando se te indique.
Hay varias Apps que admiten integración con el servidor Radicale. Este ejemplo usa DAVx5
, que está disponible p.ej. en F-Droid. Si también quieres usar listas de tareas hay que instalar primero la app compatible OpenTasks.
Sigue estos pasos para configurar tu cuanta con el servidor Radicale de tu FreedomBox.
Instala DAVx5.
Crea una cuenta nueva en DAVx5 haciendo clic en el botón flotante [+].
Selecciona la 2ª opción como se muestra en la primera imagen más abajo e introduce la URL base https://<dirección_de_tu_freedombox>/radicale/<usuario>/ (no olvides la /
del final). DAVx5 averiguará las cuentas CalDAV y WebDAV del usuario.
Sigue este video del FAQ de DAVx5 para aprender cómo importar tus contactos existentes a Radicale.
Sincronizar contactos
Haz clic en los menús de hamburguesa de CalDAV y CardDAV y selecciona "Refrescar ..." en caso de cuentas existentes o "Crear ..." en caso de cuentas nuevas (ver la 2ª captura de pantalla más abajo).
Marca las cajas de las libretas y/o contactos que quieras sincronizar y haz clic en el botón de sincronización de la cabecera. (ver la 3ª captura de pantalla más abajo)
Arriba se mostrá una manera fácil de crear un recurso para un grupo de gente creando una cuenta dedicada común. Aquí de describe un método alternativo con el que se otorga acceso a un calendario a 2 usuarios Usuario1
y Usuario2
. Esto requiere acceso por SSH a la FreedomBox.
crea un archivo /etc/radicale/rights
[friends_calendar] user: ^(Usuario1|Usuario2)$ collection: ^.*/calendario_de_mis_amigos.ics$ permission: rw # Dar permisos de escritura a los dueños: [owner-write] user: .+ collection: ^%(login)s/.+$ permission: rw
[calendario_de_mis_amigos]
es solo un identificador, puede ser cualquier nombre.
La sección [owner-write]
asegura que los dueños tengan acceso a sus propios archivos.
Edita el archivo /etc/radicale/config
y haz los siguientes cambios en la sección [rights]
[rights] type = from_file file = /etc/radicale/rights
Reinicia el servidor Radicale o la FreedomBox
Si estás usando un archivo de contactos exportado desde otro servicio o aplicación hay que copiarlo a: /var/lib/radicale/collections/<usuario>/<nombre_del_archivo_de_contactos>'.vcf.
Sitio web del proyecto original: https://radicale.org/3.0.html
Documentación de uso del proyecto original: https://radicale.org/v3.html#documentation-1
Radicale en el wiki de Debian: https://wiki.debian.org/Radicale
|
Disponible desde: versión 0.5
Roundcube es un cliente de correo electrónico (email) para navegador con un interfaz de usuario parecido a una aplicación de escritorio. Admite varios lenguajes. Roundcube usa el protocolo de acceso a mensajes de Internet (IMAP = Internet Message Access Protocol) para acceder a los correos en un servidor remoto. Soporta MIME para enviar archivos adjuntos y en particular proporciona libreta de contactos, gestión de carpetas, búsquedas de mensajes y verificación ortográfica.
Roundcube se puede usar para leer y enviar correos electrónicos de una de dos maneras: Usando una cuenta de correo alojada fuera de FreedomBox, como Riseup o Gmail, o bien con una cuenta alojada en FreedomBox. La segunda es posible si se despliega una app de servidor de correo como Postfix/Dovecot/Rspamd en FreedomBox. Actualmente Roundcube solo se puede configurar en uno de estos modos (no con ambos coexistiendo). Esto se controla con la opción Usar solo el servidor de correo local mail de la página de configuración de la app de Roundcube.
En el primer caso solo obtienes privacidad sobre tus borradores. Una vez envías el correo una copia reside en el servicio externo (Riseup, Gmail, etc), salvo que la borres expresamente. En cualquier caso tu tráfico transita a través de ellos.
En el segundo caso (autoalojando) tu copia del correo reside en tu servidor FreedomBox. Pero solo mantienes privacidad mientras el destinatario también use un sistema privado y no revele tu contenido.
Tras instalar Roundcube se puede acceder a él en https://<tu_freedombox>/roundcube
. Introduce tu usuario y contraseña. El usuario de muchos servicios de correo electrónico suele ser la propia dirección completa, como usuario_de_ejemplo@servicio_de_ejemplo.org, no solo el usuario usuario_de_ejemplo. Introduce la dirección del servidor IMAP de tu servicio de correo electrónico en el campo Servidor. Puedes probar a poner aquí tu nombre de dominio como servicio_de_ejemplo.org si la dirección es usuario_de_ejemplo@servicio_de_ejemplo.org y si esto no funciona consulta la dirección del servidor IMAP en la documentación de tu proveedor de correo electrónico. Se recomienda encarecidamente usar una conexión cifrada a tu servidor IMAP. Para ello inserta el prefijo "imaps://" al principio de la dirección del servidor IMAP. Por ejemplo, imaps://imap.servicio_de_ejemplo.org
.
Si quieres usar Roundcube con tu cuenta Gmail necesitas habilitar primero el ingreso con contraseña en las preferencias de tu cuenta Google porque Gmail no va a permitir por defecto que ingresen aplicaciones mediante contraseña. Para hacerlo visita las preferencias de la Cuenta Google y habilita Apps Menos seguras. A continuación ingresa en Roundcube introduciendo tu dirección de Gmail como Usuario y tu contraseña. En el campo servidor pon imaps://imap.gmail.com
.
Sitio web: https://roundcube.net
Documentación de uso: https://roundcube.net/support/
|
Disponible desde: versión 22.16
RSS-Bridge es una aplicación web capaz de generar feeds RSS y Atom para sitios web que no los tienen. Por ejemplo, con ayuda de RSS Bridge puedes suscribirte a canales de YouTube sin necesidad de darte de alta.
En este ejemplo veremos una de las maneras de suscribirse a un canal de YouTube dado.
Visita el canal de YouTube y copia su nombre al portapapeles.
2.#2 Encuentra "YouTube Bridge" y haz clic en mostrar más.
3.#3 Pega el nombre del canal en la sección Nombre personalizado y haz clic en Generar Feed.
4.#4 De entre los tipos de feed disponibles selecciona Atom. Si empleas un navegador basado en Chromium esto abrirá el feed Atom en una pestaña nueva, que podrás copiar fácilmente a un lector de feeds como Tiny Tiny RSS.
Copia la URL que generó RSS Bridge.
2.#2 En Tiny Tiny RSS selecciona Suscribirse a un feed en el menú desplegable de la derecha.
Pega el enlace generado del paso 1 en la caja de texto y selecciona Este feed requiere autenticación.
Envía el nombre de usuario en FreedomBox y la contraseña, y haz clic en Suscribirse.
Para una descripción más detallada de Tiny Tiny RSS, visita su página en el manual.
Sitio web: https://rss-bridge.github.io/rss-bridge/
Documentación de usuario: https://rss-bridge.github.io/rss-bridge/General/Project_goals.html
|
Disponible desde: versión 19.22
Samba te permite tener una carpeta compartida en la red local que se puede usar desde multiples ordenadores con sistemas operativos diferentes. De ahora en adelante nos referiremos a estas carpetas como "shares". Puedes tener una carpeta personal compartida por tus propios dispositivos (share casero), una compartida con un grupo de confianza (share de grupo) o una compartida con todo dispositivo de la red (share abierto).
Samba te permite tratar un share como si fueran carpetas locales de tu ordenador. No obstante los shares solo están disponibles en la red local.
Para aprender más acerca de Samba, mira la documentación de usuario de su wiki.
Tras la instalación, puedes elegir qué discos compartir. Los shares habilitados están accesibles en el administrador de archivos de tu ordenador en la ruta \\freedombox (en Windows) o smb://freedombox.local (en Linux y Mac). Hay 3 tipos de share para elegir:
Share abierto - accesible a cualquiera en tu red local.
Share de grupo - accesible solo a usuarios FreedomBox que estén en el grupo freedombox-share.
Share casero - cada usuario del grupo freedombox-share puede tener su propio espacio privado.
Para acceder a shares Samba desde un dispositivo Android instala el "Cliente Samba para Android" desde F-Droid o Google Play. Introduce smb://freedombox.local/<disco> como ruta del share en la app. Tus carpetas compartidas deberían estar visibles en la app de administración de archivos. También VLC para Android puede detectar automáticamente y usar los shares Samba.
Abre una ventana de Finder window en tu Mac.
Usa Ir -> Conectarse al servidor... desde el menú o pulsa Cmd+K para abrir el diálogo Conectarse al servidor.
Introduce la dirección de tu compartición Samba, p.ej. smb://192.168.0.105/disco y haz clic en Conectar.
La app Transmission de FreedomBox proporciona una configuración para permitir que las descargas se graben directamente en un share Samba.
Si quieres dejar disponibles en Samba ficheros sincronizados con Syncthing tienes que asegurarte de sincronizar en la carpeta compartida de Samba. Además, para dejar las carpetas de Syncthing disponibles en carpetas abiertas o de grupo de Samba necesitas asegurarte de pulsar el botón "Permisos > Ignorar" bajo la pestaña "Avanzado" de la carpeta en el interfaz web de usuario de Syncthing. Esto permitirá escribir los ficheros mediante Samba.
Syncthing mantiene una copia de la carpeta compartida en cada dispositivo con el que se comparte. Samba mantiene solo una copy en tu dispositivo FreedomBox.
Syncthing puede sincronizar tus carpetas compartidas entre dispositivos por Internet. Los shares Samba solo están disponibles en tu red local.
Como Syncthing es primordialmente una solución de sincronización, tiene funcionalidades como resolución de conflictos y versionado. Samba solo tiene una copia del fichero, así que no necesita tales funcionalidades. Por ejemplo, si dos personas están editando una hoja de cálculo almacenada en un share Samba el último que grabe el fichero gana.
Sitio web del proyecto original: https://www.samba.org
Documentación de uso del proyecto original: https://www.samba.org/samba/docs
Samba en el wiki de Debian: https://wiki.debian.org/Samba
|
Disponible desde: versión 0.24.0
Searx es un metabuscador. Un metabuscador agrega los resultados de varios buscadores y los presenta en un interfaz unificado.
Lee más acerca de Searx en su sitio web oficial.
Los buscadores tienen la capacidad de perfilar a sus usuarios y les sirven los resultados más relevantes para ellos, encerrandoles en burbujas por filtrado y distorsionando la visión que la gente tiene del mundo. Los buscadores tienen un incentivo financiero para servir publicidad interesante a sus usuarios, ya que incrementa la probabilidad de que hagan clic en los anuncios.
Un metabuscador es una solución posible a este problema, ya que agrega resultados de multiples buscadores puenteando así los intentos de personalización de los buscadores.
Searx evita almacenar cookies de buscadores para eludir traceos y perfilados de buscadores.
Searx filtra anuncios de los resultados de búsqueda antes de servirlos al usuario, con lo que mejora la relevancia de tus resultados y te evita distracciones.
Searx usa por defecto HTTP POST en vez de GET para enviar tus consultas de búsqueda a los buscadores, así que si alguien espía tu tráfico no podrá leerlas. Tampoco se almacenarán las consultas en el histórico de tu navegador.
Nota: Searx usado desde la barra (omnibar) del navegador Chrome hará peticiones GET en vez de POST.
En FreedomBox Searx usa las credenciales únicas de Single Sign On. Esto implica que tienes que haber ingresado en tu FreedomBox con el navegador en el que estás usando Searx.
Se puede acceder fácilmente a SearX a través de Tor.
Se puede añadir a Searx a la barra de buscadores del navegador Firefox. Mira la Ayuda de Firefox acerca de este asunto. Una vez esté Searx añadido también podrás establecerlo como tu buscador por defecto.
Searx también ofrece resultados de búsqueda en formatos csv, json y rss, que se pueden usar desde scripts para automatizar algunas tareas.
Sitio web del proyecto original: https://searx.github.io/searx/
Documentación de uso del proyecto original: https://searx.github.io/searx/user/index.html
Wiki del proyecto original: https://github.com/searx/searx/wiki
|
Disponible desde: versión 21.15
Shaarli es un marcapáginas personal (de usuario único) para instalar en tu FreedomBox. Se puede usar también para micro-blogging, portapapeles, bloc de notas en red y archivo de recortes. Shaarli está diseñada como un clon de delicious sin base de datos. Como tal, proporciona servicios muy rápidos, respaldos fáciles y enlaces de importación/exportación en forma de mrgapáginas para navegadores de escritorio o móviles. Los enlaces se pueden almacenar públicos o privados. Shaarli produce feeds ATOM y RSS desde su interfaz minimalista.
Sitio web del proyecto original: https://shaarli.readthedocs.io/en/master/index.html
Documentación de uso del proyecto original: https://shaarli.readthedocs.io/en/master/Usage/
|
Disponible desde: versión 0.18.0
Shadowsocks es una herramienta para reenviar peticiones de red a un servidor remoto de forma segura. Consiste de dos partes: (1) un servidor Shadowsocks y (2) un cliente Shadowsocks con un proxy SOCKS5.
Nota: Shadowsocks está disponible en FreedomBox a partir de la versión 0.18.
Se puede emplear Shadowsocks para eludir el filtrado de Internet y con ello la censura. Esto requiere un servidor Shadowsocks situado donde pueda acceder con libertad a Internet, sin filtros.
Tu FreedomBox puede ejecutar un cliente Shadowsocks que puede conectar con el servidor Shadowsocks. Ejecutará también un proxy SOCKS5. Los dispositivos locales pueden conectar con este proxy, y sus datos se cifrarán y enrutarán a través del servidor Shadowsocks.
O bien tu FreedomBox puede ejecutar un servidor Shadowsocks para que los clientes Shadowsocks conecten con él. Los datos de estos clientes se cifrarán y enrutarán a través de este servidor.
El uso de Shadowsocks sería así:
El cliente de Shadowsocks (FreedomBox) está en una región en la que partes de Internet están bloqueadas o censuradas.
El servidor de Shadowsocks está en una región diferente que no tiene esos bloqueos.
FreedomBox proporciona un servicio de proxy SOCKS en la red local para que otros dispositivos hagan uso de la conexión Shadowsocks.
Para habilitar el cliente Shadowsocks primero navega a la página del cliente Shadowsocks (Eludir censura) e instalalo.
Servidor: el servidor Shadowsocks no es la IP o la URL de FreedomBox, sino que será otro servidor o VPS configurado como tal (servidor Shadowsocks). También hay algunos servidores Shadowsocks públicos listados en la web, pero sé consciente de que quienquiera que opere el servidor puede ver a dónde van las peticiones y cualquier dato no cifrado que se transmita.
Para usar Shadowsocks una vez instalado configura la URL del proxy SOCKS5 en tu dispositivo, navegador o aplicación como http://<tu_freedombox>:1080/
.
Para habilitar el servidor Shadowsocks ve a su página (Ayudar a otros a eludir la censura) e instalalo.
Nota: En general, una FreedomBox se configuraría bien como servidor Shadowsocks o bien como cliente, ¡pero no como ambos!
Para que otros clientes Shadowsocks se conecten a tu servidor necesitarán conocer tu nombre de dominio, la contraseña y el método de cifrado.
Si tu FreedomBox está detrás de un router, necesitarás configurar la redirección de los siguientes puertos para el servidor Shadowsocks:
TCP 8388
UDP 8388
Sitio web del proyecto original: https://shadowsocks.org
Documentación de uso del proyecto original: https://shadowsocks.org/doc/what-is-shadowsocks.html
|
Disponible desde: versión 0.25
Sharing es una aplicación que te permite compartir contenido via web. El contenido compartido pueden ser archivos individuales o directorios completos.
El contenido se puede compartir públicamente o restringido a usuarios de una lista de grupos autorizados. Los usuarios autorizados podrán acceder al contenido compartido desde su navegador web en https://tu_freedombox/share/nombre_del_contenido
. Los usuarios que no pertenezcan a ninguno de los grupos autorizados no verán ni accederán al contenido mediante este mecanismo.
Para que los usuarios accedan al contenido mediante su navegador debe existir y tener una compartición. Una compartición es una entrada en la aplicación Sharing que relaciona:
El Nombre (y por tanto la URL) que usarán los usuarios para solicitar el contenido,
el Ruta de acceso al contenido a servir y
el modo de compartición. Si es restringido, también contendrá la lista de grupos autorizados.
En el mismo servidor pueden coexistir múltiples comparticiones.
Sólo los administradores pueden crear, editar o eliminar comparticiones. Encontrarán la aplicación Sharing en la sección Aplicacions del interfaz web de FreedomBox. La aplicación Sharing es una aplicación web fácil de usar y con un interfaz evidente.
Cada compartición tiene su priopio ajuste de modo de compartición (pública o restrigida). Sólo los grupos que reconoce el servicio FreedomBox se pueden combinar en la lista de grupos autorizados. La aplicación Sharing no ofrecerá los grupos creados en el interfaz de línea de órdenes.
El contenido se puede crear antes o después de crear la compartición y se pueden actualizar independientemente.
No hay que ser administrador para provisionar el contenido. Cualquier usuario con acceso de escritura en la ruta de acceso a la compartición puede crearlo o actualizarlo.
Varias comparticiones podrían apuntar al mismo contenido.
Si eres usuario de FreedomBox y tu administrador se niega a crearte comparticiones, y no necesitas restringir el acceso a tu contenido, todavía puedes recurrir al mecanismo de Sitios web de Usuario o a las redes entre pares (P2P) (Deluge o Transmission para Torrent) para publicar tus archivos.
Sharing compartirá el contenido usando el servidor web Apache que viene de serie.
Sitio web del proyecto original: https://projects.apache.org/project.html?httpd-http_server
Documentación de uso del proyecto original: https://httpd.apache.org/docs/2.4/en/mod/mod_alias.html
Apache en el wiki de Debian: https://wiki.debian.org/Apache
|
Disponible desde: versión 0.14.0
Con Syncthing instalado en tu FreedomBox puedes sincronizar contenido desde otros dispositivos a tu FreedomBox y vice-versa. Por ejemplo puedes mantener sincronizadas las fotos tomadas desde tu teléfono móvil con tu FreedomBox.
Syncthing es una solución de sincronización entre pares, no una de tipo cliente-servidor. Esto implica que FreedomBox no es realmente el servidor y tus otros dispositivos no son sus clientes. Desde la perspectiva de Syncthing todos son dispositivos equivalentes. Puedes emplear Syncthing para sincronizar tus archivos entre cualquiera de tus dispositivos. La ventaja que aporta FreedomBox consiste en que como es un servidor está encendida (casi) siempre. Supón que quieres sincronizar las fotos de tu teléfono con tu portátil. Si sincronizas tu teléfono con FreedomBox el portátil podrá obtenerlas desde la FreedomBox cuando vuelva a conectarse. No necesitas preocuparte de cuando se conectan los otros dispositivos. Si tu FreedomBox es uno de los dispositivos configurados con la carpeta compartida de Syncthing puedes estár tranquilo que tus otros dispositivos se sincronizarán en cuanto se conecten.
Tras instalarlo sigue estas instrucciones del proyecto Syncthing: Arrancando.
Syncthing permite compartir selectivamente carpetas individuales. Antes de compartir los dispositivos tienen que estar emparejados leyendo códigos QR o introduciendo manualmente identificadores de dispositivo. Syncthing tiene un servicio de autodescubrimiento para identicar fácilmente a los otros dispositivos de la misma subred que tengan Syncthing instalado.
Para acceder al cliente web de la instancia Syncthing que se ejecuta en tu FreedomBox, usa la ruta /syncthing
. Actualmente este cliente web está accesible solo a los usuarios de FreedomBox que tengan privilegios de administrador aunque en alguna futura versión podría estarlo a todos los usuarios de FreedomBox.
Syncthing tiene apps Android disponibles en F-Droid y Google Play. También hay disponibles aplicaciones de escritorio multiplataforma.
Para más información acerca de Syncthing visita su sitio web oficial y su documentación.
Syncthing debe sincronizar automáticamente con tu FreedomBox incluso cuando esta solo sea accesible como servicio Tor Onion.
Si quieres enrutar tu cliente Syncthing via Tor configura la variable de entorno all_proxy
:
$ all_proxy=socks5://localhost:9050 syncthing
Para más información mira la documentación de Syncthing acerca de el uso de proxies.
Syncthing emplea por defecto conexiones dinámicas para conectar con otros pares. Esto significa que si estás sincronizando a través de Internet, los datos quizá tengan que atravesar repetidores de Syncthing públicos para alcanzar tus dispositivos. Esto desaprovecha que tu FreedomBox tenga una dirección IP pública.
Al añadir tu FreedomBox como dispositivo en otros clientes de Syncthing establece tu dirección como "tcp://<mi.dominio.freedombox>" en vez de "dinámica". Esto permite a tus pares Syncthing conectarse diréctamente a tu FreedomBox eludiendo la necesidad de repetidores. También permite sincronización rápida bajo demanda si no quieres mantener a Syncthing ejecuándose todo el tiempo en tus dispositivos móviles.
Los administradores de contraseñas que almacenan sus bases de datos en ficheros son susceptibles de sincronizarse usando Syncthing. El siguiente ejemplo describe el uso de un administrador de contraseñas libre llamado KeePassXC en combinación con Syncthing para servir como remplazo para administradores de contraseñas privativos que almacenan tus contraseñas en la nube.
KeePassXC almacena usuarios, contraseñas, etc en ficheros con la extensión .kdbx. Estos ficheros .kdbx se pueden almacenar en una carpeta compartida Syncthing para mantenerlos sincronizados en multiples máquinas. Hay disponibles, tanto para escritorio como para dispositivos móviles, aplicaciones de software libre que pueden leer este formato de fichero. Habitualmente sólo tienes que apuntar la aplicación al fichero .kdbx e introducir la contraseña maestra para acceder a tus credenciales almacenadas. Por ejemplo, el mismo fichero .kdbx se puede consultar empleando KeePassXC en el escritorio y KeePassDX en Android. Instalando una extensión se puede usar también KeePassXC para rellenar credenciales en los campos de ingreso (login) en el navegador.
Varias aplicaciones de notas permiten guardar las notas en ficheros de texto plano o en formato _Markdown_. logseq es una de ellas, con licencia AGPLv3. Se puede usar para escribir una bitácora o páginas sueltas por temas enlazadas formando un esquema. El texto no se guarda cifrado. Un equipo puede usar logseq como software de notas en vez de un wiki.
Zim es un software de wiki disponible en escritorios Debian. Puedes configurar el almacenaje de un wiki Zim personal para que use un carpeta Syncthing.
Si tus notas van a ser siempre personales, hay un solución más simple. Se llama "quine". Un wiki implemented como quine es un único fichero HTML con CSS y JavaScript que lo vuelven útil para tomar notas, llevar un diario o como documentación. Tras editar el fichero HTML de quine en un navegador puedes grabarlo sobreescrbiendo el fichero HTML de tu carpeta Syncthing folder. Los Quines son la solución wiki más simple para anotaciones personales que funciona en todos los sistemas operativos y que solo requiere un navegador web. TiddlyWiki y FeatherWiki son muy populares.
Sitio web del proyecto original: https://syncthing.net
Documentación de uso del proyecto original: https://docs.syncthing.net
|
Disponible desde: versión 24.17
TiddlyWiki en un bloc de notas web no lineal interactivo para capturar y organizar información compleja. Puede servir como un sistema unipersonal de gestión de conocimientos. Es portable (un único archvo HTML), altamente personalizable y fácil de usar. Pese a ser un único archivo HTML TiddlyWiki puede incrustar multiples tipos de multimedia - imagenes, audio, video y archivos PDF (o apuntar a ellos mediante rutas, aunque esto ya no es tán portable). También puede almacenar datos en formato JSON.
FreedomBox incluye una implementación nativa de un nido Feather Wiki (un servidor para guardar tus archivos de wiki). Se usa el mismo para alojar los archivos TiddlyWiki. Esta implementación no es tán eficiente como el servidor oficial TiddlyWiki, que puede grabar entradas (Tiddlers) individualmente, en vez de grabar todo el archivo HTML.
Cada archivo TiddlyWiki vacío es 40 veces mayor (2.4 MB) que uno de Feather Wiki (60 KB). TiddlyWiki viene con la grabación automática activa por omisión. Esto provoca que se transmita al servidor el archivo entero cada vez que se guarda un Tiddler. En Feather Wiki el texto es corrido así que quizá escribas páginas largas pero TiddlyWiki invita a escribir muchos Tiddlers cortos, lo que deviene en más grabaciones por el mismo texto. Los archivos de TiddlyWiki tienden a crecer a medida que añades contenido multimedia. Hay a quien le crecen sus wikis hasta 100 MB con el transcurso de los años.
Si editas con datos móviles o por conexión telefónica, cientos de grabaciones de 2.4 MB + contenido se notan. En estos casos se recomienda deshabilitar la grabación automática en los ajustes y grabar a mano.
Wiki personal: TiddlyWiki se puede usar como wiki personal para almacenar todo tipo de información en notas cortas llamadas Tiddlers. Puede alojar una pequeña base de datos de perlas de conocimiento personal enlazadas en estructura de grafo y fáciles de busar y organizar.
Notas de investigación: TiddlyWiki se puede usar como un tarjetero o un segundo cerebro. Esto puede llevar a revelaciones creativas cruzando conceptos diferentes.
Diario cifrado: TiddlyWiki soporta protección mediante contraseña y secuencias de entradas (un Tiddler con la fecha del día como título). Tu diario personal puede ser un archivo TiddlyWiki.
TiddlyWiki se puede emplear para gestión de proyectos, por ejemplo planificar una boda.
Aunque el formato de TiddlyWiki's es declarativo se puede usar para crear contenido interactivo como tarjetas flash y listas auto-actualizadas. Soporta plantillas y macros en JavaScript.
Blog de enlaces: Un archivo TiddlyWiki puede reemplazar a Shaarli si quieres mantener tus marcapáginas privados.
TiddlyWiki se puede usar como gestor de incidencias para tus proyectos de GitWeb.
Actualizar TiddlyWiki es un proceso manual.
Salva una copia local del fichero desde tu navegador. Haz clic con el botón derecho del ratón -> Guardar como...
Usa el Asistente de actualización del sitio web oficial.
Tras descargar el archivo actualizado, cárgalo al navegador para verificar tu contenido.
Reemplaza el archivo antiguo en tu FreedomBox con el archivo actualizado.
Si alguna vez pierdes un archivo TiddlyWiki puedes recuperar una copia ligaramente anticuada de la app de Copias de Respaldo. Es mejor conservar tu copia local tras la actualización, si quieres revertir.
A diferencia de Feather Wiki, TiddlyWiki no usa automaticamente el favicon de tu FreedomBox's. Para configurarlo sigue estos pasos:
Crea un tiddler nuevo con el títluo $:/favicon.ico
. Deja vacía la sección de contenido.
En el desplegable Tipo
selecciona icono ICO (imagen/icono-x)
.
En la sección Añadir un campo nuevo:
pon el primer campo a _canonical_uri
y el segundo a https://<la-ulr-de-tu--freedombox>/favicon.ico
.
Graba el tiddler nuevo y el wiki.
Ver: Establecer un favicon: TiddlyWiki
Tambiñen pueder user una imagen como favicon para cada TiddlyWiki. Usar favicons diferentes facilita identificar la pestaña en el navegador. Pongamos que el archivo TiddlyWiki es tu diario personal y como favicon quieres ponerle la imagen "notebook.png" que aparenta un diario.
Abre la carpeta donde esté la imagen mediante el explorador de archivos de tu escritorio.
Arrastrala a la pestaña del navegador de TiddlyWiki.
Se abrirá un tiddler especial llamado $:/import
.
En este tiddler tendrás la opción de renombrar el archivo. Renómbralo a $:/favicon.ico
.
Haz clic en el botón Importar
y graba el wiki.
Proyecto original: https://tiddlywiki.com
Grok TiddlyWiki (libro electrónico en línea): https://groktiddlywiki.com/read/
|
Disponible desde: versión 0.9
Tiny Tiny RSS es un lector y agregador de feeds de noticias (RSS/Atom) diseñado para leer noticias desde cualquier lugar con una experiencia lo más parecida posible a una aplicación de escritorio.
Cualquier usuario creado mediante el interfaz web de FreedomBox podrá ingresar y usar esta app. Cada usuario tiene sus propios feeds, estado y preferencias.
Cuando esté habilitado Tiny Tiny RSS estará disponible en la ruta /tt-rss del servidor web. Cualquier usuario creado mediante FreedomBox podrá ingresar y usar esta app.
1. Ve a la página cuyo feed quieras y copia su enlace RSS/Atom feed.
2. Selecciona "Subscribirse al feed.." en el desplegable Acciones.
3. Pega la URL que has copiado en el diálogo que aparece y pulsa el botón Subscribirse.
Dale un minuto a la aplicación para obtener los feeds.
En algunos sitios web el botón de feeds RSS no está claramente visible. En tal caso simplemente pega la URL del sitio web en el diálogo Subscribirse y deja que TT-RSS detecte automáticamente los feeds RSS que haya en la página.
Puedes probarlo ahora con la página principal de WikiNews
Como puedes ver en la imagen seguiente TT-RSS ha detectado y añadido el feed Atom de WikiNews a nuestra lista de feeds.
Si no quieres conservar este feed haz clic con el botón derecho del ratón en el feed de la imagen anterior, selecciona Editar feed y dale a Desubscribir en el diálogo que aparece.
Encuentra en tu lector de feeds previo una opción para Exportar tus feeds a un fichero. Si tiene que elegir entre varios formatos elige OPML. Pongamos que tu fichero de feeds exportados se llama Subscriptions.opml
Haz click en la esquina superior izquierda el menú Acciones y selecciona Preferencias. Se te llevará a otra página.
En la cabecera superior selecciona la 2ª solapa llamada Feeds. Tiene varias secciones y la 2ª se llama OPML. Selecciónala.
Para importar tu fichero Subscriptions.opml a TT-RSS,
Haz clic en Examinar... y selecciona el fichero en tu sistema de archivos.
Haz clic en Importar mi OPML
Tras importar se te llevará a la sección Feeds que está en la página encima de la de OPML. Puedes ver que los feeds del lector previo figuran ahora importados en Tiny Tiny RSS. Ahora puedes empezar a usar Tiny Tiny RSS como tu lector principal.
La app oficial para Android del proyecto Tiny Tiny RSS funciona con el servidor Tiny Tiny RSS de FreedomBox. Se sabe que la aplicación anterior TTRSS-Reader no funciona.
Desafortunadamente la app oficial para Android solo está disponible en la Play Store de Google y no en F-Droid. Todavía puedes obtener el código fuente y compilar el fichero apk por tu cuenta.
Para configurarla, primero instálala y entonces en la página de configuración pon https://<tu_freedombox>/tt-rss-app/ como URL. Pon tu usuario y contraseña en los detalles del Login así como los detalles de Autenticación HTTP. Si tu FreedomBox no tiene un certificado HTTPS válido configuralo para que admita cualquier certificado SSL y cualquier servidor.
Se puede usar RSS Bridge junto con Tiny Tiny RSS para generar enlaces Atom/RSS para sitios web que no proporcionan ninguno.
1. Abre un editor de texto en tu ordenador y copia la siguiente línea:
https://www.youtube.com/feeds/videos.xml?channel_id=</code>
2. Abre un video del canal al que quieres suscribirte. En este ejemplo nos suscribiremos al canal de la FreedomBox Foundation en Youtube.
3. Bajo el video haz clic con el botón derecho sobre el nombre del canal y selecciona Copiar Enlace. Tienes que asegurarte de copiar así la URL del canal porque hay muchos canales con URL personalizada y así obtienes la URL con su identificador genérico.
4. Pega también este enlace en tu fichero de texto.
5. Con ambos enlaces selecciona el texto que viene detrás de /channel/
y ponlo junto al primer enlace como se muestra en las imágenes:
6. Ahora puedes usar este enlace como un feed RSS válido.
Además puedes mostrar vídeos dentro de Tiny Tiny RSS:
1. Selecciona "Preferencias" en el desplegable Acciones.
2. Selecciona Plugins
3. Activa el plugin titulado "af_youtube_embed"
4. Haz clic en "Habilitar los plugins seleccionados"
Se recomienda encarecidamente usar alguna de las extensiones orientadas a la privacidad, como uBlockOrigin para evitar publicidad y rastreadores intrusivos.
1. Toma el enlace del subreddit al que quieres suscribirte.
2. Añade .rss
detras de la URL del subreddit.
Por ejemplo, el subreddit de FreedomBox es https://www.reddit.com/r/Freedombox/
, y https://www.reddit.com/r/Freedombox/.rss
es su feed RSS.
Sitio web del proyecto original: https://tt-rss.org
Documentación de uso del proyecto original: https://tt-rss.org/wiki.php
|
Disponible desde: versión 0.3
Tor es una red de servidores operada por voluntarios. Permite a los usuarios de esos servidores mejorar su privacidad y seguridad cuando navegan por Internet. Tu y tus amigos podéis acceder a tu FreedomBox a través de la red Tor sin revelar su dirección IP. Activando la aplicación Tor en tu FreedomBox podrás ofrecer servicios remotos (chat, wiki, file sharing, etc...) sin mostrar tu localización. Esta aplicación te dará una protección mejor que un servidor web público porque estarás menos expuesto a gente intrusiva.
Para descargar paquetes de software a través de Tor, o ejecutar un proxy SOCKS que salga a internet por Tor, ve a Proxy via Tor.
Tor Browser es la manera recomendada para navegar la web a través de Tor. Puedes descargar Tor Browser desde https://www.torproject.org/projects/torbrowser.html y seguir sus instrucciones para instalarlo y ejecutarlo.
El Servicio Tor Onion proporciona una manera de acceder a tu FreedomBox incluso aunque esté detrás de un router, cortafuegos, o redirector NAT (p.ej. si tu proveedor de Internet no proporciona una dirección pública IPv4 para tu router). Para habilitar el Servicio Tor Onion primero navega a la página Red para el anónimato (Tor). (Si no la ves haz clic en el logo de FreedomBox de arriba a la izquierda de la página y ve a la página principal de Apps.) En la página Red para el anónimato (Tor), bajo Configuración, habilita la caja Habilitar los Servicios Tor Onion y pulsa el botón de Actualizar configuración. Tor se reconfigurará y se reiniciará.
Transcurrido un rato la página se refrescará bajo Estado verás la tabla que lista la dirección .onion del servicio. Copia toda la dirección (que termina en .onion) y pégala en el campo dirección de Tor Browser. Deberías poder acceder a tu FreedomBox. (Quizá veas un aviso de certificado porque FreedomBox tiene un certificado autofirmado.)
Onion Actualmente solo HTTP (puerto 80), HTTPS (puerto 443) y SSH (puerto 22) están accesibles a través del Servicio Tor Onion configurado en la FreedomBox.
Las siguientes apps se pueden acceder a través de Tor. Esta lista puede ser incompleta.
Cuando se instala Tor se configura por defecto para ejecutarse como puente a la red (bridge relay). Esta opción se puede deshabilitar en la página de configuración de Tor de FreedomBox.
En la parte inferior de página de Tor de FreedomBox hay una lista de puertos que usa el puente a la red Tor. Si tu FreedomBox está detrás de un router necesitarás configurar la redirección de puertos de tu router para que estos puertos sean accesibles desde Internet.
Los requisitos para ejecutar un puente a la red se listan en la Tor Relay Guide. En resúmen, se
recomienda que un puente tenga disponibles para Tor al menos 16 Mbit/s (Mbps) de ancho de banda para subida y bajada. Mejor más.
requiere que a se le permita al puente usar un mínimo de 100 GByte de tráfico mensual de salida y de entrada.
recomienda que un nodo sin salida (mero reenrutador) de <40 Mbit/s tenga al menos 512 MB de RAM disponible; Uno más rápido de 40 Mbit/s debería tener al menos 1 GB de RAM.
Sitio web del proyecto original: https://www.torproject.org
Documentación de uso del proyecto original: https://support.torproject.org
|
Disponible desde: versión 23.14
Tor es una red de servidores operada por voluntarios. Permite a los usuarios de esos servidores mejorar su privacidad y seguridad cuando navegan por Internet.
La aplicación de proxy para Tor proporciona la posibilidad de descargar paquetes de software por Tor, mejorando el anonimato. También proporciona un proxy web en tu FreedomBox para redes internas, que varias apps pueden usar para acceder a internet via Tor. En caso de censura del proveedor de internet se pueden configurar pasarelas para circundarla.
Para usar el servicio Tor Onion o ejecutar un repetidor Tor ve a la app Tor.
El navegador Tor es la manera recomendada de navegar la web usando Tor. Puedes descargar el navegador Tor de https://www.torproject.org/projects/torbrowser.html y seguir sus instrucciones para instalarlo y usarlo.
El Proxy Tor proporciona un puerto SOCKS al que se pueden conectar otras aplicaciones para enrutar su tráfico a través de la red Tor. Este puerto está accessible en cualquier interfaz configurado en la zona interna del cortafuegos. Para configurar la aplicación, asigna el anfitrión SOCKS a la dirección IP de la conexión de red interna y pon el puerto SOCKS a 9050.
Tu navegador web se puede configurar para que toda tu actividad de navegación pase por la red Tor. Esto permite eludir la censura y también oculta tu dirección IP a los sitios web. Para el anonimato se recomienda el navegador Tor.
Configura la dirección IP local de tu FreedomBox y el puerto 9050 como proxy SOCKS v5 en Firefox. Hay extensiones que facilitan (des)activar el proxy.
Con el proxy SOCKS configurado, puedes acceder a cualquier URL onion directamente desde Firefox. Si también habilitas la app de Tor, FreedomBox tendrá una dirección onion v3 a la que puedes conectarte a tavés de la red Tor (anótala para emergencias).
Si tu proveedor de internet te bloquea el tráfico a la red Tor puedes usar pasarelas para acceder.
1. Obtén la configuración de la pasarela de la base de datos de pasarelas Tor
2. Añade las líneas a la configuración del proxy Tor en FreedomBox como se muestra a continuación.
Sitio web del proyecto original: https://www.torproject.org
Documentación de uso del proyecto original: https://support.torproject.org
FreedomBox recomienda algunas aplicaciones cliente. Selecciona su icono en la página de Aplicaciones y haz clic en el botón> Aplicaciones Cliente.
El proxy Tor se puede usar configurando el proxy en tu navegador web. O mejor, usando el Navegador Tor
Descargar el navegador Tor: https://www.torproject.org/download/
|
Disponible desde: versión 0.5
Transmission es un nodo (servidor y cliente, ambos a la vez) BitTorrent.
BitTorrent es un protocolo de comunicaciones para compartir ficheros entre pares (P2P = peer-to-peer).
No es anónimo; debes asumir que otros puedan ver qué ficheros estás compartiendo.
Este protocolo destaca compartiendo ficheros grandes y populares.
Hay 2 nodos web para BitTorrent disponibles en FreedomBox: Transmission y Deluge. Tienen funcionalidades similares pero quizá prefieras uno sobre otro.
Transmission es un cliente BitTorrent ligero, famoso por su simplicidad y una configuración por defecto que "símplemente funciona".
Tras instalar Transmission está accesible en https://<tu freedombox>/transmission
. Transmission emplea el ingreso único de FreedomBox lo que significa que si has ingresado en tu FreedomBox puedes acceder diréctamente a Transmission sin tener que volver a introducir las credenciales. Si no, se te pedirá que ingreses primero y luego se te redirigirá a la app Transmission.
Se puede añadir el directorio de descargas de Transmission como directorio compartido en la app Sharing y así acceder a tus descargas en este directorio compartido empleando un navegador web.
(Avanzado) Si tienes acceso SSH a tu FreedomBox puedes usar sftp
o scp
para ver el directorio de descargas usando un gestor de archivos o un navegador apropiados
Si tu FreedomBox está detras de un router quizá quieras mejorar la comunicación de Transmission con otros pares redirigiendo en el router los siguientes puertos:
TCP 51413 (o el puerto de escucha de pares que tengas configurado en Transmission)
Para controlar Transmission en FreedomBox, además del interfaz web se pueden usar aplicaciones móviles y de escritorio. En en interfaz web de FreedomBox, en la página de la aplicación, se listan clientes probados y sus plataformas. Al configurar estos clientes la URL para conectar será /transmission-remote/rpc
y el puerto 443.
Proyectos originales:
Transmission: https://transmissionbt.com
BitTorrent: https://www.bittorrent.org
Descripciones del protocolo:
Del proyecto original: https://www.bittorrent.org/introduction.html
De Wikipedia: https://es.wikipedia.org/wiki/BitTorrent
Transmission en el wiki de Deban: https://wiki.debian.org/Transmission
Disponible desde: versión 0.9.4
User Websites es una ubicación del sistema de ficheros prefijada para que los servidores web permitan a los usuarios del sistema anfitrión exponer archivos estáticos a modo de sitio web a la red local y/o a internet de acuerdo a la configuración de la red y el cortafuegos.
El servidor web predeterminado en FreedomBox es Apache e implementa esto mediante un módulo específico.
Añadir cuando/si se crea un interfaz para FreedomBox
El módulo está siempre activado y el interfaz web de FreedomBox no ofrece configuración ni página de estado para este módulo. Para servir documentos con el módulo solo se necesita poner los documentos en un subdirectorio designado /home/<un_usuario_de_plinth>/public_html
.
User websites
servirá los archivos que haya en este directorio cuando se reciban peticiones con la URI ~<un_usuario_de_freedombox>
. Por tanto para un dominio ejemplo.org
con un usuario pepe
una petición ejemplo.org/~pepe/index.html
transferirá el fichero /home/pepe/public_html/index.html
.
Los administradores de archivos predeterminados de los escritorios Linux suelen soportar de serie el acceso a sistemas de ficheros remotos mediante SFTP. Entre otros, Nautilus en Gnome, Dolphin en KDE/Plasma y Thunar en XFCE. Esta estandarización permite usar procedimientos muy fáciles, similares y obvios:
Conectar con el administrador de archivos a tu FreedomBox:
Nautilus en Gnome:
Para lanzar Nautilus puedes buscar su icono de archivador, o buscar su nombre o la palabra "archivo".
Al final del panel izquierdo encontrarás la opción "+ Otras ubicaciones".
Te lleva a una lista de ubicaciones. Encuentra "freedombox SFTP server
" (así, en inglés) y dale.
La primera vez se te pedirán usuario y contraseña. Introduce tu usuario de FreedomBox y su contraseña. El diálogo te ofrecerá algunas opciones para recordarlos un cierto tiempo.
Administrador de archivos de Plasma, alias Dolphin:
Haz clic en la barra de ubicación en el extremo superior de la ventana.
Introduce ftp://freedombox.local
La primera vez se te pedirán usuario y contraseña. Introduce tu usuario de FreedomBox y su contraseña. El diálogo te ofrecerá alguna opción para recordarlos.
Thunar en XFCE:
Teclea esto en la barra de navegación: sftp://usuario@freedombox.local
, reemplazando 'usuario' por el nombre real de tu usuario en FreedomBox.
Imagino que la primera vez se te pedirán usuario y contraseña. Introduce tu usuario de FreedomBox y su contraseña.
Se te debería mostrar el sistema de ficheros de FreedomBox. Entra en la carpeta home
y luego entra en la subcarpeta de su usuario.
Si no hay una carpeta public_html
créala: clic con el botón derecho del ratón, etc.
Arrastra tu(s) archivo(s) a la carpeta public_html
.
Deberías poder ir con tu navegador a la URL correspondiente y ver tus archivos.
Si quieres emplear clientes gráficos que sean software libre, instala:
Su uso es similar al descrito para los escritorios Linux.
¿Describir cómo usar conectividad nativa a ubicaciones remotas de plataformas privativas?
Normalmente cualquier sistema Unix, incluyendo a Linux en (casi) todos sus sabores y a Mac, traen de serie las utilidades ssh, scp y sftp. FreeDOS trae SSH2DOS. ¡No hace falta instalar nada. Ya está todo ahí
Ejemplos:
Conectar con FreedomBox mediante SSH:
(reemplazando usuario
por un nombre de usuario válido en FreedomBox y freedombox.local
por el nombre de dominio o la IP de tu FreedomBox):
$ ssh usuario@freedombox.local }}}
Si tus datos son correctos y tu FreedomBox está accesible la primera vez se te pedirá confirmar su identificación.
Luego se te pedira el usuario de FreedomBox y su contraseña.
A continuación se te mostrará el mensaje de bienvenida con el logotipo de la mariposa de FreedomBox's en arte ASCII (dibujada con letras).
El prompt cambia a usuario@freedombox:~$
.
Una vez conectado crea la carpeta de tu sitio web mediante:
usuario@freedombox:~$ mkdir ~/public_html
...o crea la del sitio de otro usuario:
Usa el prefijo sudo
así:
usuario@freedombox:~$ sudo mkdir /home/<el_otro_usuario>/public_html }}}, e introduce tu contraseña.
Al crear una carpeta, por defecto te pertenece a tí la crees donde la crées. Por tanto, necesitarás poner como dueño al otro usuario:
usuario@freedombox:~$ sudo chown <el_otro_usuario>:<el_otro_usuario> /home/<el_otro_usuario>/public_htm }}}
Antes de desconectar mejor verificas que public_html' se muestra entre los contenidos de la carpeta
home del otro usuario.
usuario@freedombox:~$ ls -l /home/<el_otro_usuario> ... drwxr-xr-x 2 <el_otro_usuario> <el_otro_usuario> 4096 jan 29 17:39 public_html ...
Ahora el otro usuario puede subir sus archivos con cualquiera de los clientes gráficos. Pídeles que lo comprueben.
Es una buena práctica de seguridad salir en vez de esperar simplemente a que la conexión caduque:
usuario@freedombox:~$ exit
Si quieres emplear la linea de órdenes también para subir contenido puedes
$ scp ruta/a/los/archivos usuario@freedombox.local:public_html/
Más acerca de ssh, scp y sftp con $ man ssh
, $ man scp
y $ man sftp
.
Sitio web del proyecto original: https://httpd.apache.org/
Documentación de uso del proyecto original:
Apache en el wiki de Debian: https://wiki.debian.org/Apache
|
WireGuard es red privada virtual (VPN) extremadamente sencilla aunque rápida y moderna que emplea cifrado de última generación.Puede ser un reemplazo útil para IPSec u OpenVPN.
Puedes instalar WireGuard desde la sección Apps de la interfaz de FreedomBox.
Nota: FreedomBox trata estos pasos automáticamente. Así que solo necesitas seguirlos en clientes Debian que se conecten a FreedomBox, O en servidores Debian a los que FreedomBox se conecte.
Tunel punto a punto
Cliente VPN con ruta por omisión
WireGuard tiene una implementación en espacio de usuario para dispositivos móviles disponible en la propia app. Funciona en Android e iOS. Aquí hay una lista completa de sistemas operativos compatibles.
El cliente se puede configurar de varias maneras:
Esta es autoexplicativa: te creas la configuración en el dispositivo móvil y transfieres las claves apropiadas a la configuración del servidor.
Aquí tienes que comprimir a .zip el archivo de configuración del cliente, transferirlo al dispositivo, e importarlo a la app.
La versión 0.0.20180724 del cliente móvil soporta lectura de código QR.
Se puede emplear DebianPackage:qrencode para generar códigos QR incluso desde el terminal/la consola usando carácteres UTF-8.
La syntaxis es:
# qrencode -t ansiutf8 < client.conf
Esto generará un código QR legible desde el cliente móvil.
La ventaja de este enfoque es que no hay necesidad de software adicional ni de transferir información sensible a través de canales de datos que podrían estar comprometidos.
Sitio web del proyecto original: https://www.wireguard.com
Documentación de uso del proyecto original: https://www.wireguard.com/quickstart/
WireGuard en el wiki de Debian: https://wiki.debian.org/WireGuard
|
Disponible desde: version 21.7
WordPress es una manera popular de crear y administrar sitios web y blogs. Es un sistema de gestión de contenidos que permite editar contenidos mediante una interfaz visual web. Para crear sitios web no se necesitan conocimientos de HTML u otro lenguaje de marcado. Se puede personalizar completamente la disposición y funcionalidad de las páginas web. Se puede seleccionar apariencias eligiendo temas. Tanto los interfaces de administración como las páginas web generadas son adecuadas para dispositivos móviles.
Para configurar WordPress, navega a la página WordPress (Website and Blog) e instálalo. WordPress necesita configurar un nombre de dominio válido. Anter de avanzar más establece un nombre de dominio en condiciones. Los dominios se configuran en la página Sistema -> Configurar. Accede al interfaz web de tu FreedomBox mediante el dominio que has configurado. Después visita el interfaz web de WordPress. Mostrará una página de configuración pidiendo el nombre del sitio y detalles para una nueva cuenta de administrador. Tras este paso WordPress está completamente configurado y listo. Ya puedes volver a la página de WordPress en FreedomBox y publicar tu instalación de WordPress si quieres.
En la página de WordPress de FreedomBox se puede publicar la app. Por omisión nace privada para proteger el proceso de configuración inicial frente a que cualquiera se cree una cuenta de administrador. Solo está disponible para usuarios que ingresen en el interfaz de FreedomBox como administradores y estos tienen que cuidar de no activar el acceso público hasta que se haya completado el proceso de configuración inicial de WordPress'.
De momento, WordPress tiene sus propias cuentas de usuario independientes de las de FreedomBox. La primera cuenta que se crea en el proceso de configuración inicial es de un administrador. Tras ingresar con ella se pueden crear cuentas para ver, publicar, o administrar desde la propia interfaz de WordPress.
Solo se pueden hacer cambios al contenido y configuración de WordPress previo ingreso. Sin embargo por omisión no hay enlace desde el sitio web o el blog para llegar a la página de ingreso. Guarda la dirección o teclea directamente en el navegador https://<mi-nombre-de-dominio>/wordpress/wp-admin/
para llegar a la interfaz de administración.
Se puede establecer un sitio web WordPress bonito y bien personalizado como página principal para tu FreedomBox en la página Sistema -> Configurar de la interfaz web de FreedomBox. Por ejemplo, si el nombre de dominio de tu FreedomBox es mifreedombox.mola
y has establecido WordPress como su página de inicio, al visitar https://mifreedombox.mola
te llevará a https://mifreedombox.mola/wordpress/
en vez de a la interfaz web de FreedomBox.
Cuando se configura WordPress por primera vez WordPress toma el nombre de dominio por el que accedes y se configura con él. Asegúrate de establecer el nombre de dominio apropiado y acceder al proceso de configuración inicial de WordPress ése mismo y no una dirección IP local u otro dominio. De momento FreedomBox no proporciona una manera fácil de cambiar el dominio una vez se instala la app.
Por omisión las direcciones web de artículos de blog de nueva creación son como /wordpress/?p=1
pero se pueden hacer más bonitas como /wordpress/2021/08/06/sample-post/
. Esto se puede hacer desde la página Ajustes -> Permalinks de la interfaz de WordPress. Los cambios de configuración necesarios en el servidor web los hizo ya FreedomBox durante la instalación de la app.
Como con todas las demás apps, FreedomBox (si no se deshabilitan) maneja las actualizaciones funcionales y de seguridad para WordPress automáticamente. Tras una actualización de versión menor WordPress efectúa automáticamente cambios en la estructura de la base de datos. No obstante, tras una actualización de versión mayor como un salto bianual de distribución los cambios en la base de datos no son automáticos. Para esto necesitarás ingresar a WordPress y dispararlos manualmente.
WordPress es suficientemente potente para crear y administrar por sí mismo un sitio web o blog simple. Sin embargo su verdadero poder reside en los miles de plugins y temas. Los plugins extienden la funcionalidad de WordPress. Por ejemplo, se puede añadir a WordPress un formulario de contacto instalando el plugin apropiado. Los temas cambian la apariencia y disposición de los elementos del sitio. Instalar un nuevo tema proporcionará una opción adicional de administración para determinar la apariencia con que se mostrará a tus visitantes. Hay que tener cuidado de elegir plugins y temas fiables y que respeten la libertad y la privacidad de usuarios y visitantes del sitio web.
Desde la versión 22.13 de FreedomBox puedes instalar plugins y temas directamente desde la interfaz gráfica de WordPress.
Ten en cuenta que muchos temas de terceros emplean Google Fonts que violará la privacidad de tus visitantes.
Un modo de quitar Google Fonts de tu sitio WordPress es quitar las líneas del código fuente del tema correspondientes en Apariencia >> Editor de temas. Date cuenta de que este cambio se sobrescribirá en la próxima actualización del tema.
Las actualizaciones manuales del tema y el plugin por omisión, Twenty Twenty-One y Akismet Anti-Spam fallarán porque Debian los administra aparte. No hace falta que te preocupes de actualizarlos.
Como hay pocos plugins/temas empaquetados para Debian, FreedomBox no proporciona una manera simple de instalarlos y administrarlos. Necesitar instalarlos manualmente. Se puede hacer así:
Anota la URL del plugin o tema para descargar hojeándolas desde la interfaz de WordPress o la página oficial. Asegúrate de seleccionar elementos confiables con licencia libre.
Ingresa mediante SSH usando una cuenta de administrador FreedomBox.
Descarga el plugin o tema y desempaquétalo en un directorio usando la línea de órdenes.
Mueve el directorio bajo /var/lib/wordpress/wp-content/plugins/
o /var/lib/wordpress/wp-content/themes/
, según el caso.
Vigila las actualizaciones de los plugins instalados desde WordPress y repite este procedimiento para instalar versiones nuevas.
Sitio web del proyecto original: https://wordpress.org
Documentación de uso del proyecto original: https://wordpress.org/documentation
Personalización de WordPress: https://wordpress.org/documentation/customization
Temas de WordPress: https://wordpress.org/themes
WordPress en el wiki de Debian: https://wiki.debian.org/WordPress
|
Disponible desde: versión 21.3
Zoph es un administrador web de fotografías que permite cargar fotografías al servidor FreedomBox, donde se organizan en álbumes asociadas a localizaciones, gente y categorías. Cada fotografía puede estar en múltiples álbumes. Los álbumes, categorías y localizaciones tienen jerarquía.
Zoph es multiusuario y tiene un sistema de permisos para controlar qué álbumes puede ver, o crear cada usuario, si puede ver o crear gente, etc.
El nombre de usuario en Zoph tiene que coincidir con el nombre de usuario en FreedomBox para que funcione el ingreso unificado.
Tras instalar Zoph hay que hacer clic en "Configurar" y entonces se puede lanzar el cliente web. También queda accesible en https://<tu freedombox>/zoph
.
Solo la primera ver se te pedirá introducir tu usuario y contraseña. Las siguientes veces te mostrará directamente la pantalla de bienvenida.
El menú de solapas se mostrará en la parte superior de cada página. Desde ahí puedes cargar fotos desde cualquier ordenador, administrar Zoph para añadir usuarios, etc.
Ahora puedes ir a la pestaña "preferencias" para establecerlas, p. ej. las cantidades de filas y columnas en los resultados, cuanta información mostrar acerca de la cámara con la que se tomó la foto, etc.
Puedes añadir información acerca de la gente que aparece en tus fotos.
Tus fotos necesitarán un montón de espacio en comparación con otros usos de tu FreedomBox. Quizá quieras ponerlas en un disco externo. (Todavía no) puedes especificar donde almacenar tus fotos en la pantalla de instalación inicial. La base de datos que alberga información sobre álbumes, gente, etc está en el almacenamiento normal de la FreedomBox.
Sitio web del proyecto original: http://www.zoph.org
Documentación: https://gitlab.com/zoph-project/zoph/tree/master/docs
FreedomBox incluye la posibilidad de copiar y restaurar datos, preferencias, configuración y secretos de la mayoría de las aplicaciones. La funcionalidad de Backups se resuelve con el software de backup Borg. Borg es un programa de backup con deduplicación y compresión. Está diseñado para hacer backups eficientes y seguros. Esta funcionalidad de backups se puede emplear para respaldar y recuperar datos aplicación por aplicación. Las copias de respaldado se pueden almacenar en la propia máquina FreedomBox o en un servidor remoto. Cualquier servidor remoto con acceso por SSH se puede emplear como almacenamiento para los backups de la FreedomBox. Las copias remotas se pueden cifrar para que el servidor remoto no pueda leer los datos que alberga.
Salvo que aquí se diga lo contrario, el respaldo de los datos de una aplicación incluirá su configuración, secretos y otros datos.
App/Funcionalidad |
Notas |
No incluye archivos descargados/sembrados | |
No incluye los datos en carpetas compartidas | |
Actualmente no hay planes para implementar respaldos | |
No incluye los datos en carpetas compartidas | |
No incluye los datos en carpetas compartidas | |
Instantáneas |
Solo configuración, no incluye datos de instantánea |
No incluye los datos en carpetas compartidas | |
No incluye archivos descargados/sembrados | |
El respaldo de cuentas de usuario está planificado |
Paso 1: Ir a la página de Copias de Seguridad
Paso 2: Pulsar el botón Instalar
Paso 3: Esperar a que se instalen todos los componentes de la aplicación
Paso 4: Pulsar el botón de Crear Copia de Seguridad
Paso 5: Seleccionar las aplicaciones a respaldar y pulsar Enviar
Paso 6: Pulsar en el botón Descargar
Proyecto original: https://www.borgbackup.org
Documentación de uso: https://borgbackup.readthedocs.io/en/stable/
BIND te permite publicar en Internet tu información de Sistema de Nombre de Dominio (DNS) y resolver consultas DNS de los dispositivos de usuario en tu red.
Actualmente en FreedomBox BIND solo se usa para resolver consultas DNS de otras máquinas en tu red local. También es incompatible con compartir conexiones a Internet de tu FreedomBox.
Nota: Este servicio solo está disponible en redes configuradas como zona "interna". Tampoco está disponble a través de OpenVPN (es incompatible).
Habilitar BIND no implica que automáticamente se use en todas partes. Se puede configurar lo siguiente:
FreedomBox se puede configurar para usar el servicio BIND local para sus propias consultas DNS.
Los clientes de la red de área local (LAN) se pueden configurar para usar el servicio BIND de FreedomBox's para sus consultas DNS.
Se puede configurar FreedomBox para usar su propio servicio BIND local para sus consultas DNS en Redes:
Ir a la página Sistema y seleccionar Redes.
Seleccionar la conexión "FreedomBox WAN" y pulsar Editar.
Debajo de "Métodos de direccionado IPv4" hay un campo "Servidor DNS". Establecerlo a 127.0.0.1
. /* TODO: Add IPv6 instructions. */
Pulsar "Editar conexión" abajo para grabar los cambios.
Reiniciar la FreedomBox desde el menú desplegable de usuario.
TODO: Add instructions for serving clients on LAN.
Proyecto original: https://www.isc.org/bind/
Cockpit es una aplicación que facilita administrar servidores GNU/Linux desde el navegador web. En una FreedomBox, hay disponibles controles para muchas funciones avanzadas que normalmente no se necesitan. También hay disponible un terminal web para operaciones de consola.
Cualquier usuario del grupo de administradores de to FreedomBox puede acceder a Cockpit. Cockpit solo se puede usar si tienes una configuración de nombre de dominio apropiada para tu FreedomBox y usas ese nombre de dominio para acceder a Cockpit. Para más información mira la sección de Resolución de Problemas.
Usa cockpit sólo si eres un administrador de sistemas GNU/Linux con habilidades avanzadas. FreedomBox intenta coexistir con los cambios al sistema que efectúan los administradores y sus herramientas, como Cockpit. Sin embargo, los cambios al sistema inadecuados pueden causar fallos en las funciones de FreedomBox.
Instala Cockpit como cualquier otra aplicación de FreedomBox. Y a continuación asegúrate de que Cockpit está habilitado.
Asegúrate de que la cuenta de usuario de FreedomBox que se empleará con Cockpit es parte del grupo de administradores.
Arranca el interfaz web de Cockpit. Ingresa con la cuenta de usuario configurada. Asegúrate de marcar la caja "reusar mi contraseña para tareas restrigidas", de otro modo una vez dentro no podrás realizas algunas tareas como configurar RAID o editar usuarios.
Empieza a usar cockpit.
Cockpit también funciona con interfaces mobiles.
Las siguientes funcionalidades de Cockpit pueden ser útiles para usuarios avanzados de FreedomBox.
Cockpit tiene un cuadro de mando del sistema que
Muestra información detallada del hardware.
Muestra métricas básicas de rendimiento del sistema.
Permite cambiar la hora y el huso del sistema.
Permite cambiar el hostname. Por favor usa el interfaz de usuario de FreedomBox UI para hacer esto.
Muestra las huellas del servidor SSH.
Cockpit permite consultar los registros de ejecución (logs) del sistema y examinarlos a todo detalle.
Cockpit permite las siguientes funciones avanzadas de almacenamiento:
Visualización de llenado de discos.
Edición de particiones de disco.
Administración de RAID.
Tanto Cockpit como FreedomBox se apoyan en NetworkManager para configurar la red. No obstante, Cockpit ofrece alguna configuración avanzada no disponible en FreedomBox:
Configuración de rutas.
Configuración de enlaces, puentes y VLANs.
Cockpit permite agendar servicios y tareas periódicas (como cron).
Cockpit ofrece un terminal web que se puede usar para ejecutar tareas manuales de administración del sistema.
Cockpit require un nombre de dominio adecuadamente configurado en tu FreedomBox y solo funcionará cuando accedas a él mediante una URL con ese nombre de dominio. Cockpit no funcionará con una dirección IP en la URL. Tampoco con freedombox.local como nombre de dominio. Por ejemplo, las URLs siguientes no funcionarán:
https://192.168.0.10/_cockpit/ https://freedombox.local/_cockpit/
A partir de la versión 19.15 funciona el dominio .local. Puedes acceder a Cockpit mediante la URL https://freedombox.local/_cockpit/. El dominio .local se basa en tu hostname. Si tu hostname es mifb tu nombre de dominio .local será mifb.local y la URL de Cockpit será https://mifb.local/_cockpit/.
Para acceder apropiadamente a Cockpit, usa el nombre de dominio configurado en tu FreedomBox. Cockpit también funcionará cuando se use un Servicio Tor Onion. Las siguientes URLs funcionarán:
https://mybox.freedombox.rocks/cockpit/ https://exampletorhs.onion/cockpit/
La razón para este comportamiento es que Cockpit emplea WebSockets para conectar con el servidor de backend. Por seguridad se deben evitar las peticiones a WebSockets con servidores cruzados. Para implementar esto Cockpit maintiene una lista de todos los dominios desde los que se admiten peticiones. FreedomBox configura automaticamente esta lista cuando añades o borras un dominio. Sin embargo, como no podemos fiarnos de las direcciones IP, FreedomBox no las añade a esta lista. Puedes mirar la lista actual de dominios aceptados administrada por FreedomBox en /etc/cockpit/cockpit.conf. Puedes editarla pero hazlo solo si comprendes sus consecuencias para la seguridad web.
Proyecto original: https://cockpit-project.org
Documentación de uso: https://cockpit-project.org/guide/latest/
Configurar tiene algunas opciones generales de configuración:
Hostname es el nombre local por el que otros dispositivos pueden alcanzar tu FreedomBox desde la red local. El hostname por defecto es freedombox.
El Nombre de Dominio es el nombre global por el que otros dispositivos pueden alcanzar tu FreedomBox desde la Internet. El valor que se asigne aquí es el que usarán Chat Server (XMPP), Matrix Synapse y Certificates (Let's Encrypt).
Esta es una opción avanzada que te permite establecer como home algo diferente al servicio FreedomBox para que se sirva a quien acceda con el navegador al nombre de dominio de FreedomBox. Por ejemplo, si el nombre de dominio de tu FreedomBox es https://myfreedombox.rocks y estableces a MediaWiki como home, al visitar https://mifreedombox.mola te llevará a https://myfreedombox.rocks/mediawiki/ en vez de a https://mifreedombox.mola/plinth/.
Una vez asignada como home otra aplicación, ya solo puedes navegar al servicio FreedomBox tecleando en el navegador https://mifreedombox.mola/plinth/.
/freedombox también se puede usar como alias para /plinth
Puedes asignar la home a cualquier aplicación web, los wikis y blogs de Ikiwiki o la página index.html por defecto de Apache. Desde la versión 20.20 también se puede seleccionar un sitio web de usuario de entre los usuarios que tengan su directorio public_html creado.
Consejo: Guarda la URL del servicio FreedomBox antes de asignar la home a otra app.
Este servidor de hora de red es un programa que mantiene el tiempo del sistema sincronizado con servidores de Internet.
Puedes seleccionar el huso horario
escogiendo una capital cercana (están ordenadas por Continente/Ciudad) o
seleccionando directamente el huso en relación a GMT (Greenwich Mean Time).
La prueba de diagnóstico del sistema ejecutará varias verificaciones sobre tu sistema para confirmar que las aplicaciones y servicios están funcionando como se espera.
Sólo haz clic Ejecutar Diagnósticos. Esto puede llevar varios minutos.
Para que se pueda llegar a un servidor desde Internet este necesita tener una dirección pública permanente, también conocida como dirección IP estática o fija. Muchos proveedores de servicio de Internet no otorgan IP fija a sus usuarios normales o la cobran. En su lugar les otorgan una IP temporal diferente cada vez que el usuario se conecta a internet. O una que cambia de vez en cuando. Si es tu caso los clientes que quieran contactar con tu servidor tendrán dificultades.
Los proveedores de servicio de DNS Dinamico ayudan a solventar este problema. Primero te dan un nombre de dominio, como 'miservidor.ejemplo.org' y te permiten asociar tu dirección IP temporal a este nombre de dominio cada vez que esta cambia. De este modo quien quiera llegar a tu servidor empleará el nombre de dominio 'miservidor.ejemplo.org' que siempre apuntará a la última dirección IP de tu servidor.
Para que esto funcione cada vez que te conectes a Internet tendrás que decirle a tu proveedor de servicio de DNS Dinamico cual es tu dirección IP provisional actual. Por esto necesitas tener un software especial en tu servidor que haga esto. La funcionalidad DNS Dinamico de tu FreedomBox permite a los usuarios sin dirección IP pública fija mantener su dirección IP pública temporal actualizada en el servicio de DNS Dinamico. Esto te permite exponer servicios de tu FreedomBox, como ownCloud, a Internet.
Eisten 2 mecanismos principales para notificar al the servicio de DNS Dinamico cual es tu dirección IP provisional actual: empleando el protocolo GnuDIP o empleando el mecanismo URL de actualización.
Si un servicio expuesto usando URL de actualización no se securiza apropiadamente mediante HTTPS, tus credenciales podrían quedar expuestas. Una vez que un atacante accede a tus credenciales podrá reproducir tus comunicaciones con el servicio de DNS Dinamico y suplantar tu dominio.
Por otra parte el protocolo GnuDIP solo transportará un valor MD5 salpimentado de tu contraseña de tal forma que es seguro contra ataques de este tipo.
Registra una cuenta en cualquier proveedor de servicio de DNS Dinamico. Hay un servicio gratuito provisto por la comunidad FreedomBox disponible en https://ddns.freedombox.org .
Habilita el Servicio de DNS Dinamico en el interfaz de usuario de FreedomBox.
Selecciona GnuDIP como tipo de servicio, introduce la dirección de tu proveedor de servicio de DNS Dinamico (por ejemplo, ddns.freedombox.org) en el campo Dirección del servidor GnuDIP.
Completa la información que te ha dado tu proveedor en los campos correspondientes Nombre de Dominio, Usuario y Contraseña.
Se implementa esta funcionalidad porque los proveedores de servicio de DNS Dinamico más populares están empleando el mecanismo URL de actualización.
Registra una cuenta en el proveedor de servicio de DNS Dinamico que emplea el mecanismo Update URL. Se listan algunos proveedores de ejemplo en la propia página de configuración.
Habilita el Servicio de DNS Dinamico en el interfaz de usuario de FreedomBox.
Selecciona URL de actualización como tipo de servicio, introduce la URL de actualización que te ha dado tu proveedor de servicio de DNS Dinamico en el campo URL de actualización.
Si vas a la URL de actualización con tu navegador de Internet y te muestra un aviso acerca de un certificado no confiable, activa aceptar todos los certificados SSL. AVISO: ¡Tus credenciales podrían quedar expuestas en este punto a un ataque MIM (man-in-the-middle) Valora la posibilidad de elegir otro proveedor de servicio mejor.
Si vas a la URL de actualización con tu navegador de Internet y te muestra la caja de usuario/contraseña, selecciona usar autenticación HTTP basica e introduce el usuario y la contraseña.
Si la URL de actualización contiene tu dirección IP temporal actual reemplaza la dirección IP por la cadena de texto <Ip>.
Asegúrate de que los servicios externos que has habilitado como /jwchat, /roundcube o /ikiwiki están disponibles en tu dirección de dominio.
Ve a la página Estado y asegúrate de que el tipo de NAT se detecta correctamente. Si tu FreedomBox está detrás de un dispositivo NAT debería detectarse en este punto (Texto: Detrás de NAT). Si tu FreedomBox tiene una dirección IP pública asignada el texto debería ser "Conexión directa a Internet".
Comprueba que el último estado de actualización no sea fallida.
to delete or to replace the old text
Access to GnuIP login page (answer Yes to all pop ups)
Click on "Self Register"
Fill the registration form (Username and domain will form the public IP address [username.domain])
Take note of the username/hostname and password that will be used on the FreedomBox app.
Save and return to the GnuDIP login page to verify your username, domain and password (enter the datas, click login).
Login output should display your new domain name along with your current public IP address (this is a unique address provided by your router for all your local devices).
Leave the GnuDIP interface and open the Dynamic DNS Client app page in your FreedomBox.
Click on "Set Up" in the top menu.
Activate Dynamic DNS
Choose GnuDIP service.
Add server address (ddns.freedombox.org)
Add your fresh domain name (username.domain, ie [username].freedombox.rocks)
Add your fresh username (the one used in your new IP address) and password
Add your GnuDIP password
Fill the option with https://ddns.freedombox.org/ip/ (try this url in your browser, you will figure out immediately)
Un cortafuegos es un sistema de seguridad de red que controla el tráfico de entrada y salida desde/a la red. Mantener un cortafuegos habilitado y apropiadamente configurado reduce el riesgo de amenazas a la seguridad desde Internet.
La operación del cortafuegos desde el interfaz web de FreedomBox es automática. Cuando habilitas un servicio se le abre automáticamente el cortafuegos y cuando lo deshabilitas se le cierra también automáticamente. Para servicios habilitados por defecto en FreedomBox los puertos se abren en el cortafuegos por defecto durante el proceso de la primera ejecución.
La administración del cortafuegos en FreedomBox se hace empleando FirewallD.
Cada interfaz de red necesita asignarse a 1 (y sólo 1) zona. Si no se le establece zona, automáticamente se le asigna la zona externa
. Las reglas que tenga activas la zona se aplicarán al interfaz. Por ejemplo, si se permite el trafico HTTP en una zona en particular las peticiones web se acceptarán en todas las direcciones configuradas para todos los interfaces asignados a esa zona.
Principalmente se emplean 2 zonas de cortafuegos. La zona interna
está pensada para servicios ofrecidos a todas las máquinas de la red local. Esto podría incluir servicios como streaming multimedia o compartición simple de archivos. La zona externa
está pensada para servicios públicamente expuestos a Internet. Esto podría incluir servicios como blog, sitio web, cliente web de correo electrónico etc.
Para más detalles acerca de como se configuran por defecto los interfaces de red mira la sección Redes.
Cockpit proporciona administración avanzada de cortafuegos. Ambos, FreedomBox y Cockpit operan sobre firewalld y son por tanto compatibles entre sí. En particular, Cockpit se puede usar en FreedomBox para abrir servicios o puertos. Esto resulta útil si además de los servicios proporcionados por FreedomBox estás ejecutando manualmente tus propios servicios en la misma máquina.
La siguiente tabla trata de documentar los puertos, servicios y sus estados por defecto en FreedomBox. Si encuentras esta página desactualizada mira la página de estado del cortafuegos en el interfaz web de FreedomBox.
Servicio |
Puerto |
Externo |
Habilitado por defecto |
Estado mostrado en FreedomBox |
Administrado por FreedomBox |
Minetest |
30000/udp |
|
|
|
|
XMPP Client |
5222/tcp |
|
|
|
|
XMPP Server |
5269/tcp |
|
|
|
|
XMPP Bosh |
5280/tcp |
|
|
|
|
NTP |
123/udp |
|
|
|
|
Interfaz web de FreedomBox |
443/tcp |
|
|
|
|
Quassel |
4242/tcp |
|
|
|
|
SIP |
5060/tcp |
|
|
|
|
SIP |
5060/udp |
|
|
|
|
SIP-TLS |
5061/tcp |
|
|
|
|
SIP-TLS |
5061/udp |
|
|
|
|
RTP |
1024-65535/udp |
|
|
|
|
SSH |
22/tcp |
|
|
|
|
mDNS |
5353/udp |
|
|
|
|
Tor (Socks) |
9050/tcp |
|
|
|
|
Obfsproxy |
<random>/tcp |
|
|
|
|
OpenVPN |
1194/udp |
|
|
|
|
Mumble |
64378/tcp |
|
|
|
|
Mumble |
64378/udp |
|
|
|
|
Privoxy |
8118/tcp |
|
|
|
|
JSXC |
80/tcp |
|
|
|
|
JSXC |
443/tcp |
|
|
|
|
DNS |
53/tcp |
|
|
|
|
DNS |
53/udp |
|
|
|
|
DHCP |
67/udp |
|
|
|
|
Bootp |
67/tcp |
|
|
|
|
Bootp |
67/udp |
|
|
|
|
Bootp |
68/tcp |
|
|
|
|
Bootp |
68/udp |
|
|
|
|
LDAP |
389/tcp |
|
|
|
|
LDAPS |
636/tcp |
|
|
|
|
Para completar información acerca de los conceptos basicos o más allá, mira la documentación de FirewallD.
Para deshabilitar el cortafuegos
service firewalld stop
o con systemd
systemctl stop firewalld
Para vover a habilitar el cortafuegos
service firewalld start
o con systemd
systemctl start firewalld
Puedes añadir o eliminar un servicio de una zona manualmente.
Para ver la lista de servicios habilitados:
firewall-cmd --zone=<zone> --list-services
Ejemplo:
firewall-cmd --zone=internal --list-services
Para ver la lista de puertos habilitados:
firewall-cmd --zone=<zone> --list-ports
Ejemplo:
firewall-cmd --zone=internal --list-ports
Para eliminar un servicio de una zona:
firewall-cmd --zone=<zone> --remove-service=<service> firewall-cmd --permanent --zone=<zone> --remove-service=<interface>
Ejemplo:
firewall-cmd --zone=internal --remove-service=xmpp-bosh firewall-cmd --permanent --zone=internal --remove-service=xmpp-bosh
Para eliminar un puerto de una zona:
firewall-cmd --zone=internal --remove-port=<port>/<protocol> firewall-cmd --permanent --zone=internal --remove-port=<port>/<protocol>
Ejemplo:
firewall-cmd --zone=internal --remove-port=5353/udp firewall-cmd --permanent --zone=internal --remove-port=5353/udp
Para añadir un servicio a una zona:
firewall-cmd --zone=<zone> --add-service=<service> firewall-cmd --permanent --zone=<zone> --add-service=<interface>
Ejemplo:
firewall-cmd --zone=internal --add-service=xmpp-bosh firewall-cmd --permanent --zone=internal --add-service=xmpp-bosh
Para añadir un puerto a una zona:
firewall-cmd --zone=internal --add-port=<port>/<protocol> firewall-cmd --permanent --zone=internal --add-port=<port>/<protocol>
Ejemplo:
firewall-cmd --zone=internal --add-port=5353/udp firewall-cmd --permanent --zone=internal --add-port=5353/udp
Puedes cambiar la asignación de zona de cada interfaz de red manualmente tras la asignación automática del proceso de primer arranque.
Para ver la asignación actual de interfaces de red a las zonas.
firewall-cmd --list-all-zones
Para eliminar un interfaz de una zona:
firewall-cmd --zone=<zone> --remove-interface=<interface> firewall-cmd --permanent --zone=<zone> --remove-interface=<interface>
Ejemplo:
firewall-cmd --zone=external --remove-interface=eth0 firewall-cmd --permanent --zone=external --remove-interface=eth0
Para añadir un interfaz a una zona:
firewall-cmd --zone=<zone> --add-interface=<interface> firewall-cmd --permanent --zone=<zone> --add-interface=<interface>
Ejemplo:
firewall-cmd --zone=internal --add-interface=eth0 firewall-cmd --permanent --zone=internal --add-interface=eth0
Un certificado digital permite a los usuarios de un servicio web verificar la identidad del servicio y comunicar con él de modo seguro. FreedomBox puede obtener y configurar automaticamente certificados digitales para cada dominio disponible. Lo hace probando a Let's Encrypt, una authoridad de certificación (CA) ser el dueño de un dominio.
Let's Encrypt es una autoridad de certificación abierta, automatizada, libre y gratuita administrada para beneficio público por el Internet Security Research Group (ISRG). Por favor, lee y acepta los términos del Acuerdo de Suscripción de Let's Encrypt antes de usar este servicio.
La comunicación con tu FreedomBox se puede asegurar de modo que se imposibilite interceptar los contenidos que tus servicios intercambian con sus usuarios.
Si tu FreedomBox está detrás de un router, necesitarás configurar la redirección de puertos en tu router. Debes redirigir los siguientes puertos:
TCP 80 (http)
TCP 443 (https)
Publica tu nombre de dominio:
En Configurar inserta tu nombre de dominio, p.ej. MiWeb.com
Verifica que se aceptó tu nombre de dominio
Comprueba que está habilitado en Servicio de Nombres
Ve a la página de los Certificados (Let's Encrypt) y completa la instalación del modulo si hace falta. Entonces haz clic en el botón "Obtener" de tu nombre de dominio.
Tras algunos minutos estará disponible un certificado válido
Verifica en tu navegador comprobando https://MiWeb.com
Screencast: Let's Encrypt
El certificado es válido por 3 meses. Se renueva automáticamente y también se puede volcer a obtener o revocar manualmente.
Ejecutando diagnostics se puede también verificar el certificado.
Proyecto original: https://letsencrypt.org
Documentación de uso: https://letsencrypt.org/docs/
Los Servicios de Nombre proporcionan una vista general a las formas de acceder desde la Internet pública a tu Freedombox: nombre de dominio, servicio Tor Onion y cometa (Pagekite). Para cada tipo de nombre se indica si los servicios HTTP, HTTPS, y SSH están habilitados o deshabilitados para conexiones entrantes.También muestra y permite configurar como FreedomBox resuelve los nombres de dominio.
Desde la versión 24.19, FreedomBox emplea systemd-resolved
como resolutor DNS con memoria y reemplaza a resolvconf
para administrar la configuración del servidor DNS. Esto mejora la privacidad y la seguridad. Las instalaciones nuevas vendrán con systemd-resolved
de serie y las anteriores cambiarán automáticamente tras una actualización a esta nueava versión.
systemd-resolved
obtiene servidores DNS automáticamente de Network Manager
, la forma recomendada y por omisión de configurar redes en FreedomBox. No obstante, si administras la configuración de tu red editando a mano /etc/network/interfaces
, tendrás que asegurar que los servidores DNS le lleguen a systemd-resolved
. Si no, se usarán los servidores DNS de último recurso. Ver más abajo.
systemd-resolved
soporta DNS-sobre-TLS. Este protocolo permite cifrar la comunicación entre FreedomBox y el servidor de DNS server (habitualmente proporcionado por su proveedor de internet), si este lo soporta. Esto mejora la privacidad y la seguridad porque complica a posibles intermediarios ver o maniplar la comunicación. Los ajustes para habilitar DNS-sobre-TLS están disponibles a nivel global (para todas las interfaces de red) en la aplicación _Servicios de Nombre_ y a nivel de conexión en los ajusted de conexion de la aplicación _Redes_.
systemd-resolved
soporta DNSSEC
. Este estándar permite a los dueños de sitios web firmar sus registros DNS, permitiendo así a los clientes autenticarlos. Esto mejora la seguridad al complicar la manipulación de respuestas DNS. Si tu servidor DNS soporta esta funcionalidad se puede habilitar. Hay un nuevo ajuste para activar DNSSEC
disponible en la aplicación _Servicios de Nombre_.
Puedes detectar si tu DNS actual soporta DNS-over-TLS
y DNSSEC
si habilitas ambos de uno en uno y ejecutas los diagnósticos de la aplicación de _Nombres_. Hay un diagnostico que detecta si puedes resolver con éxito el nombre de dominio deb.debian.org
.
Si el proveedor de servidor DNS que te pone actualmente tu proveedor de internet no soporta las funcionalidades DNS-sobre-TLS
o DNSSEC
, censura algunos nombres de domino, o no confías en él lo suficiente, puedes usar un servidor DNS de los públicamente disponibles. Esto se hace editando las conexiones de red en la aplicación de _Redes_ y añadiendo los servidores DNS a mano. Para que los ajustes tengan efecto necesitarás reiniciar tu conexión de red desactivándola y activándola a continuación (o reiniciando FreedomBox). Después de esto la aplicación _Nombres_ te mostrará los servidores DNS configurados.
En algunos casos, cuando la conexón a internet está disponoble pero systemd-resolved
no conoce los servidores DNS, se usan los de último recurso. Esto podría pasar, por ejemplo, debido a una configuración errónea o con configuraciones de red administradas manualmente. Los servidores DNS de último recurso que configura por omisión el proyecto systemd
incluyen servidores de Cloudflare y de Google. Esto fué una decisión difícil porque conlleva riesgos de privacidad pero pensamos que era importante evitar que FreedomBox quede inaccesible por un fallo de configuración. Una vez que tienes una configuración DNS funcional puedes esactivar los servidores DNS de último recurso usando el nuevo ajusta de la aplicación de _Privacidad_. En el interfaz web hay también una nueva notificación que atraerá tu atención a este asunto. También puedes editar la lista de servidores DNS de último recurso creando un archivo de configuración para systemd-resolved
. Mira la documentación de systemd-resolved.
Esta sección describe como se configura por defecto la red en FreedomBox y como se puede adaptar. Ver también la sección Cortafuegos para más información acerca de cómo funciona éste.
En una imágen fresca de FreedomBox la red no está configurada. La configuración se realiza cuando la imágen se graba en una tarjeta SD y el dispositivo arranca. Durante el primer arranque el paquete FreedomBox setup
detecta los interfaces (tarjetas) de red e intenta configurarlos automáticamente de modo que la FreedomBox quede disponible para seguir configurandola a través del interfaz web desde otra máquina, sin necesidad de conectar un monitor a la FreedomBox. La configuración automática también procura dejar la FreedomBox operativa para sus escenarios de uso más importantes.
Trata 2 escenarios:
cuando hay 1 único interfaz (tarjeta) ethernet
cuando hay múltiples interfaces (tarjetas) ethernet
Cuando el dispositivo hardware solo tiene 1 único interfaz (tarjeta) ethernet hay poco margen para que haga de router. En tal caso se asume que el dispositivo es solo una máquina más en la red. En consecuencia el único interfaz (tarjeta) disponible se configura para ser un interfaz interno en modo de configuración automática. Esto significa que se conecta a Internet empleando la configuración provista por un router de la red y que hace todos sus servicios (internos y externos) accesibles a todos los clientes que haya en esta red.
Cuando el dispositivo hardware tiene múltiples interfaces (tarjetas) ethernet el dispositivo puede actuar como router. Entonces los interfaces se configuran para ejecutar esta función.
El primer interfaz (tarjeta) de red se configura para ser una WAN o interfaz externo en modo de configuración automático. Esto significa que se conecta a Internet empleando la configuración provista por el proveedor de servicio de internet (ISP). En este interfaz solo se expondrán los servicios concebidos para consumo desde Internet (servicios externos). Tu conexión a Internet tiene que llegar por el puerto de este interfaz (tarjeta) ethernet. Si quieres que tu router de siempre siga administrando tu conexión por tí conecta un cable desde tu router al puerto de este interfaz.
Los demás interfaces de red se configuran como clientes de router, como LAN o interfaces internos en modo de configuración compartido. Esto significa que todos sus servicios (internos y externos) se exponen a todos los clientes que entren desde esta red. Compartido implica además que los clientes podrán recibir detalles para conexión automática a la red. En concreto, la configuración DHCP y los servidores DNS se exponen en este interfaz. La conexión a Internet disponible para el dispositivo a través del primer interfaz se compartirá con los clientes que usen este interfaz. Todo esto implica que puedes conectar tus ordenadores a esta interfaz (tarjeta) de red y se configurarán automáticamente pudiendo acceder a Internet a través de tu FreedomBox.
Aunque el proceso de asignación es determinista actualmente no está muy claro qué interfaz será WAN (los demás serán LAN). Así que averiguar cual es cual conllevará un poco de prueba y error. En el futuro esto estará bien documentado para cada dispositivo.
Todos los interfaces Wi-Fi se configuran para ser LAN o interfaces internos en modo de configuración compartido. También se configuran para ser puntos de acceso Wi-Fi con los siguientes datos:
El nombre de cada punto de acceso será FreedomBox
más el nombre del interfaz (para tratar el caso de que haya varios).
La contraseña para conectar a los interfaces será freedombox123
.
Aunque la principal obligación de FreedomBox es proporcionar servicios descentralizados también puede ejercer como router casero. Por tanto en la mayoría de los casos FreedomBox se conecta a Internet y proporciona a otras máquinas de la red la posibilidad de usar esa conexión a Internet. FreedomBox puede hacer esto de 2 formas: usando un modo de conexión compartido o empleando una conexión interna.
Cuando se configura un interfaz en modo compartido puedes conectarle tu máquina directamente, sea por cable desde este interfaz a tu máquina o conectando a través del punto de acceso Wi-Fi. Este caso es el más facil de usar porque FreedomBox automáticamente proporciona a tu máquina la configuración de red necesaria. Tu máquina conectará automáticamente a la red proporcionada por FreedomBox y podrá conectar a Internet ya que FreedomBox puede a su vez conectarse a Internet.
En ocasiones la configuración anterior podría no ser posible porque el dispositivo hardware tenga un único interfaz de red o por otros motivos. Incluso en este caso tu máquina puede todavía conectarse a Internet a través de la FreedomBox. Para que esto funcione asegúrate de que el interfaz de red al que se está conectando tu máquina esté en modo interno. Entonces conecta tu máquina a la red en la que está la FreedomBox. Después de esto configura la red de tu máquina indicando como puerta de enlace la dirección IP de la FreedomBox. FreedomBox aceptará entonces el tráfico de red de tu maquina y lo enviará a Internet. Esto funciona porque los interfaces de red en modo interno están configurados para enmascarar hacia Internet los paquetes que lleguen desde máquinas locales, así como para recibir paquetes desde Internet y reenviarlos hacia las máquinas locales.
La configuración por defecto anterior podría no servir para tu caso. Puedes adecuar la configuración para ajustarla a tus necesidades desde el área Redes de la sección Configuración del interfaz web de tu FreedomBox.
Si tu ISP no proporciona configuración de red automática via DHCP y te obliga a conectar por PPPoE, para configurarlo elimina toda conexión de red existente en el interfaz y añade una de tipo PPPoE. Aquí, si procede, indica el usuario y la contraseña que te ha dado tu ISP y activa la conexión.
Por defecto durante el primer arranque los dispositivos Wi-Fi se configurarán como puntos de acceso. Sin embargo se pueden reconfigurar como dispositivos Wi-Fi normales para conectar a la red local o a un router WiFi existente. Para hacer esto haz clic en la conexión Wi-Fi para editarla. Cambia el modo a Infraestructura en vez de Punto de Acceso y Método de direccionamiento IPv4 a Automático (DHCP) en vez de Modo compartido. SSID proporcionado significa el nombre de la red Wi-Fi a la que quieres conectar. Rellena la frase clave.
El gestor de red que emplea FreedomBox para conectar con las redes Wi-Fi tienen una funcionalidad de privacidad que usa una identidad para buscar redes diferente de la que emplea para conectar con el punto de acceso Wi-Fi. Desafortunadamente esto causa problemas con algunos routers que rechazan estas conexiones. Tu conexión no se activará con éxito y se desconectará. Si tienes control sobre el comportamiento del router puedes desactivar esta funcionalidad. Si no la solución es desactivar la funcionalidad de privacidad:
Entra a la FreedomBox por SSH o Cockpit.
Edita el fichero /etc/NetworkManager/NetworkManager.conf
:
$ sudo nano /etc/NetworkManager/NetworkManager.conf
Añade la linea wifi.scan-rand-mac-address=no
en la sección [device]
:
[device] wifi.scan-rand-mac-address=no
Luego reinicia la FreedomBox.
Al añadir un nuevo dispositivo de red network manager
lo configurará automáticamente. En la mayoría de los casos esto no funcionará. Borra la configuración creada automáticamente en el interfaz y crea una conexión de red nueva. Selecciona tu interfaz recién creado en la página "añadir conexión".
Configura la zona del cortafuegos como corresponda.
Puedes configurar los interfaces para conectar a la red o proporcionar configuración de red a cualquier máquina que se le conecte.
De modo similar, si es un interfaz Wi-Fi puedes configurarlo para ser un punto de acceso Wi-FI o para conectarse a puntos de acceso existentes en la red.
FreedomBox tiene un soporte rudimentario para participar en redes mesh basadas en BATMAN-Adv. Es posible unirse a una red existe en tu zona o crear una red mesh nueva y compartir tu conexión a Internet con el resto de nodos que se unan a tu red. Tanto para unirte a una red mesh como para crear otra, actualmente hay que crear 2 conexiones y activarlas manualmente.
Para unirse a una red mesh existente en tu zona primero consulta a sus organizadores y obtén información acerca de la red.
Crea una conexión nueva y selecciona el tipo de conexión Wi-Fi. En el siguiente diálogo rellena los valores como se indica:
Nombre del campo |
Valor de ejemplo |
Explicación |
Nombre de la Conexión |
Mesh Join - BATMAN |
El nombre tiene que acabar en |
Interfaz físico |
wlan0 |
El dispositivo Wi-Fi que quieres usar para conectar a la red mesh. |
Zona del cortafuegos |
Externa |
Ya que no quieres que los participantes en la red mesh usen dispositivos internos de tu FreedomBox. |
SSID |
ch1.freifunk.net |
Tal como te lo hayan dado los operadores de la red mesh. Esta red debería mostrarse en Redes Wi-Fi accesibles. |
Modo |
Ad-hoc |
Porque esta red es una red de pares (peer-to-peer). |
Banda de Frecuencia |
2.4Ghz |
Tal como te lo hayan dado los operadores de la red mesh. |
Canal |
1 |
Tal como te lo hayan dado los operadores de la red mesh. |
BSSID |
12:CA:FF:EE:BA:BE |
Tal como te lo hayan dado los operadores de la red mesh. |
Autenticación |
Abierta |
Déjala abierta salvo que sepas que tu red mesh necesite otro valor. |
Contraseña |
Déjala en blanco salvo que sepas el valor que necesite tu red mesh. | |
Método de direccionamiento IPv4 |
Deshabilitado |
Todavía no queremos pedir una configuración IP. |
Graba la conexión y únete a la red mesh activándola.
Crea una segunda conexión nueva y selecciona el tipo Genérica. En el siguiente diálogo rellena los valores como se indica:
Nombre del campo |
Valor de ejemplo |
Explicación |
Nombre de la Conexión |
Mesh Connect |
Cualquier nombre para identificar ésta conexión. |
Interfaz físico |
bat0 |
Este interfaz solo aparecerá tras activar con éxito la conexión del paso anterior. |
Zona del cortafuegos |
Externa |
Ya que no quieres que los participantes en la red mesh usen dispositivos internos de tu FreedomBox. |
Método de direccionamiento IPv4 |
Auto |
Generalmente las redes mesh tienen un servidor DHCP en algún sitio que le proporciona una configuración IP a tu máquina. Si no, consulta al operador y configura la dirección IP como te diga por el método manual. |
Graba la conexión. Configura tu maquina para participar en la red activando esta conexión. Actualmente hay que activarla manualmente cada vez que quieras unirte a la red. En el futuro FreedomBox lo hará automáticamente.
Ahora debieras poder llegar a otros nodos de la red. También podrás conectar a Internet a través de la red mesh si los operadores han instalado algúna puerta de enlace.
Para crear tu propia red mesh y compartir tu conexión a Internet con el resto de los nodos de la red:
Sigue las instrucciones del paso 1 de Unirse a una red Mesh empleando los valores válidos para tu red en SSID (un nombre para tu red Mesh), Banda de Frecuencia (generalmente 2.4Ghz), Canal (entre 1 y 11 para la banda de 2.4Ghz) y BSSID (una secuencia hexadecimal como 12:CA:DE:AD:BE:EF). Crea esta conexión y actívala.
Sigue las instrucciones del paso 2 de Unirse a una red Mesh seleccionando Compartido para Método de direccionamiento IPv4d. Esto proporcionará automáticamente una configuración IP a otros nodos de la red y compartirá la conexión a Internet de tu maquina (ya sea mediante un segudo interfaz Wi-Fi, Ethernet, etc.) con el otros nodos de la red mesh.
Corre la voz entre tus vecinos acerca de tu red mesh y pásales los parámetros que has empleado al crearla. Cuando otros nodos se conecten a esta red mesh tendrán que seguir las instrucciones del paso 1 de Unirse a una red Mesh empleando en SSID, Banda de Frecuencia y Canal los valores que has elegido para tu red mesh al crearla.
Cockpit proporciona muchas funcionalidades de red más avanzadas que las de FreedomBox. Ambos, FreedomBox y Cockpit, operan sobre Network Manager y son por ello compatibles entre sí. Entre las funciones de Cockpit se incluyen:
Establer de la unidad máxima de transmisión (MTU) para una conexión de red.
Cambiar de la dirección hardware (MAC) de un interfaz de red.
Añadir más servidores DNS y configurar el enrutado de una conexión de red.
Crear dispositivos coordinados para interfaces de red de alta disponibilidad.
Crear dispositivos en puente para agregar redes diferentes en un mismo interfaz de red.
Administrar VLAN para crear particiones virtuales en la red física.
FreedomBox configura redes automáticamente por defecto y proporciona un interfaz simplificado para personalizar la configuración a necesidades específicas. En la mayoría de los casos la operación manual no es necesaria. Los siguientes pasos describen cómo operar la configuración de red a mano en caso de que el interfaz de FreedomBox le resulte insuficiente a un usuario para realizar una tarea o para diagnosticar un problema que FreedomBox no identifique.
En el interfaz de línea de comandos:
Para acceder a un interfaz de configuración de conexiones de red basado en texto:
nmtui
Para ver la lista de dispositivos de red disponibles:
nmcli device
Para ver la lista de conexiones configuradas:
nmcli connection
Para ver el estado actual de una conexión:
nmcli connection show '<nombre_de_la_conexión>'
Para ver la zona asignada actualmente en el cortafuegos a un interfaz de red:
nmcli connection show '<nombre_de_la_conexión>' | grep zone
o
firewall-cmd --zone=internal --list-all firewall-cmd --zone=external --list-all
Para crear una conexión nueva:
nmcli con add con-name "<nombre_de_la_conexión>" ifname "<interfaz>" type ethernet nmcli con modify "<nombre_de_la_conexión>" connection.autoconnect TRUE nmcli con modify "<nombre_de_la_conexión>" connection.zone internal
Para cambiarle la zona a una conexión en el cortafuegos:
nmcli con modify "<nombre_de_la_conexión>" connection.zone "<internal|external>"
Para más información acerca del uso del comando nmcli
mira su página man. Para obtener una lista completa de configuraciones y tipos de conexión que acepta Network Manager
mira:
https://developer.gnome.org/NetworkManager/stable/ref-settings.html
Para ver el estado actual del cortafuegos y operarlo manualmente lee la sección Cortafuegos.
PageKite hace inmediata y públicamente accesibles desde internet a los sitios web y servicios locales sin tener que crear tu mismo una dirección IP pública. Lo hace tunelando protocolos como HTTPS o SSH a través de cortafuegos y NAT. Usar PageKite require ana cuenta en un servicio de repetidor de PageKite. https://pagekite.net es uno de de estos servicios.
Un servicio de repetidor de PageKite te permitirá crear cometas (kites). Las cometas son similares a los nombres de dominio pero con ventajas y desventajas diferentes. Una cometa puede tener varios servicios configurados. Se sabe que PageKite funciona con HTTP, HTTPS, y SSH, y muchas funcionan con otros servicios, pero no todas.
Créate una cuenta en un servicio de repetidor de PageKite.
Añade una cometa a tu cuenta. Anota el nombre y el secreto de tu cometa.
En FreedomBox, vé a la solapa "Configurar PageKite" de la página Visibilidad Publica (PageKite).
Marca la caja "Habilitar PageKite" e introduce el nombre y el secreto de tu cometa. Haz clic en "Grabar propiedades".
En la solapa "Servicios Estándar" puedes habilitar HTTP y HTTPS (recomendado) y SSH (opcional).
HTTP se necesita para obtener el certificado Let's Encrypt. Puedes deshabilitarlo (HTTPS) más tarde.
En la página Certificados (Let's Encrypt) puedes obtener un certificado Let's Encrypt para el nombre de tu cometa.
Disponible desde: versión 20.9
La app Performance permite recabar, almacenar y ver información acerca de la utilización del hardware. Esto proporciona visibilidad acerca de patrones de uso y si el hardware está sobrecargado por usuarios y/o servicios.
Las métricas de Performance las recaba Performance Co-Pilot se pueden ver mediante la app Cockpit. Cuando se instala y habilita esta app del sistema, los gráficos de Cockpit muestran el pasado (hasta un año atrás).
Para reiniciar o apagar tu FreedomBox haz clic en el menú desplegable del usuario en la esquina superior derecha. Después de seleccionar "Reiniciar" o "Apagar", se te pedirá confirmación.
FreedomBox ejecuta el servidor openssh-server
por defecto permitiendo así accesos remotos desde todos los interfaces. Si tu dispositivo hardware está conectado a un monitor y un teclado, también puedes ingresar directamente. Para la operación habitual de FreedomBox no necesitas usar la shell. No obstante, algunas tareas o identificación de algún problema podrían requerirlo.
Al crear una cuenta en FreedomBox por primera vez, el usuario tendrá automaticamente privilegios de administrador. Los usuarios Admin
pueden ingresar mediante ssh (abajo se explica cómo) y escalar sus privilegios a superusuario mediante sudo.
Nota: Si puedes acceder al interfaz web de FreedomBox es que no necesitas hacer esto. Puedes usar la cuenta de usuario del interfaz web de FreedomBox para conectar por SSH.
Las imagenes precompiladas FreedomBox tienen una cuenta de usuario llamada fbx
pero no tiene contraseña establecida, así que no se puede ingresar con esta cuenta.
Hay un script incluído en el programa freedom-maker
que permite establecer la contraseña de esta cuenta si fuera necesario:
Descomprime la imagen.
Obtén una copia de freedom-maker
en https://salsa.debian.org/freedombox-team/freedom-maker/.
Ejecuta sudo ./bin/passwd-in-image <archivo_de_imagen> fbx
.
Copia el archivo de la imagen a la tarjeta SD e inicia el dispositivo.
El usuario "fbx" también tiene privilegios de superusuario mediante sudo.
Los usuarios administradores de FreedomBox pueden usar SSH para ingresar. FreedomBox crea el superusuario 'fbx'. Hay opciones que permiten ingresar a usuarios normales:
Se puede otorgar individualmente permiso de acceso por SSH a usuarios concretos en la página Editar Usuario seleccionando la opción Ingreso remoto usando Secure Shell (SSH) (freedombox-ssh).
Se puede otorgar permiso de acceso por SSH en masa a todos los usuarios en la página de configuración de SSH seleccionando la opción Permitir el ingreso remoto por SSH a todos los usuarios.
En una FreedomBox nueva puedes ingresar con SSH como fbx y los demás usuarios normales podrán hacerlo tras ajustar sus cuentas o la configuración de la Shell Segura arriba en esta sección. La cuenta de usuario root no podrá ingresar al no tener contraseña.
Muchos sistemas operativos, incluyendo Linux, Windows de Microsoft y MacOS de Apple incluyen clientes SSH. SSH se incluye en Chromebooks pero requiere que el usuario lo configure. En la mayoría de los casos puedes ejecutar SSH desde la terminal o línea de órdenes como se muestra aquí, usando el nombre de la máquina de FreedomBox o su dirección IP:
$ ssh freedombox.local
Si tu cliente no tiene SSH disponible, PuTTY es un cliente SSH popular y es software libre conforme a las Directrices de Debian para Software Libre. PuTTY tiene una interfaz gráfica para recordar y administrar tus conexiones SSH. Consulta los enlaces externos más abajo para amplisr información acerca de PuTTy.
La aplicación Terminal de Administración de Servidor Cockpit disponible en el menú de Herramientas Cockpit es una herramienta de acceso por terminal alternativa a SSH. Como con SSH, su conexión al terminal FreedomBox esta securizada. Cockpit es una buena opción para usuarios que no quieran habilitar el servidor SSH o que prefieran conectar mediante un navegador web. Com ambas herramientas se te presentará el interfaz de línea de órdenes bash de FreedomBox.
Algunos usuarios prefieren ejecutar SSH en vez de o junto a Cockpit. Los usuarios de la consola de órdenes suelen preferir SSH porque ya lo usan. Los usuarios con experiencia administrando sistemas Linux o Unix suelen preferir este método de conexión porque es un servicio más simple y se cree que es más propenso a permanecer disponible en caso de problemas.
Para configurar Cockpit y los certificados SSL con seguridad lea las secciones del manual Cockpit y Let's Encrypt, respectivamente.
Para ingresar mediante SSH a tu FreedomBox:
$ ssh fbx@freedombox
Reemplaza fbx
por el usuario con el que quieres ingresar. fbx
es el usuario de FreedomBox con privilegios de superusuario por defecto. Cualquier otro usuario creado con FreedomBox que pertenezca al grupo admin
podrá ingresar. La cuenta root
no tiene contraseña configurada y no podrá ingresar. A todos los demás usuarios se les denegará el acceso.
Hay que reemplazar freedombox
por el hostname o dirección IP de tu dispositivo FreedomBox como se indica en el proceso de Inicio rápido:
$ ssh fbx@192.168.1.1
Si tu FreedomBox tiene un nombre de dominio asignado también puedes usarlo:
$ ssh fbx@mifreedombox.freedombox.rocks
Si fallas repetidamente intentando ingresar se te bloqueará el acceso por algún tiempo. Esto se debe al paquete libpam-abl
que FreedomBox instala por defecto. Para controlar este comportamiento consulta la documentación de libpam-abl
.
En esta seccion hemos usado el nombre de la máquina con la extensión .local
(usando multicast DNS), una dirección IP local, y un nombre de dominio para conectar a FreedomBox por SSH.
Si tu router está configurado al efecto para tu FreedomBox o la tienes directamente expuesta a internet puedes usar también un nombre de dominio o dirección IP públicos del mismo modo que en la red local. Pero el Multicast DNS no funciona desde internet.
Veámos ahora cómo conectar a FreedomBox por SSH usando otras redes.
Si tienes habilitados en FreedomBox los servicios Tor Onion puedes acceder a tu FreedomBox mediante ssh sobre Tor. Instala netcat-openbsd
.
$ sudo apt-get install netcat-openbsd
Edita ~/.ssh/config
para habilitar conexiones sobre Tor.
$ nano ~/.ssh/config
Añade lo siguiente:
Host *.onion user USUARIO port 22 ProxyCommand nc -X 5 -x 127.0.0.1:9050 %h %p
Reemplaza USUARIO por un usuario del grupo admin
(ver arriba).
En algunos casos podrías necesitar reemplazar 9050 por 9150.
Ahora, para conectar a la FreedomBox abre un terminal y teclea:
$ ssh USUARIO@DIRECCION.onion
Reemplaza USUARIO por un usuario del grupo admin
y DIRECCION por la dirección del servicio Tor Onion para SSH de tu FreedomBox.
Si después de ingresar quieres volverte superusuario para realizar actividades administrativas:
$ sudo su
Habitúate a ingresar como root
solo cuando sea estrictamente necesario. Si no ingresas como root
no puedes romperlo todo accidentalmente.
Para cambiar la contraseña de un usuario administrado en el interfaz web de FreedomBox usa la página Cambiar clave de acceso. El usuario por debecto fbx
no se administra en el interfaz web de FreedomBox y su contraseña no se puede cambiar desde él.
Para cambiar la contraseña en el terminal ingresa a tu FreedomBox con el usuario cuya contraseña quieres cambiar y ejecuta el siguiente comando:
$ passwd
Esto te preguntará tu contraseña actual antes de darte la oportunidad de establecer la nueva.
El siguiente paso para mejorar la seguridad y la comodidad es comprender y empleare las claves SSH. Si la primera vez ingresaste a tu FreedomBox mediante SSH siguiendo las instrucciones anteriores diste un usuario y una contraseña. In esta sección aprenderás acerca de huellas de servidor, claves de máquina, claves autorizadas, y los motivos para usarlas securizando la conexión a la vez que la facilitas.
SSH está configurada por omisión para preferir ingresar con claves mientras te sigue permitiendo emplear un nombre de usuario y contraseña. Al final de esta sección podrás:
Conectar a FreedomBox sabiendo que te conectas al ordenador deseado.
Conectar instantáneamente sin tener que dar usuario y contraseña.
Mejorar la seguridad de tu FreedomBox deshabilitando la autenticación a SSH mediante cotraseña.
Las claves SSH se generan emparejadas. Cada par par consta de una clave pública y su clave privada correspondiente. Cada clave cifra los datos de modo que solo se pueden leer con la otra: lo que cifra la privada solo lo descifra la pública y viceversa. Esto se llama sistema de cifrado asimétrico. SSH mantendrá tus claves privadas seguras y comunicará automáticamente tus claves públicas al otro sistema.
Empplear claves SSH crea un conjunto potente de características de seguridad:
Te aseguran que te conectas a tu FreedomBox (y no a un impostor).
Nadie más podrá leer ni modificar tu comunicación con FreedomBox.
El servicio SSH de FreedomBox SSH sabrá que eres tú (y no un impostor) el usuario conectado.
Nadie más podrá leer ni modificar la comunicación de FreedomBox destinada a tí.
La conexión es automática sin nombre de usuario ni contraseña.
Tu FreedomBox puede bloquear cualquier ataque basado en adivinar tu contraseña.
Crearemos un par de claves SSH tu ordenador cliente usando usando valores por omisión y sin dar una contraseña. Usa el comando ssh-keygen
sin argumentos y cuando se te pida una contraseña introdúcela vacía. He aquí un ejemplo:
$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/username/.ssh/id_rsa): Created directory '/home/username/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/username/.ssh/id_rsa Your public key has been saved in /home/username/.ssh/id_rsa.pub The key fingerprint is: SHA256:nHcTP5DBKxBOgt8BFMyb2QUs//t8ge+8vw2zjOuE71U username@clientpc The key's randomart image is: +---[RSA 3072]----+ | ==++o .. | | . +++ . .o | | . O.+ +. | | =.+.. .+ | | S...o.o E| | ..o...o | | ....+. | | .+ =o+.| | +O+*++| +----[SHA256]-----+
Ya tienes un par de claves SSH personales en tu ordenador cliente.
La primera vez que te conectes a FreedomBox se te presentará un mensaje como este:
$ ssh fbx@freedombox.local No se puede asegurar la autenticidad de 'freedombox.local (192.168.1.4)'. Su huella ED25519 es SHA256:TwJFdepq7OaTXcycoYfYE8/lRtuOxUGCrst0K/RUh4E. Esta huella no consta asociada a ningún otro nombre. ¿Seguro que quiere conectar (Si/No/[huella])?
Hay varias partes que hay que entender en este mensaje:
SSH te dice que nunca antes has conectado con este servidor por lo que no puede garantizarte que sea seguro.
SSH te ofrece la oportunidad de validar este nuevo servidor indicando 'Si'.
SSH ha recibido una clave de cifrado para comunicar con seguridad con este servidor (aunque no tengamos certeza de a qué máquina nos conectamos).
SSH te está dando información que usarás para confirmar que el servidor SSH remoto es tu FreedomBox.
Vé con tu navegador a FreedomBox. Entra en el menú de Sistema y luego a Shell Segura. La segunda sección de esta página es Huellas de Servidor y tiene una entrada ED25519:
Algoritmo |
Huella |
RSA |
SHA256:ZGvgdxiDEpGKdw82Z6z0QRmDpT3Vgi07Ghba5IBJ4tQ |
ECDSA |
SHA256:BLMMfPxNHpHF0sqCazAwE6ONdLtMY+W2yrgjP7AeXcQ |
ED25519 |
SHA256:TwJFdepq7OaTXcycoYfYE8/lRtuOxUGCrst0K/RUh4E |
Compara la huella ED25519 de la página Shell Segura de tu FreedomBox con la que ha recibido tu cliente SSH en su primera conexión. Si las huellas coinciden puedes confiar que estás conectando con tu FreedomBox.
Me gustaría acompañarte a dar estos pasos pero ... ¿ya has realizado tu primera conexión? Puedes reiniciar el proceso con esta orden en el ordenador de tu cliente SSH.
$ ssh-keygen -R freedombox.local
Esto borra el registro de tu conexión a FreedomBox. Ahora abre la página de configuración de la Shell Segura en FreedomBox por la sección de Huellas de Servidor. A continuación conecta a FreedomBox con tu cliente SSH y verifica la huella de servidor antes de responder afirmativamente a la pregunta de authenticidad de la máquina. Hacer esto correctamente te garantiza que cuando conectes mediante SSH a FreedomBox te conectas al tuyo (y no a otro).
Cada vez que te conectes a un servidor SSH nuevo para tí se te dará la oportunidad de verificar su huella. Si te conectas a FreedomBox usando nombres o direcciones IP diferentes (IP local, nombre DNS, nombre Pagekite, dirección .onion para TOR...) se te preguntará una vez por cada una pero la huella será siempre la misma.
Las huellas de tu servidor no son secretas. La huella es una versión resumida de la clave pública que se comparte para que la usen para cifrar la comunicación que se te envía. Tu clave pública tampoco es secreta. Podrías publicar las huellas y las claves públicas sin afectar un ápice a la seguridad de tu FreedomBox.
Ahora que tienes una clave personal y has verificado la identidad de FreedomBox, éste sigue sin conocer la tuya y te pedirá una contraseña al intentar ingresar mediante SSH. La orden ssh-copy-id
le dirá a FreedomBox que acepte tu clave personal en vez de tu contraseña.
$ ssh-copy-id username@freedombox.local /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys username@freedombox.local's password: Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'username@freedombox.local'" and check to make sure that only the key(s) you wanted were added.
Estos pasos emparejan tu clave personal pública a tu cuenta de usuario en FreedomBox. Al completar este paso el servidor SSH de FreedomBox comparará la clave que le envía el ordenador cliente con la que ha guardado FreedomBox. Si coinciden ingresarás sin necesidad de introducir una contraseña. Compruébalo ahora:
$ ssh freedombox.local Linux freedombox 6.1.0-18-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.76-1 (2024-02-01) x86_64 .--._ _.--. ( \ / ) \ /\ / \_ \/ _/ / \ ( /\ ) `--' `--' FreedomBox FreedomBox is a pure blend of Debian GNU/Linux. Web interface is available at https://localhost/ . FreedomBox manual is available in /usr/share/doc/freedombox and from the web interface. The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. You have new mail. Last login: Sun Mar 17 14:27:03 2024 from 192.168.144.101 username@freedombox:~$
Una vez FreedomBox conoce tu clave pública podrás conectar usándola sin importar cómo te refieras a FreedomBox:
Nombre en la red local
Dirección IP en la red local
Dirección IP pública de tu proveedor de internet
Nombre DNS, si usas DNS dinámico
Nombre Pagekite, si usas Pagekite
Dirección .onion, si usas TOR
Cuando ya puedas conectar a FreedomBox por SSH mediante clave SSH sin introducir contraseña puedes dar otro paso para mejorar la seguridad de FreedomBox. Si tienes tu FreedomBox accesible desde internet quizá notes que se repiten intentos de ingreso desde internet. Una buena contraseña es tu primera linea de defensa, pero FreedomBox tiene más características para protegerte de estos intentos de intrusión. Puedes atajar por completo este disparate deshabilitando la autenticación por contraseña para la Shell Segura. En el menú de Sistema de tu FreedomBox elige la Configuración de Shell Segura y debajo de Configuración selecciona "Deshabilitar autenticación por contraseña":
[x] Deshabilitar autenticación por contraseña
Dale al botón "Actualizar Ajustes". Esto impide cualquier intento de intrusión que quiera adivinar tu contraseña. Podrás ingresar desde este ordenador cliente con tu clave.
En esta sección hemos aprendido a encontrar las Huellas de Servidor de la Shell Segura de FreedomBox. Hemos verificado la conexión con FreedomBox comparando la huella recibida por el cliente SSH con la que hay en el servidor SSH de FreedomBox. Estos pasos solo se necesitan la primera vez que conectamos con FreedomBox. Quizá necesites repetirlos al conectar mediante la dirección IP o los nombres de la máquina en la red local o desde fuera de ella. En cada caso recibirás la misma Huella de Servidor que podrás verificar la primera vez.
En algún momento quizá te topes con un mensaje alarmante como este al intentar acceder a tu FreedomBox con SSH:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that a host key has just been changed. The fingerprint for the RSA key sent by the remote host is SHA256:ZGvgdxiDEpGKdw82Z6z0QRmDpT3Vgi07Ghba5IBJ4tQ. Please contact your system administrator. Add correct host key in /home/username/.ssh/known_hosts to get rid of this message. Offending RSA key in /home/username/.ssh/known_hosts:2 remove with: ssh-keygen -f "/home/username/.ssh/known_hosts" -R "freedombox.freedombox.rocks" Host key for freedombox.freedombox.rocks has changed and you have requested strict checking. Host key verification failed.
Este mensaje es importante. Normalmente no es grave pero podría ser consecuencia de un ataque. Lo importante es que siempre actúes siempre con prudencia.
Este mensaje viene a decir que la relación de confianza con el servidor SSH a través de la verificación de su huella y el intercambio de claves con ssh-copy-id
se ha roto. Leyendo detenidamente el mensaje, dice que la huella enviada por FreedomBox al conectar no coincide con la registrada en el cliente SSH cuando se verificó. Esto puede indicar cosas diferentes:
El fichero .ssh/known_hosts
de to cliente ha sido modificado se ha corrompido de tal modo que la huella se ha alterado.
Has generado claves nuevas para tu servidor FreedomBox SSH.
Tu red ha cambiado de tal modo que al intentar acceder a tu FreedomBox tu conexión se desvía y llega a otro sitio. Esto puede pasar si tras cambiar la dirección IP de tu FreedomBox sigues inentando acceder a la antigua, o podría ser un ataque de red sofisticado.
Aregla esto borrando el registro de tu FreedomBox en el ordenador cliente. Ejecuta este comando con los datos del mensaje de error que recibes (¡No lo copies del ejemplo anterior!).
$ ssh-keygen -f /home/username/.ssh/known_hosts -R "freedombox.freedombox.rocks" # Host freedombox.freedombox.rocks found: line 2 # Host freedombox.freedombox.rocks found: line 3 /home/username/.ssh/known_hosts updated. Original contents retained as /home/username/.ssh/known_hosts.old
Haciendo esto has anulado la verificación de huella de tu FreedomBox. Vuelve a la sección Verificar la Huella de tu Servidor FreedomBox y repitela. Asegúrate así de que te conectas a tu FreedomBox en caso de ataque.
Proyecto original: https://www.openssh.com
Documentación de uso: https://www.openssh.com/manual.html
Software cliente PuTTY : https://www.chiark.greenend.org.uk/~sgtatham/putty/
SSH en el wiki de Debian: https://wiki.debian.org/SSH
Pulsa el botón Mostrar informe de seguridad para ver un informe que incluye lo siguiente:
Cantidad de vulnerabilidades de seguridad en la versión de FreedomBox instalada.
Cantidad de vulnerabilidades de seguridad para cada app instalada.
Si cada app instalada soporta sandboxing de seguridad.
Para cada app instalada, el porcentaje de cobertura del sandbox de seguridad.
Cuando se habilita esta opción sólo los usuarios del grupo "admin" podrán entrar a la consola o mediante SSH. Los usuarios de consola podrán acceder a algunos servicios sin más autorización.
La sección Usuarios explica cómo definir grupos de usuarios.
Cuando la opción Acceso a consola restringido está habilitada, sólo los usuarios del grupo admin podrán ingresar via consola, shell segura (SSH) o interfaz gráfico. Al desactivar esta funcionalidad cualquier usuario con cuenta en FreedomBox podrá ingresar y quizá tener acceso a ciertos servicios sin más autorización. Esta opción solo debería desactivarse si se confía plenamente en todos los usuarios del sistema. Si quieres usar tu máquina FreedomBox también como escritorio y admitir que usuarios no-admin ingresen mediante interfáz gráfica esta opción debe estar desactivada. Puedes determinar la lista de usuarios admin en la sección Users.
La Detección de Servicios permite a otros dispositivos de la red detectar a tu FreedomBox y a los servicios que expone. Si un cliente de la red local soporta mDNS, puede encontrar tu FreedomBox en <hostname>.local (por ejemplo: freedombox.local).
También permite a FreedomBox detectar otros dispositivos y servicios que están funcionando en tu red local.
La Detección de Servicios no es esencial y solo funciona en redes internas. Se puede deshabilitar para mejorar la seguridad especialmente cuando la conectas a una red local hostil.
Si <hostname>.local no responde, quizá solo haya que reactivar en FreedomBox la funcionalidad de Detección de Servicios. Vé a Sistema -> Detección de Servicios, desliza el interruptor a la izquierda para deshabilitarla (se vuelve gris) y luego otra vez a la derecha para volver a habilitarla (se vuelve azul).
Obviamente, para hacer esto necesitas otro medio de acceder a tu FreedomBox que no sea <hostname>.local. Los tienes en la Guía de inicio rápido.
Almacenamiento te permite ver los dispositivos de almacenamiento conectados a tu FreedomBox y el uso de su espacio.
FreedomBox puede detectar y montar automáticamente medios extraíbles como unidades flash USB. Se muestran listados bajo la sección Dispositivos extraíbles junto con una opción para expulsarlos.
Si queda espacio libre detrás de la partición de root, se mostrará también la opción para expandirla. Normalmente no se muestra ya que en el primer arranque de la FreedomBox se produce automáticamente una expansión total de la partición de root.
Cockpit proporciona muchas funcionalidades de almacenamiento más avanzadas que las de FreedomBox. Ambos, FreedomBox y Cockpit, operan sobre el demonio de almacenamiento Udisks2 y son por ello compatibles entre sí. Entre las funciones proporcionadas por Cockpit se incluyen:
Formatear un disco o partición con un nuevo sistema de ficheros.
Añadir, eliminar particiones o borrar la tabla de particiones.
Crear y desbloquear sistemas de ficheros cifrados.
Crear y administrar dispositivos RAID.
Las Instantáneas te permiten crear instantáneas del sistema de archivos y devolver al sistema a un estado anterior.
Nota: Esta funcionalidad requiere un sistema de archivos Btrfs. Todas las imágenes de disco de FreedomBox estables usan Btrfs.
Hay tres tipos de instantáneas:
De Arranque: Tomada cuando el sistema arranca,
De Instalación de Software (apt): Tomada cuando el software se instala o actualiza,
De Línea de Tiempo: Tomada cada hora, día, semana, més, o año.
Las instantáneas de Línea de Tiempo e Instalación de Software se pueden activar y desactivar, y puedes limitar la cantidad de cada tipo de instantánea Timeline. También puedes establecer un porcentaje de espacio en disco a conservar.
FreedomBox puede instalar actualizaciones de seguridad automaticamente. Esta funcionalidad viene activada por defecto y no hace falta ninguna acción manual. Puedes activar las actualizaciones automaticas desde el interfaz web de FreedomBox en la página Actualización de la sección Sistema. Se recomienda encarecidamente que tengas esta opción habilitada para mantener tu FreedomBox segura.
Las actualizaciones se efectúan cada noche según el huso horario local. Puedes establecerlo mediante Fecha y Hora. Si quieres apagar tu FreedomBox cada día después de usarla, déjala ejecutando una noche a la semana más o menos para permitir que ocurran las actualizaciones automaticas. Otra posibilidad es ejecutar actualizaciones manuales como se describe más adelante.
Nota que una vez comiencen las actualizaciones podría llevarles mucho tiempo completarse. Durante el proceso de actualización (ya sea el automático nocturno o el manual), no podrás instalar aplicaciones desde el interfaz web de FreedomBox.
Aunque las actualizaciones se efectúan a diario por razones de seguridad, las últimas funcionalidades no se propagan a todos los usuarios. A continuación se explica cómo llegan las novedades a los usuarios de las diferentes versiones de Debian:
Usuarios de versiones estables: Esta categoria de usuarios incluye a los usuarios que compraron la FreedomBox Pioneer Edition, a los que instalaron FreedomBox sobre una distribución estable de Debian y a los que descargaron las imágenes estables desde freedombox.org. Como regla general a estos usuarios solo se les proporciona actualizaciones de seguridad de determinados paquetes. Cuando una release obtiene la confianza de los desarrolladores el propio servicio FreedomBox se actualiza, lo que supone una excepción a esta regla. Esto implica que las últimas funcionalidades de FreedomBox estarán disponibles para estos usuarios aunque no tán inmediata- o frecuentemente como para los usuarios de las versiones en pruebas (testing). Si una app sólo está disponible en la distribución en pruebas (testing) pero no en la estable la app aparecerá en el interfaz web pero no será instalable para los usuarios de la distribución estable. Algunas apps se actualizan en excepción a la regla de "solo actualizaciones de seguridad" cuando la app esté seriamente rota por algún motivo. Debian libera cada bienio una entrega (release) con las últimas versiones estables de cada paquete de software y los desarrolladores de FreedomBox intentarán actualizar a estos usuarios a la nueva entrega (release) sin necesidad de intervención manual.
Usuarios de versiones en pruebas: Esta categoria de usuarios incluye a los usuarios que instalaron FreedomBox sobre una distribución en pruebas (testing) y a los que descargaron las imágenes en pruebas (testing) desde freedombox.org. Estos usuarios asumen la posibilidad de afrontar disrupciones ocasionales en los servicios e incluso tener que intervenir manualmente para arreglarlas. Como regla general estos usuarios reciben las últimas funcionalidades y actualizaciones de seguridad para todos los paquetes instalados. Cada quincena se libera una nueva versión de FreedomBox con todas las últimas funcionalidades y correcciones. Estas versiones llegan a los usuarios de la distribución en pruebas (testing) aproximadamente 2 o 3 días después de la liberación.
Usuarios de versiones inestables: Esta categoria de usuarios incluye a los usuarios que instalaron FreedomBox sobre una distribución inestable y a los que descargaron las imágenes inestables desde freedombox.org. Estos usuarios asumen la probabilidad de afrontar disrupciones en los servicios y tener que intervenir manualmente para arreglarlas. Como regla general estos usuarios reciben las últimas funcionalidades y actualizaciones de seguridad para todos los paquetes instalados. Cada quincena se libera una nueva versión de FreedomBox con todas las últimas funcionalidades y correcciones. Estas versiones llegan a los usuarios de la distribución inestable el mismo día de la liberación. Solo los desarrolladores, probadores y contribuyentes al proyecto FreedomBox debieran emplear la distribution inestable. Se advierte y exhorta a los usuarios finales de que no la usen.
Algunos paquetes de software podrían requerir intervención manual para actualizarlos, generalmente por razones de configuración. En tales casos FreedomBox se actualiza a sí mismo y solicita información nueva necesaria para la actualización del paquete. Después de autoactualizarse FreedomBox actúa en nombre del usuario y actualiza los paquetes con la información recabada. Estos paquetes no se deben actualizar manualmente hasta que FreedomBox tenga la posibilidad de actualizarlos. La actualización que se dispara manualmente desde el interfaz web ya es consciente de estos paquetes y no los actualiza.
En situaciones muy extrañas, FreedomBox podría fallar o quedar a expensas de una intervención manual desde el terminal. Para esto, entra a FreedomBox por un terminal, ya sea físico, web (empleando Cockpit) o mediante SSH (ver sección Shell Segura) y ejecuta los siguientes comandos:
$ sudo su - Password: <introduce la contraseña aquí> # dpkg --configure -a # apt update # apt -f install # unattended-upgrade --debug # apt install freedombox # apt update
Si apt update
te pide confirmación para algo responde que Sí. Si durante la actualización del paquete freedombox
te pregunta acerca de los archivos de configuración responde que instale los archivos de configuración nuevos que vienen con la última versión del paquete. Este proceso solo actualizará los paquetes que no necesitan preguntar (excepto el paquete freedombox
). Después, deja que FreedomBox se encargue de la actualización de los demás paquetes. Sé paciente mientras se crean nuevas versiones de FreedomBox para tratar los paquetes que necesitan intervención manual.
Si quieres ir más allá de la recomendación e instalar todos los paquetes en tu FreedomBox y realmente estás muy seguro de poder tratar los cambios de configuración de paquetes por tí mismo, ejecuta el siguiente comando:
$ apt full-upgrade
FreedomBox puede actualizarse automaticamente cuando se publica una nueva versión estable de Debian. Esta funcionalidad de actualización se recomienda y viene activada por omisión para sistemas estables. Nótese que se requiere activar la autoactualización y que haya 5 GB de espacio libre en la partición raíz.
En algunos casos especiales como en los que se haya efectuado una personalización del sistema avanzada la actualización automática podría fallar. Si quieres puedes desactivarla en la página Sistema -> Actualización vaciando la caja “Activar autoactualización a la próxima publicación estable”.
Si decides permanecer en una publicación anterior deberías mirar DebianReleases#Production_Releases para ver cuánto tiempo va a soportarla el equipo de seguridad de Debian. Ten en cuenta que las publicaciones antiguas no tendrán nuevas versiones de FreedomBox, ni siquiera mediante backports.
Para la mayoría de los usuarios se recomienda la autoactualización. Si no obstante quieres realizar la actualización manualmente aquí tienes algunos consejos:
General:
Toma una instantánea del sistema antes de empezar.
Hay disponibles instrucciones generales para actualizar la distributción Debian.
Se sabe que algunos paquetes preguntan al usuario durante la actualización debido a cambios en los ficheros conf. Se recomienda no actualizar estos paquetes manualmente, sino permitir que FreedomBox trate sus actualizaciones automaticamente. Nos referimos a los siguientes paquetes:
bind9
firewalld
janus
minetest-server
minidlna
mumble-server
radicale
roundcube-core
tt-rss
Puedes otorgar acceso a tu FreedomBox a otros usuarios. Proporciona el nombre del usuario y su contraseña y asignale un grupo. Actualmente se soportan los grupos
admin
bit-torrent
calibre
ed2k
feed-reader
freedombox-share
git-access
minidlna
syncthing
web-search
wiki
El usuario podrá ingresar a los servicios que soporten ingreso único (single-sign-on) mediante LDAP si figuran en el grupo apropriado.
Los usuarios del grupo admin
podrán ingresar en todos los servicios. También pueden ingresar al sistema por SSH y escalar a privilegios administrativos (sudo).
Estas características se pueden cambiar más tarde.
Asimismo es posible establecer una clave pública SSH que permitirá al usuario ingresar al sistema de modo seguro sin emplear su contraseña. Pueder dar de alta varias claves, una en cada línea. Las líneas en blanco o que comiencen por # se ignoran.
El idioma de la interfaz se puede establecer individualmente para cada usuario. Por omisión se emplea el del navegador.
Se pueden desactivar temporalmente las cuentas de usuarios.
FreedomBox está diseñado para ser el software de un dispositivo electrónico de consumo que sea fácil de configurar, mantener y usar. El proyecto no pretende crear un dispositivo hardware propio, sino asociarse con fabricantes de hardware para construir dispositivos FreedomBox y también soportar hardware existente.
Además de soportar varios SBC's (single board computers) y otros dispositivos, FreedomBox también contempla ser instalado en una máquina virtual. Y cualquier máquina Debian se puede convertir en FreedomBox instalando el paquete freedombox
. Para más detalles acerca de la instalación sobre Debian, ver el manual.
El 22 de Abril de 2019, la FreedomBox Foundation anunció que los kits Pioneer Edition FreedomBox Home Server salían a la venta. Este es el hardware preinstalado recomendado para todos los usuarios que no quieran construirse su propia (máquina) FreedomBox eligiendo los componentes adecuados, descargando la imagen y preparando una tarjeta SD con (el software) FreedomBox.
El kit incluye todo el hardware necesario para arrancar un servidor casero FreedomBox sobre una placa Olimex A20-OLinuXino-LIME2. Este producto proporciona la combinación perfecta de hardware de fuentes abiertas y software libre. Al comprar este producto, soportas también los esfuerzos de la FreedomBox Foundation para crear y promover su software de servidor libre.
Usa este hardware si quieres y eres capaz de descargar imágenes FreedomBox y preparar una tarjeta SD siguiendo el manual. Si quieres un proceso más simple de configuración compra por favor los kits FreedomBox con el hardware recomendado. Si usas una placa con tarjetas SD te recomendamos que al grabar la imagen de FreedomBox en tu tarjeta, ésta tenga al menos una capacidad de 8GB.
Nombre |
Velocidad CPU (GHz) |
Arquitectura |
RAM (GB) |
disco (GB) |
batería |
SATA |
Velocidad Ethernet | |
APU.1D |
1x2 |
amd64 |
2 |
- |
- |
|
1000x3 |
|
APU.1D4 |
1x2 |
amd64 |
4 |
- |
- |
|
1000x3 |
|
BeagleBone Black C |
1 |
armhf/omap |
½ |
4 |
- |
- |
100 |
|
Cubieboard2 |
1x2 |
armhf/sunxi |
1 |
4 |
|
|
100 |
|
Cubieboard2-Dual |
1x2 |
armhf/sunxi |
1 |
- |
|
|
100 |
|
Cubieboard3/Cubietruck |
1x2 |
armhf/sunxi |
2 |
8 |
|
|
1000 |
|
OLinuXino A20 LIME |
1x2 |
armhf/sunxi |
½ |
- |
|
|
100 |
|
OLinuXino A20 LIME2 |
1x2 |
armhf/sunxi |
1 |
- |
|
|
1000 |
|
OLinuXino A20 MICRO |
1x2 |
armhf/sunxi |
1 |
- |
|
|
100 |
|
pcDunino3 |
1x2 |
armhf/sunxi |
1 |
4 |
|
|
100 |
|
Pine A64+ |
1.2x4 |
arm64/sunxi |
½,1,2 |
- |
- |
- |
1000 |
|
Banana Pro |
1.2x2 |
armhf/sunxi |
1 |
- |
- |
|
1000 |
|
Orange Pi Zero |
?x4 |
armhf/sunxi |
¼,½ |
- |
- |
- |
100 |
|
RockPro64 |
1.4x4+1.8x2 |
arm64 |
2,4 |
16,32,64,128 |
- |
(USB3 o mediante tarjeta PCIe) |
1000 |
|
Rock64 |
1.5x4 |
arm64 |
1,2,4 |
16,32,64,128 |
- |
(USB3) |
1000 |
|
FreedomBox funciona en este hardware. Pero no se recomienda porque (el hardware) no funciona empleando únicamante software libre.
Si ya tienes un hardware que quieres convertir en una FreedomBox, no dejes que la corta lista de hardware soportado te desanime. Si estás usando máquinas de arquitectura AMD o Intel puedes descargar las imágenes genéricas de tu arquitectura y funcionarán en cualquier máquina. Para arquitecturas ARM de 32 o 64 bits, tenemos una solución similar.
A partir de Agosto de 2020 comenzamos a compilar imágenes genéricas que funcionan para todas las computadoras monoplaca basadas en una solución que involucra a los estándares UEFI y al firmware u-boot. Con este enfoque un pequeño firmware específico de la placa residente en una flash SPI o en una tarjeta SD es responsable de cargar una imágen genérica de FreedomBox puesta en una tarjeta SD, un disco USB, SATA o NVMe. De este modo, busca y obtén un firmware basado en u-boot del fabricante de tu hardware y ponlo en una flash SPI o una tarjeta SD. A continuación, asegúrate de que el kernel de FreedomBox soporta tu placa y ponlo en cualquiera de los otros discos de almacenamiento. Este enfoque debería funcionar bien para montones de placas que no están listadas específicamente como soportadas. Mira la sección firmware para más detalles.
Nosotros continuamos compilando imágenes especificas para algún hardware como hacíamos antes. Éstas imágenes tienen la ligera ventaja de que son más fáciles de montar porque conllevan menos pasos. Sin embargo intentamos descontinuarlas porque no arrancan desde todos los dispositivos de almacenamiento y consumen nuestro tiempo, limitando así la cantidad de placas que soportamos.
Si tu hardware no esta en la lista anterior pero fuiste capaz de hacerlo funcionar usando el método descrito anteriormente de usar una imágen genérica, escríbenos y lo incluiremos en la lista. Es más, mira la lista de hardware objetivo con las placas que queremos soportar.
Este hardware estuvo soportado anteriormente pero ya no. Si descargaste una imagen anterior y ejecutas FreedomBox sobre algún hardware de estos, seguirás obteniendo actualizaciones de software. Sin embargo, no se publicarán imagenes nuevas. Se recomienda que migres a hardware nuevo y soportado generando una copia de seguridad y restaurándola.
DreamPlug
Raspberry Pi
Nota: Hardware soportado significa que las imágenes de FreedomBox se construyen para este hardware y al menos un desarrollador ha informado que las funciones básicas funcionan.
Las siguientes secciones documentan consejos comunes relativos al hardware y periféricos cuando se usan con FreedomBox.
FreedomBox puede usar hardware Wi-Fi para 2 propósitos distintos: proporcionar conectividad a internet o compartir conectividad a internet previamente disponible a FreedomBox (a través de Ethernet, 3G/4G u otro interfaz Wi-Fi) con otros dispositivos de la red. Ver instrucciones sobre cómo configurar FreedomBox para ambos casos en la página del manual Redes.
Desafortunadamente la mayoría de los adaptadores Wi-Fi requieren firmware que no es software libre, por lo que FreedomBox recomienda conectar dispositivos Wi-Fi USB que not requieran firmware privativo. Al configurar las redes, los dispositivos soportados se muestran automáticamente en la lista de intefaces de red.
Si tienes un dispositivo Wi-Fi que requiera firmware privativo y quieres instalarlo para hacerlo funcionar, consulta la página del wiki de Debian. Una vez el firmware está instalado y se muestra el dispositivo se puede configurar y usar en FreedomBox.
En computadoras monoplaca uno puede toparse con facilidad con situaciones en las que la placa y sus periféricos no reciban suficiente potencia y fallen de modo impredecible. Para evitarlo, use un adaptador de corriente que suministre la corriente mínima recomendada por el fabricante del hardware. Cuando se conectan periféricos adicionales como dispositivos Wi-Fi, o discos USB, SATA o NVMe los requisitos de potencia aumentan. Sería preferible una fuente de alimentación que pueda proporcionar más corriente de la necesaria pero el voltaje debe coincidir con exactitud a la especificación del fabricante. Recuerda que algunas fuentes de alimentación baratas no proporcionan la corriente que prometen.
Los ordenadores normales tienen un software que se ejecuta al arranque llamado UEFI/BIOS. Cuando este software, a veces llamado firmware, se encuentra en algúno de los dispositivos de almacenamiento puede cargar el sistema operativo (en nuestro caso FreedomBox) y pasarle el control. Con la mayoría de las computadoras monoplaca no es así.
Las computadoras monoplaca se suministran con muy poco software que típicamente se limita a cargar un sistema operativo desde tarjetas SD o eMMCs. Normalmente no pueden arrancar desde discos USB, SATA o NVMe. Para remediar esta situación, los fabricantes de hardware empezaron a añadir un dispositivo especial de almacenamiento de unos pocos MiB de tamaño llamado flash SPI con un software especial, típicamente basado en un cargador de arranque libre y de código abierto llamado u-boot, y que aquí llamaremos firmware. Cuando se enciende la computadora arranca el cargador de la flash SPI que a su vez cargará el sistema operativo. Como el firmware es mucho más potente, puede cargar el sistema operativo desde cualquier dispositivo de almacenamiento. Entre los ejemplos de computadoras monoplaca con flash SPI se incluyen la A20-OLinuXino-Lime2 y la RockPro64.
Este enfoque de firmware se puede usar incluso sin flash SPI. Pongamos que uno quiere arrancar desde un disco USB pero la placa no lo soporta. Se puede instalar el firmware en una tarjeta SD (basta una muy pequeña) e insertarla en la placa. El disco USB contendrá a FreedomBox. Al encender la placa arranca el firmware desde la tarjeta SD y este inicia el sistema operativo desde el disco USB o cualquier otra unidad de almacenamiento.
Este enfoque de firmware también nos permite usar imágenes genéricas que funcionan para una gran cantidad de placas. Aunque aumentan un poco el esfuerzo del usuario tiene la ventaja de permitirnos dar soporte a mucho más hardware y permiten poner el sistema operativo en cualquier unidad de almacenamiento.
Cuando se necesite un firmware especial para alguna computadora monoplaca el manual de FreedomBox para esa placa detallará cómo obtenerlo e instalarlo antes de proceder a la installación de FreedomBox.
FreedomBox puede ejecutarse desde varios medios de almacenamiento que soporte tu computadora. Elegir el medio consiste en equilibrar fiabilidad, capacidad y velocidad vs. coste. Para ejecutar FreedomBox se recomienda una capacidad mínima de almacenamiento de 8GB.
Las tarjetas SD son habituales en las computadoras monoplaca. La mayoría de computadoras monoplaca pueden arrancar directamente desde una tarjeta SD sin necesidad de preparativos adicionales.
Las tarjetas SD suelen ser el medio de almacenamiento más lento de entre los disponibles. FreedomBox será más lento ejecutando ciertas operaciones en estos discos. No todas las tarjetas SD tienen rendimientos similares; las hay mucho más rápidas que otras. Al comprar una tarjeta SD elije una de clase 10 o mayor (suele figurar escrita sobre la tarjeta como un número inscrito en un círculo) o una de clase UHS 1 (escrita sobre la tarjeta como un 1 dentro de un cubo). Las clases UHS 3 (escrita sobre la tarjeta como un 3 dentro de un cubo) o application speed class 1 o superior (escrita como A1 o A2) irán mucho mejor. Finalmente los usuarios de FreedomBox han informado casos en los que algunas tarjetas SD han fallado, por lo que para mayor fiabilidad serían preferibles otros medios de almacenamiento.
Muchas computadoras monoplaca de nuevo cuño soportan tarjetas eMMC. La mayoría de computadoras monoplaca pueden arrancar directamente desde una tarjeta eMMC sin necesidad de preparativos adicionales.
A veces la eMMC viene soldada a la placa y tendrás que elegir su tamaño al comprar la placa; por ejemplo con la Olimex's A20-OLinuXino-Lime2. Otras veces el fabricante las proporcionará como periférico insertable y en tal caso puedes elegir la eMMC a posteriori o sustituir la que haya por otra de capacidad superior. No andes poniendo y quitandolas demasiado. Tienen un número muy limitado (< 100) de ciclos de reinicio.
Las eMMC son mucho más veloces que las SD o los HDDs de discos rotatorios pero son significativamente más lentas que los SSDs. Estas tiene velocidades de escritura aleatoria mucho mejores, lo que es necesario en muchas operaciones de FreedomBox. En general son preferibles a las SD.
La imágen de FreedomBox se puede montar en una eMMC de 2 maneras. Para eMMC insertables hay disponibles conversores de eMMC a USB. Suelta la eMMC de la placa, insertala en un conversor USB y este en tu máquina, y escribe FreedomBox en ella como harías con una SD. Si la eMMC viene integrada arranca la computadora desde otra unidad, como una SD o un disco USB. Da igual el sistema operativo. Tras arrancar la eMMC se mostrará como disco adicional. Descarga y escribe la imágen de FreedomBox en la eMMC como harías con una SD.
La mayoría de ordenadores y computadoras monoplaca tienen puertos USB que aceptan medios de almacenamiento como unidades flash USB, SSDs o HDDs.
Una unidad flash USB puede también servir para ejecutar FreedomBox. Las unidades flash USB 2.0 son mucho más lentas y de rendimiento comparable a las tarjetas SD. Las USB 3.0 rinden mucho mejor. Las unidades flash USB y las tarjetas SD usan una tecnología similar de modo que sus ciclos de lectoescritura y por tanto su fiabilidad adolecen de las mismas limitaciones.
Aparte de unidades flash USB, se pueden insertar discos de estado sólido (SSDs) y discos duros (HDDs) en los puertos USB, ya sea comprando unidades con interfaz USB o usando adaptadores como de USB a SATA o de USB a interfaz M.2. Tanto los SSDs como los HDDs tienen una fiabilidad mucho mayor que las tarjetas SD, eMMC o las unidades flash USB por lo que son preferibles cuando se pueda elegir. Además, las SSDs proporcionan un rendimiento excelente conectadas a través de interfaces USB 3.0.
Al conectar SSDs y HDDs a puertos USB de computadoras monoplaca hay que prestar atención al suministro eléctrico de la unidad de almacenamiento. Si la unidad viene con alimentador propio no hay problema pero si no es así asegúrate de que la monoplaca es capaz de alimentarla comprobando las especificaciones de alimentación de ambas. Usa siempre un adaptador de corriente para la placa que pueda suministrarle siempre la intensidad de corriente mínima recomendada por su fabricante. Son preferibles los adaptadores que puedan suministrar mayor intensidad pero el voltaje debe coincidir exáctamente con la especificación del fabricante. Recuerda que algunas fuentes de alimentación baratas no suministran la intensidad de corriente que prometen.
Montar la imágen de FreedomBox en una unidad USB (flash, SSD o HDD) puede resultar sencillo dado que la mayoría de los ordenadores tienen puertos USB. Inserta la unidad USB en tu ordenador, descarga y escribe la imágen de FreedomBox en la unidad USB. A diferencia de los ordenadores portátiles, los de sobremesa, y las máquinas virtuales, que pueden arrancar desde discos USB, muchas computadoras monoplaca no pueden. Para solucionarlo se necesita un firmware adicional. Consulta la sección firmware.
Algunos ordenadores soportan el interfaz SATA para conectar unidades de estado sólido (SSD) o de disco duro (HDD). La Olimex's A20-OLinuXino-Lime2 es un ejemplo de computadora monoplaca con soporte SATA. El protocolo SATA se usa también para puertos mSATA o ranuras M.2 (con llaves B o M). Tanto las SSDs como los HDDs tienen una fiabilidad muy superior a la de las tarjetas SD, eMMC o unidades flash USB. El interfaz SATA proporciona ratios de transferencia de datos muy buenos (aunque no tanto como las unidaes NVMe basadas en PCIe), por lo que cuando se pueda elegir son preferibles a las tarjetas SD, eMMC o unidades flash USB.
Al conectar SSDs y HDDs a puertos SATA de computadoras monoplaca hay que prestar atención al suministro eléctrico de la unidad de almacenamiento. Si la unidad viene con alimentador propio no hay problema pero si no es así asegúrate de que la monoplaca es capaz de alimentarla comprobando las especificaciones de alimentación de ambas. Usa siempre un adaptador de corriente para la placa que pueda suministrarle siempre la intensidad de corriente mínima recomendada por su fabricante. Son preferibles los adaptadores que puedan suministrar mayor intensidad pero el voltaje debe coincidir exáctamente con la especificación del fabricante. Recuerda que algunas fuentes de alimentación baratas no suministran la intensidad de corriente que prometen.
Para montar la imágen de FreedomBox en una unidad SATA arranca la computadora con otro medio que no sea el disco SATA, como una tarjeta SD. Da igual el sistema operativo. Tras arrancar el disco SATA se mostrará como disco adicional. Descarga y escribe la imágen de FreedomBox en él como harías con una SD. A diferencia de los ordenadores portátiles, los de sobremesa, y las máquinas virtuales, que pueden arrancar directamente desde discos SATA, muchas computadoras monoplaca no pueden. Para solucionarlo se necesita un firmware adicional. Consulta la sección firmware.
La mayoría de ordenadores portátiles y de sobreesa, y algunas computadoras monoplaca soportan el interfaz NVMe para conectar una unidad de estado sólido (SSD)ya sea mediante una ranura M.2 (con llave B o M) o una PCIe. Si viene con ranura PCIe se puede emplear un adaptador PCIe a M.2 para acomodar una unidad NVMe. La placa Radxa's Rock Pi 4 es un ejemplo de computadora monoplaca con ranura M.2. Un ejemplo de computadora monoplaca con ranura PCIe es la RockPro64 de Pine64. Las SSD basadas en NVMe tienen una fiabilidad muy superior a las tarjetas SD, eMMC o unidades flash USB. Las unidades NVMe proporcionan los mejores ratios de transferencia de datos, por lo que cuando se pueda elegir son preferibles a cualquier otra alternativa.
Al conectar unidades NVMe a computadoras monoplaca hay que prestar atención al suministro eléctrico de la unidad de almacenamiento. Asegúrate de que la monoplaca es capaz de alimentarla comprobando las especificaciones de alimentación de ambas. Usa siempre un adaptador de corriente para la placa que pueda suministrarle siempre la intensidad de corriente mínima recomendada por su fabricante. Son preferibles los adaptadores que puedan suministrar mayor intensidad pero el voltaje debe coincidir exáctamente con la especificación del fabricante. Recuerda que algunas fuentes de alimentación baratas no suministran la intensidad de corriente que prometen.
Para montar la imágen de FreedomBox en una unidad NVMe arranca la computadora con otro medio que no sea el disco NVMe, como una tarjeta SD. Da igual el sistema operativo. Tras arrancar el disco NVMe se mostrará como disco adicional. Descarga y escribe la imágen de FreedomBox en él como harías con una SD. A diferencia de los ordenadores portátiles, los de sobremesa, y las máquinas virtuales, que pueden arrancar directamente desde unidades NVMe, muchas computadoras monoplaca no pueden. Para solucionarlo se necesita un firmware adicional. Consulta la sección firmware.
Todas las imágenes de disco de FreedomBox para hardware diferente las compila el proyecto usando una herramienta conocida como Freedom Maker. Si por algún motivo quieres compilar tus propias imágenes en vez de descargar las disponibles emplea esta herramienta. El archivo README del proyecto proporciona información acerca de la lista de objetivos de compilación hardware disponibles y cómo compilar imágenes.
Todo el software de las imágenes FreedomBox viene de los repositorios Debian. El script Freedom Maker realiza ajustes menores.
Todo el software de las imágenes es software libre que cumple la DFSG excepto en el caso de las imágenes para la Raspberry Pi en las que el paquete de firmware no es software libre.
Todas las imágenes usan el kernel Linux de Debian que a su vez se basa en el kernel Linux principal.
Varias imágenes incluyen firmware privativo del componente Debian non-free-firmware (Ver Firmware). Firmware aparte, todo software presente in las imagenes es libre y cumple con la DFSG. La tabla siguente lista los componentes incluídos en cada imagen. (Nota: esto es trabajo inacabado, planeado para imágenes construídas tras la publicación de Debian 12 (bookworm).)
Imagen |
¿Incluye main? |
¿Incluye non-free-firmware? |
Firmware privativo incluído |
32-bit ARM (armhf) |
| ||
32-bit x86 (i386) |
|
|
DebianPkg:amd64-microcode, DebianPkg:intel-microcode (Ver Microcódigo) |
64-bit ARM (arm64) |
| ||
64-bit x86 (amd64) |
|
|
DebianPkg:amd64-microcode, DebianPkg:intel-microcode (Ver Microcódigo) |
A20 OLinuXino Lime |
| ||
A20 OLinuXino Lime 2 |
| ||
A20 OLinuXino MICRO |
| ||
Beagle Bone Black |
| ||
Cubieboard 2 |
| ||
Cubietruck (Cubieboard 3) |
| ||
Lamobo R1 |
| ||
LeMaker Banana Pro |
| ||
LinkSprite pcDuino3S |
| ||
Orange Pi Zero |
| ||
PC Engines APU 1D |
| ||
Pine A64 LTS |
| ||
Pine A64+ |
| ||
Pioneer Edition FreedomBox |
| ||
QEMU/KVM amd64 |
| ||
QEMU/KVM i386 |
| ||
Raspberry Pi 2 |
|
|
DebianPkg:raspi-firmware |
Raspberry Pi 3 Model B |
|
|
DebianPkg:raspi-firmware , DebianPkg:firmware-brcm80211 |
Raspberry Pi 3 Model B+ |
|
|
DebianPkg:raspi-firmware , DebianPkg:firmware-brcm80211 |
Raspberry Pi 4 Model B |
|
|
DebianPkg:raspi-firmware , DebianPkg:firmware-brcm80211 |
Rock64 |
| ||
RockPro64 |
| ||
VirtualBox for amd64 |
| ||
VirtualBox for i386 |
|
Los servidores caseros FreedomBox Pioneer Edition los fabrica y vende Olimex, una compañía epecializada en hardware de fuentes abiertas. El Kit incluye hardware de servidor tamaño bolsillo, una tarjeta SD con el sistema operativo preinstalado, y una batería de respaldo que puede alimentar el hardware durante 4-5 horas en casos de indisponibilidad de la red eléctrica. Se vende por 82 €. Olimex ofrece una extensión opcional para almacenamiento de alta capacidad en disco duro o de estado sólido. Al comprar este producto contribuyes a los esfuerzos de la FreedomBox Foundation's para crear y promover su software de servidor libre.
Éste es el hardware recomendado para los usuarios que quieran simplemente una FreedomBox llave en mano, y no quieran construirse una.
(Construir tu propia FreedomBox implica algunos tecnicismos como elegir y comprar los componentes adecuados, descargar la imágen y preparar una tarjeta SD).
Este producto proporciona la combinación perfecta de hardware de fuentes abiertas y software libre y open source. Comprando este producto, soportas también los edfuerzos de la FreedomBox Foundation para crear y promover su software libre y open source de servidor.
El Kit de Servidor Casero FreedomBox Pioneer Edition incluye todo el hardware necesario para arrancar un servidor FreedomBox casero sobre una placa Olimex A20-OLinuXino-LIME2:
la A20-OlinuXino-LIME2,
su carcasa de metal con el logo de FreedomBox grabado mediante laser,
una tarjeta micro SD de alta velocidad y 32GB con el software FreedomBox preinstalado,
una batería de respaldo,
un transformador,
un cable Ethernet, y
una extensión para almacenamiento de alta capacidad en disco duro o de estado sólido.
El servidor casero FreedomBox Pioneer Edition es la primera versión comercial disponible de FreedomBox.
Precio: 82 EUR
El servidor casero FreedomBox Pioneer Edition se basa en la A20-OLinuXino-LIME2
Hardware de fuentes abiertas (OSHW): Sí
CPU: Allwinner A20, ARM Cortex-A7 dual-core a 1GHz
RAM: 1 GiB DDR3
Almacenamiento: tarjeta microSD de 32GB de clase 10+ precargada con FreedomBox
SATA: 1 puerto SATA compatible 2.6 a 3Gb/s
USB: 2 puertos host de alta velocidad USB 2.0
Batería: Li-Po, 3.3V y 1400mAh (4-5 horas de respaldo si no hay dispositivos adicionales conectados al puerto USB)
Ethernet: 10/100/1000, RJ45 (cable de 1 m incluído)
Transformador: Entrada a 110-220V, salida a 5V, estilo UE (enchufes opcionales para el Reino Unido o EE.UU)
Consumo eléctrico: 1.5W o 5W dependiendo de la carga (corriente entre 0.3A 1 1A)
Carcasa: Metálica con la marca FreedomBox
Los kits ejecutan sólo Software Libre. Funcionan con núcleo (kernel) y u-boot de los repositorios Debian. Incluso el firmware de arranque de la ROM, llamado BROM es software libre (GPLV2+).
Más información:
Junto con tu servidor casero FreedomBox Pioneer Edition puedes encargar una extensión para almacenamiento consistente en una carcasa para disco SATA, opcionalmente con un disco duro o de estado sólido de entre 128 y 2000 GB de capacidad. Si ya has comprado tu servidor casero sin la extensión puedes encargarla aparte.
Precio: 9 EUR (carcasa suelta sin disco duro, para albergar un disco tuyo)
Precio: 42 EUR (con disco de estado sólido de 128 GB)
Precio: 69 EUR (con disco de estado sólido de 512 GB)
Precio: 42 EUR (con disco duro de 320 GB)
Precio: 53 EUR (con disco duro de 500 GB)
Precio: 64 EUR (con disco duro de 1000 GB)
Precio: 86 EUR (con disco duro de 2000 GB)
Los kits vienen con una tarjeta SD precargada con FreedomBox. NO hace ninguna falta descargar imágenes.
No obstante, si deseas restablecer tus dispositivos a un estado virginal puedes hacerlo con la imágen provista. Sigue las instrucciones de la página de descargas para crear una tarjeta SD de FreedomBox y arrancar tu dispositivo. Asegúrate de descargar imágenes para la Pioneer Edition. Estas imágenes de tarjeta SD se usan en la ranura SD de la propia placa y no funcionarán si se insertan en un lector SD externo conectado por USB.
Una alternativa a descargar estas imágenes es instalar Debian en el dispositivo y luego instalar FreedomBox sobre él.
Las imágenes de FreedomBox para este hardware se pueden construir usando Freedom Maker.
La imágen distribuída con los kits usa un u-boot ligéramente modificado en vez de el de serie de Debian como el resto de FreedomBox. Así que si quieres obtener su código fuente usa por favor el repositorio de u-boot del equipo de FreedomBox.
FreedomBox es 100% software libre y puedes obtener el código fuente para estudiarlo, modificarlo y distribuir mejoras.
FreedomBox se compone de diferentes programas de software y puedes obtener el código fuente de cualquiera de ellos. Estas instrucciones son similares a obtener y construír código fuente de Debian ya que FreedomBox es una variante pura de Debian. Usando este procedimiento puedes obtener el código fuente de la misma versión del paquete que estás usando actualmene en FreedomBox.
Para ver la lista de paquetes software instalados en tu FreedomBox, ejecuta lo siguiente en un terminal:
dpkg -l
Para obtener el código fuente de cualquiera de esos programas ejecuta:
apt source <nombre_del_paquete>
Esto requiere que el archivo /etc/apt/sources.list contenga información acerca de los repositorios de código fuente. Esto es así por defecto en todas las imágenes FreedomBox. Pero si has instalado FreedomBox desde Debian necesitas asegurarte de que los repositorios de código fuente figuren en este archivo.
Para construir el paquete desde su código fuente, primero instala sus dependencias
apt build-dep <nombre_del_paquete>
Cambia al directorio fuente creado con el comando apt source:
cd <directorio_fuente>
Y construye el paquete
dpkg-buildpackage -rfakeroot -uc
Instala el paquete:
dpkg -i ../<paquete_construído>.deb
El código fuente de cualquier paquete se puede ver y buscar usando el interfaz web de sources.debian.org. Por ejemplo, mira el paquete plinth.
El código fuente y el binario precompilado de cualquier version de un paquete, incluyendo versiones antigüas, se pueden obtener de snapshot.debian.org. Por ejemplo, mira el paquete plinth.
También puedes obtener los enlaces a la web del proyecto original, al control de versiones del proyecto original, al control de versiones de Debian, registro de cambios, etc. desde la página de control Debian para el proyecto en tracker.debian.org. Por ejemplo, mira la página de control para el paquete plinth.
Puedes compilar e instalar un paquete desde el control de versiones de Debian. Por ejemplo,
git clone https://salsa.debian.org/freedombox-team/freedombox.git cd freedombox apt build-dep . dpkg-buildpackage -rfakeroot -uc dpkg -i ../freedombox*.deb
También puedes construír imágenes de disco FreedomBox para varias platformas de hardware usando la herramienta freedom-maker. Esta también está disponible como paquete Debian y su código fuente se puede obtener empleando los métodos anteriores. Hay disponibles Instrucciones de Construcción para generar imágenes de disco incluídas en el código fuente del paquete freedom-maker.
Las imágenes de disco de FreedomBox se construyen y suben a los servidores oficiales empleando la infraestructura de integración contínua automatizada. Esta infraestructura está disponible también como código fuente y proporciona información precisa acerca de como se contruyen las imágenes de FreedomBox.
Hay una excepción menor en el paquete u-boot que viene con el hardware que se vende como Kits de Servidor Casero FreedomBox Pioneer Edition. Contiene un parche pequeño pero importante que no está en el código fuente de Debian. Tanto el repositorio fuente de Debian u-boot como el parche de FreedomBox están disponibles como un repositorio aparte. Esperamos que en algún momento este parche esté integrado en u-boot de serie y este repositorio ya no sea necesario. Este paquete se puede compilar en una máquina Debian armhf como sigue (también se puede hacer compilación cruzada, simplemente sigue las instrucciones para compilación cruzada de paquetes Debian):
apt install git git-buildpackage git clone https://salsa.debian.org/freedombox-team/u-boot.git cd u-boot pbuilder create --distribution=buster gbp buildpackage --git-pbuilder
El paquete u-boot Debian estará en u-boot-sunxi*.deb. Este paquete contendrá
mkdir temp dpkg -x u-boot-suxi*.deb temp unxz <lime2_image_built_with_freedom_maker> dd if=temp/usr/lib/u-boot/A20-OLinuXino-Lime2/u-boot-sunxi-with-spl.bin of=<lime2.img> seek=8 bs=1k conv=notrunc
La imagen resultante tendrá el u-boot modificado.
El Kit Pioneer Edition tiene 3 botones indocumentados para RESET, ARRANQUE, e INTERRUPTOR de ALIMENTACIÓN (Encendido/Apagado). Son restos de funcionalidades heredadas originalmente diseñadas para usarse con el sistema operativo Android pero que son útiles para casos particulares.
Aviso: Aplicar demasiada fuerza romperá los botones. Estos botones no se han dieñado para apretarlos regularmente, por eso son frágiles y difíciles de accionar.
Más detalles en nuestro Foro.
Olimex's A20 OLinuXino Lime2 is a fully Open Source Hardware (OSHW) single board computer. This means that the designer is actively helping people using the platform for their own designs, and supports them in adding hardware functionality and production advice. This is a part of freedom that is often overlooked, but very much aligned with the FreedomBox goals. It uses the Allwinner A20 Dual Core ARM processor.
Important: Read general advice about hardware before building a FreedomBox with this single board computer.
The following similar hardware will also work well with FreedomBox.
Olimex's A20 OLinuXino Lime2 4GB. This hardware merely has extra 4GB NAND storage that is not used by FreedomBox.
FreedomBox SD card images are available for this device. Follow the instructions on the download page to create a FreedomBox SD card and boot the device. These SD card images are meant for use with the on-board SD card slot and won't work when used with a separate SD card reader connected via USB.
An alternative to downloading these images is to install Debian on the device and then install FreedomBox on it.
Price: 45 EUR (A20 OLinuXino Lime2)
Price: 55 EUR (A20 OLinuXino Lime2 4GB)
Open Source Hardware (OSHW): Yes
CPU: Allwinner A20, ARM Cortex-A7 @ 1GHz dual-core
RAM: 1 GiB DDR3
Storage: 4 GB NAND flash built-in (only on 4GB model), 1x microSD slot
Architecture: armhf
Ethernet: 10/100/1000, RJ45
WiFi: None, use a USB WiFi device
SATA: 1x port
Non-free blobs required: No
WiFi: Not available
Boot Firmware: BROM (GPLV2+)
Revision G2 (written on the board): The current stable Debian11/bullseye image (from 2021-08-27) will not start an Ethernet connection! This means you can not continue with the installation process at first. This can be fixed by following this description after you copied the image to your SD card. Or you Download and use the Pioneer Edition image to fix the issue. It contains a slightly modified u-boot.
Revision G2 hardware has also poor performance when transmitting Ethernet data in Gigabit mode for older FreedomBox releases. The procedure above or for rev. C fixes this.
Revision C hardware has poor performance when receiving Ethernet data in Gigabit mode. To workaround the problem, you can switch to 100 Mbps mode instead of Gigabit mode. Login to your FreedomBox as root (or plugin the SD card into another computer) and create the file /etc/NetworkManager/dispatcher.d/20-fix-ethernet-problem with the following contents:
#!/bin/bash set -e # Exit with code on error IFACE="$1" ACTION="$2" if [[ "$IFACE" != "eth0" ]]; then exit 0 fi case ${ACTION} in up) logger "Setting up $IFACE in 100Mbps mode" mii-tool eth0 -A 100BaseTx-FD ;; *) ;; esac
Revision K hardware is not working properly.
Olimex's A20 OLinuXino MICRO is a fully Open Source Hardware (OSHW) single board computer. This means that the designer is actively helping people using the platform for their own designs, and supports them in adding hardware functionality and production advice. This is a part of freedom that is often overlooked, but very much aligned with the FreedomBox goals. It uses the Allwinner A20 Dual Core ARM processor.
Important: Read general advice about hardware before building a FreedomBox with this single board computer.
The following similar hardware will also work well with FreedomBox.
Olimex's A20 OLinuXino MICRO 4GB. This hardware merely has extra 4GB NAND storage that is not used by FreedomBox.
FreedomBox MicroSD card images are available for this device. Follow the instructions on the download page to create a FreedomBox MicroSD card and boot the device. These MicroSD card images are meant for use with the on-board MicroSD card slot and won't work on the SD card slot or when using a separate MicroSD card reader connected via USB.
An alternative to downloading these images is to install Debian on the device and then install FreedomBox on it.
Price: 50 EUR (A20 OLinuXino MICRO)
Price: 63 EUR (A20 OLinuXino MICRO 4GB)
Open Source Hardware (OSHW): Yes
CPU: Allwinner A20, ARM Cortex-A7 @ 1GHz dual-core
RAM: 1 GiB DDR3
Storage: 4 GB NAND flash built-in (only on 4GB model), 1x microSD slot
Architecture: armhf
Ethernet: 10/100, RJ45
WiFi: None, use a USB WiFi device
SATA: 1x port
Non-free blobs required: No
WiFi: Not available
Boot Firmware: BROM (GPLV2+)
Not visible on local network
When booting the 'stable' image (made on 2017-06-18) the board does not automatically get an IP address from the router's DHCP server over ethernet. Booting the 'testing' image (2018-06) the board does get an IP address. Tested on MICRO hardware revision J. see also: https://www.olimex.com/forum/index.php?topic=5839.msg24167#msg24167
PC Engines APU 1D is a single board computer with 3 Gigabit ethernet ports, a powerful AMD APU and Coreboot firmware. FreedomBox images built for AMD64 machines are tested to work well for it.
Important: Read general advice about hardware before building a FreedomBox with this single board computer.
Although untested, the following similar hardware is also likely to work well with FreedomBox.
FreedomBox disk images for this hardware are available. Follow the instructions on the download page to create a FreedomBox SD card, USB disk, SSD or hard drive and boot into FreedomBox. Pick the image meant for all amd64 machines.
An alternative to downloading these images is to install Debian on the APU and then install FreedomBox on it.
The first network port, the left most one in the above picture, is configured by FreedomBox to be an upstream Internet link and the remaining 2 ports are configured for local computers to connect to.
Price: 110 - 170 USD (depending on the board and supplier)
Open Hardware: No
CPU: AMD G series T40E
RAM: 2 GB DDR3-1066 DRAM
Storage: SD card, External USB
Architecture: amd64
Ethernet: 3 Gigabit Ethernet ports
WiFi: None, use a USB WiFi device
SATA: 1 m-SATA and 1 SATA
Non-free blobs required: No
WiFi: Not available
Boot firmware: Coreboot
FreedomBox Danube Edition is a custom casing around Cubietruck and an SSD-hard drive.
Cubietruck (Cubieboard3) is a single board computer with very good performance compared to many other boards. FreedomBox images are built for this device.
Important: Read general advice about hardware before building a FreedomBox with this single board computer.
FreedomBox SD card images are provided for this hardware. These SD card images are meant for use with the on-board SD card slot and do not work when used with a separate SD card reader connected via USB.
An alternative to downloading these images is to install Debian on the Cubietruck and then install FreedomBox on it.
Cubietruck / Cubieboard3
Price: 89 USD
Open Hardware: No
CPU: Allwinner A20, ARM Cortex-A7 @ 1GHz dual-core
RAM: 2 GiB DDR3 @ 480 MHz
Storage: 8 GB NAND flash built-in, 1x microSD slot
Architecture: armhf
Ethernet: 10/100/1000, RJ45
WiFi: Broadcom BCM4329/BCM40181 (no free WiFi drivers + firmware available)
SATA: 1x 2.0 port
Non-free blobs required: ?
WiFi: no free WiFi drivers + firmware available
The on-board WiFi does not work with free software. A separate USB WiFi device is recommended.
The Cubieboard 2 is a single board computer based on the Allwinner A20 processor. It doesn't require any non-free firmware to run FreedomBox, and Wifi capability can be added via a USB adaptor if needed. This board is available in two versions, one with on-board flash and a microSD slot, and a version with two microSD card slots.
Important: Read general advice about hardware before building a FreedomBox with this single board computer.
FreedomBox SD card images are available for this device. Follow the instructions on the download page to create a FreedomBox SD card and boot the device.
CPU: ARM Cortex A7 Dual-Core
RAM: 1GB DDR3 @960M
Storage: 4GB internal NAND flash, up to 64GB on uSD slot
Architecture: armhf
Ethernet: 10/100, RJ45
WiFi: None, use a USB WiFi device
SATA: Yes
Non-free blobs required: No
WiFi: Not available
Beagle Bone Black (Revision C.1) is an Open Source Hardware (OSHW) single board computer. This means that the designer is actively helping people using the platform for their own designs, and supports them in adding hardware functionality and production advice. This is a part of freedom that is often overlooked, but very much aligned with the FreedomBox goals. FreedomBox images are built and tested for this device.
Important: Read general advice about hardware before building a FreedomBox with this single board computer.
FreedomBox SD card images are available for this device. Follow the instructions on the download page to create a FreedomBox SD card and boot the device.
Note: This image is for BeagleBone Black (Revision C.1) only. It will not work on the BeagleBone Green, and also not on the Revisions A & B.
An alternative to downloading these images is to install Debian on the BeagleBone and then install FreedomBox on it.
Price: ~ 59 USD (50 EUR)
Open Source Hardware (OSHW): Yes
RAM: 512MB DDR3L 800 Mhz
Storage: Onboard 4GB, 8bit Embedded MMC and microSD
Architecture: armhf
Ethernet: 10/100, RJ45
WiFi: None, use a USB WiFi device
SATA: None
Non-free blobs required: No
WiFi: Not available
LinkSprite pcDuino3S is a single board computer running on Allwinner A20 and sold with a good case. FreedomBox images are built and tested for this device.
Note: The FreedomBox logo is simply a sticker on top of device brought from store.
Important: Read general advice about hardware before building a FreedomBox with this single board computer.
Although untested, the following similar hardware is also likely to work well with FreedomBox.
https://www.linksprite.com/linksprite-pcduino3/ also covers pcDuino3B
FreedomBox disk images for this hardware are available. Follow the instructions on the download page to create a FreedomBox SD card, USB disk, SSD or hard drive and boot into FreedomBox. Pick the image meant for pcduino3.
An alternative to downloading these images is to install Debian on the APU and then install FreedomBox on it.
Price: 89 USD
Open Hardware: No
CPU: AllWinner A20 SoC, 1GHz ARM Cortex A7 Dual Core
RAM: 1 GB
Storage: SD card, 4 GB onboard flash
Architecture: armhf
Ethernet: 10/100 Mbps
WiFi: Built-in WiFi requires non-free firmware, use a USB WiFi device instead
SATA: 1 SATA host socket
Non-free blobs required: No
WiFi: Requires non-free firmware
Boot Firmware: BROM (GPLV2+)
FreedomBox is a pure blend of Debian. This means that all the work on FreedomBox is available in Debian as packages. It also means that any machine running Debian can be turned into a FreedomBox.
This page describes the process of installing FreedomBox on a Debian system. Currently, FreedomBox works in Debian Stable (bookworm), Testing (trixie), and Unstable (sid).
Important: Read general advice about hardware before building a FreedomBox with this approach.
Use a fresh Debian installation
Installing FreedomBox changes your Debian system in many important ways. This includes installing a firewall and regenerating server certificates. It is hence recommended that you install FreedomBox on a fresh Debian installation instead of an existing setup.
Check the Troubleshooting section below, for any tips or workarounds that might help during the install.
Install Debian 12 (Bookworm) or newer on your hardware. During installation choosing "Btrfs" for root filesystem type is recommended as FreedomBox uses it take regular snapshots of the system.
Update your package list.
$ sudo apt-get update
Install freedombox
package.
$ sudo DEBIAN_FRONTEND=noninteractive apt-get install freedombox
The "DEBIAN_FRONTEND=noninteractive" will avoid several configuration prompts that would otherwise appear during the install.
During the installation, you will be provided a secret key that needs to be entered during the initial configuration process. Note this down. The secret can also be read at a later time from the file /var/lib/plinth/firstboot-wizard-secret
.
You can start using FreedomBox. During initial wizard, you will need to enter the secret noted above.
FreedomBox uses NetworkManager to manage network configuration. If you have configured your network interfaces using Debian installer or by editing /etc/network/interfaces
, FreedomBox will not manage those interfaces. (See bug #797614.) To let FreedomBox/NetworkManager manage your network interfaces, edit the /etc/network/interfaces
manually and ensure that it contains only the following:
auto lo iface lo inet loopback
If you have already completed the setup process without doing this step, you will need to clear out the /etc/network/interfaces
file keeping only the above lines. Then perform a reboot. Network interfaces will then be in the internal
or external
firewall zone. This is essential for the FreedomBox's web interface to be reachable from other machines in the network. You can tweak network manager connections with the nmtui
command if you wish.
FreedomBox will use an automatically configured IP address by default. You can assign a static IP address if necessary. Network configuration changes can be done using FreedomBox web interface or by using the nmtui
or nmcli
commands. nmcli
can be used as follows:
nmcli con mod "Ethernet connection 1" \ ipv4.addresses A.A.A.A/X \ ipv4.gateway G.G.G.G \ ipv4.dns N.N.N.N \ ipv4.dns-search somedomain.com \ ipv4.method "manual" \ ipv4.ignore-auto-dns yes \ ipv6.method ignore
...with the block capitals and somedomain.com replaced with your actual address, mask description, gateway and dns server details.
This page will help you get started with using FreedomBox on a virtual machine using VirtualBox. While VirtualBox images are primarily used for testing and development, they can also be used for regular use if you have spare resources on one of your machines. This setup is useful if:
You don't own one of the supported hardware devices.
You don't use Debian GNU/Linux as your operating system.
You don't want to disturb your Debian installation to try out FreedomBox.
Prebuilt FreedomBox images for VirtualBox are routinely made available in VirtualBox's own VDI image file format. They contain a Debian GNU/Linux operating system and an installation of FreedomBox with all dependencies ready to run on any OS supported by VirtualBox (Windows, Linux, Macintosh, and Solaris).
A more adventurous alternative to downloading one of these images is to install Debian on VirtualBox and then install FreedomBox on it.
VirtualBox itself is available from https://www.virtualbox.org/ (or your distribution's package manager).
Follow the instructions on the download page to download and verify a VirtualBox image. The latest images are available on freedombox.org.
In the Hard disk dialog choose Use an existing virtual hard disk file and select the .vdi file you extracted in step 1.
When created, go to the virtual machine's Settings -> [Network] -> [Adapter 1]->[Attached to:] and choose the network type your want the machine to use according to the explanation in Network Configuration below. The recommended type is the Bridged adapter option, but be aware that this exposes the FreedomBox's services to your entire local network.
Note: It is important to make sure that you have provided the correct network interface in the above step. For example, if the virtual machine is running on a laptop connected to a Wi-Fi network, then the wireless interface (starts with wlp) must be chosen as shown in the screenshot.
When satisfied with the VM settings click the start button in the VirtualBox UI and your new FreedomBox will boot.
The console of the VM will show the textual screen below when finished booting, from here most interaction with FreedomBox will be through the web interface in a browser.
If everything went well so far, you should be able to access the web interface of FreedomBox by pointing a browser on the host machine to https://freedombox.local.
In case freedombox.local cannot be resolved, you need to find out your FreedomBox's IP address as described in Finding out the IP address of the virtual machine. Then access this IP from a web browser which is on the same network as the VM (for example, the host). If all is well, you are now presented with a welcome message and invited to complete the first boot process.
This mainly consist of creating an administrative user for the system.
See the FreedomBox usage page for more details.
You can log in to the Debian GNU/Linux system as the user created during FreedomBox first boot on the VirtualBox console or remotely via ssh.
After logging in, you can become root with the command sudo su
.
If you wish to build your own images instead of downloading available images, it can be done using Freedom Maker.
VirtualBox provides many types of networking options. Each has its advantages and disadvantages. For more information about how various networking types work in VirtualBox, see VirtualBox's networking documentation. https://www.virtualbox.org/manual/ch06.html
For a simple setup, it is recommended that you use a single network interface in your guest machine. This will make the first boot script automatically configure that interface as an internal
network with automatic
network configuration. Inside the guest machine, the networking is configured automatically and all the services are made available on this network interface. For more information on how networks are configured by default in FreedomBox, see Networks section.
What remains is to make those services available to the host machine or to other machines in the network. You must then choose one of the following types of networking for the network interface on your guest machine. To set a particular type of network for the guest's network adapter, go to the guest VM's settings then the network options and then select the adapter you wish to configure. There, set the network type from the available list of networks.
First and the recommended option is to use the Bridged type of network. This option exposes the guest machine to the same network that host network is connected to. The guest obtains network configuration information from a router or DHCP server on the network. The guest will appear as just another machine in the network. A major advantage of this of setup is that the host and all other machines in the network will be able to access the services provided by guest without requiring any further setup.
The only drawback of this approach is that if the host is not connected to any network, the guest's network will remain unconfigured making it inaccessible even from the host.
Second method is Host only type of networking. With a guest's network interface configured in this manner, it will only be accessible from the host machine. The guest will not able access any other machine but the host, so you do not have internet access on the guest. All services on the guest are available to the host machine without any configuration such as port forwarding.
The third option is to use the NAT type of network. This the networking type that VirtualBox assigns to a freshly created virtual machine. This option works even when host is not connected to any network. The guest is automatically configured and is able to access the internet and local networks that host is able to connect to. However, the services provided by the guest require port forwarding configuration setup to be available outside.
To configure this go to VM settings -> [Network] -> [Adapter] -> [Port Forwarding]. Map a port such as 2222 from host to guest port 22 and you will be able to ssh into FreedomBox from host machine as follows:
ssh -p 2222 fbx@localhost
Map 4443 on host to 443 on the guest. This make FreedomBox HTTPS service available on host using the URL https://localhost:4443/
You will need to add a mapping for each such services from host to guest.
The final option is to create two network interfaces, one host only and one NAT type. This way you can access the guest without any additional configuration, and you have internet access on the guest. The guest will be invisible to any other machines on the network.
Summary of various network types:
- |
Guest accessible from other machines |
Guest accessible from host |
Works without port forwarding |
Works without host connected to network |
Guest has internet access |
Bridged |
|
|
|
|
|
Host only |
|
|
|
|
|
NAT |
|
|
|
|
|
NAT and Host |
|
|
|
|
|
This depends on the network configuration you chose. With a bridged adapter, your virtual machine gets its IP address from the DHCP server of your network, most likely of your Router. You can try the first couple of IP addresses or check your router web interface for a list of connected devices.
If you chose host-only adapter, the IP address is assigned by the DHCP server of your VirtualBox network. In the VirtualBox Manager, go to File -> Preferences -> Network -> Host-only Networks. You can see and edit the DHCP address range there, typically you get assigned addresses close to the Lower Address Bound.
Another possibility of finding the IP address is to login via the VirtualBox Manager (or similar software). The FreedomBox images do not have any default user accounts, so you need to set an initial user and password using the passwd-in-image script.
See also QuickStart for instructions on how to scan your network to discover the IP of the VM.
The package macchanger
can cause network problems with VirtualBox. If you have a valid IP address on your guest's host network adapter (like 192.168.56.101) but are not able to ping or access the host (like 192.168.56.1), try uninstalling macchanger
:
$ dpkg --ignore-depends=freedombox-setup --remove macchanger
You might have to manually remove the script /etc/network/if-prep-up/macchanger
. If Debian complains about unmet dependencies when you use a package manager (apt-get, aptitude, dpkg), try to remove 'macchanger' from the dependencies of 'freedombox-setup' in the file /var/lib/dpkg/status
.
If you want to mount images locally, use the following to copy built images off the VirtualBox:
$ mkdir /tmp/vbox-img1 /tmp/vbox-root1 $ vdfuse -f freedombox-unstable_2013.0519_virtualbox-i386-hdd.vdi /tmp/vbox-img1/ $ sudo mount -o loop /tmp/vbox-img1/Partition1 /tmp/vbox-root1 $ cp /tmp/vbox-root1/home/fbx/freedom-maker/build/freedom*vdi ~/ $ sudo umount /tmp/vbox-root1 # $ sudo umount /tmp/vbox-img1 # corruption here.
The virtual machine loses the correct time/date after suspending and resuming. One way to fix this is to create a cron-job that restarts the time service ntp
. You can add a crontab entry as root to restart ntp every 15 minutes by typing 'crontab -e'
and adding this line:
*/15 * * * * /etc/init.d/ntp restart
Do not restart this service too often as this increases the load of publicly and freely available NTP servers.
Whenever this happens VirtualBox shows following error message: Cannot register the hard disk A with UUID ... because a hard disk B with UUID ... already exists in the media registry
Creating several VMs from the same image causes collisions due to ID's (hostname, IP, UUID, etc) that are expected to be universally unique. Most can be handeled operating the running VM. But VirtualBox complains before that (at the very creation of the VM) about the hard disk's UUID. This is usual stuff when you develop/test e.g. FreedomBox.
You can change a clone's UUID in the terminal as follows:
$ VBoxManage internalcommands sethduuid path/to/the/hd/vdi/file
Pine A64+ is an affordable single board computer with good performance.
Important: Read general advice about hardware before building a FreedomBox with this single board computer.
Both 1GB and 2GB versions of Pine A64+ are supported with the same FreedomBox image.
There is a separate Pine A64-LTS image.
FreedomBox SD card images for this hardware are available. Follow the instructions on the download page to create a FreedomBox SD card and boot into FreedomBox. Pick the image meant for Pine A64+.
An alternative to downloading these images is to install Debian on the device and then install FreedomBox on it.
Price: 29 USD (for the 2 GB variant), 21 USD (for the 1 GB variant)
Open Source Hardware (OSHW): No
CPU: Allwinner A64, Quad-core ARM Cortex A53 64-bit processor
RAM: 3 variants - 512 MB (not recommended), 1 GB and 2 GB (recommended)
Storage: SD card, eMMC (module sold separately but not tested with FreedomBox)
Architecture: arm64
Ethernet: Gigabit Ethernet port
Battery: Supports battery backup using a Li-Po battery
WiFi: None, use a USB WiFi device
SATA: None
Non-free blobs required: No
WiFi: Not available
LeMaker Banana Pro is an updated version of its predecessor Banana Pi.
Important: Read general advice about hardware before building a FreedomBox with this single board computer.
FreedomBox SD card images for this hardware are available. Follow the instructions on the download page to create a FreedomBox SD card and boot into FreedomBox. Pick the image meant for Banana Pro.
An alternative to downloading these images is to install Debian on the device and then install FreedomBox on it.
Open Source Hardware (OSHW): No
CPU: Allwinner A20, Dual-core ARM Cortex A7 processor
RAM: 3 variants - 1 GB
Storage: SD card
Architecture: armhf
Ethernet: 10/100/1000 Mbps
Battery: No
WiFi: WiFi 802.11 b/g/n 2.4GHz (not tested with FreedomBox)
SATA: SATA 2.0 (2.5 inch SSD or HDD recommended)
Non-free blobs required: No
WiFi: Unknown
Orange Pi Zero is a single board computer available at very low price. It uses the Allwinner H2 SoC, and has 256MB/512MB DDR3 SDRAM. It doesn't require any non-free firmware to run FreedomBox. However, the onboard Wi-Fi module needs proprietary firmware to work. The board is available in two versions: with 256MB RAM and 512MB RAM. The version with 512 MB RAM is recommended for FreedomBox. Even then, FreedomBox is expected to gracefully run only a small number of services.
Important: Read general advice about hardware before building a FreedomBox with this single board computer.
FreedomBox SD card images are available for this device. Follow the instructions on the download page to create a FreedomBox SD card and boot the device.
CPU: ARM Cortex-A7 Quad-Core (Allwinner H2)
RAM: 256MB/512MB DDR3 SDRAM
Storage: Up to 32GB on uSD slot, 2MB SPI Flash
Architecture: armhf
Ethernet: 10/100, RJ45
WiFi: Onboard 802.11 b/g/n, use a USB WiFi device
Non-free blobs required: No (without Wi-Fi)
Wi-Fi: no free Wi-Fi drivers + firmware available
Pine64's RockPro64 is a powerful single board computer. It uses the Rockchip RK3399 Hexa Core ARM64 processor. FreedomBox images are built and tested for this device.
Important: Read general advice about hardware before building a FreedomBox with this single board computer.
Before downloading and using FreedomBox you need to ensure that latest u-boot based firmware is installed into the SPI flash chip. See instructions on how to write u-boot firmware into SPI flash. The gist is that you download and write an image to an SD card. Boot with SD card and wait for white LED blinking to stop. After that power off, remove the SD card and proceed with FreedomBox download.
FreedomBox images meant for all "arm64" hardware work well for this device. However, u-boot firmware must be present in SPI flash (or on a separate SD card, which is not explained here). Follow the instructions on the download page to create a FreedomBox SD card and boot the device. These images also work well for onboard eMMC, USB 2.0 and USB 3.0 disk drives. The process for preparing USB disk drives is same as for an SD card. For eMMC, boot the board using any OS and then write the image to the eMMC similar to writing to SD card.
An alternative to downloading these images is to install Debian on the device and then install FreedomBox on it.
Price: 60 USD (RockPro64 2GB)
Price: 80 USD (RockPro64 4GB)
Open Source Hardware (OSHW): No
CPU: Rockchip RK3399 SOC (2x Cortex A72@1.8Ghz, 4x Cortex A53@1.4Ghz)
GPU: Mali T860 MP4 GPU
RAM: 2 GiB or 4 GiB LPDDR4
Storage: eMMC module slot, microSD slot, 16 MiB SPI Flash
USB: 2x USB 2.0, 1x USB 3.0, 1x USB-C
Expansion slot: 1x PCIe 4x slot (NVMe disks, etc.)
Architecture: arm64
Ethernet: 10/100/1000, RJ45
WiFi: None, use a USB WiFi device
Non-free blobs required: No
WiFi: Not available
FreedomBox on NVMe disk has not been tested.
Pine64's Rock64 is a powerful single board computer. It uses the Rockchip RK3328 Quad Core ARM64 processor. FreedomBox images are built and tested for this device.
Important: Read general advice about hardware before building a FreedomBox with this single board computer.
Before downloading and using FreedomBox you need to ensure that latest u-boot based firmware is installed into the SPI flash chip. Download the latest u-boot to write to SPI flash and then see instructions on how to write u-boot firmware into SPI flash. The gist is that you download and write an image to an SD card. Boot with SD card and wait for white LED to blink continuously. After that power off remove SD card and proceed with FreedomBox download.
FreedomBox images meant for all "arm64" hardware work well for this device. However, u-boot firmware must present in SPI flash (or on a separate SD card, which is not explained here). Follow the instructions on the download page to create a FreedomBox SD card and boot the device. These images also work well for eMMC disk which an optional attachment to this board and disk drives in USB 2.0 ports (but not in the USB 3.0 port). The process for preparing them is same as for an SD card.
An alternative to downloading these images is to install Debian on the device and then install FreedomBox on it.
Price: 25 USD (1GB)
Price: 35 USD (2GB)
Price: 45 USD (4GB)
Open Source Hardware (OSHW): No
CPU: Rockchip RK3328 Quad-Core SOC (4x Cortex A53 @ 1.5Ghz)
GPU: Mali 450MP2
RAM: 1 GiB or 2 GiB or 4 GiB LPDDR3
Storage: eMMC module slot, microSD slot, 16 MiB SPI Flash
USB: 2x USB 2.0, 1x USB 3.0
Architecture: arm64
Ethernet: 10/100/1000, RJ45
WiFi: None, use a USB WiFi device
Non-free blobs required: No
WiFi: Not available
FreedomBox does not work when booted from USB 3.0 port (but works from eMMC, SD card or USB 2.0 disk).
FreedomBox does not work when booted form the top USB 2.0 port with some u-boot firmware versions (the one listed above). It only works with the bottom USB 2.0 port (the one closer to the board).
Raspberry Pi 2 (Model B ) is a popular single board computer developed with the intention of promoting teaching of basic computer science in schools. It is a successor to Raspberry Pi Model B+ with much faster processor and more RAM. FreedomBox images are built and tested for it.
Please do not expect any output on a monitor connected via HDMI to this device as it does not display anything beyond the message 'Starting kernel...'. See the Quick Start page to access and control your FreedomBox from network.
Important: Read general advice about hardware before building a FreedomBox with this single board computer.
FreedomBox SD card images for this hardware are available. Follow the instructions on the download page to create a FreedomBox SD card and boot into FreedomBox.
Price: 35 USD
Open Hardware: No
CPU: 900 MHz quad-core ARM Cortex-A7
RAM: 1 GB
Storage: MicroSD card slot
Architecture: armhf
Ethernet: 10/100, RJ45
WiFi: None, use a USB WiFi device
SATA: None
Non-free blobs required: boot firmware
WiFi: Not available
Raspberry Pi 3 Model B is a popular single board computer developed with the intention of promoting teaching of basic computer science in schools. It is a successor to Raspberry Pi 2 Model B with a 64-bit processor and on-board Wi-Fi. FreedomBox "stable" and "testing" images are available for Raspberry Pi 3 Model B.
Please do not expect any output on a monitor connected via HDMI to this device as it does not display anything beyond the message 'Starting kernel...'. See the Quick Start page to access and control your FreedomBox from network.
Important: Read general advice about hardware before building a FreedomBox with this single board computer.
Raspberry Pi recommends creating a bootable SD card with the Raspberry Pi Imager (rpi-imager), their official cross-platform utility that downloads an image and writes it to removable media. FreedomBox "stable" and "testing" images can be selected in rpi-imager under the "Other specific-purpose OS" category.
FreedomBox SD card images for this hardware are also available online. Download the "stable" or "testing" image for Raspberry Pi 3 Model B. Follow the instructions on the download page to create a FreedomBox SD card and boot into FreedomBox.
Price: 35 USD
Open Hardware: No
CPU: 1.2GHz 64-bit quad-core ARMv8 CPU
RAM: 1 GB
Storage: MicroSD card slot
Architecture: armhf
Ethernet: 10/100, RJ45
WiFi: 802.11n but requires non-free firmware, instead use a USB WiFi device
SATA: None
Non-free blobs required: boot firmware
WiFi: Requires non-free firmware
Raspberry Pi 3 Model B+ is a popular single board computer developed with the intention of promoting teaching of basic computer science in schools. It is a successor to Raspberry Pi 3 Model B with better Ethernet and a 5Ghz Wi-Fi. FreedomBox "stable" and "testing" images are available for Raspberry Pi 3 Model B+.
Please do not expect any output on a monitor connected via HDMI to this device as it does not display anything beyond the message 'Starting kernel...'. See the Quick Start page to access and control your FreedomBox from network.
Important: Read general advice about hardware before building a FreedomBox with this single board computer.
Raspberry Pi recommends creating a bootable SD card with the Raspberry Pi Imager (rpi-imager), their official cross-platform utility that downloads an image and writes it to removable media. FreedomBox "stable" and "testing" images can be selected in rpi-imager under the "Other specific-purpose OS" category.
FreedomBox SD card images for this hardware are also available online. Download the "stable" or "testing" image for Raspberry Pi 3 Model B+. Follow the instructions on the download page to create a FreedomBox SD card and boot into FreedomBox.
Price: 35 USD
Open Hardware: No
CPU: 1.4GHz 64-bit quad-core ARMv8 CPU
RAM: 1 GB
Storage: MicroSD card slot
Architecture: armhf
Ethernet: 10/100/1000, RJ45
WiFi: 802.11ac but requires non-free firmware, instead use a USB WiFi device
SATA: None
Non-free blobs required: boot firmware
WiFi: Requires non-free firmware
Raspberry Pi 4 Model B is a popular single board computer developed with the intention of promoting teaching of basic computer science in schools. It is a successor to Raspberry Pi 3 Model B+ with better processor and ability to drive multiple displays. Both stable and "testing" images are available for Raspberry Pi 4 Model B.
Raspberry Pi recommends creating a bootable SD card with the Raspberry Pi Imager (rpi-imager), their official cross-platform utility that downloads an image and writes it to removable media. FreedomBox "stable" and "testing" images can be selected in rpi-imager under the "Other specific-purpose OS" category.
FreedomBox SD card images for this hardware are also available online. Download the "stable" or "testing" image for Raspberry Pi 4 Model B. Follow the instructions on the download page to create a FreedomBox SD card or USB drive and boot into FreedomBox.
MicroSD cards are notouriously slow and prone to be corrupted. SD card corruption means that a high read/write load or a sudden power outage can make render your card unusable. It is therefore strongly recommended that you use a USB drive for your root partition. To be able to do that, you have to follow these preliminary steps:
Download and install the Raspberry Pi Imager.
Insert a microSD card to your computer.
Open the Raspberry Pi Imager 3.1 Select CHOOSE OS >> Misc utility images >> Bootloader >> USB Boot
3.2 From CHOOSE STORAGE select your microSD card
3.3 Click on WRITE
After the writing was succesful, you should eject the card.
Insert the newly created card into your Raspberry Pi and boot up the device. If it is connected to a monitor, you will see a green screen. Let your device rest for a minute, after which you can disconnect it from power and eject the card from the Raspberry Pi. It can now boot from USB.
Final step: write your FreedomBox image into your USB device, then connect it to your Raspberry Pi. Make sure you did not leave your microSD card in the Raspberry Pi.
Please note that steps 1. to 5. only need to be done once.
FreedomBox images for this hardware can be built using Freedom Maker. Use the target 'raspberry64' to build the image for this board.
Price: 35 USD (2GB RAM)
Price: 50 USD (4GB RAM)
Price: 75 USD (8GB RAM)
Open Hardware: No
CPU: Broadcom BCM2711 SOC (4x Cortex-A72@1.5GHz)
RAM: 2 GB or 4GB or 8 GB
Storage: MicroSD card slot or USB drive
USB: 2x USB 2.0, 2x USB 3.0, USB Type-C power supply
Architecture: arm64
Ethernet: 10/100/1000, RJ45
WiFi: 802.11ac but requires non-free firmware, instead use a USB WiFi device
SATA: None
Non-free blobs required: boot firmware
WiFi: Requires non-free firmware
FreedomBox works on many single board computers. However, many of these boards do not have built-in Wi-Fi capabilities. Even when Wi-Fi capability is available, non-free proprietary firmware is required to make them work.
A solution to the problem is to plug-in a USB Wi-Fi device into one of the available USB ports. There are many such devices available which do not require non-free firmware to work. The following is a list of such devices that work with FreedomBox devices. Some devices based on these chips have tested to work well with FreedomBox including functions such as access point mode.
The free firmware for these devices is not packaged in Debian yet. You can manually download and install the firmware as follows:
sudo su [enter password] cd /lib/firmware wget https://www.thinkpenguin.com/files/ath9k-htc/version-1.4-beta/htc_9271.fw wget https://www.thinkpenguin.com/files/ath9k_firmware_free-version/htc_7010.fw
The following are the release notes for each FreedomBox version.
deluge: Fix app installation on Debian testing
notifications: Don't error when dismissing missing notifications
ui: Switch to using bootstrap 5
action_utils: Add utility to ensure that service is stopped
apache: Relax content security policy to allow data: URL
ci: Add flake8 to gitlabci container
d/control: Drop unnecessary recommendations
d/control: Drop version specification on dependencies for Bookworm
debian: Added po-debconf Catalan translation
deluge: Cleanup and simplify setup code
diagnostics: Fix trimming an i18n string
diagnostics: tests: functional: Pick errors more specifically
firewalld: Reduce severity for alert about service on internal zone
help: Add a class to the help index page
help: Update the privacy notice on status log page
i2p: Drop app as it has not been available in Debian for a while
letsencrypt: Declare explicit dependency on openssl
locale: Update translations for Albanian, Bulgarian, Chinese (Simplified Han script), Czech, French, German, Russian, Turkish
matrixsynapse: Fix trimming an i18n string
networks: Fix issue with loading create PPPoE form
networks: Fix minor typo in template related to signal strength
networks: Use new accordion component from Bootstrap 5
openvpn: Declare explicit dependency on openssl
power: Refactor display of package manager busy alerts
radicale: Update link to supported clients
sso: Switch using cryptography module instead of OpenSSL.crypto
tags: Fix issue with JS init on a page without tags
tags: tests: Fix deprecated webdriver attribute
tests: functional: Disable smooth scrolling from Bootstrap 5
tests: functional: Don't try disable app after tests if app was not installed
tests: functional: Fix app installation test skipped on slow machines
ui: Accept default styling of Bootstrap 5 for warning button
ui: Align app icons in the center for home, apps, and help pages
ui: Allow underlining for most links due to Bootstrap 5
ui: Allow users to provide a CSS file to customize styling
ui: Cleanup use of colors with CSS variables
ui: Don't use nav-link inside card
ui: Drop use of badge-* utility classes for newer replacements
ui: Fix flash of notifications popdown during page load
ui: Fix issue with notifications icon showing twice in mobile view
ui: Fix overflow of exception text in message
ui: Fix placement of tags menu under tags input with Bootstrap 5
ui: Fix styling in dismiss button in form errors for Bootstrap 5
ui: Fix toggle button styling for Bootstrap 5
ui: Reduce the gap at the top of the pages
ui: Rename data- attributes to data-bs- for Bootstrap 5
ui: Restore spacing between form elements in Bootstrap 5
ui: Restyle tags, remove underlining of text
ui: Show disabled form elements as grey for Bootstrap 5
ui: Style the 'Log out' item properly
ui: Update custom button styles for Bootstrap 5
ui: Update styling for navbar menu items
ui: Use Bootstrap 5 styling for all alerts
ui: Use collapse instead of dropdown for notification in Bootstrap 5
ui: Workaround dropdowns not working with Bootstrap 5
ui: app, system: Revert to earlier width for card lists
ui: app: Fix an incorrect HTML tag nesting
ui: backups: Drop unused styling in verify host key page
ui: backups: Use Bootstrap color variables instead of static values
ui: diagnostics: Fix gap between headings
ui: diagnostics: Fix layout of repair buttons
ui: firewall: Fix styling with Bootstrap 5
ui: forms: Fix margins for form labels for Bootstrap 5
ui: help: Fix alignment issue with footer links in about page
ui: samba: Fix layout regressions with Bootstrap 5
ui: snapshots: Fix horizontal form layout on mobiles for Bootstrap 5
ui: snapshots: Fix horizontal form styling margins for Bootstrap 5
ui: users: Fix close button for confirmation dialog for Bootstrap 5
nextcloud: Switch to using FreedomBox container registry
networks: Overhaul Wi-Fi network scan page
container: Quote arguments that contain spaces when restoring pytest args
i18n: Fix translation of FreedomBox name in various places
locale: Update translations for Albanian, Bulgarian, Chinese (Simplified Han script), Czech, German, Turkish
networks: Fix display of mangled SSIDs when scanning Wi-Fi networks
networks: Fix display of strength and channel for Wi-Fi connections
networks: Fix editing wireless connections with SSID field
networks: Improve styling of badges in the information tables
networks: wifi: In new connection page set form defaults properly
nextcloud: Drop diagnostic for checking availability of docker.com
rssbridge: Mention miniflux in app description similar to tt-rss
tests: functional: Don't enable/disable app during tests
tests: functional: Fix visit() returning prematurely before page load
tests: functional: Wait for uninstall page load before uninstalling
ui: Drop box shadow around the card in card lists
ui: Drop logo backgrounds for index, apps, and system pages
backups: Better explanation for the format of upload file
backups: Sort list of apps in backup, restore, and schedules
base: Add link to about for unauthenticated users
debian: Drop python3-flake8 build dependency
ejabberd: Set mod_mam default to always
functional tests: Add pytest testinfra plugin
help: Add all footer links to about page
help: Make about page available to unauthenticated users
index: Remove links and about text and link to about page
index: css: Move the 'powered by' logo further down
locale: Update translations for Albanian, Bulgarian, Chinese (Simplified Han script), Czech, French, German, Norwegian Bokmål, Spanish, Turkish
middleware: tests: Drop some obsolete mock code
system: Increase the size of items in listing page
ui: Don't bold titles in card lists
ui: Increase the width of app and system listings
ui: Move app names below app icons
ui: Remove the border around content container
ui: Remove the noise background
users: Delete or move home folder when user is deleted or renamed
users: tests: functional: Check LDAP information is correct after renaming user
Add tags for apps
.gitlab-ci.yml: Update for new infrastructure
Remove unused imports to fix flake8 errors
apache2: Allow popups to have different sandbox policy
backups: Use new utility for handling file uploads
calibre: tests: functional: Fix occasional failure in add book test
ci: Add a custom driver for gitlab runner for podman
ci: Add docker container for functional-tests:stable
ci: Add gitlab runner configuration
ci: Dockerfile: Drop obsolete dependency on pytest-bdd
ci: Enable showing test failures immediately as they fail
ci: Generalize script to update container, switch to podman
ci: Rename Dockerfiles to Containerfiles
ci: Update functional test timeout to 10h
context_processors: Stop adding unused 'submenu' to context
context_processors: Use active menu urls to decide what to highlight
css: Fix height of navbar in mobile layout during first boot
css: Navbar styling fixes in mobile layout
first_boot: Add notification for next steps after first setup
first_boot: Allow the next steps page to be revisited
firstboot: Hide navigation toggler in mobile layouts
firstboot: Improve the setup complete page with more setups
firstboot: Make logo image responsive during first setup
firstboot: Show spinner instead of message during first setup
help, system: Stop using submenu.sorted_items
help: tests: Fix tests failing due to tags related changes
locale: Update translations for Albanian, Bulgarian, Chinese (Simplified Han script), Czech, Spanish, Turkish, Ukrainian
middleware: Show translated error messages when operation completes
networks: Remove first boot steps for connectivity/topology
nextcloud: Fix install failure due to PrivateTmp=yes
operation: Use safe formatter for translating messages
setup: Translate errors when installing/updating/repairing apps
ssh: Start server after nslcd service
syncthing: Fix app setup in Debian testing
tags: Adjust tags and style
tags: Localization fixes
tags: css: Minor styling cleanups
tags: js: Minor fixes and refactoring
tests: functional: Add package for printing test failures instantly
tests: functional: Create utility to set user preferred locale
upgrades: Remove step upgrade during first setup
upgrades: Show notification to remind user to run updates manually
utils: Improve safe formatter by handling more cases
wordpress: tests: functional: Fix tests on Trixie
django: Improve handling of file uploads
nextcloud: Fix existing installs to upgrade properly
action_utils: Fix missing parent folder when creating apt hold flag
action_utils: Introduce utility to move uploaded files
actions: Handle exceptions with Path-like objects
featherwiki: Use new utility for handling uploads
functional tests: Upgrade dependencies selenium and splinter
kiwix: Don't leave invalid .zim in library after a failed attempt
kiwix: Use new utility for handling uploads
locale: Albanian: Fix build issue by correcting typo
locale: Update translations for Albanian, Czech
names: Don't control resolved daemon when package is not installed
names: Don't hard depend on systemd-resolved
names: Don't show resolver status if package is not installed
names: Introduce method to check if resolved is installed
names: Perform resolve diagnostics only if resolved is installed
names: Schedule a task to install systemd-resolved when possible
names: Try to install systemd-resolved during app setup
networks: Disable DNS-over-TLS option if resolved is not installed
networks: Don't show DNS-over-TLS when resolved is not installed
nextcloud: During upgrade wait properly for upgrade to complete
privacy: Disable DNS fallback option if resolved is not installed
samba: Remove option to backup app
storage: Skip tests that involve loopback device in a container
tiddlywiki: Avoid writing duplicate temporary files
transmission: tests: Fix functional test failures in Debian testing
samba: Fix nmb systemd service is in erroneous state
users: Inactivate users in LDAP user database
Revert "debian: tests: Wait for systemd-resolved to be started"
ci: Run autopkgtest but allow failure
d/tests: Add breaks-testbed restriction
locale: Update translations for Bulgarian, Chinese (Simplified Han script), Spanish, Turkish
security: Remove PAM configuration for 'access' module
users: Increment app version for changes w.r.t. inactive users
users: Set proper class on default password policy object
nextcloud: Fix issue with upgrading to next version
action_utils: Add a method to reset services in 'failed' state
action_utils: Update outdated docstrings
apache: Don't restart daemon when changing certificates
config, names: Move domain name configuration to names app
config, names: Move setting hostname from config to names
debian: tests: Wait for systemd-resolved to be started
letsencrypt: Allow reloading daemons after cert changes
locale: Update translations for Albanian, Bulgarian, Chinese (Simplified Han script), Czech, Dutch, Spanish, Turkish
miniflux: Workaround a packaging bug with DB connection
service: Add privileged utility for 'try-reload-or-restart' action
tests: functional: Don't timeout when web server restarts
upgrades: Treat n/a release as testing
users: Don't cache NSS user identity information
users: Invalidate nscd cache after nslcd service startup
mediawiki: Increase PHP maximum execution time to 100 seconds
names: Use systemd-resolved for DNS resolution
bind: Don't start a stopped daemon during changes/upgrades
bind: Fix port number clash with 'shared' network connections
bind: Set default forwarder as systemd-resolved
container: Re-run failed provisioning even if container is running
letsencrypt: Handle both standard and custom repairs
locale: Update translations for Albanian, Bulgarian, Chinese (Simplified), Dutch, German, Spanish, Telugu, Turkish, Ukrainian
makefile: Workaround problems with systemd-resolved package
names, network: Re-feed DNS known to network-manager to resolved
names: Add option for setting global DNS-over-TLS preference
names: Add option for setting global DNSSEC preference
names: Implement a diagnostic check for checking name resolution
names: Restart instead of reload for systemd-resolved changes
names: Show systemd-resolved status in the names page
networks: Add more options for IPv6 configuration method
networks: Add support for DNS-over-TLS for individual connections
networks: Declare a need for DHCP/DNS ports to be open in firewall
networks: Fix focusing on network interface field on error
networks: Groups fields in create/edit connection form
networks: Set 'auto' as default IPv6 method in new connection form
networks: Show current global value of DNS-over-TLS and link to it
privacy: Implement a way to disable fallback DNS servers
privacy: Show notification again so that users see the new setting
storage: Handle grub-pc package not available
upgrades: Add repair step for held packages
.md, pyproject.toml: Update default branch from 'master' to 'main'
d/control: Don't recommend libnss-gw-name
d/control: Remove haveged as it no longer relevant on latest kernels
debian: Set gbp default branch to main
doc/dev: Fix Django related errors with auto-documentation
doc/dev: Limit table of contents depth to 2 for clarity
doc/dev: Update copyright year
featherwiki, tiddlywiki: Remove redundant </p> in template
locale: Update translations for Albanian, Bulgarian, Chinese (Simplified), Czech, Dutch, Norwegian Bokmål, Spanish, Telugu, Turkish, Ukrainian
plinth: Fix translating app operations
ttrss: Remove unavailable Android client - org.fox.tttrss
upgrades: Add diagnostic for held packages
featherwiki: Add new app for Personal Notebooks
tiddlywiki: Add new app for Non-linear Notebooks
COPYING.md: Update copyright years
actions: Add error when likely parameters are not marked as secret
actions: Define and allow a new alias for str; secret_str
actions: Log arguments without secret strings in privileged calls
apache: Enable dav and dav_fs modules
backups: Mark secret strings in privileged actions
base.html: Drop dependency on modernizr.js library
bepasty: Mark secret strings in privileged actions
django: settings: Don't set USE_L10N on newer versions
featherwiki: Fix a type check failure
featherwiki: Proxy download through freedombox.org
firewall: Setup inter-zone forwarding
gitweb: Don't backup/restore a drop-in configuration file
ikiwiki: Mark secret strings in privileged actions
locale: Update translations for Albanian, Bulgarian, Chinese (Simplified), Czech, Spanish, Turkish
makefile: Don't fail while building and installing multiple versions
mediawiki: Mark secret strings in privileged actions
miniflux: Mark secret strings in privileged actions
mumble: Mark secret strings in privileged actions
nextcloud: Mark secret strings in privileged actions
nextcloud: Prevent process restart when nextcloud is uninstalled
nextcloud: Redirect to URL nextcloud/ if ending slash is not given
nextcloud: tests: functional: Add base and interface tests
pagekite: Mark secret strings in privileged actions
rssbridge: tests: Add missing __init__.py
shadowsocks: Mark secret strings in privileged actions
shadowsocksserver: Mark secret strings in privileged actions
ssh: Mark secret strings in privileged actions
storage: Add diagnostic for grub config issue
templates: Fix warning about using default.html for form template
tests: functional: Allow submitting form buttons along with inputs
tests: functional: Name the background fixture
users: Mark secret strings in privileged actions
miniflux: Add new app
Note that miniflux is currently only available in Debian testing and unstable.
locale: Update translations for Bulgarian, Chinese (Traditional), German, Swedish
miniflux, ttrss: Factor out duplicated postgres utility methods
miniflux: Add list of client apps from upstream clients list
miniflux: Drop postgres-contrib package as it seem redundant
miniflux: Fix error handling for reset password
miniflux: Fix issues with running the CLI in a pseudo-terminal
miniflux: Fix regression in creating admin user
miniflux: Remove a spurious error message after resetting password
miniflux: Trim error messages when creating user
miniflux: tests: functional: Fix failing tests when run out of order
readme: Mention the AGPLv3+ license
tests: functional: Handle click failure when waiting for page update
tests: functional: Handle obscured elements when submitting forms
locale: Update translations for Albanian, Chinese (Simplified), French, German, Polish, Spanish, Turkish, Ukrainian
make: Ignore .mypy_cache folders while copying files
container: Allow podman containers to run inside the container
diagnostics: Add option for automatic repair
locale: Update translations for French
locale: Update translations for Czech, Dutch, Swedish, Ukrainian
locale: Update translations for Albanian, Chinese (Traditional), German, Russian
locale: Update translations for Chinese (Simplified), Chinese (Traditional), Spanish, Swedish, Turkish
nextcloud: Enable app with experimental warning
minidlna: Add media directory selection form
app, component: Add repair method
diagnostics: Add optional component_id to DiagnosticCheck
diagnostics: Change "Re-run setup" to "Try to repair"
letsencrypt: Re-obtain certificates during repair
letsencrypt: Remove unused imports
locale: Update translations for Chinese (Simplified), Chinese (Traditional), Czech, Spanish, Turkish
minidlna: Do not proxy minidlna web interface over Apache
minidlna: Explicitly include ssdp service to firewall configuration
minidlna: Restart app when upgrading to reconfigure firewall
nextcloud: Add fallback for when quadlet is not available
nextcloud: Allow re-running setup
nextcloud: Allow re-running setup when app is disabled
nextcloud: Create network using systemd generator
nextcloud: Drop network namespacing in container, use host network
nextcloud: Enable pretty URLs without /index.php in them
nextcloud: Implement enable/disable container
nextcloud: Populated and maintain a list of trusted domains
nextcloud: Pull the image separately before starting systemd unit
nextcloud: Restart container when dependent services are restarted
nextcloud: Ship instead of create cron timer related units
nextcloud: Use php-fpm container instead of apache container
nextcloud: Use systemd generator for creating container service
nextcloud: Wait on init sync lock
nextcloud: Warn that community provides the container not team
notification: Handle more formatting errors
setup: Add method to run app repair
storage: Add an option to include help text to directory selection form
action_utils, nextcloud: Make podman util more generic
config: Handle dropin config files with limited permissions
locale: Update translations for Albanian, Chinese (Simplified), Chinese (Traditional), Russian, Spanish, Turkish
nextcloud: (Note that this app is currently disabled, and not available to install.)
Add network interface to firewall zone after creating it
Add warning that the app is experimental
Allow backup/restore when app is disabled
Connect to mysql using socket instead of TCP
Connect to redis using Unix socket
Connect to slapd for LDAP using Unix socket
Don't fail uninstall if DB or user do not exist
Don't set password on redis server
Don't show incorrect phone region when it is not set
Drop a repeated creation of systemd service file
Ensure that database is running when running setup
Expand on the warning about container usage
Fail on errors when configuring the app
Fix configuring trusted proxies setting
Improve check used to test if installation wizard is done
Improve database permission granting
Improve setting up LDAP configuration
Minor changes to cron timer units
Minor refactoring
Minor update to description regarding users' usage
Refactor container creation code
Refactor setting admin password
Remove fail2ban jail, brute force protection present
Rename the systemd service names
Retrieve database password in a more robust way
Use a separate DB for redis
Use secrets module generate passwords
When backup fails, unset the maintenance mode
tests: functional: Disable functional tests
gitweb: Fix an issue when cloning existing repository
ttrss: Improve backup and restore of the database
ttrss: Include dbconfig configuration file in backup
zoph: Include dbconfig configuration file in backup
action_utils: Add generic utils for managing podman containers
actions: Don't repeat action traceback in stderr
diagnostics: Don't store list of app objects with results
locale: Update translations for Albanian, Chinese (Simplified), Dutch, French, German, Norwegian Bokmål, Spanish, Turkish
network: Skip bridge interfaces in connections list
nextcloud: Add new app based on podman container
Note: The Nextcloud app is currently disabled (not available to install). It will be made available after there has been more testing and review.
Add backup/restore
Add option to configure the default phone region
Configure redis caching, create static PHP file
ttrss: Ensure that database is removed after uninstall
ttrss: tests: functional: Uninstall during backup/restore test
upgrades: Re-enable unattended-upgrade during dist-upgrade
zoph: Re-add a safety check when reading the setup state of the app
package: Don't remove packages of other apps on uninstall
samba: Fix Samba not accessible from IPv6 localhost ::1 address
system: Organize items into sections
users: Add email address field when creating/updating user accounts
actions: Minor refactor to action error logging
actions: Move most of the privileged action code to main directory
actions: Provide HTML error message with action error
backups: Adjust to changes in privileged errors
letsencrypt: Remove unnecessary processing of the error messages
letsencrypt: Show better error messages
letsencrypt: Simplify error warning when certificate revoke fails
matrixsynapse: Prevent setup page from being shown during uninstall
middleware: Show HTML exception message as extra detail in messages
package: Drop special error message handling for package errors
samba: Disable nmbd NetBIOS service
snapshot: Show better error messages
storage: Adjust to changes in privileged errors
storage: Show better error message
tests: Automatically create pytest marks for apps
tests: Merge actions related test files
tests: Move test configuration to plinth directory
tests: Remove unused fixture for testing actions
upgrades: Show better error messages
users: Add email address field during first boot
views: Fix alignment of close button in error messages
views: Implement a utility to easily show error message
gitweb: Fix modifying git repositories when gitweb app is disabled
users: Fix creating users with initial set of groups
wordpress:
Don't fail setup if mysql installed but not running
Drop database user when app is uninstalled
Fix backup, restore and uninstall when db is not running
zoph:
Don't fail setup if mysql installed but not running
Don't fail with backup/restore if app is disabled
Don't redirect to setup page when app is disabled
Ensure that database server is running when setting up app
Hide configuration form when app is disabled
Restore database password to old value after restore operation
Uninstall fully so that reinstall works
: Add type hints for app init methods
: Add type hints for diagnose method
action_utils: Implement method for starting a service temporarily
actions: Fix log message when action return can't be decoded
actions: When action errors out, log a better message
app: Add ability to hide configuration form when app is disabled
app: views: Expose method to get enabled/disabled state and cache it
daemon: Added method to ensure a daemon is running in component
diagnostics: Add tests for get_results
diagnostics: Handle TypeError when copying results
locale: Update translations for Dutch
log: Don't log with in color inside actions scripts
samba: Ignore non-existent users who are in freedombox-share group
tests: functional: Refactor install/setup fixture for apps
tests: functional: Uninstall app after backup and before restore
users: Minor refactor when creating django groups
users: tests: Do not remove LDAP user when testing views
wordpress: Fix minor issue in restoring database
wordpress: tests: Uninstall app after backup and before restore
backups: tests: Don't use pytest marks on fixtures
container: Fix issue with missing make command on stable image
daemon: Add new component for daemons shared across apps
firewalld: Implement force upgrading to any 2.x versions
gitweb, users: Minor fixes for newer pycodestyle
locale: Update translations for German
pyproject.toml: Exclude the build directory from mypy checks
setup: Ensure that apt is updated before checking force upgrade
setup: Ensure that force upgrade won't run when app is not installed
setup: Minor refactoring of force upgrader class instantiation
setup: Try force upgrade before running app setup
tests: Patch apps_init for enable/disable daemon test
tor: tests: Convert to pytest style tests from class based tests
tor: tests: Fix issue with pytest 8.x versions
wordpress: Add shared daemon component for mariadb/mysql
zoph: Add shared daemon component for mariadb/mysql
locale: Update translations for Albanian, Chinese (Simplified), German, Spanish, Swedish, Telugu, Turkish, Ukrainian
: Introduce make file based build, eliminate setup.py
Makefile: Move most of the provision process into build system
Makefile: Move various tests into build system
actions: Drop legacy placeholders for unused actions
d/copyright: Update copyright year
debian: Remove lintian override for init script
doc: Install man1 page using Makefile
doc: dev: Update all references to setup.py
help: tests: Run tests using doc in current dir instead of /usr
pyproject.toml: Move project meta data from setup.py
diagnostics: Add option to toggle daily run
zoph: Fix failing PHP configuration requirements
diagnostics: Add parameters to DiagnosticCheck
diagnostics: Add method to translate checks
diagnostics: Translate descriptions only in view
diagnostics: Store results of full run in database
diagnostics: Simplify getting translated description in results
diagnostics: Safely access results when showing notification
diagnostics: Fix a potential iteration of None value in error cases
glib: Change API for repeating an in-thread scheduled task
locale: Update translations for Chinese (Simplified), French, Spanish, Swedish, Turkish, Ukrainian
locale: Add translation for Belarusian
storage: Show notification when rootfs is read-only
locale: Update translation for Dutch
tests: operation: Fix mock has_calls assertion
locale: Update translations for Chinese (Simplified), Czech, Spanish, Swedish, Turkish, Ukrainian
backups: Don't leave services stopped if backup fails
coturn: Fix incorrectly passing transport argument to STUN URIs
apache: tests: Update to use DiagnosticCheck class
app: Update diagnose() docstring
datetime: Fix diagnostic test for checking NTP server sync
diagnostics: Add shortcut to re-run setup for app
ejabberd: Update old STUN URIs to remove 'transport' parameter
email: Increase the size of the message to 100MiB
locale: Update translations for Albanian, German, Spanish, Turkish, Ukrainian
matrixsynapse: Update old STUN URIs to remove 'transport' parameter
operation: Fix issue with re-running setup when it fails first time
tests: functional: Run tests on two app servers
backup: Fix bug in adding existing unencrypted backup location
diagnostics: Run daily check and notify on failures
email: Fix issue with install caused by missing drop-in config file
kiwix: Add app for Kiwix offline Wikipedia reader
upgrades: Allow matrix-synapse to be installed from bookworm
db: Serialize most of the database queries using locks
diagnostics: Add DiagnosticCheck dataclass
diagnostics: Refactor background diagnostics task
diagnostics: Refactor check IDs, tests and background checks
glib: Add a jitter to the interval by default when scheduling tasks
glib: Refactor schedule debugging in a central place
kiwix: Do not require login to access the app
kiwix: Drop unnecessary file in /etc/plinth/modules-enabled
kiwix: Fix various issues after review
locale: Update translations for Arabic, Czech, Dutch, German, Hindi, Spanish, Swedish, Telugu, Turkish, Ukrainian
matrix-synapse: Update warning on how to change domain name
operation: Add unique ID for each operation
: Fix all typing hint related errors
development: Make passing mypy checks mandatory
development: Perform backports tests on bookworm instead of bullseye
ikiwiki: Disable discussion pages by default for new wiki/blog
locale: Update translations for Bulgarian
middleware: Add new middleware to handle common errors like DB busy
upgrades: Fix detecting apt over tor during upgrade
wordpress: Use absolute path in service file
locale: Update translations for Czech, Dutch, Spanish, Swedish, Turkish, Ukrainian
openvpn: Renew server/client certificates
openvpn: Correctly set expiry of server/client certs to 10 years
backups: Remove use of length_is template function
django: Remove use of X-XSS-Protection header
locale: Update translations for Czech, Norwegian Bokmål, Swedish
networks, samba: Fix tests setting firewall zone
openvpn: Ensure that re-running setup works as expected
openvpn: Fix app not installing on Debian testing
openvpn: Minor refactoring in setting up easy-rsa
openvpn: Use config file instead of env vars for easy-rsa
sso: Switch to django-axes >= 5.0
sso: Use POST method for logout
users, networks: Use the autofocus HTML attribute sparingly
debian: Add Swedish translation for debconf
locale: Update translations for Dutch, German, Spanish, Turkish, Ukrainian
app: Implement advanced option to rerun app setup
torproxy: Add separate app for Tor Proxy
upgrades: Use codename in apt preferences
HACKING: Add instructions for container on Raspberry Pi
bepasty: Don't enable app when setup is rerun
bind: Don't enable app when setup is rerun
ci: Add mypy static type check
container: Add support for retrieving GPG keys using wget
container: Update for bookworm images
deluge: Don't enable app when setup is rerun
ejabberd: Don't enable app when setup is rerun
firewall: Add diagnostic check for backend
firewall: Add diagnostic check for passthroughs
firewall: Add diagnostic for default zone
gitweb: Don't enable app when setup is rerun
ikiwiki: Don't enable app when setup is rerun
infinoted: Don't enable app when setup is rerun
janus: Don't enable app when setup is rerun
jsxc: Don't enable app when setup is rerun
kvstore: Optionally, don't throw exception when deleting key
locale: Update translations for Dutch
mediawiki: Don't enable app when setup is rerun
minetest: Don't enable app when setup is rerun
openvpn: Don't enable app when setup is rerun
performance: Don't enable app when setup is rerun
privoxy: Don't enable app when setup is rerun
quassel: Don't enable app when setup is rerun
radicale: Don't enable app when setup is rerun
rssbridge: Don't enable app when setup is rerun
shaarli: Don't enable app when setup is rerun
sharing: Don't enable app when setup is rerun
tor, torproxy: Export settings from old to new app
tor, torproxy: Update description for info on services provided
tor: tests: Make functional test check for running service
ttrss: Don't enable app when setup is rerun
upgrades: Use codename for unattended-upgrades origin pattern
users: Add diagnostic checks for nsswitch config
users: Add diagnostics check for nslcd config
wireguard: Don't enable app when setup is rerun
zoph: Don't enable app when setup is rerun
container: Add support for ARM64 containers
HACKING: Instructions for macOS on Apple Silicon
locale: Update translations for German, Spanish, Turkish, Ukrainian
packages: Purge packages on uninstall
gitweb: Fix issue with service startup when gitweb is not enabled
mediawiki: Increment version to run update.php automatically
deluge: Utilize purging of packages and don't remove explicitly
locale: Update translations for Czech, Dutch, Spanish, Turkish, Ukrainian
mediawiki: Utilize purging of packages and don't remove explicitly
roundcube: Clarify description for local mail only option
samba: Remove additional configuration files on uninstall
searx: Fix typo in method name
shaarli: Utilize purging of packages and don't remove explicitly
uninstall: Remove experimental warning
: Fix icons not present in the generated .deb
shadowsocksserver: Add separate app for Shadowsocks server
apache: Fix failure during app update
apache: Use drop-in config component for /etc files
bepasty: Use drop-in config component for /etc files
calibre: Use drop-in config component for /etc files
cockpit: Use drop-in config component for /etc files
config: Add new component for managing drop-in /etc/ config files
debian/install: Add new place in /usr to keep drop-in config files
deluge: Use drop-in config comonents for /etc files
ejabberd: Use drop-in config component for /etc files
email: Use drop-in config component for /etc files
gitweb: Use drop-in config component for /etc files
i2p: Use drop-in config component for /etc files
ikiwiki: Use drop-in config component for /etc files
janus: Use drop-in config component for /etc files
letsencrypt: Use drop-in config component for /etc files
matrixsynapse: Use drop-in config component for /etc files
mediawiki: Use drop-in config component for /etc files
minidlna: Use drop-in config component for /etc files
networks: Use drop-in config component for /etc files
pagekite: Drop the config file for forcing use of Debian certs
privacy: Use drop-in config component for /etc files
radicale: Use drop-in config component for /etc files
roundcube: Use drop-in config component for /etc files
rssbridge: Use drop-in config component for /etc files
searx: Use drop-in config component for /etc files
security: Use drop-in config component for /etc files
sharing: Use drop-in config component for /etc files
ssh: Use drop-in config component for /etc files
sso: Use drop-in config component for /etc files
syncthing: Use drop-in config component for /etc files
transmission: Use drop-in config component for /etc files
ttrss: Use drop-in config component for /etc files
upgrades: Use drop-in config component for /etc files
users: Use drop-in config component for /etc files
wordpress: Use drop-in config component for /etc files
: Move modules-enabled files to /usr/share
locale: Update translations for Dutch, Portuguese, Spanish, Turkish, Ukrainian
doc/dev: Set language code explicitly in Sphinx configuration
gitweb: Disable gpg signing in tests
transmission: Allow remote UIs to connect
ttrss: Allow apps to use /tt-rss URL instead of separate one
apache: Reload apache using component if config changes
debian: Follows policy v4.6.2
debian: Update copyright years
doc/dev: Update copyright year
help: Add information on obtaining source code
locale: Update translations for Japanese
mediawiki: Make a utility method public
mediawiki: Make retrieving list of supported languages robust
mediawiki: Simplify retrieving the default language
minidlna: Resize icon and export to PNG also
service: Remove reference to managed_services in a message
storage: Handle mount error properly
theme: Move icons to app folders
tor: Check if Hidden service is version 3
tor: Only diagnose relay ports if feature enabled
tor: Rename Hidden service to Onion service
transmission: Add Tremotesf to list of client apps
ttrss: Don't show app in enabled list of apps if install fails
ttrss: Update list of clients
ttrss: Use the apache component to restart apache on config change
uninstall: Fix issue with uninstall of apps that have no backup
zoph: Don't fail at showing app view during uninstall
upgrades: Check apt result during dist-upgrade
locale: Update translations for Bulgarian, Ukrainian
coturn: Prevent package removal when roundcube is uninstalled
datetime: Re-implement backup/restore for timezone
gitweb: Disable snapshot feature
HACKING: Force pip to install packages to system environment
bepasty: When uninstalling, remove all data and configuration
calibre: Remove libraries during uninstallation
ci: Force pip install for functional tests
coturn: When uninstalling, remove all data and configuration
datetime: Use unique component ID for related daemon
deluge: When uninstalling, remove all data and configuration
gitweb: When uninstalling, remove all data and configuration, remove repositories
gitweb: Make globally configured features overridable per-repository
gitweb: Simplify handling shortcut for front page
ikiwiki: When uninstalling, remove all data and configuration
infinoted: When uninstalling, remove all data and configuration
locale: Update translations for Bulgarian, French, Ukrainian
matrixsynapse: When uninstalling, remove all data and configuration
mediawiki: When uninstalling, remove all data and configuration
mediawiki: Fix broken view on Bullseye due to language selection
openvpn: When uninstalling, remove all data and configuration
roundcube: When uninstalling, remove all data and configuration
rssbridge: When uninstalling, remove all data and configuration
samba: When uninstalling, remove all data and configuration
searx: When uninstalling, remove all data and configuration
searx: Simplify handling shortcut for front page
shaarli: When uninstalling, remove all data and configuration
shadowsocks: When uninstalling, remove all data and configuration
sharing: When uninstalling, remove all data and configuration
syncthing: When uninstalling, remove all data and configuration
syncthing: Remove unused pathlib import so job code-quality can pass
tests: Don't error during collection if selenium is not installed
tests: functional: Make install script work for Bullseye
tests: functional: Remove handling for custom enable/disable buttons
tests: functional: Update detecting page changes
tor: When uninstalling, remove all data and configuration
ttrss: When uninstalling, remove all data and configuration
upgrades: Check apt result during dist-upgrade
wordpress: When uninstalling, remove all data and configuration
coturn: Prevent package removal when roundcube is uninstalled
datetime: Re-implement backup/restore for timezone
gitweb: Disable snapshot feature
gitweb: Make globally configured features overridable per-repository
locale: Update translations for Bulgarian, French
matrixsynapse: Add token based registration verification
mediawiki: Allow setting site language code
container: Fix resizing disk image containing multiple partitions
container: Force pip to install packages to system environment
container: Increase wait time to accommodate slower architectures
locale: Update translations for Bulgarian
tests: functional: Fix setting first ethernet connection as internal
/etc/issue: Update message to reflect that all users can login
ci: Force pip to install packages to system environment
datetime: Use timedatectl to read current timezone
samba: Make sure shares are not accessible from the internet
ttrss: Fix failing backup
mediawiki: Fix app view error
locale: Update translations for Albanian, Bulgarian, Czech, Dutch, German, Spanish, Swedish, Turkish, Ukrainian
samba: tests: Fix enable share view test
ejabberd: Fix making call connections when using TURN
matrixsynapse: Disable verification to fix public registrations
snapshot: Fix issue with snapshot rollbacks
app: Add backup and restore menu items to toolbar menu
backups: Allow selecting a single app from URL when creating backup
config: Drop RuntimeMaxUse=5% for journal logging
dynamicdns: Skip uninstall test
ejabberd: Add Monal and Siskin for iOS and remove ChatSecure
email: Redirect to the app page if roundcube isn't installed
ikiwiki: Re-run setup for each site after restore
locale: Update translations for Bulgarian, Spanish
matrixsynapse: Minor refactor in getting/setting public registrations
matrixsynapse: Add python3-psycopg2 to packages
matrixsynapse: Use yaml.safe_load
searx: Add libjs-bootstrap to packages
snapshot: Fix mounting /.snapshots subvolume and use automounting
templates: Show better title for 404 page
uninstall: Fix spelling in warning message
vagrant: Drop unnecessary script that deletes sqlite file
vagrant: Hide the vagrant-script directory
vagrant: Mount source in /freedombox instead of /vagrant
vagrant: Switch to /freedombox before running service with alias
config: Fix showing the value of the default home page
email: Revert workaround for error on finishing uninstall
firewalld: Allow upgrade to version 2*
gitweb: tests: Skip tests using git when git is not installed
locale: Update translations for Bulgarian
tests: functional: Fix submitting forms with notifications present
tor: Also use Aptsources822 augeas lens
tor: Remove workaround for old Augeas bug
upgrades: Add augeas lens for Deb822 apt sources
views: Use dedicated view when showing an app with operations
locale: Update translations for Albanian, Bulgarian
ssh: Add sudo to allowed groups
upgrades: Stop quassel during dist upgrade
package: Don't uninstall packages that are in use by other apps
tor: Add onion location to apache
email: Workaround an issue with error on finishing uninstall
gitweb: Run git commands as a web user
janus: Allow upgrade to 1.1
locale: Update translations for Galician, Spanish
operation: tests: Fix warning when test helpers start with 'Test'
zoph: Add explicit dependency on default-mysql-server
minidlna: Fix incorrect marking for firewall local protection
zoph, wordpress: Add conflicts on libpam-tmpdir
container: Drop free tag from image URLs
d/control: Don't recommend libpam-tmpdir
locale: Update translations for Bulgarian, Chinese (Simplified), Czech, Dutch, German, Turkish, Ukrainian
package, email: Move conflicting package removal to framework
snapshot: Fix showing unsupported message on non-btrfs filesystems
tests: functional: Set timeout to 3 hours
upgrades: dist-upgrade: Don't change apt security line
users: tests: Fix privileged tests
wordpress: Redirect Webfinger queries
ejabberd: Enable mod_http_upload
security: Remove restricted access setting and configuration
ssh: Restrict logins to groups root, admin and freedombox-ssh
calibre: Add protection to local service using firewall
deluge: Add protection to local service using firewall
email: Add protection to local service using firewall
firewall: Create a mechanism for protecting local services
firewall: Introduce component for local service protection
i2p: Add protection to local service using firewall
i2p: Remove donation URL that is no longer available
minidlna: Add protection to local service using firewall
searx: Ensure that socket is only reachable by Apache and root
ssh: Add checkbox to remove login group restrictions
syncthing: Add protection to local service using firewall
transmission: Add protection to local service using firewall
email: Add fail2ban jail for dovecot
email: Fix creation of aliases for security@ and usenet@
locale: Update translations for Bulgarian, French, German, Norwegian Bokmål
debian/lintian-overrides: Fix mismatch patterns and new messages
minetest: Handle upgrade from 5.3.0 to 5.6.1
storage: Drop skip_recommends
upgrades: Add documentation link to upgrades service file
upgrades: Update list of holds during dist upgrade
letsencrypt: Fix regression with comparing certificate
rssbridge: Add option to allow public access
locale: Update translations for Bulgarian, Hungarian, Swedish
storage: Handle file systems on non-physical devices
upgrades: Allow FreedomBox vendor when adding backports
upgrades: Skip unattended-upgrade in dist-upgrade
debian: tests: Fix PYTHONPATH
locale: Update translations for Bulgarian, Chinese (Simplified), Czech, Dutch, Turkish, Ukrainian
privacy: Remove unused import, fix pipeline
privacy: Add new system app for popularity-contest
matrix: Add fail2ban jail
: Use privileged decorator for actions
action_utils: Drop support for non-systemd environments
action_utils: Drop unused progress requests from apt-get
actions: Allow actions to be called by other users
actions: Allow nested and top-level actions
actions: Drop unused superuser_run and related methods
actions: Implement getting raw output from the process
actions: Use separate IPC for communicating results
apache: Fix logs still going into /var/log files
bind: Drop enabling DNSSEC (deprecated) as it is always enabled
config: Drop ability to set hostname on systems without systemd
config: Drop legacy migration of Apache homepage settings
fail2ban: Make fail2ban log to journald
firewall: Drop showing running status
locale: Update translations for Albanian, Czech, Norwegian Bokmål, Russian, Swedish, Ukrainian
minidlna: Use the exposed URL for diagnostic test
openvpn: Drop RSA to ECC migration code and two-step setup
privacy: Set vendor as FreedomBox for dpkg and popularity-contest
searx: Show status of public access irrespective of enabled state
templates: Update HTML meta tags for better description and app-name
tests: Add fixture to help in testing privileged actions
wordpress: Update fail2ban filter
locale: Update translations for Bulgarian, Ukrainian
notification: Don't fail when formatting message strings
janus: Enable systemd sandboxing
locale: Update translations for Albanian, Bulgarian, Czech, Danish, Dutch, French, German, Greek, Hungarian, Indonesian, Italian, Latvian, Lithuanian, Norwegian Bokmål, Persian, Polish, Portuguese, Russian, Serbian, Slovenian, Spanish, Swedish, Turkish, Ukrainian
mediawiki: Add powered by freedombox logo
wordpress: Add fail2ban filter and jail
wordpress: Disable readme.html, xmlrpc.php, wp-cron.php
matrixsynapse: Allow matrix-synapse >= 1.65 to install successfully
backups: Use generic form template for create and schedule views
backups: tests: functional: Find forms more accurately
bepasty: Use generic form template for add password view
bepasty: tests: functional: Minor refactor for form submission
calibre: tests: functional: Find forms more specifically
d/maintscript: remove tahoe and mldonkey apache conf files
debian: Add Italian debconf translation
ejabberd: tests: functional: Ensure jsxc is installed
firewall: Allow upgrade from any version to 1.2.*
first_boot: tests: functional: Find form more specifically
gitweb: Fix issue with page not refreshing during uninstall
gitweb: Use generic form template for create/edit repository
gitweb: tests: functional: Find forms more accurately
ikiwiki: tests: functional: Find forms more accurately
locale: Update translations for Chinese (Simplified), Czech, French, Italian, Turkish
samba: Ignore mounted files when listing mounts
samba: Update client apps information
shaarli: tests: functional: Specify setup form submission button
sharing: tests: functional: Find forms more accurately
snapshot: tests: functional: Minor refactoring for form submission
sso: tests: functional: Find forms more accurately
templates: form: Specify a form class for use with functional tests
tests: functional: Assert app is not installed after uninstallation
tests: functional: Force specifying form to submit more accurately
tests: functional: Wait for installation to complete fully
users: tests: functional: Find forms more accurately
version: Compare Debian package version numbers
wordpress: tests: functional: Find forms more specifically
zoph: tests: functional: Simplify finding the form to submit
jsxc: Allow disabling the app
app: Add a menu item to trigger uninstallation
app: Add API to uninstall an app
avahi: Don't disable after tests
backups: Use AppView for the main app page
container: Display help message when no args are passed
container: Show default values in command help
d/control: Break ufw as we use firewalld
debian: Update Spanish translation template
diagnostics: Use AppView for app page
ejabberd: Set hostname for test that relies on it
forms: Implement form for uninstallation
janus: Convert action to privileged
janus: Handle upgrades to 1.0.*
letsencrypt: Use AppView for app page
locale: Update translations for Bulgarian, Chinese (Simplified), Czech, French, German, Spanish, Turkish, Ukrainian
names: Use AppView for app page
networks: Use AppView for app page
operation: Factor out template code into a separate file
operation: Show operations on app page in addition to setup page
package: Implement low-level methods for uninstalling
package: Implement uninstall in Package component
power: Use AppView for app page
security: Use AppView for app page
setup: Drop check for already running operation
setup: Implement operation to uninstall an app
snapshot: Use AppView for app page
tests: Make functional.is_available check faster
tests: functional: Add install/uninstall test for all apps
tor: Use AppView and Operation for app page
ttrss: Add donation url
upgrades: Add button to test dist-upgrade in development mode
upgrades: Hold janus during dist-upgrade
views: Implement a view to uninstall an app
networks: Remove DNSSEC diagnostics
setup: Allow starting installation when package manager is busy
setup: Fix issue with immediate refresh after installation
: Add setup method on all apps that don't have it
: Drop module level app property
: Make force upgrading part of app rather than a module
: Make setup method part of App class for all apps
app: Drop optimization that skips setup process
backups: tests: Mark need for Django database during API tests
container: Add IdentitiesOnly option to SSH
container: Ignore flake8 error 'line too long' in bash script text
coturn: Fix link to ejabberd in description
doc: dev: Document previously undocumented components
ejabberd: Fix showing the status messages
locale: Update translations for Bulgarian, Czech, Dutch, French, German, Turkish, Ukrainian
matrixsynapse: Fix showing the status messages
notification: Pass full context when rendering body template
operation: Add module to manage threaded operations
package: Run installation operation using app_id instead of module
setup: Drop setup_helper and use the new Operation API
sharing: Add installing and enable/disable like other apps
sharing: tests: functional: Fix a flaky test by waiting
ssh: tests: functional: Keep service enabled after tests
storage: Fix enumerating partitions without mount points
help: Add "How can I help?" section to Contribute page
locale: Update translations for Chinese (Simplified), Dutch, French, German, Turkish
wordpress: Don't install php-ssh2
cockpit: Reconfigure to allow any origin
rssbridge: New app to generate RSS feeds for websites
apache: Also configure to serve on /freedombox
apache: Merge old configuration files into a better location
apache: Redirect all logs to systemd journal
cockpit: Depend on apache and setup after it
cockpit: Use decorator for privileged actions
config: Add option to set logging mode: none/volatile/persistent
config: Set volatile logging by default
debian: Follows policy version 4.6.1
debian: Update copyright year
gitweb: Switch default branch name to main for new repositories
janus: Change short description to "Video Room"
locale: Update translations for Bulgarian, Chinese (Simplified), French, Russian, Ukrainian
privoxy: Restrict to private IPs, prevent access over the internet
privoxy: Use privileged decorator for actions
roundcube: Add fail2ban jail
roundcube: Configure to log to journald
roundcube: Use privileged to simplify actions
rssbridge: Add functional tests
rssbridge: Fix flake8 errors
rssbridge: Whitelist all bridges by default
backups: Add options to keep sshfs shares responsive
backups: Unmount repositories before and after backup
users: create home directories for newly created users
: pylint: Avoid calling super() with arguments
: pylint: Don't inherit from 'object'
: pylint: Drop unnecessary 'pass' statements
: pylint: Explicitly specify encoding when open a file
: pylint: Suppress unused argument warnings
ci: Use compatible versions of Selenium and Splinter
locale: Update translations for Bulgarian, Russian, Ukrainian
mediawiki: Add regex validator to the domain field
mediawiki: Remove Buster specific code not needed in Bullseye
mediawiki: Remove wgLogo as it is not needed in Bullseye
pyproject.toml: Ignore some refactoring messages with pylint
static: js: css: Make multiple select fields work with Django 4.0
tests: functional: Simplify GitLabCI configuration
upgrades: Hold packages one at a time
upgrades: Re-add workaround for grub
views: Add a comment about change in Django 4.0
matrixsynapse: Allow new dependency to be installed from backports
locale: Update translations for Bulgarian, Chinese (Simplified), Czech, Dutch, German, Turkish
actions: Note that privileged actions can't output to stdout
mumble: Backup/restore the configuration file
mumble: Don't set the root channel name unless it is changed
mumble: Use privileged decorator for superuser actions
mumble: tests: Add functional tests for setting the passwords
ejabberd: Allow domains to be added or removed
mumble: Allow setting a password that is required to join the server
mediawiki: Add option to change the site name
actions: Add a decorator for marking superuser actions
doc: dev: Use and recommend new privileged actions
ejabberd: Automatically use coturn
janus: Improve description about coturn
locale: Update translations for Bulgarian, Chinese (Simplified), Czech, Dutch, French, German, Russian, Turkish
tests: Add a dummy parameter for middlewares for Django 4.0
translation: Don't use session for storing lang pref in Django 4.0
transmission: Simplify actions using the privileged decorator
users: Fix deleting user LDAP entry with Django 4.0
email: Make app available for all users (even without advanced flag)
janus: Add new app for lightweight WebRTC server
wordpress: Allow installing/updating plugins and themes
email: Add description about ISP and domain limitations
locale: Added Latvian translation
locale: Update translation for Bulgarian, Chinese (Simplified), Czech, Dutch, German, Russian, Swedish, Turkish
mumble: Allow changing root channel name
tests: functional: Add jobs for bullseye-backports
tests: functional: Integrate into Salsa CI
transmission: Add redirects to avoid 409 conflict
wordpress: tests: Continue past language selection screen
wordpress: tests: Fix writing title for new post in newer versions
: Show Learn More... links in frontpage with description
mediawiki: Serve hidden service over http for .onion domains
apache: Allow URL diagnostics to work with redirects
firewall: Show service name in port forwarding info table
frontpage: Allow showing links to manual pages
frontpage: Reuse app header template for showing app description
locale: Update translations for Bulgarian, Chinese (Simplified), Czech, Dutch, French, German, Norwegian Bokmål, Turkish
mediawiki: Add stricter sandbox rules for jobrunner service
mediawiki: Fix URL diagnostics with redirects involved
ssh, bind: Show 'Learn More...' links
tor: Show port forwarding information in consistent way
tt-rss: Fix description about user access
email: Fix userdb lookups with LDAP
matrixsynapse: Allow new dependencies to be installed from backports
HACKING: Improve documentation on how to run tests
container: Show executed commands when setting up/running tests
locale: Update translations for Bulgarian, Danish, French, Hungarian, Norwegian Bokmål, Polish, Russian, Ukrainian
mediawiki: Check if admin password is at least 10 characters long
mediawiki: Handle password rejection from MediaWiki
samba: Fix functional tests when user is not logged in at start
tests: functional: Get rid of dependency on xvfb
transmission: Improve description
locale: Update translations for Bulgarian, Czech, Dutch, German, Greek, Russian, Swedish, Turkish
sharing: Allow spaces in path strings
minetest: Allow alternate name for 3d armor mod
upgrades: Use python3-typing-extensions from bullseye-backports
calibre: Fix description of allowable library names
locale: Add new Arabic translation
locale: Update translations for Arabic, Bulgarian, Czech, Dutch, French, German, Hungarian, Turkish
plinth: Add forum link to footer
network: Fix showing wifi connection
calibre: explain correct name format for new library
ikiwiki: add packages that are necessary
locale: Updated translations for Chinese (Simplified), French, Russian
upgrades: Allow backports from src:freedombox
locale: Update translations for French, Hungarian, Spanish
locale: Update translations for Bulgarian, Chinese (Simplified), Czech, Dutch, German, Turkish
email: Enable as an advanced app
dynamicdns: Fix adding null domain into configuration
email: Add backup/restore component
email: Add basic functional tests
email: Add front page shortcut, update name and description
email: Add more special-use IMAP folders, set autoexpunge to 60days
email: Add shortcut for non-admin users to manage their aliases
email: Add various documentation links for future readability
email: Allow re-running setup
email: Backup/restore aliases and mailboxes
email: Depend on and run redis server
email: Implement adding common aliases for first admin user
email: List all listening ports of the daemons
email: Narrowly match just rspamd's spam header
email: Open firewall port for managesieve protocol
email: Revert to LDAP auth as pam does not allow non-admin users
email: Set an icon from Tango project
email: Setup rspamd configuration to include FreedomBox config
email: Tweak client auto-configuration file
email: Update donation URL to rspamd donation URL
email: aliases: Drop ability to enable/disable aliases
email: clients: Make Thunderbird URLs language independent
email: dkim: Implement setting up DKIM signing keys
email: dns: Show table for desired DNS entries
email: postfix: Fix priority for authentication directives
email: postfix: use inline map for TLS SNI maps
email: rspamd: Log to journald via syslog
email: rspamd: Simplify installing configuration
locale: Update translations for Bulgarian, Chinese (Simplified), Czech, Dutch, German, Hungarian, Russian, Swedish, Telugu, Turkish, Ukrainian
minidlna: add iOS VLC client
samba: add iOS VLC client
dynamicdns: Replace ez-ipupdate
Drop NAT detection as it is no longer used
Drop about page and merge into description
Drop tabs and use single page
Rewrite configuration handling and update using URL
app: Add component to store enabled state of an app in kvstore
backups: Implement backup/restore of key/value settings
locale: Update translations for Albanian, Bulgarian, Chinese (Simplified), Czech, Dutch, German, Hungarian, Russian, Spanish, Swedish, Turkish, Ukrainian
minetest: Reduce the number of configuration update messages
tests: functional: Add plugin for HTML reports
tt-rss: Restrict access to feed-reader
group in "/tt-rss-app"
users: Fix typo in description
coturn: Use wildcard listening address to fix startup issues
sso, users: Redirect to home page after logout
apache: Don't redirect to HTTPS for .onion domains
apache: Don't set HSTS for .onion domain
cockpit: Explicitly redirect to HTTPS as needed for WebSockets
doc: Fail when downloading images from Debian wiki fails
email_server: Drop showing diagnostics/repair and roundcube config
email_server: Drop some unused code
locale: Update translations for Bulgarian, Dutch, French, German, Hungarian, Russian, Swedish, Ukrainian
matrixsynapse: Add FluffyChat to client list
mldonkey: Drop app not available in Debian Bullseye and Bookworm
power: Add a link to power app in the system menu
roundcube: Add setting for local connection only
shaarli: Add android app to description
shaarli: Add backup component
shaarli: Add functional tests
snapshots: Clarify that snapshots are take during updates too
tests: functional: Implement a workaround for issue with screenshots
users: Clarify help message for authorization password
wireguard: tests: Add functional tests
upgrades: Allow matrix's new dependency to be installed
sso: Adjust URL to CAPTCHA page needed by Django security fix
container: Avoid a warning that interactive mode is intended
help: tests: Fix functional test to check for status logs
locale: Update translations for Chinese (Simplified), Czech, Dutch, German, Hungarian, Turkish
sso: Add missing captcha/rate limiting on SSO login
tests: functional: Fix setting domain name with active notifications
tt-rss: Allow published articles to be publicly available
debian, setup.py: Add dependency on python3-tomli
help: Fix failing setup when manual directory is not available
backups: Correct spelling of encryption protocols
i2p: Fix grammar in description
ikiwiki: Initialize shortcuts during post-init setup
locale: Update translations for Chinese (Simplified), Czech, Dutch, German, Hungarian, Italian, Swedish, Turkish
mumble: Change description to include iOS client app
networks: Fix reference to an option
openvpn: Add link to IOS app
radicale: Update Thunderbird URLs
transmission: Fix capitalization
wireguard: Fix spelling
package: Add diagnostic to check if a package is the latest version
backups: Capitalize 'SSH' in template
config, upgrades: Specify submit button for tests
datetime: Explicitly list systemd-timesyncd as a dependency
locale: Update translations for Chinese (Traditional), Czech, Dutch, Hungarian, Norwegian Bokmål, Spanish, Swedish
storage: Skip tests if not enough disk space is available
upgrades: Relabel from 'Update' to 'Software Update'
datetime: Fix checking when timesyncd will run on a system
cockpit, ejabberd: Make 'name' optional in Signal handlers
diaspora: Drop app that was never finished
email_server:
Adjust TLS configuration parameters
Fix issue with handling domain removal
Include postfix package in packages list
Re-implement TLS configuration
Rename dovecot TLS configuration file for consistency
letsencrypt: Handle cert setup when an app wants all domains
locale: Update translations for Chinese (Simplified), Chinese (Traditional), Czech, French, German, Swedish, Turkish
monkeysphere, tahoe-lafs: Drop unused apps
roundcube: Allow upgrades by avoiding configuration file change
tests: Fix app name in pytest.skip statement
tests: functional: Skip MLDonkey app
upgrades: Cleanup dist upgrade steps specific to bullseye release
upgrades: Refactor dist upgrade process
dynamicdns: Update URLs to the new dynamic DNS server
firewall: Allow configuration upgrade to version 1.0.x
shaarli: Enable app (only available in testing and unstable)
: Drop module level depends declaration
: Drop module level package_conflicts and use component API
: Drop unused manual_page at module level
: Drop use of managed_packages and rely on Packages component
: Drop use of managed_services, rely on Daemon component
: Drop use of module level is_essential flag
: Drop use of module level version
: Drop use of unnecessary managed_paths
: Use the App's state management API
actions/letsencrypt: Drop use of managed_paths and use LE component
actions/service: Drop unused list action
actions/service: Drop use of managed_services for Daemon component
actions: Get list of packages from Packages components
app: Introduce API for managing setup state of the app
app: Introduce API to setup an app
bind: Drop alias handling unnecessary in >= Bullseye
daemon: Add new component to hold information about related daemons
doc/dev: Drop discussion on managed_paths
doc/dev: Drop reference to module level depends declaration
doc/dev: Remove mention of managed_services
doc/dev: Remove outdated reference to init() at module level
doc/dev: Update documentation to not refer to managed_packages
email_server: Merge domain configuration with app view
email_server: Simplify domain configuration form
first_boot: Drop use of loaded_modules and use App.list
forms: Fix regression with TLS domain form in quassel and tt-rss
letsencrypt: On domain removal, don't revoke certificate, keep it
locale: Update translations for Czech, German, Norwegian Bokmål
main: List apps instead of modules
middleware, views: Reduce use of setup_helper
module_loader, app: Move app init to app module
package: Add parameter to specify skipping package recommendations
package: Implement installing packages in the component
package: Introduce component API for package conflicts
packages: Move checking for unavailable packages to component
security: Drop use of loaded_modules and use App.list
security: Drop use of managed_services in security report
security: Get the list of packages from Packages component
setup: Drop unused API for app's state management
setup: List dependencies for apps instead of modules
setup: Run setup on apps instead of modules
setup: Use apps instead of modules to determine running first setup
setup: Work on apps instead of modules for force upgrade
tests: Add 'domain' mark for apps that add/remove domains
web_server: Drop use of loaded_modules and use App.list
config: Add packages component to a re-add zram-tools dependency
tt-rss: Allow selection of a domain name
: Split app initialization from app construction
app: Introduce separate method for post initialization operations
datetime: Avoid error when systemctl is not available
debian: Fail build if no module dependencies found
locale: Update translations for Swedish, Turkish, Ukrainian
main: Drop initializing Django when listing dependencies
avahi, samba: Use systemd sandboxing
components: Introduce new component - Packages
security: Properly handle sandbox analysis of timer units
email_server (not enabled yet):
Add buttons for managing aliases, domains, spam
Authenticate using PAM instead of LDAP
Delivery mail to /var/mail instead of home directory
Don't use user IDs when performing lookups
Drop hash DB and use sqlite3 directly
Use Django forms and views
locale: Update translations for German, Swedish, Turkish, Ukrainian
tests: Use BaseAppTests for functional tests of most apps
utils: Fix ruamel.yaml deprecation warnings
locale: Update translations for Bulgarian, Czech, French, German, Turkish, Ukrainian
middleware: Don't show setup view to non-admin users
performance: Add backup support (no data)
storage: Pass optional mount point to partition expansion
storage: tests: Fix tests for expanding disk partitions
tests: Add BaseAppTests class for common functional tests
ttrss: Fix daemon not running sometimes on startup
: Always pass check= argument to subprocess.run()
: Convert all functional tests to python format
: Move all systemd service files from /lib to /usr
calibre: Run service only if when installed
d/control: Allow building with python interpreter of any arch
d/rules: Don't install and enable other systemd service files
d/rules: Don't use setup.py to invoke tests, invoke directly instead
email: Manage known installation conflicts
locale: Update translation for Bulgarian, Ukrainian
package: Add functions for removing packages
performance: Cleanup code meant for cockpit version < 235
pyproject.toml: Merge contents of .converagerc
pyproject.toml: Merge contents of pytest.ini
settings: Choose password hashing complexity suitable for SBCs
setup: Show and remove conflicts before installation
sso, translation: Help set language cookie when user logins in
storage: tests: functional: Fix tests always getting skipped
tests: Add some missed marks for functional tests
tests: Add tests for action utilities
tests: Improve handling of tests skipped by default
tests: help: Add help view tests
translation: Always set language cookie when switching language
ttrss: Add systemd security hardening to daemon
ttrss: tests: functional: Make subscription faster
user: Accommodate Django 3.1 change for model choice iteration
users: Help set language cookie when user profile is edited
wordpress: Run service only if when installed and configured
locale: Update translations for German, Italian, Swedish, Turkish, Ukrainian
Use Django gettext functions instead of ugettext
Use allow/denylist instead white/blacklist in comments
Use django.urls.re_path() instead of its alias url()
Various isort fixes
pyproject: Make isort consistent across execution environments
settings: Set Django auto field type explicitly
signals: Drop provider args when creating Signal object
sso: Update usage of OpenSSL crypt signing API
tests: Convert functional tests to python format
tests: Introduce fixtures to make it easy to test actions
tests: Show warning when app not available
tests: Use common fixtures for testing actions module
tests: Use newer splinter API for finding links
views: Update utility for checking URL safety
mediawiki: Backup and restore uploaded files
mediawiki: Enable a subset of default extensions
apache: Update security settings
Drop support for GnuTLS
Drop support for SSLv3, TLSv1 and TLSv1.1
Enable and prioritize HTTP/2 protocol
Setup Mozilla recommended configuration
locale: Update translations for Bulgarian, Chinese (Simplified), Dutch, Persian, Russian, Swedish, Turkish, Ukrainian
mediawiki: Handle upgrade for 1.35
mediawiki: Switch to MediaWiki 2020 logo
plinth: remove diagnose command
Add workaround for Django 3.2 with captcha 0.5.6
wordpress: New app to manage a WordPress site/blog
d/control: Drop wireless-tools as recommends
email: Basic app to manage an email server - Email server app is currently disabled by default, so it is not yet visible in the interface.
locale: Update translations for Norwegian Bokmål, Ukrainian
security: Remove display of past vulnerabilities
ttrss: Allow upgrade to version 21
locale: Update translations for Albanian, Bengali, Chinese (Simplified), German, Indonesian, Norwegian Bokmål, Ukrainian, Vietnamese
action_utils: Use flag to indicate freedombox package has been held
debian: Ensure fuse gets replaced by fuse3
locale: Add Sinhala language
locale: Add Vietnamese language
backups: Change submit button to fix translation issues
locale: Update translations for Chinese (Simplified), Chinese (Traditional), Dutch, French, German, Hungarian, Indonesian, Japanese, Portuguese, Sinhala, Swedish, Telugu, Turkish, Vietnamese
ejabberd: Add STUN/TURN configuration
locale: Add Albanian language
Update copyright year
action_utils: Introduce utility for masking services
ci: Merge with Salsa CI pipeline
config, dynamicdns, pagekite: Remove incorrect use of str
config: Convert entered domain name to lower case
config: Disable rsyslog and syslog forwarding
config: Fix tests related to user home directory
config: Install and configure zram for swap
container script: Must convert env. var. string to a Path object
container: Work in the absence of systemd in PATH
container: distribution as environment variable
coturn: Mention ejabberd in app description
coturn: Validate TURN URIs if provided in form
debian: Add coverage to autopkgtest
deluge, mldonkey, syncthing, transmission: Depend on nslcd.service
deluge: Fix daemon user not in freedombox-share group after installation
diagnostics: Use lock to protect results
docs: Add filename to code snippets in tutorial
docs: Add missing imports in tutorial
docs: Add some troubleshooting information
docs: Generate developer documentation
docs: Improve Developer Documentation index page
docs: Set the version
attribute as required instead of optional
dynamicdns: Convert entered domain name to lower case
dynamicdns: Wait after changing domain name in tests
first_boot: Use session to verify first boot welcome step
letsencrypt: Always return a diagnostics result
locale: Update translations for Albanian, Chinese (Simplified), Dutch, German, Greek, Indonesian, Polish, Spanish, Swedish, Turkish
pagekite: Convert entered kite name to lower case
security: Clarify vulnerability count and provide link to more info
security: Ensure that fail2ban is not re-enabled on version increment
security: Increment app version to reload fail2ban
security: Move fail2ban default configuration to this app
ssh, apache: Make fail2ban use systemd journald backend by default
users: Fix unit test failures when LDAP is empty
firstboot: Use session to verify first boot welcome step
locale: Update translations for German, Greek, Indonesian, Turkish
manual: Update Contributing and Matrix Synapse pages
deluge, mldonkey, syncthing, transmission: Ensure nslcd is running before the service is started
deluge: Fix daemon user not in freedombox-share group after installation
config: Fix tests related to user home directory
locale: Update translations for Dutch, German, Greek, Polish, Spanish, Swedish, Turkish
matrix-synapse: Auto configure STUN/TURN using coturn server
coturn: Add new component for usage of coturn by other apps
coturn: Minor refactor view to use utility to generate URIs
coturn: Remove advanced flag, make app visible to all
locale: Update translations for Dutch, French, German, Hungarian, Italian, Lithuanian, Norwegian Bokmål, Swedish, Turkish
matrix-synapse: Update description to talk about TURN configuration
plinth: Disable start rate limiting for service
ui: Fix buttons jumping on click in snapshots page
upgrades: Disable searx during dist-upgrade
zoph: Add new app to organize photos
Only available in Debian testing (bullseye) due to issues in buster.
locale: Update translations for Dutch, Greek, Spanish, Swedish, Turkish
sharing: Improve shares group access description
upgrades: Add 10 minute delay before apt update
upgrades: Disable apt snapshots during dist upgrade
upgrades: Only check free space bytes before dist upgrade
calibre: Fix freedombox.local inaccessible after enabling app
matrix-synapse: Install python3-psycopg2 from backports
backups: schedule: tests: Fix failures due to long test run
jsxc: Fix issues with jQuery >= 3.5.0
locale: Update translations for Bengali, Dutch, French, German, Hungarian, Italian, Polish, Russian, Spanish, Swedish, Turkish
mediawiki: Fix app installation process doesn't display status information
mediawiki: Set default logo to mediawiki.png
minidlna: Implement force upgrading from older version
minidlna: Minor refactor of media directory handling
plinth: Show running spinner when app installation is in progress
radicale: Allow older 2.x release to upgrade to 3.x
roundcube: Allow upgrade to 1.4.*
tests: Update functional tests default config
upgrades: Add notifications for dist upgrade
upgrades: Increment version for MatrixSynapse 1.26
backups: Add scheduled backups for each location
container script: Various improvements
locale: Update translations for Bulgarian, Chinese (Simplified), Chinese (Traditional), Czech, Danish, Dutch, French, Galician, German, Greek, Gujarati, Hindi, Hungarian, Italian, Lithuanian, Norwegian Bokmål, Persian, Polish, Portuguese, Russian, Serbian, Slovenian, Spanish, Swedish, Turkish, Ukrainian
networks: Change connection type to a radio button
networks: Hide deactivate/remove buttons for primary connections
networks: Prevent unintended changes to primary connection.
networks: Separate the delete button and color it differently
networks: Use radio buttons for network modes
performance: Fix web client link to Cockpit
plinth: Fix disable daemon when service alias is provided
setup: Enable essential apps that use firewall
syncthing: Create LDAP group name different from system group
syncthing: Hide unnecessary security warning
tahoe: Disable app
ui: New style for select all checkbox
upgrades: Require at least 5 GB free space for dist upgrade
apache2: Allow downloads in openvpn and backups with latest browsers
locale: Update translations for Dutch, French, German, Hungarian, Polish, Spanish, Swedish, Turkish
app: Add locked flag
app: component: Add app_id and app properties
app: info: Move client validation to info component
backups: Add new component for backup and restore
backups: Don't open a new window for downloading backups
dev-container: 'up' command: Show banner also when container is already running
dev-container: Add command to print container IP address
dev-container: Add subcommand to run tests
doc: dev: Update the tutorial to reflect latest API/code
ejabberd: functional tests: Wait until the jsxc buddy list is loaded
functional tests: Make tests compatible with pytest-bdd v4.0
functional-tests: Fix installation errors in install.sh script
gitweb: Add functional tests for git-access group
gitweb: tests: functional: Fix test failures in localized environment
mumble: Updated mumla and removed plumble from clients list
openvpn: Don't show running status on download profile button
plinth: Fix daemon is enabled check when service alias is provided
radicale: Fix backup and restore of configuration
tests: functional: Improve creating users in tests
transmission: Show port forwarding information
transmission: Update description
upgrades: Add service for dist upgrade
upgrades: Ensure freedombox package is upgraded during dist upgrade
upgrades: Hold tt-rss during dist upgrade, if available
upgrades: Install python3-systemd for unattended-upgrades
upgrades: Restart FreedomBox service at end of dist-upgrade
upgrades: Use full path to searx action script
users: Skip action script tests if LDAP is not set up
apache: Create snake oil certificate if not exists
Fixes an issue when installing FreedomBox on Hetzner Cloud's Debian image
calibre: Fix link to manual page
deluge: Require user to be in bit-torrent group to access
locale: Update translations for German, Hungarian, Polish, Russian, Spanish, Swedish
security: Fix access denied for user daemon from cron
upgrades: Allow grub-pc upgrade without reinstalling grub
upgrades: Update searx search engines during dist upgrade
users: Remove timeout when creating Samba user
config: Skip homepage test on buildd
ui: Migrate from bootstrap 3 to bootstrap 4
apache: Disallow all inline styling in sandbox settings
gitweb: Make functional tests compatible with pytest-bdd v4.0
javascript: Fix disabled submit buttons when navigating back to a page
locale: Update translations for Dutch, German, Turkish
ui: Adopt a consistent and new table style
config: Add user websites as choices for homepage config
templates: Make toggle button responsive
apache: Add app name for diagnostics
diagnostics: Improve exception handling in app diagnostics
diagnostics: Show app name and fallback to app id if not exist
locale: Update translations for Dutch, French, German, Portuguese, Spanish, Swedish, Turkish
mumble: Implement force upgrade for 1.3.*
snapshot: Check that / is a btrfs subvolume before setup
upgrades: Hold mumble-server during dist upgrade
openvpn: Create user group "vpn"
upgrades: Add first boot step to run initial update
bepasty: Apply translation to autogenerated comments
locale: Update translations for Bengali, Dutch, German, Spanish
networks: Apply translation to a tooltip
samba: Show toggle buttons and share names
snapshots: Translate snapshot types (field description)
upgrades: Fix sources list for dist upgrade from buster
upgrades: Hold freedombox package during dist upgrade
locale: Update translations for Dutch, French, German, Italian, Norwegian Bokmål, Spanish, Swedish, Turkish
sso: Fix regression in auth-pubtkt configuration
openvpn: Support Elliptic Curve Cryptography (ECC)
If you are already using OpenVPN, you can migrate to ECC to improve speed and security. Visit the OpenVPN page in the FreedomBox interface to perform the one-time migration, and to re-download the client profiles.
dynamicdns: Handle IPv6
locale: Update translations for Dutch, French, German, Italian, Spanish
openvpn: Cleanup easyrsa 2 to 3 upgrade code
openvpn: Remove explicit setup step
ci: Fix flake8 errors
debian: Rename source package to freedombox
locale: Update translations for German, Italian, Turkish
pubtkt: Fix Python format language errors
locale: Add Chinese (Traditional) translation
mediawiki: Add action to set domain name
upgrades: Add a setting to enable dist upgrade
apache: setup uwsgi by default
backups: i18n: Mark form success messages for translation
locale: Update translations for Danish, French, German, Italian, Norwegian Bokmål, Polish, Russian, Spanish, Swedish, Telugu, Turkish
mediawiki: Ensure password file is not empty
networks: css: Make button wider in network list
networks: i18n: Mark string for translation on delete page
networks: i18n: Mark various strings for translation
notifications: i18n: Mark app names and extra data for translation
package: i18n: Mark progress status strings for translation
upgrades: Disable the option when not able to dist upgrade
app: Add donation buttons on app pages
updates: Eliminate delay and better status for manual upgrade
calibre: Update group description to reflect 'using' app
diagnostics: Lazy format all diagnostic test strings properly
diagnostics: Show low system memory notifications
help: Link to updates page when new version is available
locale: Update translations for Chinese (Simplified), French, Greek, Norwegian Bokmål, Russian, Slovenian, Spanish, Swedish, Turkish
notifications: Show severity level on every notification
upgrades: Add status section showing version and upgrade status
calibre: Add new e-book library app
mumble: configure letsencrypt component
upgrades: Detect and upgrade to next stable release
bepasty: Change default permissions to 'read'
container: Assign virtual network interface to trusted firewall zone
container: Handle edge cases with container update
coturn: Don't handle certificates if not installed
debian/control: Add sshpass as build dependency
doc: Before fetching, drop all old to cleanup deleted pages/images
doc: dev: Link to list of potential apps from tutorial
dynamicdns: Drop unnecessary code to set app as enabled
locale: Update translations for French, Norwegian Bokmål, Portuguese, Spanish, Swedish, Turkish
module_loader, web_framework: Update console log messages
mumble: Store and use a single domain for TLS certificate setup
pagekite: Don't announce unconfigured kite as a valid domain
pagekite: Don't update names module if not installed
quassel: Don't handle certificates if not installed
ssh: action script: Require user credentials when editing ssh keys
tests: functional: Simplify calling the login helper
tor: Don't check if enabled when not installed
upgrades: Check free space before dist-upgrade
upgrades: Extend function to check for normal dist availability
upgrades: Set a flag so interrupted dist-upgrade can be continued
users: Deal with admin user already existing during first boot
users: Require admin credentials when creating or editing a user
cockpit: Don't show home page icon to non-admin users
locale: Update translations for French, German, Norwegian Bokmål, Russian, Turkish
minidlna: Fix typo DNLA -> DLNA
module_loader: Load/process all essential modules before others
apache: Disable mod_status (CVE-2020-25073)
bepasty: New app for file upload and sharing
matrixsynapse: Allow upgrade to version 1.19
apps: Remove Coquelicot
backups: Make app available by default
debian: Add newline to end of /var/lib/plinth/firstboot-wizard-secret
debian: Don't show first wizard secret on command line
debian: Temporarily revert source package rename
diagnostics: Prevent showing running status on diagnostics menu item
doc: Add moinmoin wiki parser
doc: Fix wiki links in manual
ejabberd, mumble, wireguard: Update Apple app links
ejabberd: Use new ruamel.yaml API and allow duplicate keys
firewall: Show port forwarding info contextually
firewall: Show port forwarding info in tabular format
gitweb: Add ability to change default branch
gitweb: Fix enable auth webserver component on app init
help, networks: Clarify i18n different contexts for "Manual"
i18n: Mark strings missed for translation
ikiwiki: Validate a path when deleting wiki or blog
js: Don't show running status on buttons pulled to right
jsxc, sharing, wireguard: Add 'Learn more...' link for help pages
locale: Update translations for Danish, Dutch, Galician, German, Hungarian, Italian, Spanish, Swedish, Russian, Turkish
matrixsynapse: Perform a one time conversion to new config format
matrixsynapse: Rename Riot to Element
matrixsynapse: Use conf.d snippets
radicale: Remove code to handle 1.x
radicale: Stop service during backup and restore
samba: Hide common system partitions
snapshots: Clarify description for disabling yearly snapshots
ssh: Disallow managing keys for the root user
storage: Fix expanding partitions on GPT partition tables
upgrades, security: Update the messages describing backports
upgrades: Add first boot step to configure backports
upgrades: Change backports activation message wording
upgrades: Display correct backports info for unstable
upgrades: security: Don't use technical term 'backports' in UI
wireguard: Remove hardcoded Windows client version
upgrades: Update apt cache before manual update
minidlna: Do not expose statistics over public web
backups: Allow remote repository usernames to start with numbers
locale: Update translations for Chinese (Simplified), Hungarian, Kannada, Norwegian Bokmål, Spanish, Swedish
security: Move backports notice to security page
upgrades: Add button to activate backports if needed for current release
debian: Rename source package from plinth to freedombox
cfg, frontpage: Ignore errors while reading config and shortcuts
locale: Update translations for French, German, and Norwegian Bokmål
apt: Recover from errors before installing apps or updating system
apache: Add strict content security policy, sandbox and other security headers
storage: Allow ejecting SATA disks
configuration: Allow changes using .d drop-in files
configuration: Move default configuration into source code
configuration: Read from multiple locations in /etc/ and /usr/share/
debian: Add ssl-cert and nscd as proper dependencies
frontpage: Allow adding shotcuts using .d drop-in files
frontpage: Read shortcuts from multiple locations in /etc/, /usr/share and /var/lib
locale: Update translations for Czech, Danish, French, German, Russian, Spanish, Swedish, Telugu, Turkish
storage: Automount system disks without partition table but ignore all loopback devices
storage: Allow ejecting SATA disks
storage: Show only physical disks and not all mount points
upgrades: Skip enabling backports on testing and unstable
upgrades: Show more logs
ui: Show a spinner and disable button on form submit
locale: Add new translation for Arabic (Saudi Arabia)
javascript: Remove use of Turbolinks library
locale: Update translations for French, Norwegian Bokmål, German, Swedish, Polish, and Spanish
matrixsynapse: Handle upgrade to versions 1.15.x
upgrades: Avoid manual update interruption when upgrading freedombox package
upgrades: Don't enable backports on Debian derivatives
pagekite: Fix expired certificates causing connection failures
tor: Fix problems with running a relay
backups: Add optional field - Name
cockpit: Promote for advanced storage/firewalld/networking ops
firewall: Don't show tun interface in internal zone warning
firewall: Mention that internal services are available over VPN
ikiwiki: Enable 'attachment' plugin by default
locale: Update translations for Spanish, French, Russian, Norwegian Bokmål, Czech, Hungarian, and Greek
minidlna: Add link to manual page
minidlna: Fix internationalization for name of the app
mldonkey: Add app to freedombox-share group
openvpn: Use app toggle button and common app view
radicale: Fix link in description to clients
samba: Add clients information
templates: Fix setup state check
users: Avoid error when user's groups cannot be parsed
performance: Add app for system monitoring
upgrades: Restart services and system when needed after upgrades
System restart will happen at 02:00 local time
bind: Add service alias for bind9 -> named
firewall: Reload firewalld so it works with newly installed services
first_setup: Fix regression with logo not showing
locale: Update translations for Norwegian Bokmål, German, Swedish, Spanish, and Russian
mediawiki: Stop jobrunner during backup/restore
minidlna: Stop service during backup/restore
mumble: Stop service during backup/restore
package: Fix error log when checking if package manager is busy
performance: Launch the Cockpit graphs directly if possible
quassel: Fix stopping service during backup/restore
quassel: Use systemd sandboxing features
samba: Change description to Network File Storage
snapshot: Fix issues with restore and delete
snapshot: Set as essential module
storage: Auto-mount disks, notify of failing disks
tor: Fix stopping service during backup/restore
syncthing: Add service to freedombox-share group
users: When adding service to sharing group, only restart if already running
datetime: Ignore time synchronization service in containers and virtual machines
minidlna: Make app installable inside unprivileged container
web_server: Suppress warnings that static directories don't exist
debian: Remove unused timer
static: Use SVG logo during first wizard welcome step
static: Reduce the size of the background noise image
setup.py: Don't install/ship .po files
static: Don't ship visual design file and unused images
all: Update links to repository and project page
coturn: Add app to manage Coturn TURN/STUN server
mediawiki: Partial fix for installing on testing
datetime: Disable diagnostics when no tests are available
data: Print hostname and IP addresses before console login
snapshot: Fix message when not available
snapshot: Fix title
mumble: Add Mumla to the list of clients
locale: Update translations for Spanish, Telugu, Russian, German, French, and Swedish
matrixsynapse: Fix initial installation and upgrade from backports
gitweb: Improve error handling when creating repository
locale: Update translations for French, Serbian, and Telugu
users: Restore line of help text that was accidentally dropped
debian: Add firmware-ath9k-htc to Recommends
gitweb: Use proper ellipsis char when showing clone progress
locale: Update translations for Norwegian Bokmål, German, French, Portuguese, Italian, Russian, and Serbian
app: Ensure toggle buttons work independently of configuration form
networks, monkeysphere: Make styling more specific to avoid interference
syncthing: Update description to mention 'syncthing' group
radicale: Support upgrade up to any 2.x version
packages: Hold freedombox package during package installs
users: Add component for managing users and groups
app: Fix grammar in developer documentation string
ikiwiki: Disable public edits of blog pages
ikiwiki: Add moderation of blog comments
firewalld: Support upgrade up to any 0.8.x version
infinoted: Fix permissions of sync directory
locale: Added Serbian translation
locale: Update translations for Russian, French, German, Czech, Italian, Hindi, Telugu, and Spanish
networks: Update label wording in topology form
jsxc: Fix issue with serving static files
debian: Separate binary packages for each language manual
locale: Update translations for Norwegian Bokmål and German
app: Fix description block in app header
pagekite: Don't signal new domain on init if app is disabled
pagekite: Don't attempt to notify about domain if app is disabled
pagekite: Remove app enabled checking from getting configuration
pagekite: On enable/disable, add/remove domain from names module
pagekite: Fix an error message in custom services form
matrixsynapse: Handle release of matrix-synapse 1.11
setup: Fix regression to force-upgrade caused by Info changes
pagekite: Don't allow non-unique custom services
index: Reintroduce clients button in front page
upgrades: Don't ship apt backport preferences file
upgrades: Use internal scheduler instead of systemd timer
shadowsocks: Change default configuration
shadowsocks: Fix incorrect setting of state directory
shadowsocks: When editing configuration, don't re-enable
mediawiki: Don't allow anonymous edits
names: Fix Local Network Domain is not shown
shadowshocks: Fix setting configuration on Buster
locale: Update translations for Swedish, Spanish, and French
apache: Handle transition to php 7.4
app: Fix showing app name in port forwarding information
apps: Do not show status block if service is running
i2p: New style app page layout
locale: Update translations for French, Telugu, Spanish, and Swedish
networks: Add first boot step for network topology wizard
networks: Add form for network topology
networks: Don't show router wizard if not behind a router
networks, firewall: Support newer version of policykit
networks: Fixes for networks wizards access and user experience
networks: If topology wizard is skipped, skip router wizard too
networks: Show router wizard before Internet connection type wizard
plinth: Increase sqlite busy timeout from default 5s to 30s
quassel: Fix unable to disable application without choosing a domain name
shadowsocks: Move user settings to state directory
storage: Directory selection form improvements
transmission: Allow to submit download directory if it is creatable
upgrades: Clean apt cache every week
views: Improve template security
apps: Update style for toggle button
apps: Drop border shadow for app icon in mobile view
apps: Show short description as secondary title
apps: Remove css filters and glow from app icons
cards: Remove the transition delay on hover effect
system: Implement new style for cards
framework: Generate secret key (existing sessions will get logged out)
framework: Cleanup expired sessions every week
networks: Add setting for internet connection type
networks: Ask about internet connection type during setup
shadowsocks: Fix shadowsocks not able to start
jsxc: Bypass issue with stronghold to get the app working again
monkeysphere: Fix regression with reading Apache configuration
help: Fix attribute on download manual button
firewall: Improve speed of some operations using DBus API
css: Add missing license identifier on some CSS files
deluge: Use safer method for editing configuration
deluge: More reliable initial configuration setup
samba: Add link to manual page
searx: Update search engines for 0.16.0
openvpn: Fix spelling for Tunnelblick
bind: Show served domains
Update translations for German, Swedish, Italian, Spanish, Norwegian Bokmål, Hungarian, Polish, and French
networks: Support virtual Ethernet (veth) devices
diagnostics: Show firewall service status
storage: Show disks if FreedomBox is running in an unprivileged container
service: Stop service not before but after disabling it
users: Use more precise username validation
sso, users: Turn off autocapitalization on the username field
help: Fix anchor hidden under navbar
searx: Fix installation issue for 0.16.0
firewall: Show Run Diagnostics button in app
glib: Introduce method to schedule an operation at regular intervals
notification: Show a drop down from main navbar for notifications
storage: Show low disk space warning using notifications API
upgrades: Show notification when FreedomBox is updated
security: Add Sandbox Coverage to report page
matrixsynapse: Enable systemd sandboxing
locale: Update translations for Telugu, French, Norwegian Bokmål, German, Spanish, and Swedish
deluge: Allow to set a download directory
deluge: Fix installation failure on slow machine
storage: Make external disk mounts accessible to other users
gitweb: Add link to the manual page
style: Fix incorrect margins for containers in mobile view
style: Fix responsiveness for app header
network: Fix activating connections that don't have real devices
wireguard: Add WireGuard VPN app
networks: Add router configuration page
networks: Add first boot step for router config helper
bind: Enable sandboxing for bind service
locale: Updated translations for Dutch, Norwegian Bokmål, German, Spanish, Swedish, French, and Greek
samba: Improve speed of actions
deluge: Manage deluged service and connect automatically from web interface
openvpn: Enable support for communication among all clients
storage: Ignore errors resizing partition during initial setup
storage: Make partition resizing work with parted 3.3
debian: Add powermgmt-base as recommended package
openvpn: Enable IPv6 for server and client outside the tunnel
networks: Fix crashing when accessing network manager D-Bus API
mediawiki: Use a mobile-friendly skin by default
mediawiki: Allow admin to set default skin
matrixsynapse: Allow upgrade to 1.8.*
security: Add explanation of sandboxing
Update translations for Greek, German, Swedish, Hungarian, Norwegian Bokmål, and French
app: Fix JavaScript doesn't run on first visit
samba: Add private shares
firewall: Support upgrading firewalld to 0.8
deluge: Add systemd sandboxing features
infinoted: Add systemd sandboxing features
storage: Add systemd sandboxing features to udiskie service
upgrades: Add systemd sandboxing features to repository setup service
security: List whether each app is sandboxed
mediawiki: Avoid delay in update script
diagnostics: Use new component based API for all diagnostic tests
minidlna: Fix showing clients information
mediawiki: Fix problem with session cache failing logins
locale: Update translations for French, German, Swedish, Greek, Hungarian, Norwegian Bokmål, and Dutch
minidlna: New app for MiniDLNA (Simple Media Server)
apps: Show app icons in app pages
apps: Implement responsive layout for app pages
samba: Recursively set open share directory permissions
transmission: Add directory selection form
mumble: Add option to set SuperUser password
cockpit: Extend apps description with access info
cockpit: Add list of valid urls to access the app
Update translations for French, German, Spanish, Portuguese, and Swedish
samba: Add new app for Samba file sharing
pagekite: Remove tabs in the configuration page
openvpn: Fix text with manual link
pagekite: Show existing services only if there are any
pagekite: Move Custom Services under Configuration
pagekite: Use the new app toggle button
openvpn: Add client apps
backups: Fix title not appearing
diagnostics: Don't run on disabled modules
apps: Remove link to webapps in app descriptions
interface: Fix error with app toggle input
templates: Add toolbar for apps
toolbar: Move diagnostics button into dropdown menu
ssh: Fix Avahi SFTP service file
diagnostics: Fix IPv6 failures
matrix-synapse: Fix installation of 1.5 from buster-backports
app: Fix javascript constant redeclaration error
ikiwiki: Move the create button to manage section
gitweb: Move create button into manage section
networks: Move actions button into connection section
users: Move create button into users section
locale: Update translations for French, German, and Swedish
gitweb: Allow to import from a remote repository
interface: Disable turbolinks on links that don't point to /plinth/...
backups: Show proper error when SSH server is not reachable
tor: Rename "Hidden Service" to "Onion Service"
ejabberd: Handle case where domain name is not set
tahoe: Mark Tahoe-LAFS as an advanced app
searx: Set safe_search to Moderate by default
backups: Make verify ssh host page string translatable
backups: Simplify SSH fingerprint verification command
doc: Fix unavailability of manual images
tor: Fix port diagnostics by correcting port data type
tor: Expect obfs service to be also available on IPv6
tor: Listen on IPv6 for OrPort
clients: implement launch button feature
apps: Implement toggle button in apps pages
Update translations for German, Hungarian, Swedish, Norwegian Bokmål, French, Polish
doc: Add Spanish manual
ssh: Add option to disable password authentication
sharing: Fix wrong links on Apache2 directory index page
gitweb: Set correct access rights after enabling application
gitweb: Fix links leading to blank page
gitweb: Set proper access after restoration of a backup
snapshot: Sort snapshot list from newest to oldest
infinoted: Add missing manual page link
backups: Fix typo
Update translations for German, Spanish, Swedish, Czech, French, Norwegian Bokmål, Hungarian
gitweb: New app for simple git hosting
ikiwiki: Allow full Unicode text in wiki/blog title names
users: reload Apache2 to flush LDAP cache after user operations
ssh: Show server fingerprints in SSH page
frontpage: Show public shortcuts to all users regardless of group
ikiwiki: Remove extra create button when no wiki/blog is present
quassel: Add Let's Encrypt component for certificates
Update translations for Czech, French, Bulgarian, Dutch, German, and Norwegian Bokmål
diagnostics: Ensure that exceptions are reported as failures
users: Rearrange UI to match with other apps
upgrades, ikiwiki, networks, backups: Replace page tabs with buttons
dynamicdns, i2p, pagekite, snapshot: Cleanup page templates
deluge: Support deluge 2 by starting it properly
minetest: Remove mod-torches no longer available in testing/unstable
security: Add past vulnerabilities count, move report to new page
Update translations for Spanish, Norwegian Bokmål, German
firstboot: Add new help menu to firstboot navbar
firstboot: Hide left menu during first boot as intended
Update translations for Chinese (Simplified) and Czech
Fix tests for letsencrypt and tor
backups: Allow adding backup repositories on multiple disks
help: Add buttons for contribute, support, and feedback
action_utils: Workaround problem with setting debconf answers
views: Fix failure in redirecting from language selection page
manual: Move PDF download link to HTML manual page
help: Convert help icon in the navbar to dropdown
ejabberd: Fix listen port configuration for ejabberd 19.x
cockpit, ejabberd: Prevent restart on freedombox startup
ejabberd: Perform host/domain name operations only when installed
logging: Improve formatting and reduce noise
translations: Update Hungarian, German, Italian, French, and Norwegian Bokmål
security: Hide vulnerability table by default
names: Perform better layout of domain names table on small screens
cockpit: Apply domain name changes immediately
ejabberd: Prevent processing empty domain name
config: Send hostname change signal only after fully processing it
letsencrypt: Don't try to obtain certificates for .local domains
avahi: Expose .local domain as a proper domain
cockpit: Make essential and install by default
tt-rss: Force upgrade to 18.12-1.1 and beyond
updates: Allow matrix-synapse 1.3 to be installed for buster users
javascript: Don't resubmit when refreshing the page
storage: Fix regression with restoring backups with storage
matrix-synapse: Use recommended reverse proxy configuration
Update translations for German, Hungarian, and Norwegian Bokmål
storage: Handle all device paths during eject
storage: Fix incorrect internationalization when throwing an error
upgrades: Use collapsible-button style for logs
firewall: Allow automatic upgrade to 0.7.x
upgrades: Handle release info change
frontpage: Fix regression with loading custom shortcuts
names: Add dynamic domain name
names: Add button to configure each type of name
names: Update page layout for clearer presentation
names: Introduce new API for domain name handling
api: Fix regression with listing only enabled apps in mobile app
Update translations for Czech, Hungarian, French, Chinese (Simplified), Turkish, Polish, and Norwegian Bokmål
backups: Make UI more consistent with other apps
backups: Make backup location tables collapsible
Updated translations for Chinese (Simplified), German, and Norwegian Bokmål
help: Show security notice when backports are in use
security: Show vulnerability counts
sharing: Allow directories to be publicly shared
backups: Add option to select/deselect all apps for backup or restore
dbus: Allow plinth user to own FreedomBox DBus service
letsencrypt: Simplify renewal hooks implementation
cockpit: Don't handle domains if app is not installed
dynamicdns: Send domain added signal properly during init
ejabberd: Backup and restore TLS certificates
Started new Galician translation on Weblate
Updated translations for Czech, Norwegian Bokmål, Hungarian, Spanish, Telugu, Chinese (Simplified), German, Turkish, and Russian
This release does not contain any functional changes, but fixes test failures when building the package.
This is a bugfix release for 19.2.
dbus: Allow plinth user to own FreedomBox DBus service
backups: Fixes to issues while adding SSH remotes:
Improve UX of adding ssh remote
Avoid creating duplicate SSH remotes
Fix issue with repository not being initialized
Verify SSH hostkey before mounting
Allow SSH directory paths with : in them
Require passphrase for encryption in add repository form
Don't send passphrase on the command line
Un-mount SSH repositories before deleting them
matrixsynapse: Fix missing translation mark
Started new Greek translation on Weblate
Updated translations for Chinese (Simplified), Hungarian, Spanish, and Russian
syncthing: Open firewall ports for listening and discovery
radicale: Workaround issue with creating log directory
Update translations for Turkish, German, Czech, Norwegian Bokmål, and Portuguese
Introduce components for firewall, webserver, uwsgi, and daemons
config: Add option to show advanced apps, which are hidden by default
monkeysphere: Hide by default
searx: Add option to allow public access to the application
Introduce component architecture for apps, with components for menus and shortcuts
Start new translation for Bulgarian
Update translations for Turkish and Norwegian Bokmål
Switch to using SVG icons for all apps.
Updated translations for Czech, Norwegian Bokmål, Hungarian, German, Turkish, and Spanish.
i2p: Include default favorites.
Separate enabled and disabled apps.
Display port forwarding info for apps.
Added Slovenian translation.
Updated translations for Dutch, German, Hungarian, Norwegian Bokmål, Polish, Portuguese, Telugu.
i2p: Enable new application for I2P Anonymity Network.
Updated translations for Czech, German, Norwegian Bokmål, and Turkish.
letsencrypt: Provide link to configure domain if not configured.
firewall: Show port numbers and types.
storage: Use more reliable method to list disks and disk space usage.
Updated translations for Russian and German.
clients: Open web app in a new browser tab
matrix-synapse: Change client diagnostics url
minetest: Fix duplicate domain names being displayed in UI
storage: Do not show an eject button on /boot partitions
letsencrypt: Call letsencrypt manage_hooks with correct arguments
dynamicdns: Install module by default
storage: Don't check type of the disk for / and /boot
storage: Don't log error when checking if partition is expandable
Updated translations for Norwegian Bokmål, Czech, German, Hungarian, Spanish, German, and Russian.
UI: Move tabs below descriptions.
firewall: Style heading
names: Add description
pagekite: Change heading text
ikiwiki: Consistent styling for delete warning page
main: Show service version in logs
setup: Organize data files into various apps
Updated translations for Czech, Hungarian, Norwegian Bokmål, Spanish, German, French, Italian, and Turkish.
config: Fix Ikiwiki entries not showing up as default apps
config: Migrate default app configuration to new conf file
config: Rename Default App to Webserver Home Page
config: Add option to use Apache's default home page as home page
config: Fix error when setting JSXC as the home page
Disable Coquelicot for Buster release
matrix-synapse: Fix LDAP login issue
config: Revert changes in freedombox.conf to avoid conffile prompt
openvpn: Migration from easy-rsa 2 to 3 for existing installations
tor: Use fixed 9001 port for relaying
package: Implement identifying packages that need conffile prompts
setup: Trigger force upgrade for app that implement it
bind: Handle conffile prompt during upgrade
apache: Pre-enable necessary apache modules
apache: Use cgid module instead of cgi
openvpn: Make frontpage shortcut appear after an upgrade
openvpn: Work around firewalld bug 919517
firewalld: Implement upgrading from 0.4.x to 0.6.x
ttrss: Implement upgrade from 17.4 to 18.12
radicale: Add description of web interface
ttrss: Add backup support
security: Migrate access config to new file
Updated translations for Czech, Hungarian, Norwegian Bokmål, Spanish, German, Telugu.
radicale: Increment module version to trigger upgrade handling
radicale: Remove obsolete diagnostics
radicale: Fix server URLs in client info
Updated translations for Czech, Norwegian Bokmål, and Spanish.
setup: Add option to handle configuration prompts during install
radicale: Simplify upgrading to newer packages
matrixsynapse: Use Let's Encrypt certificates
mldonkey: Add some more clients to the module page
mldonkey: Add to the description the three available front-ends
monkeysphere: Fix handling of multiple domains and keys
monkeysphere: Fix regression with reading new apache domain config
apache: Switch to mod_ssl from mod_gnutls
mldonkey: Enable app
upgrades: Fix priority for buster-backports version
upgrades: Fix premature adding of buster-backports sources
Updated translations for Czech, German, and Spanish
Switched to a new version number scheme: YY.N
YY is the year of release.
N is the release number within that year.
ui: Fix regression with configure button in home page.
backups: Rename 'Abort' buttons to 'Cancel'.
backups: Use icon for add repository button.
backups: Move subsubmenu below description.
backups: Add title and description to other pages.
backups: Add link to manual page.
backups: Fix styling for upload size warning.
backups: Increase timeout for SSH operations to 30 seconds.
letsencrypt: UI: Fix checkbox disabling.
datetime: Switch from chrony to systemd-timesyncd.
Updated translations for Czech, Norwegian Bokmål, and Spanish.
security: Update javascript for Content Security Policy.
help: Use correct package to determine available version.
repro: Disable app due to issues with Debian package.
ui: Fix regression with card icon style in front page.
js: Support full librejs compatibility.
js: Remove javascript license link from footer.
backups: Remove incorrectly set buffer size during download.
backups: Fix incomplete download archives.
backups: Improve performance of backup download.
radicale: Handle migration from 1.x to 2.x.
datetime: Switch from ntp to chrony.
backports: Add buster-backports to apt sources list.
Updated translations for Czech, Norwegian Bokmål, and Hungarian.
Updated translations for Czech, Hungarian, German, and Norwegian Bokmål.
UI improvements:
Fix top margin for content containers.
Fix setting width of card-list at various page sizes.
Show help nav item text when navbar is collapsed.
Hide restart/shutdown items when navbar is collapsed.
Compact pages on extra small screen sizes.
Backups improvements:
Add backup/restore support for syncthing and openvpn.
Upgrade apps before restoring them
Fix showing not-installed apps in create backup page
Automatically install required apps before restore.
Add a loader to the restore button to indicate progress.
Serve default favicon for apps that don't provide one.
radicale: Fix issue with configuration changes not applying.
storage: Fix false error message in log when visiting home page.
infinoted: Handle timeout issue when stopping daemon during setup.
matrix-synapse: Fix startup error caused by bind_address setting.
radicale: Avoid changes to conffile for radicale 2.x.
help: Fix showing status logs when an error occurs.
fail2ban: Enable bans for apache auth failures.
mldonkey: Initial work on new module for the eDonkey network.
Not available yet, due to bug in package.
Show Gujarati in the list of languages.
Replace glyphicons with forkawesome icons.
Snapshots:
Change configuration to avoid filling up disk.
Handle "Config in use" error.
Update descriptions and configuration options.
Firewall: Fix issue with transition from iptables.
Security: Switch to Argon2 password hash.
Cockpit: Add link to manual page and update description.
Radicale: Add initial support for radicale 2.x.
Setup:
Handle showing setup page after app completes installation.
Optimize installation in-progress checks and refresh time.
Updated translations for Czech, German, Spanish, Ukrainian, and Norwegian Bokmål.
Use systemd journal for logging.
Rename plinth binary package to "freedombox", and merge freedombox-setup package into it.
Storage: Merge list of removable media into existing table.
Backups: Allow remote backups to SSH servers using sshfs.
Backups: Removed asking for backup archive name.
Automatically handle future versions of PHP.
Updated translations for Hungarian, Czech, Spanish, Chinese (Simplified), Italian, Norwegian Bokmål, French, and German.
UI: Add card style and gray noise background to apps pages.
UI: Fix distortion of the client apps buttons.
ejabberd: Handle BOSH port change from TCP 5280 to 5443.
Minetest: Update mods list to available Debian packages.
Firewall: Use nftables instead of iptables.
Snapshots: Fix default snapshot listing.
Snapshots: Show description above either tab.
Snapshots: Allow snapshots to be selected for deletion.
Translations: Updated Czech, Norwegian Bokmål, Spanish, German, and Portuguese.
Backups improvements:
Allow backups to be downloaded directly, without export step.
Restore directly from uploaded backup.
Avoid error for apps with no data to backup.
Show free disk space on upload and restore page.
Do not limit maximum upload size.
openvpn: Migrate to easy-rsa 3 and fix setup issues.
Make single sign-on tickets valid for 12 hours.
Use consistent terminology for updates.
Updated translations for Czech and Portuguese.
Fix wrong color in mobile menu
snapshot: Fix broken snapshot management after snapper update
Enable backup/restore for tor, upgrades, monkeysphere, letsencrypt, tahoe
monkeysphere: Handle importing new OpenSSH format keys
udiskie: unmount drive as superuser
Updated translations for Telugu, Indonesian, and Italian
Enable backup/restore for datetime, deluge, avahi, backups, bind, security, snapshot, ssh, firewall, diagnostics, names, power, and storage.
snapshot: Fix issue with setting configuration.
backups: Fix backup archives ownership issue.
backups: Fix issue with showing exports from disks without labels.
backups: Don't rely on disk labels during export/restore.
backups: Fix downloading extracted archive files.
Updated translations for Norwegian Bokmål, French, Russian, and Spanish.
Backups
Enable backup/restore for mumble, privoxy, roundcube, searx, jsxc, coquelicot, transmission, quassel, shadowsocks, sharing, pagekite, and cockpit.
Allow backup archives to be downloaded/uploaded through browser.
mediawiki: Backup/restore settings as well as data.
User Interface
Change card text style and position.
Change maximum cards per row.
Add tint effect on card icons under "Apps".
mediawiki: Run update script for 1.31 upgrade.
customization: Show custom shortcuts on frontpage.
Updated translations for Norwegian Bokmål, Portuguese, Spanish, Czech, German, French, and Italian.
Updated translations for Hungarian and Norwegian Bokmål.
Merge Removable Media (udiskie) into Storage module.
Add Backups module for backing up apps data.
mediawiki: Enable SVG support for MediaWiki
upgrades: Clean up old kernel packages during automatic upgrades
Make the progress bar at the top of the page more visible.
Updated translations for Norwegian Bokmål, Czech, Russian, German, Hungarian, and Spanish.
Updated translations for Czech, Norwegian Bokmål, Russian, Spanish, Hungarian, and Dutch.
install: Use Post/Response/Get pattern for reloads.
Updated translations for Hindi, Spanish, Russian, Telugu, German, Hungarian, Czech, and French
ejabberd: Remove deprecated settings from already existing config files
mediawiki: Fix issue with re-installation
mediawiki: Enable Instant Commons
mediawiki: Fix images throwing 403s
turbolinks: Reload page using JavaScript
Add Lato woff2 fonts
Disable launch button for web client when not installed
configuration: Add an option to set a default app for FreedomBox. The root URL path (https://domainname/
) will redirect to the selected app.
ejabberd: Remove deprecated iqdisc
setting. To apply this fix, disable and then re-enable the Message Archive Management setting.
ejabberd: Replace logo with original version.
mediawiki: Enable short URLs, which look like https://domainname/mediawiki/ArticleName
.
radicale: Clarify description for shared calendar/addressbook.
storage: Handle mount points with spaces.
udiskie: Add button to eject drives.
udiskie: Also show read-only filesystems.
udiskie: Remove internal networks warning.
udiskie: Show special message when no storage device available.
Add turbolinks library for smoother navigation.
Removed extra text from icons for mediawiki, radicale, and tahoe-lafs.
Updated translations for Russian, Spanish, Dutch, Hungarian, Hindi, Italian, Telugu, German, and Norwegian Bokmål.
Prompt for secret during firstboot welcome
(Does not apply to downloadable FreedomBox images, but only when installed using freedombox-setup package.)
Updated translations for Italian, Dutch, Hindi, Hungarian
Fix issue where editing a user would remove them from admin group
Updated translations for Hungarian, Czech, Spanish, Russian, Hindi
Updated translations for Hungarian, Norwegian Bokmål, Spanish, Russian, Czech, Hindi, Dutch, Italian
firewall: Display information that a service is internal only
users: Don't show Create User link to non-admin users
users: Redirect to users list on successful user creation
packages: Show button to refresh package lists when a package is not available for install
Only show front page shortcuts that a user is allowed to access
Restrict removal of last admin user
Use logos instead of icons in the apps page
udiskie: New module for automatic mounting of removable media
Apply new card based design
Fix client info table size and flickering
first-setup: Automatically expand root partition
mediawiki: Enable image uploads
mediawiki: Make private mode and public registrations mutually exclusive
mediawiki: Hide frontpage shortcut when private mode is enabled
Updated translations for Norwegian Bokmål, Czech, Spanish, Russian, Hindi, Telugu, Italian, Dutch, German, and Hungarian
Updated translations for Czech, Spanish, Russian, German, Italian, Hindi, Telugu, and Norwegian Bokmål
mediawiki: Added private mode option
users: Fix user permissions not being saved
users: internationalize a string
mediawiki: Run update script for 1.30 upgrade
shortcuts: Fix urls for ikiwiki shortcuts
Updated translations for Russian, Italian, Norwegian Bokmål, Hungarian, and Hindi
setup: Remove unavailable as a state in setup_helper
security: Fix issue with Plinth locked out from sudo
Updated translations for Czech and Spanish
security: Allow console login access to user plinth
Add an option to enable/disable public registrations in mediawiki
tt-rss: Skip the check for SELF_URL_PATH
searx: Fix issue with uwsgi crashing
Updated translations for Czech, Spanish, German, Norwegian Bokmål, and Italian
setup: disable install button for currently unavailable apps
Add locale for Lithuanian (lt)
Translation updates for Italian, Czech, Russian, Spanish, German, Norwegian Bokmål, Telugu, and Dutch
middleware: Skip 'installed' message for essential apps
users: Fix admin group appearing twice in permissions
apps: Fix app names and short descriptions not being translated
snapshots: Move manual page link to the index page
UI: Fix progress bar not appearing
snapshots: Fix for permissions issue when updating configuration
snapshots: Add option to enable/disable software installation snapshots
Translation updates for Italian, Czech, Russian, Spanish, Dutch, German, Norwegian Bokmål, and Ukrainian
snapshots: Update description
searx: Rewrite url from /searx to /searx/
manual: Link to manual from each service
Workaround security issues in django-axes
apache: Only regenerate snake oil cert when needed
apache: Explicitly enable the latest version of PHP module
apache: Increase module version number to fix php7.2
Update translations for Chinese (Simplified), Russian, Czech, German, Norwegian Bokmål, Hungarian, Spanish, and Italian
sharing: Add app for sharing disk folders.
ttrss: Update list of client apps.
infinoted: Allow setup to recover after timeout issue.
snapshots: Add configuration tab with settings for time-based snapshots.
Add file-sharing application Coquelicot.
Add metasearch engine application Searx.
Add locale for Hungarian (hu).
mediawiki: Allow shortcut to be publicly visible on front page.
clients: Add and correct Client Apps.
locale: Preferred language can be set in each user's profile.
locale: Anonymous users can select preferred language.
config: Remove language selection from config page.
matrixsynapse: Fix mail attribute for ldap login.
snapshots: Modify configurations to reduce disk usage.
snapshots: Skip currently active snapshot when deleting all snapshots.
jsxc: Use consistent url format.
sso: Increase timeout to 60 minutes.
theme: Change font from Helvetica to Lato.
Translation updates for Czech, German, Gujarati, and Telugu.
matrix-synapse: Make sure configuration file does not get corrupted.
tor: Show enabled status properly.
first_setup: Fix not showing admin user creation step.
Migrate from GitHub to Salsa
Migrate from CirceCI to GitLab CI on Salsa.
Translation updates for Czech, Dutch, Gujarati, Hindi, Russian and Telugu.
Started new translation for Ukrainian.
navigation bar: Change label from 'Configuration' to 'System'.
storage: Removed beta warning for expanding partition.
groups: Consistently show available user groups, even before applications are installed.
syncthing: Restrict administration to users in "syncthing" group.
help: Show menu on smaller screens also.
diagnostics: Enable the "Run Diagnostics" button when applications are enabled but not running.
bind: Don't use forwarders by default
ejabberd: Remove redundant button Client Apps
mediawiki: Add wiki application
users: Make sure first run actually works
bind: Add information about current utility
ejabberd: Use dynamic reload instead of restart when changing configuration.
manual: Make manual available as a PDF download.
minetest: Show domain information for users to connect to minetest.
snapshots: Add button to delete all snapshots.
snapshots: Add option to enable/disable automatic timeline snapshots.
users: Add groups for bit-torrent and feed-reader, available when these applications are installed.
Add Shadowsocks client with socks5 proxy.
Fix SSO regressions and conflict with captcha.
transmission: Fix sso not being enabled on upgrade.
avahi: Add service for FreedomBox discovery.
Add client information for modules.
transmission: Enable Single Sign On.
cockpit: Add short description to frontpage shortcut.
fail2ban: Fix spelling and sentence structure.
Add mobile, web and desktop client info for modules.
Enable django SecurityMiddleware to improve security ratings.
cockpit: New module for server administration and web terminal.
letsencrypt: Fix internal server error when obtaining a certificate.
ejabberd: Fix LDAP server entry in config file during setup.
jsxc: Fix outdated URLs for connecting to local ejabberd server.
Rename Disks to Storage.
Rename Snapshot to Storage Snapshots.
tt-rss: Enable API access by default.
Allow access to Plinth from outside the LAN.
matrix-synapse: Disable public registration by default.
power: Merge actions into the user dropdown.
Add locales for Kannada (kn) and for Bengali (bn).
ejabberd: Use Let's Encrypt certificate, also across renewals.
matrix-synapse: Add enable/disable public registrations.
Add captcha validation on 3 failed attempts.
matrix-synapse: Enable LDAP integration.
letsencrypt: Automatically obtain and revoke SSL certificates.
Fix front page label names.
Fix vertical alignment of shortcut icons.
storage: Fix issue with locales that use other decimal separators.
Make tt-rss api accessible using Apache basic auth.
letsencrypt: Handle case where current domain is empty.
Handle both admin and non-admin user names in update user template.
letsencrypt: Show more info on cert validity status.
letsencrypt: Add option to delete certificates.
letsencrypt: Add option to let Plinth manage certbot's renewal hooks.
power: Warn if a package manager is running before shutdown/restart.
security: Install and manage fail2ban.
names: Include domain and services from dynamicdns.
disks: Add low disk space warning to system and disks page.
ssh: New application to manage SSH server.
Add api module to get enabled services and access info.
Add Django password validators.
ejabberd, ikiwiki, ttrss: Add user login descriptions.
diaspora: Disable for this release due to issues affecting package.
Remove help from navbar before firstboot complete.
i18n: Don't use backslash-newline for wrapping long lines.
radicale: Update link to documentation.
sso: Upgrade crypto to 4096-bit RSA and SHA-512.
Users: Allow non-admin users to log out.
letsencrypt: Make Let's Encrypt an essential module.
UI: Make apps and configure pages responsive on small screens.
Make help accessible for logged-in non-admin users.
Added Tahoe-LAFS module for distributed file storage.
Added Diaspora* module for federated social networking.
Currently only available in "contrib" repository.
New Locales for Czech (cs) and Tamil (ta).
Added SSO using auth_pubtkt for Syncthing, TT-RSS, and the Repro admin panel.
If you are logged in to Plinth, you will be automatically logged in to these web apps.
ejabberd: Added option to enable/disable Message Archive Management.
help: Added Debian release name to about page.
firstboot: De-bloat first welcome screen.
Pinned footer to the bottom of the viewport.
disks: Restrict precision of reported available space on root partition.
diagnostics: Disable button if app/service is not running.
help: Only show help pages if user is logged in.
navbar: Moved logout to user drop-down and added a new power drop-down.
disks: Show disabled partition resize option if no space is available.
Added line break to titles to fix frontpage layout.
syncthing: Fixed typos and clarity in description.
firewall: Fix 500 error when firewalld is not running.
setup: Disable install/upgrade when dpkg/apt is running.
disks: Use information from lsblk for more accuracy.
datetime: Show timezone properly when it not in expected list.
tor: Added option to use upstream bridges.
openvpn: Added shortcut to front page, shown only when logged-in.
openvpn: Non-admin users can download their own profiles.
Added new locales for Hindi (hi) and Gujarati (gu).
Added Syncthing module for file synchronization.
Added Matrix Synapse as chat server with groups, audio and video.
Require admin access for all system configuration pages.
Changed appearance of topbar and footer.
openvpn: Regenerate user key or certificate if empty.
disks: Workaround issue in parted during resize.
Two new apps were added:
Gobby Server (infinoted) for collaborative editing of text documents
Domain Name Server (BIND), in system menu
Added JavaScript license web labels to provide partial support for LibreJS.
Added basic configuration form for Minetest server.
Added indicator to Help->About page if new Plinth version is available.
Show app logos on front page instead of generic icons.
Prevent anonymous users from accessing setup pages.
Split Chat Server (XMPP) app into Chat Server (ejabberd) and Chat Client (jsxc).
Open up RTP ports in the firewall for repro (SIP server).
Front page shortcuts for services show a Configure button in the details box for logged-in users.
Add mods packages to be installed with Minetest server.
Fix issue with reading Dynamic DNS status as non-root user.
After the hostname is changed, ensure the domain name is still set correctly.
Allow the domain name to be cleared, and properly set the configuration in this case.
On the Certificates (Let's Encrypt) page, show a more informative message when no domains are configured.
On the Chat Server (XMPP) page, show more clearly if domain is not set.
Apps that require login will not be shown on the front page, unless the user is logged in.
Show status block for News Feed Reader (Tiny Tiny RSS).
Change appearance of front page with larger icons and repositioned text.
Firewall page only lists services that have been setup. The port lists are collapsible under each service.
Support configuring IPv6 networks.
Make it less likely to accidentally delete the only Plinth user.
Updated to work with JSXC 3.0.0 (XMPP web client).
Added loading icon for additional busy operations.
Added basic front page with shortcuts to web apps, and information about enabled services.
networks: Add batctl as dependency, required for batman-adv mesh networking.
users:
Fixed checking restricted usernames.
Display error message if unable to set SSH keys.
Flush nscd cache after user operations to avoid some types of errors.
monkeysphere:
Adopted to using SHA256 fingerprints.
Sort items for consistent display.
Handle new uid format of gpg2.
Fixed handling of unavailable imported domains.
minetest: Fixed showing status block and diagnostics.
Fixed stretched favicon.
Switched base template from container-fluid to container. This will narrow the content area for larger displays.
Plinth is now able to run as "plinth" user instead of root user.
xmpp: Replaced jwchat with jsxc.
ikiwiki: Allow only alphanumerics in wiki/blog name to avoid invalid paths.
Updated Plinth to support Django 1.10.
Added a page to display recent status log from Plinth. It is accessible from the 500 error page.
Tor: Added options to toggle relay and bridge relay modes.
Radicale: Added access rights control.
Ikiwiki: Updated suggested packages.
Users and Groups: Fixed editing users without SSH keys.
Networks: Added basic support for configuring batman-adv mesh networking.
Networks: Fixed incorrect access for retrieving DNS entries.
New languages:
Persian (50% translated)
Indonesian (not started, contributions needed)
New modules added to Plinth:
Disks: Shows free space of mounted partitions, and allows expanding the root partition.
Security: Controls login restrictions.
Snapshots: Manages Btrfs snapshots.
Added Polish translation.
Fixed issue preventing access to Plinth on a non-standard port.
Dealt with ownCloud removal from Debian. The ownCloud page in Plinth will be hidden if it has not been setup. Otherwise, a warning is shown.
Fixed issue in Privoxy configuration. Two overlapping listen-addresses were configured, which prevented privoxy service from starting.
Fixed issue that could allow someone to start a module setup process without being logged in to Plinth.
Fixed issues with some diagnostic tests that would show false positive results.
Added check to Diagnostics to skip tests for modules that have not been setup.
Fixed some username checks that could cause errors when editing the user.
Added sorting of menu items per locale.
Moved Dynamic DNS and Pagekite from Applications to System Configuration.
Allowed setting IP for shared network connections.
Switched Dreamplug image from "non-free" to "free". This means that we no longer include the non-free firmware for the built-in wifi on Dreamplug.
Added the "userdir" module for the Apache web server. This allows users in the "admin" group to create a folder called "public_html" under their home folder, and to publicly share files placed in this folder.
New wiki and manual content licence: Creative Commons Attribution-ShareAlike 4.0 International (from June 13rd 2016).
Switched to using apt-get for module setup in Plinth. This fixes several issues that were seen during package installs.
Fixed Wi-Fi AP setup.
Prevent lockout of users in 'sudo' group after setup is complete.
Improved setup mechanism for Plinth modules. Allows users to see what a module is useful for, before doing the setup and package install. Also allows essential modules to be setup by default during FreedomBox install.
Added HTTPS certificates to Monkeysphere page. Reorganized so that multiple domains can be added to a key.
Added Radicale, a CalDAV and CardDAV server.
Added Minetest Server, a multiplayer infinite-world block sandbox.
Added Tiny Tiny RSS, a news feed reader.
Added Quassel, an IRC client that stays connected to IRC networks and can synchronize multiple frontends.
Improved first boot user interface.
Fixed Transmission RPC whitelist issue.
Added translations for Turkish, Chinese, and Russian. Fixed and updated translations in other languages.
Added Monkeysphere, which uses PGP web of trust for SSH host key verification.
Added Let's Encrypt, to obtain certificates for domains, so that browser certificate warnings can be avoided.
Added repro, a SIP server for audio and video calls.
Allow users to set their SSH public keys, so they can login over SSH without a password.
Translations! Full translations of the interface in Danish, Dutch, French, German and Norwegian Bokmål, and partial Telugu.
Support for OLinuXino A20 MICRO and LIME2
New Plinth applications: OpenVPN, reStore
Improved first-boot experience
Many bugfixes and cleanups
New supported hardware target: Raspberry Pi 2
New modules in Plinth:
Shaarli: Web application to manage and share bookmarks
Date & Time: Configure time zone and NTP service
Service Discovery: Configure Avahi service
Documentation revamp including new user manual and developer guide
Improved diagnostic tests, available in Plinth
Avoid unnecessary changes when installing on existing Debian system
Network configuration supports PPPoE connections
Debian packages can be download over Tor
New targets: CubieTruck, i386, amd64
New apps in Plinth: Transmission, Dynamic DNS, Mumble, ikiwiki, Deluge, Roundcube, Privoxy
NetworkManager handles network configuration and can be manipulated through Plinth.
Software Upgrades (unattended-upgrades) module can upgrade the system, and enable automatic upgrades.
Plinth is now capable of installing ejabberd, jwchat, and privoxy, so they are not included in image but can be installed when needed.
User authentication through LDAP for SSH, XMPP (ejabberd), and ikiwiki.
Unit test suite is automatically run on Plinth upstream. This helps us catch at least some code errors before they are discovered by users!
New, simpler look for Plinth.
Performance improvements for Plinth.
Tor Bridges: All boxes now act as non-exit Tor bridges, routing traffic for the Tor network.
Firewall: firewall is on by default and is automatically managed.
Add BeagleBone support. We now have images for BeagleBone, RaspberryPi, VirtualBox i386/amd64, and DreamPlug.
Ability to enable and use Tor Hidden Services. Works with Ejabberd/JWChat and ownCloud services.
Enable Tor obfsproxy with scramblesuit.
Drop well-known root password (an account with sudo capabilities still exists for now but will be removed soon).
Switch to unstable as suite of choice for easier development.
Newer images are built with systemd by default (due to Debian change).
Install and operate firewall automatically (uses firewalld).
Major restructuring of Plinth UI using Python3, Django web development framework and Bootstrap3. Code quality is much better and UI is more polished.
Introduced packaging framework in Plinth UI for on-demand application installation.
Support for Raspberry Pi and VirtualBox (x86) in addition to the DreamPlug.
New Services:
Configuration Management UI.
Instant Messaging.
OwnCloud.
dnsmasq.
Low-Level Configuration Management.
Service Announcement.
LDAP Server.
LXC Support.
Source Packages.
The privoxy setup is now the default from Debian.
First FreedomBox software release (0.1 image, developer release).
Full hardware support in Debian
Support for DreamPlug.
Basic software tools selected as common working environment:
User interface system "plinth"
Cryptography tools: gpg or "monkeysphere"
Box-to-box communication design: Freedom-buddy (uses TOR network)
Web cleaning: "privoxy-freedombox".
Desde la codificación, el diseño y la traducción hasta la divulgación y las donaciones he aquí varias formas de contribuir a FreedomBox.
Nuestra visión explica lo que queremos lograr.
Como nuevo contribuyente, eres más que bienvenido a presentarte a otros en el foro de debate, la lista de correo o el canal de IRC de FreedomBox. Además de hacer contactos útiles, puedes empezar a informar fallos y traducir (ver abajo) el wiki y el interfaz de FreedomBox.
Ordenadas por dificultad ascencente.
Obviamente donar es la manera más fácil de contribuir.
Puedes ayudar a su financiación donando mediante PayPal, Bitcoin o enviando un cheque. Mira por favor la página de donación para más detalles acerca de cómo donar.
El proyecto FreedomBox lo llevan voluntarios. La FreedomBox Foundation es una corporación federal 501(c)(3) reconocida por el IRS.
Correr la voz acerca de FreedomBox solo requiere saber acerca de los objetivos básicos del proyecto y una descripción general del producto.
Cuenta a tu familia, amistades, comunidad local o en conferencias globales la importancia de FreedomBox. Para ser un proyecto exitoso necesitamos muchos más participantes, ya sean usuarios o contribuyentes. Comenta tus esfuerzos de divulgación en la página de charlas y en el wiki.
Si sabes algo de márketing, puedes ponerte en contacto con el equipo de marketing mediante la sección de Marketing de nuestro foro.
Tras cierto tiempo perdemos la visión fresca de quienes acaban de llegar. Solo con hacernos llegar tus impresiones ya nos ayudas un montón.
Navega por nuestros sitios web y por la documentación, y juega con FreedomBox y comenta tus impresiones en la sección de Feedback de nuestro foro.
Mira nuestra lista de aplicaciones deseadas y ayúdanos a extenderla buscando en la web otras aplicaciones de software libre para incluír en FreedomBox.
Todo texto visible por los usuarios de FreedomBox necesita ser localizado a varios idiomas. Si entiendes inglés y escribes otro idioma puedes contribuír traduciendo. Traducir es una forma estupenda de familiarizarse con el proyecto mientras contribuyes.
Este trabajo de traducción incluye:
El Interfaz web de FreedomBox.
La documentación de FreedomBox, incluyendo el wiki.
Los sitios web de FreedomBox y la Freedombox Foundation.
El framework Django que emplea FreedomBox.
Cada aplicación que FreedomBox expone a sus usuarios.
La localización del interfaz web de FreedomBox ocurre principalmente en la herramienta web Weblate.
Si quieres ver a FreedomBox disponible en alguno de tus idiomas, por favor abre un debate en la sección de desarrollo del foro de FreedomBox para trabajar con otros traduciendo para ese idioma.
Para más información, por favor visita la página de traductores.
FreedomBox necesita mejor documentación para usuarios y contribuyentes. A veces re-redactar o presentar la información de otra manera ya ayuda. Otras se necesita cierto conocimiento.
El manual de FreedomBox se prepara agregando diferentes páginas del wiki y exportando a various formatos. El manual se usa en el Servicio FreedomBox y en otros sitios.
Si quieres contribuir al wiki (y por extensión al manual) de FreedomBox, puedes crear una cuenta en el wiki y empezar a editar.
Para contribuir al sitio web por favor inicia un debate en la sección de desarrollo del foro de FreedomBox.
Otra manera de documentar FreedomBox es grabar y publicar videos de cómo y/o por qué usarlo. Comno estos o estos.
FreedomBox ya funciona sobre muchas plataformas y a los desarrolladores les resulta imposible probar en todas. Si tienes algún hardware soportado puedes ayudar probando FreedomBox en tu platforma.
Cuando se integra una nueva aplicación en FreedomBox, el desarrollador que hace el trabajo no prueba toda la functionalidad en el mundo real. Desplegar la aplicación y probarla ayudará a tener aplicaciones de alta calidad en FreedomBox.
Mira en la página de aseguramiento de la calidad la lista de casos de prueba que hay que verificar y la información acerca de cómo informar defectos.
Si eres desarrollador puedes contribuir código a algún sub-proyecto de FreedomBox. Éste es el procedimiento paso a paso para contribuir código.
Servicio FreedomBox: un interfaz web para administrar las funciones de FreedomBox.
Freedom Maker: un script para construir imágenes de disco de FreedomBox para usarlas en dispositivos de hardware variados o en máquinas virtuales.
Puedes tomar una tarea de la Página de trabajos pendientes. Las páginas de cada proyecto contienen información acerca de acceso al código, cómo construir y listas de trabajos pendientes.
Las listas de defectos, peticiones de funcionalidad y mejoras se controlan en el gestor de tiquets de FreedomBox. Mira también la lista de defectos para ayudar al paquete Debian del que dependemos y el cuadro de mando del equipo de paquetizado de FreedomBox para ver el estado los paquetes que usamos.
Si eres desarrollador y quieres ver disponible en FreedomBox alguna aplicación, puedes contribuir añadiéndola a FreedomBox. Mira el Manual del Desarrollador de FreedomBox.
Las prioridades se discuten regularmente. Encontrarás el avance del Servicio FreedomBox con sus prioridades aquí: panel de tareas e hitos.
Por favor, asiste a las próximas reuniones de avance para mantenerte al día y tratar con los miembros del equipo de publicación (release). La Página de trabajos pendientes recopila la lista completa de los elementos en los que trabajar para FreedomBox.
Si eres diseñador de UX, puedes ayudar a FreedomBox con esto:
Experiencia de interacción para el interfaz web del Servicio FreedomBox.
Diseño web para los sitios freedombox.org, freedomboxfoundation.org y el wiki.
Logo y marca (actualmente tenemos un manual de identidad y logos).
Propuestas de diseño para casos de uso de FreedomBox sobre SBCs personalizados.
FreedomBox necesita tu conocimiento técnico para elaborar planes de implementación de nuevas funcionalidades. Puedes contribuir a los debates acerca de varios aspectos de diseño técnico e implementación de FreedomBox. Mira la sección de Desarrollo de los foros de debate.
FreedomBox es una variante pura de Debian. Para añadir aplicaciones a FreedomBox necesitames primero que estén empaquetadas para Debian. Mira nuestra lista de aplicaciones deseadas.
El Manual del Desarrollador de FreedomBox proporciona un tutorial paso a paso para escribir apps para FreedomBox y una referencia para la API. Está disponible en docs.freedombox.org.
FreedomBox consists of two main projects:
FreedomBox Service (Plinth), the web interface
Freedom Maker, a script to build disk images for various hardware
El servicio FreedomBox (Plinth) es un interfaz web para administrar las funciones de FreedomBox.
El servicio FreedomBox es Software Libre bajo la versión 3 o posterior (a tu elección) de la Licencia Pública General GNU Affero.
El servicio FreedomBox viene instalado en todas las imágenes de FreedomBox. Puedes descargar imágenes de FreedomBox y ejecutarlas en cualquier hardware soportado. Para acceder al interfaz de FreedomBox consulta Guía rápida.
Si estás en una máquina Debian puedes instalar el servicio FreedomBox desde el archivo de paquetes de Debian. Actualmente solo se soportan Bullseye (estable), Bookworm (en pruebas) y Sid (inestable). Para instalar el servicio FreedomBox ejecuta:
$ sudo apt-get install freedombox
También puedes obtener el servicio FreedomBox en su repositorio Git o instalarlo desde el código fuente.
Puedes solicitar soporte en
Buscamos ayuda para mejorar el servicio FreedomBox. Puedes contribuir al servicio FreedomBox no solo codificando sino también traduciendo, documentando, diseñando, empaquetando o dando soporte.
Hay disponibles instrucciones para contribuir código.
El repositorio Git principal se aloja en la página de FreedomBox en Salsa.
Hay disponibles instrucciones para instalar desde el código fuente y modificarlo.
Las listas de defectos, tareas pendientes y solicitudes de funcionalidad están en el gestor de incidencias.
Antes de contribuir al código fuente del servicio FreedomBox necesitas entender Python y Django porque se basa en ellos.
Puedes solicitar asistencia al desarrollo en el foro de debate, la lista de correo o el canal de IRC #freedombox.
El servicio FreedomBox está empaquetado para Debian como paquete nativo y el código fuente de empaquetado es parte del código fuente del paquete principal.
Las incidencias relacionadas con el empaquetado se listan en el BTS de Debian.
Freedom Maker es un script para generar imágenes de disco FreedomBox adaptadas a diferentes dispositivos hardware o máquinas virtuales.
Actualmente Freedom Maker puede generar imágenes de disco FreedomBox para el siguiente hardware:
Máquinas AMD64 (x86-64), máquinas X86 y otras máquinas virtuales (usando imágenes de disco en crudo (raw))
Si una platforma de hardware puede ejecutar Debian no debería llevar mucho esfuerzo adaptar Freedom Maker para que le genere imágenes FreedomBox.
Freedom Maker es Software Libre licenciado bajo la versión 3 o posterior (a tu elección) de la Licencia Pública General GNU.
Puedes obtener Freedom Maker desde su repositorio Git y seguir las instrucciones del fichero README para generar una imágen FreedomBox.
Puedes solicitar soporte en
Buscamos ayuda para mejorar Freedom Maker.
Hay instrucciones disponibles para contribuir código fuente.
Freedom Maker se aloja en el Proyecto Salsa de FreedomBox. El repositorio Git principal está alojado allí.
Puedes contribuir a FreedomBox añadiendo soporte para más platformas de hardware. Freedom Maker se puede adaptar fácilmente a más platformas si ya soportan ejecutar Debian.
Puedes crear y probar imágenes con Freedom Maker regularmente para probar las funcionalidades nuevas y comprobar que no hay regresiones.
Las listas de defectos, tareas pendientes y solicitudes de funcionalidad están en el gestor de incidencias.
Puedes solicitar asistencia al desarrollo en el foro de debate, la lista de correo o el canal IRC #freedombox.
Available Material Slides and other raw material