Contents

  1. FreedomBox: Recupera tu privacidad online
    1. Uso típico: Nube Privada
    2. Uso típico: Almacenamiento en Red (NAS)
    3. Uso avanzado: Router Casero Inteligente
    4. Uso avanzado: Para Comunidades
    5. Interfaz de FreedomBox
  2. Guía de Inicio Rápido
    1. Lo que necesitas para empezar
    2. Cómo empezar
    3. Orientándote
  3. Obtener Ayuda
    1. Foro de Debate
    2. Matrix
    3. IRC #freedombox
    4. Correo Electrónico
    5. Devuelve tu Ayuda
  4. Descarga e Instalación
    1. Descargando en Debian
    2. Descargando para placa SBC o Máquina Virtual
    3. Obtener el Código Fuente
  5. Apps
    1. Bepasty (Compartición de apuntes y archivos)
    2. Calibre (biblioteca de libros electrónicos)
    3. Coturn (Asistente para VoIP)
    4. Deluge (Compartición distribuída de archivos mediante BitTorrent)
    5. Ejabberd (Servidor de Mensajería Instantánea)
    6. GitWeb (Alojamiento simple para Git)
    7. I2P (Red anónima)
    8. Ikiwiki (Wiki y Blog)
    9. Infinoted (Edición colaborativa de textos mediante Gobby)
    10. JSXC (Cliente Web de Mensajería Instantánea)
    11. Matrix Synapse (Servidor de Mensajería Instantánea)
    12. MediaWiki (Wiki)
    13. Minetest (Sandbox de bloques)
    14. MiniDLNA (Servidor multimedia básico)
    15. MLDonkey (Compartir archivos entre pares)
    16. Servidor Mumble (Chat de voz)
    17. OpenVPN (Red Privada Virtual)
    18. Privoxy (Proxy Web)
    19. Quassel (Cliente IRC)
    20. Radicale (Calendario y Contactos)
    21. Roundcube (Cliente de Correo Electrónico (Email))
    22. Samba (Almacenamiento de Ficheros en Red)
    23. Searx (Búsqueda Web)
    24. Shadowsocks (Proxy SOCKS5)
    25. Sharing (Publicación de Archivos)
    26. Syncthing (Sincronización de Archivos)
    27. Tiny Tiny RSS (Lector de Feeds de Noticias)
    28. Tor (Red para el anonimato)
    29. Transmission (Compartición distribuída de archivos mediante BitTorrent)
    30. Sitios web de usuario (User Websites)
    31. WireGuard (Red Privada Virtual)
    32. WordPress (Sitio Web y Blog)
    33. Zoph (Administración de fotografías)
  6. Sistema
    1. Actualizaciones de Software
    2. Almacenamiento
    3. Almacén de instantáneas
    4. Apagado
    5. BIND (Servidor de Nombre de Dominio)
    6. Cliente de DNS Dinamico
    7. Cockpit (Administración de Servidor)
    8. Configurar
    9. Copias de respaldo (backups)
    10. Cortafuegos
    11. Detección de Servicios
    12. Resolución de problemas
    13. Diagnósticos
    14. Fecha y hora
    15. Let's Encrypt (Certificados)
    16. Monkeysphere
    17. PageKite (Visibilidad Publica)
    18. Performance (Monitorización del sistema)
    19. Protección
    20. Redes
    21. Servicios de Nombre
    22. Shell Segura
    23. Usuarios y Grupos
  7. Hardware
    1. Hardware Recomendado
    2. Hardware Soportado
    3. Más Hardware
    4. Hardware Obsoleto
    5. Información común sobre Hardware
    6. Compilar tus propias imágenes
    7. FreedomBox Pioneer Edition
    8. Características del Producto
    9. Obtener el Código Fuente
    10. A20 OLinuXino Lime2
    11. A20 OLinuXino MICRO
    12. APU
    13. Cubietruck
    14. Cubieboard 2
    15. Beagle Bone Black
    16. pcDuino3
    17. Debian
    18. VirtualBox
    19. Pine A64+
    20. Banana Pro
    21. Orange Pi Zero
    22. RockPro64
    23. Rock64
    24. Raspberry Pi 2 Model B
    25. Raspberry Pi 3 Model B
    26. Raspberry Pi 3 Model B+
    27. Raspberry Pi 4 Model B
    28. USB Wi-Fi
  8. Release Notes
    1. FreedomBox 21.9 (2021-09-18)
    2. FreedomBox 21.8 (2021-08-30)
    3. FreedomBox 21.7 (2021-08-16)
    4. FreedomBox 21.6 (2021-05-31)
    5. FreedomBox 21.5 (2021-04-19)
    6. FreedomBox 21.4.2 (2021-03-28)
    7. FreedomBox 21.4.1 (2021-03-13)
    8. FreedomBox 21.4 (2021-02-28)
    9. FreedomBox 21.3 (2021-02-11)
    10. FreedomBox 21.2 (2021-02-05)
    11. FreedomBox 21.1 (2021-01-25)
    12. FreedomBox 21.0 (2021-01-11)
    13. FreedomBox 20.21 (2020-12-28)
    14. FreedomBox 20.20.1 (2020-12-19)
    15. FreedomBox 20.20 (2020-12-14)
    16. FreedomBox 20.19 (2020-11-30)
    17. FreedomBox 20.18.1 (2020-11-23)
    18. FreedomBox 20.18 (2020-11-16)
    19. FreedomBox 20.17.1 (2020-11-07)
    20. FreedomBox 20.17 (2020-11-02)
    21. FreedomBox 20.16 (2020-10-19)
    22. FreedomBox 20.15 (2020-10-05)
    23. FreedomBox 20.14.1 (2020-09-23)
    24. FreedomBox 20.14 (2020-09-15)
    25. FreedomBox 20.13 (2020-07-18)
    26. FreedomBox 20.12.1 (2020-07-05)
    27. FreedomBox 20.12 (2020-06-29)
    28. FreedomBox 20.11 (2020-06-15)
    29. FreedomBox 20.10 (2020-06-01)
    30. FreedomBox 20.9 (2020-05-18)
    31. FreedomBox 20.8 (2020-05-04)
    32. FreedomBox 20.7 (2020-04-20)
    33. FreedomBox 20.6.1 (2020-04-11)
    34. FreedomBox 20.6 (2020-04-06)
    35. FreedomBox 20.5.1 (2020-03-26)
    36. FreedomBox 20.5 (2020-03-23)
    37. FreedomBox 20.4 (2020-03-09)
    38. FreedomBox 20.3 (2020-02-24)
    39. FreedomBox 20.2 (2020-02-10)
    40. FreedomBox 20.1 (2020-01-27)
    41. FreedomBox 20.0 (2020-01-13)
    42. FreedomBox 19.24 (2019-12-30)
    43. FreedomBox 19.23 (2019-12-16)
    44. FreedomBox 19.22 (2019-12-02)
    45. FreedomBox 19.21 (2019-11-18)
    46. FreedomBox 19.20 (2019-11-04)
    47. FreedomBox 19.19 (2019-10-21)
    48. FreedomBox 19.18 (2019-10-07)
    49. FreedomBox 19.17 (2019-09-23)
    50. FreedomBox 19.16 (2019-09-09)
    51. FreedomBox 19.15 (2019-08-26)
    52. FreedomBox 19.14 (2019-08-12)
    53. FreedomBox 19.13 (2019-07-29)
    54. FreedomBox 19.12 (2019-07-22)
    55. FreedomBox 19.2.2 (2019-07-17)
    56. FreedomBox 19.2.1 (2019-07-09)
    57. FreedomBox 19.11 (2019-07-08)
    58. FreedomBox 19.10 (2019-06-24)
    59. FreedomBox 19.9 (2019-06-10)
    60. FreedomBox 19.8 (2019-05-27)
    61. FreedomBox 19.7 (2019-05-13)
    62. FreedomBox 19.6 (2019-04-29)
    63. FreedomBox 19.5 (2019-04-15)
    64. FreedomBox 19.4 (2019-04-01)
    65. FreedomBox 19.3 (2019-03-18)
    66. FreedomBox 19.2 (2019-03-02)
    67. FreedomBox 19.1 (2019-02-14)
    68. FreedomBox 19.0 (2019-02-09)
    69. Version 0.49.1 (2019-02-07)
    70. Version 0.49.0 (2019-02-05)
    71. Version 0.48.0 (2019-01-28)
    72. Version 0.47.0 (2019-01-14)
    73. Version 0.46.0 (2018-12-31)
    74. Version 0.45.0 (2018-12-17)
    75. Version 0.44.0 (2018-12-03)
    76. Version 0.43.0 (2018-11-19)
    77. Version 0.42.0 (2018-11-05)
    78. Version 0.41.0 (2018-10-22)
    79. Version 0.40.0 (2018-10-08)
    80. Version 0.39.0 (2018-09-24)
    81. Version 0.38.0 (2018-09-10)
    82. Version 0.37.0 (2018-08-27)
    83. Version 0.36.0 (2018-08-13)
    84. Version 0.35.0 (2018-07-30)
    85. Version 0.34.0 (2018-07-16)
    86. Version 0.33.1 (2018-07-04)
    87. Version 0.33.0 (2018-07-02)
    88. Version 0.32.0 (2018-06-18)
    89. Version 0.31.0 (2018-06-04)
    90. Version 0.30.0 (2018-05-21)
    91. Version 0.29.1 (2018-05-08)
    92. Version 0.29.0 (2018-05-07)
    93. Version 0.28.0 (2018-04-23)
    94. Version 0.27.0 (2018-04-09)
    95. Version 0.26.0 (2018-03-26)
    96. Version 0.25.0 (2018-03-12)
    97. Plinth v0.24.0 (2018-02-26)
    98. Plinth v0.23.0 (2018-02-12)
    99. Plinth v0.22.0 (2018-01-30)
    100. Plinth v0.21.0 (2018-01-15)
    101. Plinth v0.20.0 (2018-01-01)
    102. Plinth v0.19.0 (2017-12-18)
    103. Plinth v0.18.0 (2017-12-04)
    104. Plinth v0.17.0 (2017-11-20)
    105. Plinth v0.16.0 (2017-11-06)
    106. Plinth v0.15.3 (2017-10-20)
    107. Plinth v0.15.2 (2017-09-24)
    108. Plinth v0.15.0 (2017-07-01)
    109. Plinth v0.14.0 (2017-04)
    110. Plinth v0.13.1 (2017-01-22)
    111. Plinth v0.12.0 (2016-12-08)
    112. Plinth v0.11.0 (2016-09-29)
    113. Plinth v0.10.0 (2016-08-21)
    114. Version 0.9.4 (2016-06-24)
    115. Version 0.9 (2016-04-24)
    116. Version 0.8 (2016-02-20)
    117. Version 0.7 (2015-12-13)
    118. Version 0.6 (2015-10-31)
    119. Version 0.5 (2015-08-07)
    120. Version 0.3 (2015-01-20)
    121. Version 0.2 (2014-03-16)
    122. Version 0.1 (2013-02-26)
  9. Contribuir
  10. Participa
    1. Enlaces Rápidos
    2. Bienvenida a los recién llegados
  11. Se necesitan contribuciones
    1. Donar
    2. Correr la voz
    3. Darnos tus impresiones (Comentar)
    4. Pedir aplicaciones
    5. Traducir
    6. Documentar: Manual de Usuario, Sitio Web y Wiki, Vieos demostrativos
    7. Asegurar la calidad (probar y comprobar)
    8. Codificar
    9. Diseño
    10. Empaquetar aplicaciones
  12. Guía del Desarrollador
  13. Cacharreo
    1. Servicio FreedomBox (Plinth)
    2. Freedom Maker
  14. Cuéntaselo a tu gente

FreedomBox: Recupera tu privacidad online

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:

1. Uso típico: Nube Privada

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.

2. Uso típico: Almacenamiento en Red (NAS)

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.

3. Uso avanzado: Router Casero Inteligente

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.

4. Uso avanzado: Para Comunidades

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.

5. Interfaz de FreedomBox

5.1. Captura de pantalla

FreedomBox front page

5.3. Recursos en formato video

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.

Guía de Inicio Rápido

1. Lo que necesitas para empezar

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.

2. Cómo empezar

  1. Conecta un extremo del cable de red al puerto Ethernet de tu FreedomBox y el otro a tu router.

  2. 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.

  3. 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.

  4. 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.)

  5. 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.

    • Aviso de certificado autofirmado

    • Añadir excepción de seguridad

  6. 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.

    • Bienvenida

      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.

  7. 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.

    • Cuenta

  8. 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.

    • Completado

Ahora puedes probar cualquier App disponible en FreedomBox.

3. Orientándote

3.1. Página principal

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.

Página principal

Página principal

3.2. Menú de Aplicaciones

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.

Apps

3.3. Menú de Ayuda

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.

Ayuda

3.4. Menú del Sistema

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.

Sistema

3.5. Menú del Usuario

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.

Usuario

3.6. Menú de Hamburgesa

El interfaz web de FreedomBox's es autoadaptativo. En pantallas o ventanas de navegador estrechas las opciones del menú podrían estar ocultas.

User

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ú.

User

Obtener Ayuda

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.

1. Foro de Debate

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.

2. Matrix

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.

3. IRC #freedombox

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.

4. Correo Electrónico

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.

5. Devuelve tu Ayuda

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.

Descarga e Instalación

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.

1. Descargando en Debian

Si estás instalando sobre un sistema Debian existente no necesitas descargar las imágenes. Lee las instrucciones para configurar FreedomBox en Debian.

2. Descargando para placa SBC o Máquina Virtual

2.1. Preparar tu dispositivo

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.

2.2. Descargar Imágenes

Las imágenes recientes para hardware soportado están disponibles aquí:

2.3. Verificar las Imágenes Descargadas

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
  • 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]
  • Finalmente, verifica tu imágen descargada con su archivo de firma .sig. Por ejemplo:

    $ $ gpg --verify freedombox-stable-free_buster_cubietruck-armhf.img.xz.sig 
    gpg: assuming signed data in 'freedombox-stable-free_buster_cubietruck-armhf.img.xz'
    gpg: Signature made Sat 09 May 2020 11:54:01 AM EDT
    gpg:                using RSA key 013D86D8BA32EAB4A6691BF85D4153D6FE188FC8
    gpg: Good signature from "FreedomBox CI (Continuous Integration server) <admin@freedombox.org>" [undefined]
    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: 013D 86D8 BA32 EAB4 A669  1BF8 5D41 53D6 FE18 8FC8

2.4. Instalación

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í:

  1. Averigua en qué dispositivo está tu tarjeta.
    1. Desconecta tu tarjeta (Sácala de la ranura).
    2. Ejecuta dmesg -w mara mostrar y seguir los mensajes del núcleo (kernel).

    3. 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
    4. 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.

  2. 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.

  3. 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.

3. Obtener el Código Fuente

FreedomBox es 100% software libre y puedes obtener el código fuente para estudiarlo, modificarlo y distribuir mejoras.

3.1. Desde (dentro de) FreedomBox

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.

  1. Para ver la lista de paquetes software instalados en tu FreedomBox, ejecuta lo siguiente en un terminal:

    dpkg -l
  2. 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.

  3. 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
  4. Instala el paquete:
     dpkg -i ../<paquete_construído>.deb

3.2. Otras Maneras de Obtener el Código Fuente

  1. 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.

  2. 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.

  3. 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.

  4. 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

3.3. Construyendo Imágenes de disco

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.

3.3.1. Imágenes U-boot sobre Pioneer Edition

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.

Apps

1. Bepasty (Compartición de apuntes y archivos)

Icono de bepasty

Disponible desde: versión 20.14

1.1. ¿Qué es bepasty?

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.

1.2. Captura de pantalla

Captura de pantalla de bepasty

1.3. Contraseñas y permisos

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.

1.4. Distribuir contraseñas

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.

1.5. Usar bepasty

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.

1.6. Administrando contraseñas

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.

1.7. Enlaces externos

2. Calibre (biblioteca de libros electrónicos)

icono de Calibre

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.

Nota acerca de las versiones de Calibre: Dependiendo de la versión de Debian sobre la que se ejecuta tu FreedomBox is running, tendrás una versión diferente de Calibre. Debian estable (Buster) lleva Calibre 3.x, en pruebas e inestable llevan Calibre 5.x. Esto implica que algunas funcionalidades experimentales como el lector web podrían no funcionar muy bien si estás en estable. Esta situación mejorará el próximo año con la publicación de Debian 11 (Bullseye). Las actualizaciones frecuentes no abarcan a Calibre.

2.1. Administrar Bibliotecas

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.

2.2. Acceso

Tras la instalación se puede acceder a Calibre mediante el cliente web en https://<mi_freedombox>/calibre.

2.3. Enlaces externos

3. Coturn (Asistente para VoIP)

icono de Coturn

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".

3.1. Cómo funciona

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.

3.2. Configurar Matrix Synapse

El servidor de Matrix Synapse de FreedomBox se puede configurar para que use el servidor de TURN/STUN Coturn. En el futuro, cuando instales Matrix Synapse FreedomBox instalará Coturn automáticamente y configurará sus parámetros en Matrix Synapse. Para configurar Matrix Synapse, edita el fichero /etc/matrix-synapse/homeserver.yaml con las siguientes líneas:

turn_uris: [ "stun:myfreedombox.example.org:3478?transport=udp", "stun:myfreedombox.example.org:3478?transport=tcp", "turn:myfreedombox.example.org:3478?transport=udp", "turn:myfreedombox.example.org:3478?transport=tcp" ]
turn_shared_secret: "my-freedombox-provided-secret"
turn_user_lifetime: 86400000
turn_allow_guests: True

El valor para turn_shared_secret se proporciona como static-auth-secret en el archivo /etc/coturn/freedombox.conf.

Y luego reinicia el servidor matrix-synapse deshabilitando y rehabilitando la app de matrix-synapse.

3.3. Redirección de Puertos

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

3.4. Enlaces externos

4. Deluge (Compartición distribuída de archivos mediante BitTorrent)

icono de Deluge

Disponible desde: versión 0.5

4.1. ¿Qué es Deluge?

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).

4.2. Captura de pantalla

Deluge Web UI

4.3. Configuración Inicial

Tras instalar Deluge se puede acceder apuntando tu navegador a https://<tu freedombox>/deluge. Necesitarás introducir una contraseña para ingresar:

Deluge Login

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.

Deluge Connection Manager (Offline)

Ahora debería poner "Online". Haz clic en "Conectar" para completar la configuración.

Deluge Connection Manager (Online)

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.

4.4. Enlaces externos

5. Ejabberd (Servidor de Mensajería Instantánea)

icono de ejabberd

Disponble desde: versión 0.3

5.1. ¿Qué es 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).

5.2. Privacidad

Con XMPP las conversaciones se pueden securizar de 2 maneras:

  1. 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.
  2. 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 pero solo lo soportan algunos clientes. 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.

5.3. Establer un Nombre de Dominio

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.

5.4. Habilitar a usuarios para usar 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.

5.5. Enrutado de Puertos

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)

5.6. Clientes compatibles

  • 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.

    clientes XMPP

5.6.1. Cliente Web de 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.

5.6.2. Clientes para móvil

Puedes descargar uno de los cliente XMPP para tu smartphone o tableta listados a continuación.

5.6.2.1. Conversations (Android)

Conversations es un cliente XMPP para Android con soporte de videollamada disponible en F-Droid o en la Play Store. Además de para mensajería de texto puedes usar Conversations para enviar imágenes y tener conversaciones grupales.

Conversations - Primera pantalla Conversations - Pantalla de acceso Conversations - Añadir contactos

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).

5.6.2.2. Movim (Android)

Movim es un cliente XMPP libre con soporte a videollamadas disponible en F-Droid.

5.6.2.3. ChatSecure (iOS)

ChatSecure es un cliente XMPP libre con soporte a videollamadas disponible en App Store.

5.6.2.4. Monal (iOS)

Monal es un cliente XMPP libre con soporte a videollamadas disponible en App Store.

5.6.2.5. Siskin (iOS)

Siskin es un cliente XMPP libre con soporte a videollamadas disponible en App Store.

5.6.3. Clientes de escritorio

5.6.3.1. Gajim (Windows, MacOS, Linux)

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.

Gajim - Primera pantalla Gajim - Pantalla de acceso Gajim - Pantalla principal

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).

5.6.3.2. Dino (Linux)

Dino es un cliente libre para XMPP en el escritorio. Está disponible en https://github.com/dino/dino/wiki/Distribution-Packages.

Dino - Primera pantalla Dino - Pantalla de acceso Dino - Comenzar una conversación

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).

5.6.3.3. Movim (Linux)

Movim es un cliente XMPP libre para Linux con soporte a videollamadas. El proyecto proporciona un paquete Debian extraoficial.

5.6.3.4. Monal (MacOS)

Monal es un cliente XMPP libre con soporte a videollamadas disponible en Mac App Store.

5.7. Enlaces externos

5.7.1. Ejabberd

5.7.2. Sitios de aplicaciones cliente

5.7.3. Protocolo XMPP

6. GitWeb (Alojamiento simple para Git)

icono de Gitweb

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.

6.1. Administrar los repositorios

Tras instalar GitWeb se puede crear un nuevo repositorio. Se puede marcar como privado para limitar el acceso.

6.2. Acceso

Tras instalar GitWeb se puede acceder a GitWeb mediante el cliente web (p.ej) en https://<mi_freedombox>/gitweb.

6.3. Autenticación básica HTTP

Actualmente el GitWeb de FreedomBox solo soporta remotos HTTP. 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.

6.4. Réplicas Espejo

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.

6.5. Enlaces externos

7. I2P (Red anónima)

I2P icon

7.1. Acerca de I2P

El Proyecto Internet Invisible (I2P) es una capa anonimizadora de red concebida para protejer las comunicaciones de la censura y la vigilancia. I2P proporciona anonimato enviando tráfico cifrado a través de una red distribuída alrededor del mundo gestionada por voluntarios.

7.2. Servicios Ofrecidos

Los siguientes servicios se ofrecen en FreedomBox a través de I2P de serie. Se pueden habilitar más servicios desde la consola de enrutado I2P que se puede abrir desde el interfaz web de FreedomBox.

  • Navegación web anónima: I2P se puede usar para navegar por la web de forma anónima. Para ello configura tu navegador (preferíblemente un navegador Tor) para conectar al proxy I2P. Esto se puede hacer estableciendo los proxies HTTP y HTTPS a freedombox.local (o la IP local de tu FreedomBox) con sus respectivos puertos a 4444 y 4445. Este servicio está disponible sólo cuando accedes a la FreedomBox usando la red local (redes de la zona interna del cortaguegos) y no cuando llegas a la FreedomBox desde Internet. Una excepción a esto es cuando te conectas al servicio VPN de la FreedomBox desde Internet, en cuyo caso sí puedes usar el servicio de navegación web anónima a través de I2P.

  • Acceso a eepsites: La red I2P puede albergar sitios web anónimos llamados eepsites cuyo nombre de dominio acaba en .i2p. Por ejemplo, http://i2p-projekt.i2p/ es el sitio web del proyecto I2P en la red I2P. Los eepsites son inaccesibles a un navegador normal a través de una conexión Internet normal. Para navegar a los eepsites tu navegador necesita configurarse para usar los proxies HTTP y HTTPS como se describió antes. Este servicio solo está disponible cuando accedes a la FreedomBox usando la red local (redes de la zona interna del cortaguegos) y no cuando llegas a la FreedomBox desde Internet. Una excepción a esto es cuando te conectas al servicio VPN de la FreedomBox desde Internet, en cuyo caso sí puedes usar el servicio de acceso a eepsites a través de I2P.

  • Descargas anónima de torrentes: I2PSnark, una aplicación para descargar y compartir archivos anónimamente mediante la red BitTorrent está disponible y habilitada por defecto en FreedomBox. Esta aplicación se controla mediante un interfaz web que se puede abrir desde la sección Torrentes Anonimos de la app I2P en el interfaz web de FreedomBox o de la consola de enrutado I2P. Solo los usuarios ingresados pertenecientes al grupo Manage I2P application pueden usar este servicio.

  • Red IRC: La red I2P contiene una red IRC llamada Irc2P. Esta red alberga el canal IRC oficial del proyecto I2P, entre otros. Este servicio viene habilitdo de serie en FreedomBox. Para usarlo abre tu cliente IRC favorito y configuralo para conectar con freedombox.local (o la IP local de tu FreedomBox) en el puerto 6668. Este servicio solo está disponible cuando accedes a la FreedomBox usando la red local (redes de la zona interna del cortaguegos) y no cuando llegas a la FreedomBox desde Internet. Una excepción a esto es cuando te conectas al servicio VPN de la FreedomBox desde Internet, en cuyo caso sí puedes usar el servicio de IRC a través de I2P.

  • Consola de enrutado I2P: Este es el interfaz central de administración de I2P. Muestra el estado actual de I2P, estadísticas de ancho de banda y permite modificar varias preferencias de configuración. Puedes adecuar tu participación en la red I2P y usar/editar una lista con tus sitios I2P (eepsites) favoritos. Solo los usuarios ingresados pertenecientes al grupo Manage I2P application pueden usar este servicio.

7.3. Enlaces externos

8. Ikiwiki (Wiki y Blog)

icono de Ikiwiki

8.1. ¿Qué es Ikiwiki?

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).

8.2. Inicio rápido

Tras instalar la app en el interfaz de administración de tu FreedomBox:

  • Ve a la sección Crear y crea un wiki o un blog.

  • Vuelve a la sección Configurar y haz clic en el enlace /ikiwiki.

  • Haz clic en el nombre de tu nuevo wiki o blog bajo Directorio Padre.

  • Disfruta de tu nueva página de publicación.

8.3. Crear un wiki o blog

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.

ikiwiki: Create

8.4. Acceder a tu wiki o blog

Desde la página de Wiki y Blog (Ikiwiki) selecciona la solapa Administrar y verás una lista de tus wikis y blogs. Haz clic en un nombre para navegar a ese wiki o blog.

ikiwiki: Manage

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.

8.5. Ingreso único de usuarios (SSO)

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.

8.6. Añadir usuarios FreedomBox como admnistradores de wiki

  1. Ingresa al wiki con su cuenta de administrador.
  2. Haz clic en Preferencias y luego en Configurar.

  3. Debajo de Principal, en usuarios administradores de algún wiki, añade el nombre de un usuario de FreedomBox.

  4. (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.)

  5. Haz clic en Grabar Configuración.

  6. Pulsa Preferencias y a continuación Salir.

  7. Ingresa como el nuevo usuario administrador usando Ingresar con autenticación HTTP.

8.7. Enlaces externos

9. Infinoted (Edición colaborativa de textos mediante Gobby)

icono de Infinoted

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.

9.1. Redirección de Puertos

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

9.2. Enlaces extenos

10. JSXC (Cliente Web de Mensajería Instantánea)

icono de JSXC

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).

10.1. Especificaciones técnicas

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.

10.2. Instalación

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).

10.3. Uso

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.

JSXC sin conexión

JSXC con conexión

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.

10.4. Redirección de puertos

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)

11. Matrix Synapse (Servidor de Mensajería Instantánea)

icono de Matrix Synapse

Disponible desde: versión 0.14.0

11.1. ¿Qué es Matrix?

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.

11.2. ¿Cómo acceder a tu servidor Matrix Synapse?

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.

11.3. Configurar Matrix Synapse en tu FreedomBox

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.

11.4. Configurar llamadas de audio/vídeo

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.

11.5. Federarse con otras instancias Matrix

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.

11.6. Uso de Memoria

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.

11.7. Uso Avanzado

  1. 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
  2. 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  
  3. 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  

11.8. Redirección de Puertos

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

11.9. Enlaces externos

12. MediaWiki (Wiki)

icono de MediaWiki

Disponible desde: versión 0.20.0

12.1. Acerca de MediaWiki

MediaWiki es el software de base de la gama de wikis Wikimedia.

Lee más acerca de MediaWiki en Wikipedia

12.2. MediaWiki en FreedomBox

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.

12.2.1. Administración de Usuarios

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.

12.2.2. Casos de uso

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.

12.2.2.1. Repositorio Personal de Conocimiento

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.

12.2.2.2. Wiki Comunitario

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.

12.2.2.3. Sitio Web Personal implementado mediante un Wiki

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.

12.2.3. Editar Contenido del Wiki

FreedomBox monta MediaWiki con dos tipos de editores: el editor WikiText y el Editor Visual.

12.2.3.1. El editor WikiText

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.

mediawiki-toolbar.png

12.2.3.2. Editor Visual

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.

FreedomBox/Manual/MediaWiki/VisualEditor.png

12.2.3.3. Otros Formatos

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.

12.2.3.4. Cargar Imágenes

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.

12.2.4. Personalización

12.2.4.1. Temas de estilo

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.

12.3. Enlaces externos

13. Minetest (Sandbox de bloques)

icono de Minetest

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.

13.1. Enrutado de Puertos

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

13.2. Enlaces externos

14. MiniDLNA (Servidor multimedia básico)

icono de MiniDLNA

Disponible desde: versión 19.23

MiniDLNA es un servidor multimedia que intenta ser compatible con clientes DLNA/UPnP.

Nota: Este servicio solo está disponible en redes configuradas como zona "interna". Tampoco está disponble a través de OpenVPN (es incompatible).

14.1. ¿Qué es UPnP/DLNA?

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.

14.2. Desplegando MiniDLNA en tu FreedomBox.

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 una página web en https://<tu-freedombox>/_minidlna. 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á.

14.3. Usar MiniDLNA para reproducir contenidos multimedia en tus dispositivos

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.

14.4. Formatos multimedia soportados

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.

14.5. Sistemas de archivo para discos externos.

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.

14.6. Enlaces externos

15. MLDonkey (Compartir archivos entre pares)

icono de MLDonkey

Disponible desde: versión 0.48.0

15.1. ¿Qué es MLDonkey?

MLDonkey es una aplicación libre y multiprotocolo para compartir archivos entre pares (P2P) que ejecuta un servidor back-end sobre muchas plataformas. Se puede controlar mediante algún interfaz front-end, ya sea web, telnet o cualquier otro de entre una docena de programas cliente nativos.

Originalmente era un cliente Linux para el protocolo eDonkey pero ahora se ejecuta en multiples sabores de Unix y derivados, OS X, Microsoft Windows y MorphOS. Y soporta muchos protocolos P2P, incluyendo ED2K (y Kademlia sobre Overnet), BitTorrent, DC++ y más.

Más información acerca de MLDonkey en el Wiki del Proyecto MLDonkey

15.2. Captura de Pantalla

MLDonkey Web Interface

15.3. Usar el Interfaz Web MLDonkey

Tras instalar MLDonkey su interfaz web está accesible a los usuarios de los grupos ed2k y admin en https://<tu_freedombox>/mldonkey.

15.4. Usar el Interfaz para Escritorio/Móvil

Se pueden usar muchas aplicaciones de escritorio y móviles para controlar a MLDonkey. El servidor MLDonkey estará ejecutándose siempre en la FreedomBox y (cargará o) descargará archivos y los mantendrá almacenados incluso cuando tu máquina local esté apagada o desconectada del MLDonkey de FreedomBox. Por restricciones de acceso via SSH a la FreedomBox solo los usuarios del grupo admin pueden acceder a su MLDonkey.

  1. Crea un usuario nuevo en el grupo admin o usa uno que ya esté allí.
  2. En tu máquina de escritorio abre una terminal y ejecuta el siguiente comando. Para este paso se recomienda que configures y uses claves SSH en vez de contraseñas.
    $ ssh -L 4001:localhost:4001 -N usuario_de_ejemplo@ejemplo.freedombox.mola
  3. Arranca la aplicación gráfica y conéctala a MLDonkey como si MLDonkey se estuviera ejecutando en la máquina local de escritorio. Cuando hayas terminado mata el proceso SSH pulsando Control-C.

Para más información lee acerca de los túneles SSH en la documentación MLDonkey.

15.5. Enlaces externos

16. Servidor Mumble (Chat de voz)

Mumble icon

Disponible desde: versión 0.5

16.1. ¿Qué es Mumble?

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".

16.2. Usar Mumble

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.

16.3. Redirección de Puertos

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

16.4. Administrar Permisos

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. Actualmente FreedomBox no ofrece una interfaz gráfica para obtener o establecer la contraseña de superusuario en Mumble. Se genera una contraseña de superusuario automáticamente durante la instalación de Mumble. Para obtenerla ingresa en el terminal como admin usando Cockpit , la Shell Segura o la consola. Y ejecuta el siguiente comando:

sudo grep SuperUser /var/log/mumble-server/mumble-server.log

Deberás ver una salida como esta:

<W>2019-11-06 02:47:41.313 1 => Password for 'SuperUser' set to 'noo8Dahwiesh'

O puedes establecer una contraseña nueva así:

sudo su -
echo "nuevacontraseña" | su mumble-server -s /bin/sh -c "/usr/sbin/murmurd -ini /etc/mumble-server.ini --readsupw"

17. OpenVPN (Red Privada Virtual)

icono de OpenVPN

Disponible desde: versión 0.7

17.1. ¿Qué es OpenVPN?

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.

17.2. Redirección de puertos

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

17.3. Configurar

  1. En el menú de apps de FreedomBox selecciona Red Privada Virtual (OpenVPN) y haz clic en Instalar.

  2. 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.

    OpenVPN service page

  3. Espera a que termine la configuración. Puede tardar un rato.
  4. 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.

  5. El archivo ovpn contiene toda la información que necesita un cliente vpn para conectar con un servidor.
  6. 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

17.4. Resolución de problemas

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

17.5. Navegar por Internet tras conectar a una VPN

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.

17.6. Uso

17.6.1. En Android/LineageOS

  1. 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.

    • OpenVPN Download Profile

  2. Descarga un cliente OpenVPN como OpenVPN for Android. Se recomienda el repositorio F-Droid. En la app, selecciona Importar perfil.

    • OpenVPN App

  3. 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.

    • OpenVPN import profile

  4. 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.

    • OpenVPN profile created

      OpenVPN edit domain name

  5. Conecta haciendo clic sobre el perfil.
    • OpenVPN connect

      OpenVPN connected

  6. Cuando esté desconecta haciendo clic sobre el perfil.
    • OpenVPN disconnect

17.6.2. En Debian

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.

17.7. Comprobar si estás conectado

17.7.1. En Debian

  1. Trata de hacer ping a tu FreedomBox u otros dispositivos de tu red.

  2. El comando ip addr debe mostrar una conexión tun0.

  3. 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

17.8. Acceso a servicios internos

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.

Los siguientes servicios funcionan con OpenVPN:

Algunos servicios no funcionan aún con OpenVPN:

17.9. Enlaces Externos

https://community.openvpn.net/openvpn

18. Privoxy (Proxy Web)

icono de Privoxy

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).

18.1. Vídeo

Mira el vídeo acerca de como configurar y usar Privoxy en FreedomBox.

18.2. Configurar

  1. Instala Proxy Web (Privoxy) desde FreedomBox

    Privoxy Installation

  2. 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.

    Privoxy Browser Settings

  3. 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.

  4. 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.

18.3. Usuarios Avanzados

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.

  1. 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.

  2. Solo cuando ya estés preparado, realiza los cambios:
    1. 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.

    2. Ahora encontrarás un botón EDITAR en la pantalla de configuración de http://config.privoxy.org/.

18.4. Enlaces externos

19. Quassel (Cliente IRC)

icono de Quassel

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.

19.1. ¿Para qué ejecutar Quassel?

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.

19.2. ¿Cómo activar Quassel?

  • En el interfaz web de FreedomBox

    1. selecciona Aplicaciones

    2. ve a Cliente IRC (Quassel) e

    3. instala la aplicación y asegúrate de que está habilitada

      Quassel Installation

    4. tu núcleo de Quassel se está ejecutando

19.3. Redirección de Puertos

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:
    • Quassel_PortForwarding_es_v01.png

19.4. Clientes

Hay disponibles clientes para escritorio y dispositivos móviles para conectar a Quassel.

19.4.1. Escritorio

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.

  1. Abre el Cliente Quassel. Te guiará paso a paso para Conectarse al núcleo.

    • Connect to Core

  2. Haz clic en el botón Añadir para abrir el diálogo Añadir cuenta de núcleo.

    • Add Core Account

  3. 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.

  4. 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.

    • Connect to Core

  5. Selecciona la cuenta del núcleo recién creada y dale a OK para conectar con él.

  6. 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.

    • Untrusted Security Certificate

  7. Selecciona Continuar. Se te preguntará si quieres aceptar el certificado permanentemente. Selecciona Para siempre.

    • Untrusted Security Certificate

  8. 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.

    • Core Configuration Wizard

  9. 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.

    • Create Admin User Page

  10. En la página Seleccionar un motor de almacenamiento selecciona SQLite y haz clic en Enviar.

    • Select Storage Backend

  11. La configuración del núcleo está completa y verás un asistente Quassel IRC para configurar tus conexiones IRC. Haz clic en Siguiente.

    • Welcome Wizard

  12. 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.

    • Setup Identity

  13. 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).

    • Setup Network Connection

  14. 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.

    • Server Info Server Info SSL

  15. 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.

    • Setup Network Connection

  16. 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.

    • Quassel Main Window

  17. Selecciona un canal y empieza a recibir mensajes de otros participantes del canal y a enviar los tuyos.

19.4.2. Android

Para dispositivos Android puedes usar p.ej. Quasseldroid obtenido desde F-Droid

  • introduce el núcleo, usuario, etc.
    • Quasseldroid.png

Por cierto el verbo alemán quasseln significa hablar mucho, rajar.

19.5. Enlaces externos

20. Radicale (Calendario y Contactos)

icono de Radicale

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.

20.1. ¿Porque debería usar Radicale?

Usando Radicale puedes evitar servicios centralizados como Google Calendar o Apple Calendar (iCloud) que explotan los datos de tus eventos y conexiones sociales.

20.2. ¿Cómo configurar Radicale?

Primero el servidor Radicale necesita estar activado en tu FreedomBox.

  • En el servicio FreedomBox

    1. selecciona Apps

    2. ve a Radicale (Calendario y Libreta de contactos) e

    3. 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.

    4. 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.

Radicale-Plinth.png

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.

radicale_web.png

  • Crear calendarios y/o libretas usando el interfaz web
    1. Visita https://<dirección_IP_o_dominio_de_tu_servidor>/radicale/

    2. Ingresa con tu cuenta de FreedomBox

    3. Selecciona "Crear nuevo calendario o libreta"
    4. Proporciona un título y selecciona el tipo
    5. Opcionalmente, proporciona una descripción o selecciona un color
    6. Haz clic en "Crear"
    7. 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
      1. Crea un calendario nuevo
      2. Selecciona el "Tipo" "CalDAV"
      3. Con "CalDAV" seleccionado aparecerán más opciones en el cuadro de diálogo.
      4. URL: https://<dirección_IP_o_dominio_de_tu_servidor> cambiando los elementos marcados entre <> de acuerdo a tu configuración.

      5. Habilita "Usar una conexión segura."
      6. Usuario: <NOMBREUSUARIO>. Tu usuario en FreedomBox.

      7. Haz clic en "Encontrar Calendarios"
      8. Introduce to contraseña y selecciona un calendario.

        FreedomBox/Manual/Radicale/Evolution-new-calendar.png

    • 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.

20.3. Sincronizar via Tor

Configurar un calendario en FreedomBox con Radicale sobre Tor es lo mismo que sobre la red en claro, en resumen:

  1. 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.

  2. Ingresa en el interfaz web de Radicale usando el usuario de tu FreedomBox y su contraseña.

  3. Haz clic en "Crear libreta o calendario nuevo", proporciona un título, selecciona un tipo y haz clic en "Crear".
  4. 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.

  1. Abre Thunderbird, la extensión (add-on) Torbirdy y reinicia Thunderbird. (Quizá no haga falta.)

  2. En el interfaz Lightning, en el panel izquierdo bajo Calendario haz clic con el botón derecho del ratón y selecciona "Nuevo calendario".

  3. Selecciona "En la red" como localización de tu calendario.
  4. 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.

  5. Proporciona un nombre, etc. Haz clic en "Siguiente". Tu calendario está ahora sincronizando con tu FreedomBox a través de Tor.

  6. 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.

20.4. Sincronizar con tu teléfono Android

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.

  1. Instala DAVx5.

  2. Crea una cuenta nueva en DAVx5 haciendo clic en el botón flotante [+].
  3. 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.

  4. Sigue este video del FAQ de DAVx5 para aprender cómo importar tus contactos existentes a Radicale.

Sincronizar contactos

  1. 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).

  2. 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)

DAVx5 account setup DAVx5 refresh DAVx5 account sync

20.5. Usuarios Avanzados

20.5.1. Compartir recursos

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.

  1. 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.

  2. Edita el archivo /etc/radicale/config y haz los siguientes cambios en la sección [rights]

    • [rights]
      type = from_file
      file = /etc/radicale/rights
  3. Reinicia el servidor Radicale o la FreedomBox

20.5.2. Importar archivos

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.

20.6. Migrar desde Radicale versión 1.x a versión 2.x

En Febrero de 2019 se actualizó Radicale en las versiones "en pruebas" (testing) de Debian desde la versión 1.x a la 2.x. La versión 2.x es mejor pero incompatible con los datos y la configuración empleados en la 1.x. El mecanismo automático de actualización de FreedomBox que emplean las actualizaciones desatendidas no actualiza automaticamente la version 2.x de Radicale debido a cambios en los archivos de configuración. No obstante la version 19.1 de FreedomBox, disponible en en las versiones "en pruebas" (testing) desde el 23 de Febrero de 2019, realizará la migración de los datos y la configuración a la versión 2.x de Radicale. No se requiere ninguna acción por parte de los usuarios típicos. Ocurrirá automáticamente.

Si por algún motivo necesitas ejecutar a mano apt dist-upgrade en tu máquina Radicale se actualizará a 2.x y entonces tu FreedomBox no podrá ejecutar esta actualización (ya que el proyecto de origen decidió eliminar las herramientas de migración de la versión 2.x de Radicale). Para evitar esta situación se recomienda el siguiente procedimiento para actualizar.

sudo su -
apt hold radicale
apt dist-upgrade
apt unhold radicale

En cualquier caso, si ya has actualizado a Radicale 2.x sin ayuda de FreedomBox necesitas realizar la migración de los datos y la configuración por tí mismo. Sigue este procedimiento:

sudo su -
tar -cvzf /root/radicale_backup.tgz /var/lib/radicale/ /etc/radicale/ /etc/default/radicale
apt install -y python-radicale
python -m radicale --export-storage=/root/radicale-migration
cp -dpR /root/radicale-migration/collection-root /var/lib/radicale/collections/collection-root/
(elimina este directorio si ya existe. O mezcla los contenidos.)
chown -R radicale:radicale /var/lib/radicale/collections/collection-root/
apt remove -y python-radicale
if [ -f /etc/radicale/config.dpkg-dist ] ; then cp /etc/radicale/config.dpkg-dist /etc/radicale/config ; fi
if [ -f /etc/default/radicale.dpkg-dist ] ; then cp /etc/default/radicale.dpkg-dist /etc/default/radicale ; fi
(Cuando FreedomBox 19.1 está disponble ve al interfaz web de FreedomBox y vuelve a configurar tu preferencia de compartición de calendario si no se muestra bien porque se habrá perdido durante la operación.)

Notas:

  • python-radicale es un paquete antigüo de la versión 1.x de Radicale que sigue disponible en las versiones "en pruebas" (testing) de Debian. Esto es un hack alternativo para emplear la funcionalidad --export-storage que es responsable de la migración de datos. Por desgracia esta funcionalidad ya no está disponible en Radicale 2.x.

  • Los ficheros que acaban en .dpkg-dist solo existirán si has elegido "Conservar tu versión actualmente instalada" cuando se te preguntó durante la actualización a Radicale 2.x. El procedimiento anterior sobrescribirá la configuración antigüa con una nueva. No se necesitan cambios a los 2 ficheros de configuración salvo que hayas cambiado la preferencia de compartición de calendario.

  • Nota: Durante la migración tus datos permanecen a salvo en el directorio /var/lib/radicale/collections. Los datos nuevos se crearán y usarán en el directorio /var/lib/radicale/collections/collections-root/.

  • El comando tar hace una copia de seguridad de tu configuración y tus datos en /root/radicale_backup.tgz por si haces o algo va mal y quieres deshacer los cambios.

20.7. Resolución de Problemas

1. Si estás usando FreedomBox Pioneer Edition o instalando FreedomBox sobre Debian Buster Radicale podría no estar operativo inmediatamente después de la instalación. Esto se debe a un defecto ya corregido posteriormente. Para superar el problema actualiza FreedomBox haciendo clic en 'Actualización Manual' desde la app 'Actualizaciones'. Otra opción es simplemente esperar un par de días y dejar que FreedomBox se actualice solo. Después instala Radicale. Si Radicale ya está instalado deshabilitalo y rehabilitalo después de que se complete la actualización. Esto arreglará el problema y dejará a Radicale trabajando correctamente.

20.8. Enlaces externos

21. Roundcube (Cliente de Correo Electrónico (Email))

icono de Roundcube

Disponible desde: versión 0.5

21.1. ¿Qué es Roundcube?

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.

21.2. Usar Roundcube

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.

Logging into your IMAP server

21.3. Usar Gmail con Roundcube

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.

Logging into Gmail

21.4. Enlaces externos

22. Samba (Almacenamiento de Ficheros en Red)

icono de Samba

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.

22.1. Usar Samba

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.

22.1.1. Conectar desde dispositivos Android

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.

22.1.2. Conectar desde dispositivos macOS

  • 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.

22.2. Integración con otras apps

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.

22.3. Comparación con otras apps

22.3.1. Syncthing

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.

23. Searx (Búsqueda Web)

icono de Searx

Disponible desde: versión 0.24.0

23.1. Acerca de Searx

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.

23.2. Captura de pantalla

Searx Screenshot

23.3. Vídeo

Searx installation and first steps (14 MB)

23.4. ¿Por qué usar Searx?

23.4.1. Personalización y Burbujas por Filtrado

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.

23.4.2. Filtrado de publicidad

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.

23.4.3. Privacidad

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.

23.5. Searx en FreedomBox

  • 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.

24. Shadowsocks (Proxy SOCKS5)

icono de Shadowsocks

Disponible desde: versión 0.18.0

24.1. ¿Qué es Shadowsocks?

Shadowsocks es un proxy SOCKS5 ligero y seguro, diseñado para proteger tu tráfico Internet. Se puede usar para eludir la censura y los filtros de Internet. Tu FreedomBox puede ejecutar un cliente Shadowsocks que puede conectar con un servidor Shadowsocks. También ejecutará un proxy SOCKS5. Los dispositivos locales pueden conectar con este proxy y sus datos serán cifrados y retransmitidos a través del sevidor Shadowsocks.

Nota: Shadowsocks está disponible en FreedomBox a partir de la versión 0.18.

24.2. Usar el cliente Shadowsocks

La implementación actual de Shadowsocks en FreedomBox solo soporta configurar FreedomBox como cliente Shadowsocks. Este caso de uso sería así:

  • El client 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.

En el futuro será posible configurar FreedomBox como servidor Shadowsocks.

24.3. Configurar tu FreedomBox para el cliente Shadowsocks

Para habilitar Shadowsocks primero navega a la página Proxy Socks5 (Shadowsocks) 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/.

24.4. Enlaces externos

25. Sharing (Publicación de Archivos)

Sharing icon

Disponible desde: versión 0.25

25.1. ¿Qué es la app Sharing?

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.

25.2. Editando comparticiones

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.

25.3. Provisionar/actualizar el contenido

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, o MLDonkey) para publicar tus archivos.

25.4. Tecnicismos

Sharing compartirá el contenido usando el servidor web Apache que viene de serie.

26. Syncthing (Sincronización de Archivos)

icono de Syncthing

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 web interface

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.

26.1. Sincronizar via Tor

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.

26.2. Evitar repetidores de Syncthing

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.

26.3. Usar Syncthing con otras aplicaciones

26.3.1. Administrador de contraseñas

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.

26.4. Enlaces externos

27. Tiny Tiny RSS (Lector de Feeds de Noticias)

Tiny Tiny RSS icon

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.

27.1. Usar el interfaz web

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.

Tiny Tiny RSS

27.1.1. Añadir un nuevo feed

1. Ve a la página cuyo feed quieras y copia su enlace RSS/Atom feed.

Selecting feeds

2. Selecciona "Subscribirse al feed.." en el desplegable Acciones.

Subscribe to feed

3. Pega la URL que has copiado en el diálogo que aparece y pulsa el botón Subscribirse.

Subscription dialog box

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.

WikiNews feed added

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.

Unsubscribe from a feed

27.1.2. Importar tus feeds desde otro lector

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.

OPML feeds page

Para importar tu fichero Subscriptions.opml a TT-RSS,

  1. Haz clic en Examinar... y selecciona el fichero en tu sistema de archivos.

  2. 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.

27.2. Usar la app móvil

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.

Tiny Tiny RSS Tiny Tiny RSS Tiny Tiny RSS Tiny Tiny RSS Tiny Tiny RSS

27.3. Enlaces externos

28. Tor (Red para el anonimato)

icono de Tor

Disponible desde: versión 0.3

28.1. ¿Qué es Tor?

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.

28.2. Usar Tor para navegación anónima

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.

28.3. Usar Servicio Tor Onion para acceder a tu FreedomBox

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.)

Tor Configuration - FreedomBox

  • 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.

28.4. Apps accesibles via Tor

Las siguientes apps se pueden acceder a través de Tor. Esta lista puede ser incompleta.

28.5. Ejecutar un nodo Tor

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.

28.6. Usar el puerto Tor SOCKS (avanzado)

FreedomBox proporciona un puerto Tor SOCKS al que pueden conectar otras aplicaciones para enrutar su tráfico a través de la red Tor. Este puerto es accesible a cualquier interfaz (de red) configurado en la zona interna del cortafuegos. Para configurar la aplicación apunta el Host SOCKS a la dirección IP interna de la conexión y pon el Puerto SOCKS a 9050.

28.6.1. Exjemplo con Firefox

Tu navegador web se puede configurar para emplear la red Tor para toda tu actividad de navegación. Esto permite eludir la censura y oculta tu dirección IP a los sitios web durante la navegación normal. Para anonimato se recomienda usar el Navegador Tor.

Configura tu dirección IP local de FreedomBox y el puerto 9050 como un proxy SOCKS en Firefox. Hay extensiones para facilitar la activación y desactivación del proxy.

Configuring Firefox with Tor SOCKS proxy

Con en proxy SOCKS configurado puedes acceder cualquier URL de tipo onion diréctamente desde Firefox. FreedomBox tiene una dirección onion v3 propia a la que puedes conectarte por la red Tor (guárdala en tus favoritos para usarla en situaciones de emergencia).

28.7. Eludiendo la censura de Tor

Si tu proveedor de Internet (ISP) está tratando de bloquear el tráfico Tor puedes usar puentes (a la red Tor) para conectar (a la red Tor).

1. Obtén la configuración de los puentes de Tor BridgeDB

Tor BridgeDB

2. Añade las líneas a la configuración de Tor de tu FreedomBox como se muestra.

Tor Configuration Page

28.8. Enlaces externos

29. Transmission (Compartición distribuída de archivos mediante BitTorrent)

Transmission icon

Disponible desde: versión 0.5

29.1. ¿Qué es Transmission ?

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".

29.2. Captura de pantalla

Transmission Web Interface

29.3. Usar Transmission

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.

29.4. Consejos

29.4.1. Transferir Descargas desde la FreedomBox

  • 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

29.5. Redirección de puertos

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)

29.6. Enlaces externos

30. Sitios web de usuario (User Websites)

Disponible desde: versión 0.9.4

30.1. ¿Qué es User Websites?

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.

30.2. Captura de pantalla

30.3. Usar User Websites

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.

30.4. Crear la carpeta public_html y subir documentos

30.4.1. Visualmente desde Linux

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:

  1. Conectar con el administrador de archivos a tu FreedomBox:

    • Nautilus en Gnome:
      1. Para lanzar Nautilus puedes buscar su icono de archivador, o buscar su nombre o la palabra "archivo".
      2. Al final del panel izquierdo encontrarás la opción "+ Otras ubicaciones".
      3. Te lleva a una lista de ubicaciones. Encuentra "freedombox SFTP server" (así, en inglés) y dale.

      4. 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:
      1. Haz clic en la barra de ubicación en el extremo superior de la ventana.
      2. Introduce ftp://freedombox.local

      3. 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:
      1. Teclea esto en la barra de navegación: sftp://usuario@freedombox.local, reemplazando 'usuario' por el nombre real de tu usuario en FreedomBox.

      2. Imagino que la primera vez se te pedirán usuario y contraseña. Introduce tu usuario de FreedomBox y su contraseña.

  2. 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.

  3. Si no hay una carpeta public_html créala: clic con el botón derecho del ratón, etc.

  4. Arrastra tu(s) archivo(s) a la carpeta public_html.

  5. Deberías poder ir con tu navegador a la URL correspondiente y ver tus archivos.

30.4.2. Visualmente desde otras plataformas

Si quieres emplear clientes gráficos que sean software libre, instala:

  • FileZilla o WinSCP para Windows.

  • FileZilla para Mac.

  • Spider o Ghost Commander, disponibles ambos en el repositorio de aplicaciones libres para Android F-Droid.

Su uso es similar al descrito para los escritorios Linux.

30.4.3. Mediante interfaz de linea de órdenes (CLI)

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:

  1. (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
  2. Si tus datos son correctos y tu FreedomBox está accesible la primera vez se te pedirá confirmar su identificación.

  3. Luego se te pedira el usuario de FreedomBox y su contraseña.

  4. 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).

  5. 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:

  1. Usa el prefijo sudo así:

    usuario@freedombox:~$ sudo mkdir /home/<el_otro_usuario>/public_html
    , e introduce tu contraseña.
  2. 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
  3. 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
    ...

    . El nombre del otro usuario tiene que aparecer por duplicado en la línea de public_html y sus permisos deben ser drwxr-xr-x.

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/

. Te pedirá tu contraseña en FreedomBox. A continuación deberías poder ir con tu navegador a la URL correspondiente y ver tus archivos.

Más acerca de ssh, scp y sftp con $ man ssh, $ man scp y $ man sftp.

30.5. Enlaces externos

31. WireGuard (Red Privada Virtual)

alt="Icono de WireGuard"

31.1. Acerca de WireGuard

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.

31.2. Instalación

En está disponible para DebianBuster en Backports. Si tu lista de fuentes incluye a backports, Puedes instalar wireguard desde la sección Apps del interfaz web de FreedomBox.

  • WireGuard no se puede instalar aún en FreedomBox con buster-backports porque el servicio FreedomBox necesita una nueva versión de NetworkManager para ponerla en funcionamiento.

31.3. Configuración - Debian Peers

31.4. Uso

  • Tunel punto a punto
  • Cliente VPN con ruta por omisión

31.5. Configuración - Clientes móviles

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:

31.5.1. Alternativa A - Crear una configuración a mano

Esta es autoexplicativa: te creas la configuración en el dispositivo móvil y transfieres las claves apropiadas a la configuración del servidor.

31.5.2. Alternativa B - Crear una configuración a partir de un archivo

Aquí tienes que comprimir a .zip el archivo de configuración del cliente, transferirlo al dispositivo, e importarlo a la app.

31.5.3. Alternativa C - Importarla leyendo un código QR (el método másseguro)

La versión 0.0.20180724 del cliente móvil soporta lectura de código QR.

Se puede emplear 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.

31.6. Enlaces externos

32. WordPress (Sitio Web y Blog)

Icono de WordPress

Disponible desde: version 21.7

32.1. ¿Qué es WordPress?

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.

Un sitio simplón

Interfaz para la edición de contenidos

Interfaz para administración

32.2. Configurar WordPress en FreedomBox

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.

Página de configuración inicial

32.3. Accesso Público

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'.

32.4. Usuarios

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.

32.5. WordPress como página principal

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.

32.6. Nombre de Dominio

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.

Habilitar Permalinks

32.8. Actualizaciones automáticas

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.

32.9. Plugins y Temas

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.

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.

32.10. Enlaces externos

33. Zoph (Administración de fotografías)

alt="Icono de Zoph"

Disponible desde: versión 21.3

33.1. ¿Qué es Zoph?

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.

33.2. Usar Zoph

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.

Pantalla principal de Zoph

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.

Zoph User Preferences Screen

Puedes añadir información acerca de la gente que aparece en tus fotos.

Pantalla de nueva persona en Zoph

33.2.1. Seleccionar una ubicación para almacenar 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.

33.3. Enlaces externos

Sistema

1. Actualizaciones de Software

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.

upgrades_es_v01.png

1.1. ¿Cuando obtendré las últimas funcionalidades?

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.

1.2. Actualizaciones Manuales desde el Terminal

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 . 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

1.3. Autoactualización a la próxima publicación estable

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.

1.4. Actualización manual a la próxima publicación estable

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.
  • Considera retener provisionalmente el paquete freedombox (mediante apt-mark) para evitar que se elimine al actualizar otros paquetes. Recuerda quitar la retención cuando termines para que se pueda actualizar el paquete freedombox.

Actualizar desde Debian 10 (Buster) a Debian 11 (Bullseye):

  • Si Searx está instalado, tras su actualización tendrás que actualizar su lista de motores de búsqueda.
  • Quizá tengas que configurar el paquete grub-pc (mediante dpkg-reconfigure) para que no requiera reinstalar grub.

  • Quizá tengas que eliminar el paquete obsoleto libgcc1.

  • Considera retener provisionalmente los siguientes paquetes y dejar que FreedomBox se encargue luego de actualizarlos:

    • firewalld, mumble-server, radicale, roundcube-core, tt-rss

2. Almacenamiento

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.

Storage.png

2.1. Operación de almacenamiento avanzada

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.

storage-cockpit.png

3. Almacén de instantáneas

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.

Instantáneas

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.

4. Apagado

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.

5. BIND (Servidor de Nombre de Dominio)

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).

5.1. Usar BIND

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:

  1. Ir a la página Sistema y seleccionar Redes.

  2. Seleccionar la conexión "FreedomBox WAN" y pulsar Editar.

  3. Debajo de "Métodos de direccionado IPv4" hay un campo "Servidor DNS". Establecerlo a 127.0.0.1.

  4. Pulsar "Editar conexión" abajo para grabar los cambios.
  5. Reiniciar la FreedomBox desde el menú desplegable de usuario.

5.2. Enlaces externos

6. Cliente de DNS Dinamico

6.1. ¿Qué es DNS Dinamico?

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.

6.2. GnuDIP vs. Update URL

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.

6.3. Emplear el protocolo GnuDIP

  1. Registra una cuenta en cualquier proveedor de servicio de DNS Dinamico. Hay un servicio gratuito provisto por la comunidad FreedomBox disponible en https://gnudip.datasystems24.net .

  2. Habilita el Servicio de DNS Dinamico en el interfaz de usuario de FreedomBox.

  3. Selecciona GnuDIP como tipo de servicio, introduce la dirección de tu proveedor de servicio de DNS Dinamico (por ejemplo, gnudip.datasystems24.net) en el campo Dirección del servidor GnuDIP.

    Dynamic DNS Settings

  4. Completa la información que te ha dado tu proveedor en los campos correspondientes Nombre de Dominio, Usuario y Contraseña.

6.4. Emplear URL de actualización

Se implementa esta funcionalidad porque los proveedores de servicio de DNS Dinamico más populares están empleando el mecanismo URL de actualización.

  1. 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.
  2. Habilita el Servicio de DNS Dinamico en el interfaz de usuario de FreedomBox.

  3. 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.

  4. 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.

  5. 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.

  6. Si la URL de actualización contiene tu dirección IP temporal actual reemplaza la dirección IP por la cadena de texto <Ip>.

6.5. Comprobar si funciona

  1. Asegúrate de que los servicios externos que has habilitado como /jwchat, /roundcube o /ikiwiki están disponibles en tu dirección de dominio.
  2. 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".

  3. Comprueba que el último estado de actualización no sea fallida.

6.6. Recap: How to create a DNS name with GnuDIP

  1. Access to GnuIP login page (answer Yes to all pop ups)

  2. Click on "Self Register"
  3. Fill the registration form (Username and domain will form the public IP address [username.domain])
  4. Take note of the username/hostname and password that will be used on the FreedomBox app.

  5. Save and return to the GnuDIP login page to verify your username, domain and password (enter the datas, click login).
  6. 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).
  7. Leave the GnuDIP interface and open the Dynamic DNS Client app page in your FreedomBox.

  8. Click on "Set Up" in the top menu.
  9. Activate Dynamic DNS
  10. Choose GnuDIP service.
  11. Add server address (gnudip.datasystems24.net)
  12. Add your fresh domain name (username.domain, ie [username].freedombox.rocks)
  13. Add your fresh username (the one used in your new IP address) and password
  14. Add your GnuDIP password
  15. Fill the option with http://myip.datasystems24.de (try this url in your browser, you will figure out immediately)

7. Cockpit (Administración de Servidor)

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.

7.1. Usar Cockpit

Instala Cockpit como cualquier otra aplicación de FreedomBox. Y a continuación asegúrate de que Cockpit está habilitado.

cockpit-enable.png

Asegúrate de que la cuenta de usuario de FreedomBox que se empleará con Cockpit es parte del grupo de administradores.

cockpit-admin-user.png

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.

cockpit-login.png

Empieza a usar cockpit.

cockpit-system.png

Cockpit también funciona con interfaces mobiles.

cockpit-mobile.png

7.2. Funcionalidades

Las siguientes funcionalidades de Cockpit pueden ser útiles para usuarios avanzados de FreedomBox.

7.2.1. Cuadro de Mando del Sistema

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-system.png

7.2.2. Visualización de los Registros de Ejecución (logs) del Sistema

Cockpit permite consultar los registros de ejecución (logs) del sistema y examinarlos a todo detalle.

cockpit-logs.png

7.2.3. Administración de Almacenamiento

Cockpit permite las siguientes funciones avanzadas de almacenamiento:

  • Visualización de llenado de discos.
  • Edición de particiones de disco.
  • Administración de RAID.

cockpit-storage1.png

cockpit-storage2.png

7.2.4. Redes

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-network1.png

cockpit-network2.png

cockpit-network3.png

7.2.5. Servicios

Cockpit permite agendar servicios y tareas periódicas (como cron).

cockpit-services1.png

cockpit-services2.png

7.2.6. Terminal Web

Cockpit ofrece un terminal web que se puede usar para ejecutar tareas manuales de administración del sistema.

cockpit-terminal.png

7.3. Resolución de Problemas

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.

7.4. Enlaces externos

8. Configurar

Configurar tiene algunas opciones generales de configuración:

8.1. Hostname

  • Hostname es el nombre local por el que otros dispositivos pueden alcanzar tu FreedomBox desde la red local. El hostname por defecto es freedombox.

8.2. Nombre de Dominio

8.3. Página Principal (home) del Servidor Web

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.

9. Copias de respaldo (backups)

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.

9.1. Estados de la Funcionalidad de Backups

App/Funcionalidad

Soporte en Versión

Notas

Avahi

-

no precisa backup

Backups

-

no precisa backup

bepasty

20.14

Bind

0.41

calibre

20.15

Cockpit

-

no precisa backup

Coturn

20.8

Datetime

0.41

Deluge

0.41

no incluye archivos descargados ni semillas

Diagnostics

-

no precisa backup

Dynamic DNS

0.39

ejabberd

0.39

incluye todos los datos y configuración

Firewall

-

no precisa backup

Gitweb

19.19

I2P

19.6

ikiwiki

0.39

incluye todos los wikis/blogs y sus contenidos

infinoted

0.39

incluye todos los datos y claves

JSXC

-

no precisa backup

Let's Encrypt

0.42

Matrix Synapse

0.39

incluye media y cargas

MediaWiki

0.39

incluye páginas de wiki y archivos adjuntos

Minetest

0.39

MiniDLNA

19.23

MLDonkey

19.0

Monkeysphere

0.42

Mumble

0.40

Names

-

no precisa backup

Networks

No

sin planes para implementar backup, de momento

OpenVPN

0.48

incluye a todos los usuarios y claves de servidor

Pagekite

0.40

Power

-

no precisa backup

Privoxy

-

no precisa backup

Quassel

0.40

incluye usuarios y registros de ejeución (logs)

Radicale

0.39

incluye calendario y datos de tarjetas de todos los usuarios

Roundcube

-

no precisa backup

Samba

19.22

no incluye datos de las carpetas compartidas

SearX

-

no precisa backup

Secure Shell (SSH) Server

0.41

incluye las claves del servidor

Security

0.41

Shadowsocks

0.40

solo secretos

Sharing

0.40

no incluye datos de las carpetas compartidas

Snapshot

0.41

solo configuración, no incluye datos de capturas (snapshots)

Storage

-

no precisa backup

Syncthing

0.48

no incluye datos de las carpetas compartidas

Tahoe-LAFS

0.42

incluye todos los datos y configuración

Tiny Tiny RSS

19.2

incluye base de datos con feeds, historias, etc.

Tor

0.42

includes configuración y secretos como las claves de servicios Tor Onion

Transmission

0.40

no incluye archivos descargados ni semillas

Upgrades

0.42

Users

No

sin planes para implementar backup, de momento

Wordpress

21.8

Zoph

21.3

9.2. Cómo instalar y usar Backups

Paso 1: Ir a la página de Copias de Seguridad

Backups: Paso 1

Paso 2: Pulsar el botón Instalar

Backups: Paso 2

Paso 3: Esperar a que se instalen todos los componentes de la aplicación

Backups: Paso 3

Paso 4: Pulsar el botón de Crear Copia de Seguridad

Backups: Paso 4

Paso 5: Seleccionar las aplicaciones a respaldar y pulsar Enviar

Backups: Paso 5

Paso 6: Pulsar en el botón Descargar

Backups: Paso 6

9.3. Enlaces externos

10. Cortafuegos

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.

Firewall

La administración del cortafuegos en FreedomBox se hace empleando FirewallD.

10.1. Interfaces

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.

10.2. Abrir Puertos Propios

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.

firewalld-cockpit.png

10.3. Puertos/Servicios de FreedomBox

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

{*}

{X}

(./)

(./)

XMPP Client

5222/tcp

{*}

{X}

(./)

(./)

XMPP Server

5269/tcp

{*}

{X}

(./)

(./)

XMPP Bosh

5280/tcp

{*}

{X}

(./)

(./)

NTP

123/udp

{o}

(./)

(./)

(./)

Interfaz web de FreedomBox

443/tcp

{*}

(./)

(./)

{X}

Quassel

4242/tcp

{*}

{X}

(./)

(./)

SIP

5060/tcp

{*}

{X}

(./)

(./)

SIP

5060/udp

{*}

{X}

(./)

(./)

SIP-TLS

5061/tcp

{*}

{X}

(./)

(./)

SIP-TLS

5061/udp

{*}

{X}

(./)

(./)

RTP

1024-65535/udp

{*}

{X}

(./)

(./)

SSH

22/tcp

{*}

(./)

(./)

{X}

mDNS

5353/udp

{o}

(./)

(./)

(./)

Tor (Socks)

9050/tcp

{o}

{X}

(./)

(./)

Obfsproxy

<random>/tcp

{*}

{X}

(./)

(./)

OpenVPN

1194/udp

{*}

{X}

(./)

(./)

Mumble

64378/tcp

{*}

{X}

(./)

(./)

Mumble

64378/udp

{*}

{X}

(./)

(./)

Privoxy

8118/tcp

{o}

{X}

(./)

(./)

JSXC

80/tcp

{*}

{X}

{X}

{X}

JSXC

443/tcp

{*}

{X}

{X}

{X}

DNS

53/tcp

{o}

{X}

{X}

{X}

DNS

53/udp

{o}

{X}

{X}

{X}

DHCP

67/udp

{o}

(./)

{X}

{X}

Bootp

67/tcp

{o}

{X}

{X}

{X}

Bootp

67/udp

{o}

{X}

{X}

{X}

Bootp

68/tcp

{o}

{X}

{X}

{X}

Bootp

68/udp

{o}

{X}

{X}

{X}

LDAP

389/tcp

{o}

{X}

{X}

{X}

LDAPS

636/tcp

{o}

{X}

{X}

{X}

10.4. Operación Manual

Para completar información acerca de los conceptos basicos o más allá, mira la documentación de FirewallD.

10.4.1. Habilitar/deshabilitar el cortafuegos

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

10.4.2. Modificar servicios/puertos

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

10.4.3. Modificar la zona de los interfaces

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

11. Detección de Servicios

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.

12. Resolución de problemas

12.1. No se accede con <hostname>.local

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.

13. Diagnósticos

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.

14. Fecha y hora

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).

DateTime_es_v01.png

15. Let's Encrypt (Certificados)

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.

15.1. Por Qué Usar Certificados

La comunicación con tu FreedomBox se puede asegurar de modo que se imposibilite interceptar los contenidos que tus servicios intercambian con sus usuarios.

15.2. Cómo configurar

  1. 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)
  2. Publica tu nombre de dominio:
    • En Configurar inserta tu nombre de dominio, p.ej. MiWeb.com Let's Encrypt

  3. Verifica que se aceptó tu nombre de dominio
  4. 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

      Let's Encrypt

  5. Verifica en tu navegador comprobando https://MiWeb.com

    • Let's Encrypt Certificate

Screencast: Let's Encrypt

15.3. Usar

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.

15.4. Enlaces externos

16. Monkeysphere

Con Monkeysphere se puede generar una clave OpenPGP para cada dominio configurado para servir SSH. La clave pública OpenPGP se puede subir entonces a los servidores de claves OpenPGP. Los usuarios que se conecten mediante SSH podrán verificar que se están conectando a la máquina correcta. Para que los usuarios puedan confiar en la clave alguien (generalmente el dueño de la máquina) tiene que firmarla siguiendo el proceso normal de firmado de claves OpenPGP. Para más detalles, ver la documentación de Monkeysphere SSH.

Monkeysphere también puede generar una clave OpenPGP para cada certificado de servidor web seguro (HTTPS) instalado en esta máquina. La clave pública OpenPGP se puede subir entonces a los servidores de claves OpenPGP. Los usuarios que se conecten mediante HTTPS podrán verificar que se están conectando a la máquina correcta. Para validar el certificado el usuario deberá instalar cierto software disponible en el sitio web de Monkeysphere.

16.1. Enlaces externos

17. PageKite (Visibilidad Publica)

17.1. ¿Qué es PageKite?

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.

17.2. Usar PageKite

  1. Créate una cuenta en un servicio de repetidor de PageKite.

  2. Añade una cometa a tu cuenta. Anota el nombre y el secreto de tu cometa.
  3. En FreedomBox, vé a la solapa "Configurar PageKite" de la página Visibilidad Publica (PageKite).

  4. Marca la caja "Habilitar PageKite" e introduce el nombre y el secreto de tu cometa. Haz clic en "Grabar propiedades".

  5. 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.

  6. En la página Certificados (Let's Encrypt) puedes obtener un certificado Let's Encrypt para el nombre de tu cometa.

18. Performance (Monitorización del sistema)

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).

FreedomBox/Manual/Performance/performance-one-week.png

19. Protección

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.

19.1. Configuración

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.

Security_es_v01.png

20. Redes

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.

20.1. Configuración por defecto

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

20.1.1. Interfaz (tarjeta) ethernet único

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.

network_single.png

20.1.2. Múltiples interfaces (tarjetas) ethernet

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.

20.1.3. Configuración de la Wi-Fi

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.

20.2. Compartición de la Conexión a Internet

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.

20.3. Adaptaciones

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.

20.3.1. Conexiones PPPoE

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.

20.3.2. Conectar a Internet mediante Wi-Fi

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.

20.3.2.1. Problemas con la Funcionalidad de Privacidad

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.

20.3.3. Añadir un nuevo dispositivo de red

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.

20.3.4. Configurar una red Mesh

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.

20.3.4.1. Unirse a una red Mesh

Para unirse a una red mesh existente en tu zona primero consulta a sus organizadores y obtén información acerca de la red.

  1. 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 BATMAN (con mayúsculas).

    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.

  2. 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.

20.3.4.2. Crear una red Mesh

Para crear tu propia red mesh y compartir tu conexión a Internet con el resto de los nodos de la red:

  1. 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.

  2. 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.

20.4. Operación avanzada de Red

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.

networks-cockpit.png

20.5. Operación manual de Red

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.

21. Servicios de Nombre

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.

22. Shell Segura

22.1. ¿Qué es Shell Segura?

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.

22.2. Configurando una Cuenta de Usuario

22.2.1. Primer ingreso a FreedomBox: Cuenta de Admin

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.

22.2.2. Cuenta de Usuario por Defecto

  • 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:

  1. Descomprime la imagen.
  2. Obtén una copia de freedom-maker en https://salsa.debian.org/freedombox-team/freedom-maker/.

  3. Ejecuta sudo ./bin/passwd-in-image <archivo_de_imagen> fbx.

  4. 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.

22.3. Ingresando

22.3.1. Local

Para ingresar mediante SSH a tu FreedomBox:

$ ssh fbx@freedombox

Reemplaza fbx por el usuario con el que quieres ingresar. 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.

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.

fbx y los otros usuarios del grupo admin podrán ingresar directamente por el terminal. A todos los demás usuarios se les denegará el acceso.

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.

22.3.2. SSH via Tor

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.

22.4. Escalar a Superusuario

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.

22.5. Cambiar Contraseñas

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.

22.6. Enlaces externos

23. Usuarios y Grupos

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
  • i2p
  • 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.

Hardware

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.

1. Hardware Recomendado

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.

2. Hardware Soportado

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.

2.1. Comparativa de Hardware

Nombre

Velocidad CPU (GHz)

Arquitectura

RAM (GB)

disco (GB)

batería

SATA

Velocidad Ethernet

OSHW

APU.1D

1x2

amd64

2

-

-

(./)

1000x3

{X}

APU.1D4

1x2

amd64

4

-

-

(./)

1000x3

{X}

BeagleBone Black C

1

armhf/omap

½

4

-

-

100

(./)

Cubieboard2

1x2

armhf/sunxi

1

4

(./)

(./)

100

{X}

Cubieboard2-Dual

1x2

armhf/sunxi

1

-

(./)

(./)

100

{X}

Cubieboard3/Cubietruck

1x2

armhf/sunxi

2

8

(./)

(./)

1000

{X}

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

{X}

Pine A64+

1.2x4

arm64/sunxi

½,1,2

-

-

-

1000

{X}

Banana Pro

1.2x2

armhf/sunxi

1

-

-

(./)

1000

{X}

Orange Pi Zero

?x4

armhf/sunxi

¼,½

-

-

-

100

{X}

RockPro64

1.4x4+1.8x2

arm64

2,4

16,32,64,128

-

(./)

1000

{X}

Rock64

1.5x4

arm64

1,2,4

16,32,64,128

-

(./)

1000

{X}

3. Más Hardware

3.1. Más Hardware Operativo

Freedombox funciona en este hardware. Pero no se recomienda porque (el hardware) no funciona empleando únicamante software libre:

3.2. Hardware Soportado mediante Imágenes Genéricas

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 compiler 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.

3.3. Añadir Soporte a Hardware

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.

4. Hardware Obsoleto

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.

5. Información común sobre Hardware

Las siguientes secciones documentan consejos comunes relativos al hardware y periféricos cuando se usan con FreedomBox.

5.1. Wi-Fi

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.

5.2. Alimentación eléctrica

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.

5.3. Firmware

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.

5.4. Almacenamiento

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.

5.4.1. Tarjeta Digital Segura (SD)

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.

5.4.2. Tarjeta MultiMedia Empotrada (eMMC)

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.

5.4.3. Unidad de disco USB

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.

5.4.4. Unidad de disco SATA

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.

5.4.5. Unidad de disco NVMe

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.

6. Compilar tus propias imágenes

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.

6.1. Estado del software empleado

  • 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.

7. FreedomBox Pioneer Edition

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.

Pioneer Edition FreedomBox Home Server Kit

8. Características del Producto

8.1. HW Recomendado

É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).

8.2. Este Kit

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.

8.3. Disponibilidad

El servidor casero FreedomBox Pioneer Edition es la primera versión comercial disponible de FreedomBox.

8.4. Especificaciones del Hardware

El servidor casero FreedomBox Pioneer Edition se basa en la A20-OLinuXino-LIME2 Rev.G

  • Hardware de fuentes abiertas (OSHW):

  • 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:

8.5. Extensión para Almacenamiento

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.

  • Tienda Olimex

  • 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)

8.6. Descarga

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.

8.7. Construcción de una Imágen

Las imágenes de FreedomBox para este hardware se pueden construir usando Freedom Maker.

8.8. Reparos conocidos

9. Obtener el Código Fuente

FreedomBox es 100% software libre y puedes obtener el código fuente para estudiarlo, modificarlo y distribuir mejoras.

9.1. Desde (dentro de) FreedomBox

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.

  1. Para ver la lista de paquetes software instalados en tu FreedomBox, ejecuta lo siguiente en un terminal:

    dpkg -l
  2. 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.

  3. 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
  4. Instala el paquete:
     dpkg -i ../<paquete_construído>.deb

9.2. Otras Maneras de Obtener el Código Fuente

  1. 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.

  2. 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.

  3. 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.

  4. 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

9.3. Construyendo Imágenes de disco

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.

9.3.1. Imágenes U-boot sobre Pioneer Edition

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.

9.4. Botones de encendido y apagado

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.

Botones indocumentados de la Pioneer Edition

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.

10. A20 OLinuXino Lime2

A20 OLinuXino Lime2

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.

10.1. Similar Hardware

The following similar hardware will also work well with FreedomBox.

10.2. Download

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.

10.3. Availability

  • Price: 45 EUR (A20 OLinuXino Lime2)
  • Price: 55 EUR (A20 OLinuXino Lime2 4GB)
  • Olimex Store

10.4. Hardware

  • 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

10.5. Non-Free Status

  • Non-free blobs required: No
  • WiFi: Not available

  • Boot Firmware: BROM (GPLV2+)

10.6. Known Issues

11. A20 OLinuXino MICRO

A20 OLinuXino MICRO

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.

11.1. Similar Hardware

The following similar hardware will also work well with FreedomBox.

11.2. Download

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.

11.3. Availability

  • Price: 50 EUR (A20 OLinuXino MICRO)
  • Price: 63 EUR (A20 OLinuXino MICRO 4GB)
  • Olimex Store

11.4. Hardware

  • 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

11.5. Non-Free Status

  • Non-free blobs required: No
  • WiFi: Not available

  • Boot Firmware: BROM (GPLV2+)

11.6. Known Issues

  • 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

12. APU

PC Engines APU 1D

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.

12.1. Similar Hardware

Although untested, the following similar hardware is also likely to work well with FreedomBox.

12.2. Download

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.

12.3. Networking

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.

12.4. Availability

12.5. Hardware

  • 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

12.6. Non-Free Status

  • Non-free blobs required: No
  • WiFi: Not available

  • Boot firmware: Coreboot

13. Cubietruck

13.1. FreedomBox Danube Edition

FreedomBox Danube Edition

FreedomBox Danube Edition is a custom casing around Cubietruck and an SSD-hard drive.

13.2. Cubietruck / Cubieboard3

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.

13.3. Download

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.

13.4. Availability

Cubietruck / Cubieboard3

13.5. Hardware

  • 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

13.6. Non-Free Status

  • Non-free blobs required: ?
  • WiFi: no free WiFi drivers + firmware available

13.7. Known Issues

  • The on-board WiFi does not work with free software. A separate USB WiFi device is recommended.

14. Cubieboard 2

Cubieboard 2

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.

14.1. Download

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.

14.2. Availability

14.3. Hardware

  • 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

14.4. Non-Free Status

  • Non-free blobs required: No
  • WiFi: Not available

15. Beagle Bone Black

Beagle Bone Black

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.

15.1. Download

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. If you have such a device and would like to help getting FreedomBox to run on it, contact us!

An alternative to downloading these images is to install Debian on the BeagleBone and then install FreedomBox on it.

15.2. Availability

15.3. Hardware

  • Open Source Hardware (OSHW): Yes

  • CPU: AM335x 1GHz ARM Cortex-A8

  • 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

15.4. Non-Free Status

  • Non-free blobs required: No
  • WiFi: Not available

16. pcDuino3

LinkSprite pcDuino3S

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.

16.1. Similar Hardware

Although untested, the following similar hardware is also likely to work well with FreedomBox.

16.2. Download

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.

16.3. Availability

16.4. Hardware

  • 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

16.5. Non-Free Status

  • Non-free blobs required: No
  • WiFi: Requires non-free firmware

  • Boot Firmware: BROM (GPLV2+)

17. Debian

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 (Bullseye), Testing (Bookworm), 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.

Console/GUI logins for non-admin users will be disabled

After FreedomBox is fully setup, your system will no longer allow users not belonging to the admin group to log in to the system via console, secure shell (SSH) or graphical login. This behaviour can be disabled from the Security page. Use the administrator account created during FreedomBox first boot for console logins and add further user accounts to admin group, if necessary.

17.1. Installing on Debian 11 (Bullseye) or newer

Check the Troubleshooting section below, for any tips or workarounds that might help during the install.

  1. Install Debian 11 (Bullseye), or Unstable (Sid) on your hardware.

  2. Update your package list.
    $ sudo apt-get update
  3. 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.
  4. 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.

  5. You can start using FreedomBox. During initial wizard, you will need to enter the secret noted above.

17.2. Tips and Troubleshooting

  1. 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.

  2. 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
  3. ..with the block capitals and somedomain.com replaced with your actual address, mask description, gateway and dns server details.

18. VirtualBox

VirtualBox

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).

18.1. Download

Follow the instructions on the download page to download and verify a VirtualBox image. The latest images are available on freedombox.org.

18.2. Creating a Virtual Machine

  1. Decompress the downloaded VDI image (tool for Windows, Mac).

  2. Create a new VM in the VirtualBox UI with OS type Linux and Version Debian (32/64-bit according to the downloaded image).

VirtualBox Name and OS dialog

  1. In the Hard disk dialog choose Use an existing virtual hard disk file and select the .vdi file you extracted in step 1.

VirtualBox Hard disk dialog

  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.

VirtualBox recommended network setting

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.

18.3. First Boot

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.

FreedomBox console after booting successfully

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.

FreedomBox welcomes you to the first boot

This mainly consist of creating an administrative user for the system.

18.4. Using

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.

18.5. Build Image

If you wish to build your own images instead of downloading available images, it can be done using Freedom Maker.

18.6. Tips & Troubleshooting

18.6.1. Network Configuration

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.

  1. 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.

  2. 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.

  3. 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.

  4. 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

(./)

(./)

(./)

{X}

(./)

Host only

{X}

(./)

(./)

(./)

{X}

NAT

(./)

(./)

{X}

(./)

(./)

NAT and Host

{X}

(./)

(./)

(./)

(./)

18.6.2. Finding out the IP address of the virtual machine

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.

18.6.3. Networking Problems with macchanger

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.

18.6.4. Mounting Images Locally

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.

18.6.5. Fixing the time after suspend and resume

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.

18.6.6. UUID collision in VB

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

19. Pine A64+

Pine 64+

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.

19.1. Similar Hardware

  • Both 1GB and 2GB versions of Pine A64+ are supported with the same FreedomBox image.

  • There is a separate Pine A64-LTS image.

19.2. Download

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.

19.3. Availability

19.4. Hardware

  • 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

19.5. Non-Free Status

  • Non-free blobs required: No
  • WiFi: Not available

20. Banana Pro

Banana Pro

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.

20.1. Download

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.

20.2. Hardware

  • 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)

20.3. Non-Free Status

  • Non-free blobs required: No
  • WiFi: Unknown

21. Orange Pi Zero

Orange Pi Zero

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.

21.1. Download

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.

21.2. Availability

21.3. Hardware

  • 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

21.4. Non-Free Status

  • Non-free blobs required: No (without Wi-Fi)
  • Wi-Fi: no free Wi-Fi drivers + firmware available

22. RockPro64

RockPro64

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.

22.1. Download

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 USB 2.0 and USB 3.0 disk drives and 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.

22.2. Availability

22.3. Hardware

  • 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

22.4. Non-Free Status

  • Non-free blobs required: No
  • WiFi: Not available

22.5. Known Issues

  • FreedomBox does not work when booted from eMMC module (but works from SD card, USB 2.0 disk or USB 3.0 disk). FreedomBox on NVMe disk has not been tested.

23. Rock64

Rock64

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.

23.1. Download

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.

23.2. Availability

  • Price: 25 USD (1GB)
  • Price: 35 USD (2GB)
  • Price: 45 USD (4GB)
  • Pine64 Store

23.3. Hardware

  • 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

23.4. Non-Free Status

  • Non-free blobs required: No
  • WiFi: Not available

23.5. Known Issues

  • 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).

24. Raspberry Pi 2 Model B

Raspberry Pi 2

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.

24.1. Download

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.

24.2. Availability

24.3. Hardware

  • 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

24.4. Non-Free Status

  • Non-free blobs required: boot firmware
  • WiFi: Not available

25. Raspberry Pi 3 Model B

Raspberry Pi 3 Model B

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.

25.1. Download

FreedomBox SD card images for this hardware are available. 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.

25.2. Availability

25.3. Hardware

  • 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

25.4. Non-Free Status

  • Non-free blobs required: boot firmware
  • WiFi: Requires non-free firmware

26. Raspberry Pi 3 Model B+

Raspberry Pi 3 Model B+

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.

26.1. Download

FreedomBox SD card images for this hardware are available. 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.

26.2. Availability

26.3. Hardware

  • 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

26.4. Non-Free Status

  • Non-free blobs required: boot firmware
  • WiFi: Requires non-free firmware

27. Raspberry Pi 4 Model B

Raspberry Pi 4 Model B

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. A FreedomBox "testing" image is available for Raspberry Pi 4 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.

27.1. Download

Before downloading and using FreedomBox you need to ensure that latest Raspberry Pi 4 UEFI Firmware is available on an SD card. See instructions on how to create an SD card with this firmware. The gist is that you...

  1. download the firmware zip files,
  2. erase the SD card,
  3. create a FAT partition,
  4. unzip the files to SD card and finally
  5. insert the SD card into the board.

FreedomBox images meant for all "arm64" hardware work well for this device. Currently only "testing" images work and not "stable" images. However, the firmware must be present in an SD card. This means that FreedomBox itself must be present on a different disk such as a USB flash disk or USB SATA disk. Follow the instructions on the download page to create a FreedomBox USB disk and boot the device. These images also work well for USB 2.0 and USB 3.0 disk drives and 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.

27.2. Build Image

FreedomBox images for this hardware can be built using Freedom Maker. Use the target 'arm64' with distribution 'testing' to build the image for this board.

27.3. Availability

27.4. Hardware

  • Open Hardware: No
  • CPU: Broadcom BCM2711 SOC (4x Cortex-A72@1.5GHz)

  • RAM: 2 GB or 4GB or 8 GB
  • Storage: MicroSD card slot
  • 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

27.5. Non-Free Status

  • Non-free blobs required: boot firmware
  • WiFi: Requires non-free firmware

28. USB Wi-Fi

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.

28.1. Firmware Installation

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

28.2. Resources

Release Notes

The following are the release notes for each FreedomBox version.

1. FreedomBox 21.9 (2021-09-18)

1.1. Highlights

  • mediawiki: Backup and restore uploaded files
  • mediawiki: Enable a subset of default extensions

1.2. Other Changes

  • 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

2. FreedomBox 21.8 (2021-08-30)

2.1. Highlights

  • wordpress: New app to manage a WordPress site/blog

2.2. Other Changes

  • 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

3. FreedomBox 21.7 (2021-08-16)

3.1. Highlights

  • ttrss: Allow upgrade to version 21

3.2. Other Changes

  • 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

4. FreedomBox 21.6 (2021-05-31)

4.1. Highlights

  • locale: Add Sinhala language
  • locale: Add Vietnamese language
  • backups: Change submit button to fix translation issues

4.2. Other Changes

  • locale: Update translations for Chinese (Simplified), Chinese (Traditional), Dutch, French, German, Hungarian, Indonesian, Japanese, Portuguese, Sinhala, Swedish, Telugu, Turkish, Vietnamese

5. FreedomBox 21.5 (2021-04-19)

5.1. Highlights

  • ejabberd: Add STUN/TURN configuration
  • locale: Add Albanian language

5.2. Other Changes

  • 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

6. FreedomBox 21.4.2 (2021-03-28)

6.1. Highlights

  • firstboot: Use session to verify first boot welcome step

6.2. Other Changes

  • locale: Update translations for German, Greek, Indonesian, Turkish
  • manual: Update Contributing and Matrix Synapse pages

7. FreedomBox 21.4.1 (2021-03-13)

7.1. Highlights

  • deluge, mldonkey, syncthing, transmission: Ensure nslcd is running before the service is started
  • deluge: Fix daemon user not in freedombox-share group after installation

7.2. Other Changes

  • config: Fix tests related to user home directory
  • locale: Update translations for Dutch, German, Greek, Polish, Spanish, Swedish, Turkish

8. FreedomBox 21.4 (2021-02-28)

8.1. Highlights

  • matrix-synapse: Auto configure STUN/TURN using coturn server

8.2. Other Changes

  • 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

9. FreedomBox 21.3 (2021-02-11)

9.1. Highlights

  • zoph: Add new app to organize photos
    • Only available in Debian testing (bullseye) due to issues in buster.

9.2. Other Changes

  • 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

10. FreedomBox 21.2 (2021-02-05)

10.1. Highlights

  • calibre: Fix freedombox.local inaccessible after enabling app
  • matrix-synapse: Install python3-psycopg2 from backports

10.2. Other Changes

  • 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

11. FreedomBox 21.1 (2021-01-25)

11.1. Highlights

  • backups: Add scheduled backups for each location

11.2. Other Changes

  • 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

12. FreedomBox 21.0 (2021-01-11)

12.1. Highlights

  • apache2: Allow downloads in openvpn and backups with latest browsers

12.2. Other Changes

  • 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

13. FreedomBox 20.21 (2020-12-28)

13.1. Highlights

  • 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

13.2. Other Changes

  • 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

14. FreedomBox 20.20.1 (2020-12-19)

14.1. Highlights

  • config: Skip homepage test on buildd
  • ui: Migrate from bootstrap 3 to bootstrap 4

14.2. Other Changes

  • 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

15. FreedomBox 20.20 (2020-12-14)

15.1. Highlights

  • config: Add user websites as choices for homepage config
  • templates: Make toggle button responsive

15.2. Other Changes

  • 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

16. FreedomBox 20.19 (2020-11-30)

16.1. Highlights

  • openvpn: Create user group "vpn"
  • upgrades: Add first boot step to run initial update

16.2. Other Changes

  • 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

17. FreedomBox 20.18.1 (2020-11-23)

  • locale: Update translations for Dutch, French, German, Italian, Norwegian Bokmål, Spanish, Swedish, Turkish
  • sso: Fix regression in auth-pubtkt configuration

18. FreedomBox 20.18 (2020-11-16)

18.1. Highlights

  • 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.

18.2. Other Changes

  • 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

19. FreedomBox 20.17.1 (2020-11-07)

  • ci: Fix flake8 errors
  • debian: Rename source package to freedombox
  • locale: Update translations for German, Italian, Turkish
  • pubtkt: Fix Python format language errors

20. FreedomBox 20.17 (2020-11-02)

20.1. Highlights

  • locale: Add Chinese (Traditional) translation
  • mediawiki: Add action to set domain name
  • upgrades: Add a setting to enable dist upgrade

20.2. Other Changes

  • 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

21. FreedomBox 20.16 (2020-10-19)

21.1. Highlights

  • app: Add donation buttons on app pages
  • updates: Eliminate delay and better status for manual upgrade

21.2. Other Changes

  • 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

22. FreedomBox 20.15 (2020-10-05)

22.1. Highlights

  • calibre: Add new e-book library app
  • mumble: configure letsencrypt component
  • upgrades: Detect and upgrade to next stable release

22.2. Other Changes

  • 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

23. FreedomBox 20.14.1 (2020-09-23)

  • 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

24. FreedomBox 20.14 (2020-09-15)

24.1. Highlights

  • apache: Disable mod_status (CVE-2020-25073)
  • bepasty: New app for file upload and sharing
  • matrixsynapse: Allow upgrade to version 1.19

24.2. Other Changes

  • 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

25. FreedomBox 20.13 (2020-07-18)

25.1. Highlights

  • upgrades: Update apt cache before manual update
  • minidlna: Do not expose statistics over public web

25.2. Other Changes

  • 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

26. FreedomBox 20.12.1 (2020-07-05)

  • cfg, frontpage: Ignore errors while reading config and shortcuts
  • locale: Update translations for French, German, and Norwegian Bokmål

27. FreedomBox 20.12 (2020-06-29)

27.1. Highlights

  • 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

27.2. Other Changes

  • 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

28. FreedomBox 20.11 (2020-06-15)

28.1. Top Highlight