XXX.XXX.XXX.0/24 Apache httpd sobre Debian. En el siguiente ejemplo estaría en http://192.168.0.165: 192.168.0.0/24 por 10.42.0.255/24. http://10.42.0.50. (10.42.0.1 es mi ordenador.) /var/lib/plinth/firstboot-wizard-secret. .sig. Por ejemplo: dmesg -w mara mostrar y seguir los mensajes del núcleo (kernel). /home/<un_usuario_de_plinth>/public_htmlUser websites servirá los documentos que haya en este directorio cuando se reciban peticiones con la URI ~<un_usuario_de_plinth>. 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. 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. sftp para ver el directorio de descargas usando un gestor de archivos o un navegador apropiados (p.ej. https://<tu freedombox>/deluge. Necesitarás introducir una contraseña para ingresar: deluge. La primera vez que ingreses Minetest en esta FreedomBox, en su puerto por defecto (30000). Para conectar al servidor se necesita un https://<dirección_IP_o_dominio_de_tu_servidor>/radicale/ https://<dirección_IP_o_dominio_de_tu_servidor>/radicale/<usuario>/<nombre_del_calendario>.ics/ cambiando los elementos marcados entre <> de acuerdo a tu configuración. / inicial de la ruta es importante. .vcf. https://<direccion_onion_de_tu_servidor>.onion/radicale/<usuario>/<código_del_calendario>/ cambiando los elementos marcados entre <> de acuerdo a tu configuración. Tor Browser Bundle. 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. DAVx5, que está disponible p.ej. en / del final). DAVx5 averiguará las cuentas Usuario1 y Usuario2. Esto requiere acceso por SSH a la FreedomBox. /etc/radicale/rights [calendario_de_mis_amigos] es solo un identificador, puede ser cualquier nombre. [owner-write] asegura que los dueños tengan acceso a sus propios archivos. /etc/radicale/config y haz los siguientes cambios en la sección [rights) 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. 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 --export-storage que es responsable de la migración de datos. Por desgracia esta funcionalidad ya no está disponible en Radicale 2.x. .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. /var/lib/radicale/collections. Los datos nuevos se crearán y usarán en el directorio /var/lib/radicale/collections/collections-root/. 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. https://<tu_freedombox>/plinth/apps/xmpp/jsxc/. Automáticamente comprobará la conexión del servidor BOSH al nombre de dominio configurado. @usuario:dominio. @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. 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 imaps://imap.servicio_de_ejemplo.org. imaps://imap.gmail.com. https://<tu_freedombox>/mldonkey. /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. all_proxy: irc://irc.debian.org/freedombox. Si tu FreedomBox ejecuta Conectar con el Núcleo. Añadir para abrir el diálogo Añadir Cuenta al Núcleo. Nombre de Cuenta. Introduce el Hostname. 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 Recordarme. OK en el diálogo Añadir Cuenta al Núcleo deberías ver la cuenta en el diálogo Conectar con el Núcleo. OK para conectar con él. Certificado de Seguridad Desconocido y necesitarás aceptar el certificado del servidor. Continuar. Se te preguntará si quieres aceptar el certificado permanentemente. Selecciona Para siempre. Asistente de Configuración del Núcleo. Selecciona Siguiente. Crear Usuario Administrador introduce el usuario y la contraseña que has usado antes para crear la conexión al núcleo. Selecciona Recordar contraseña para que recuerde la contraseña para futuras sesiones. Haz clic en Siguiente. Seleccionar Backend de Almacenamiento selecciona SQLite y haz clic en Confirmar. Quassel IRC para configurar tus conexiones IRC. Haz clic en Siguiente. Configuración de 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. Configuración de 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). 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 SSL. Clic en OK. Esto es para asegurar que la comunicación entre tu FreedomBox y el servidor de la red IRC va cifrada. 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. Todas las conversaciones de la izquierda de la ventana principal del Cliente Quassel. http://<tu_freedombox>:1080/. <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. <usuario>.ovpn. <usuario>.opvn que acabas de descargar. Pon un nombre a la conexión y graba el perfil. ip addr debe mostrar una conexión tun0. traceroute freedombox.org debiera mostrar la dirección IP del servidor VPN como primer salto. http://config.privoxy.org/ o en http://p.p. /etc/privoxy/config a 1. Antes de hacerlo lee el manual con atención, especialmente: EDITAR en la pantalla de configuración de http://config.privoxy.org/. .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 está pensada para servicios ofrecidos a todas las máquinas de la red local. Esto podría incluir servicios como 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. MiWeb.comhttps://MiWeb.comsetup 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 de 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. FreedomBox más el nombre del interfaz (para tratar el caso de que haya varios). freedombox123. /etc/NetworkManager/NetworkManager.conf: wifi.scan-rand-mac-address=no en la sección [device]: 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". BATMAN (con mayúsculas). nmcli mira su página man. Para obtener una lista completa de configuraciones y tipos de conexión que acepta Network Manager mira: openssh-server por defecto permitiendo así accesos remotos desde todos los interfaces. Si tu dispositivo hardware está connectado 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. Admin pueden ingresar mediante ssh (abajo se explica cómo) y escalar sus privilegios a superusuario mediante sudo. fbx pero no tiene contraseña establecida, así que no se puede ingresar con esta cuenta. freedom-maker que permite establecer la contraseña de esta cuenta si fuera necesario: freedom-maker en sudo ./bin/passwd-in-image <archivo_de_imagen> fbx. 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 fbx es el usuario de FreedomBox con privilegios de superusuario por defecto. Cualquier otro usuario creado con Plinth 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. libpam-abl que FreedomBox instala por defecto. Para controlar este comportamiento consulta la documentación de libpam-abl. netcat-openbsd. ~/.ssh/config para habilitar conexiones sobre Tor. admin (ver arriba). admin y DIRECCION por la dirección del servicio oculto de SSH de tu FreedomBox. root root no puedes romperlo todo accidentalmente. fbx no se administra en Plinth y su contraseña no se puede cambiar desde la interfaz web. apt-get update te pide confirmación para algo responde que 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. admin podrán ingresar en todos los servicios. También pueden ingresar al sistema por SSH y escalar a privilegios administrativos (sudo). freedombox. Para más detalles acerca de la instalación sobre Debian, ver el sudo su. 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 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: /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. ntp. You can add a crontab entry as root to restart ntp every 15 minutes by typing 'crontab -e' and adding this line: freedombox package. /var/lib/plinth/firstboot-wizard-secret. freedombox-setup package. /etc/network/interfaces, FreedomBox will not manage those interfaces. (See /etc/network/interfaces manually and ensure that it contains only the following: /etc/network/interfaces file keeping only the above lines. Then perform a reboot. On Debian 9 (Stretch), after this network connections configured by the setup step above will configure your network. 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. nmtui or nmcli commands. nmcli can be used as follows: armel. This means floating point computations are done in software and most operations are slower than what Raspberry Pi is capable of. armel. This means floating point computations are done in software and generally most operations are slower than what Raspberry Pi is capable of. https://domainname/) will redirect to the selected app. iqdisc setting. To apply this fix, disable and then re-enable the Message Archive Management setting. https://domainname/mediawiki/ArticleName. __init__.py indicates that the directory in which it is present is a Python module. For now, it is an empty file. setup.py will automatically install the plinth/modules/ttrss directory (along with other files described later) to an appropriate location. If you are creating an application that stays independent and outside of Plinth source tree, then your setup.py script will need to install it a proper location on the system. The plinth/modules/ directory is a Python3 plinth/modules/ directory structure into any Python path and still be discovered as plinth.modules.*. data/etc/plinth/modules-enabled/. Let us create this file ttrss: /etc/plinth/modules-enabled/ by Plinth's installation script setup.py. If we are writing a module that resides independently outside the Plinth's source code, the setup script will need to copy it to the target location. Further, it is not necessary for the application to be part of the plinth.modules namespace. It can, for example, be plinth_ttrss. urls.py write the following: /apps/ttrss/ URL to a view called index defined in plinth/modules/ttrss/views.py. This is no different than how routing URLs are written in Django. See __init__.py add the following: init() method if there is such a method available as <app>.init(). Here we have implemented this method and added our menu item to the applications menu as part of the initialization process. ttrss:index and not just index. __init__.py. apps module is loaded before our module is loaded. Application initialization is also ensured to happen in this order. We can safely use any features of this module knowing that they have been initialized. forms.py. views.py, let us add a view that can handle the URL we have provided above. get_status() helper method. When the form is posted, again this view is called and it verifies whether the form's input values are correct. If so, it will apply the actions necessary for changed form values using the _apply_changes() method. get_status() method. Let us implement that method in views.py. __init__.py. 50-tt-rss is enabled. ttrss.html to work. This template file controls how the web page for our application is displayed. Let us create this template file in templates/ttrss.html. Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed to allow you to read news from any location, while feeling as close to a real desktop application as possible.
base.html. This template is available in Plinth core to provide all the basic layout, styling, menus, JavaScript and CSS libraries. We will override the content area of the base template and keep the rest. _apply_changes() to actually get the work done. Let us implement that method in views.py. before_install= and on_install= parameters to the @package.required decorator take a callback methods that are called before installation of packages and after installation of packages respectively. See the reference section of this manual or the plinth.package module for details. Other modules in Plinth that use this feature provided example usage. actions/ttrss. /usr/share/plinth/actions by Plinth's installation script setup.py. Only from here will there is a possibility of running the script under sudo. If you are writing an application that resides indenpendently of Plinth's source code, your setup.py script will need to take care of copying the file to the target location. diagnose() has to be available as <app>.diagnose(). It must return a list in which each item is the result of a test performed. The item itself is a two-tuple containing the display name of the test followed by the result as passed, failed or error. /ttrss URL is accessible. Since this is a commonly performed test, there is a helper method available and we have used it in the above code. The {host} tag replaced with various IP addresses, hostnames and domain names by the helper to produce different kinds of URLs and they are all tested. Results for all tests are returned which we then pass on to Plinth. System -> Diagnostics page. This runs diagnostics for all the applications. If we want users to be able to run diagnostics specifically for this application, we can include a button for it in our template immediately after the application description. _() method call. Let us do that for the menu item of the application too. ugettext_lazy and in the first case we have used the regular ugettext. This is because in the second case the gettext lookup is made once and reused for every user looking at the interface. These users may each have a different language set for their interface. Lookup made for one language should not be used for other users. The _lazy method provided by Django makes sure that the return value is an object that will actually be converted to string at the final moment when the string is being displayed. In the first case, the looked is made and string is returned immediately. pylint and flake8 tools to check if the there are any violations. Run these tools on our application and fix any errors and warnings. Better yet, integrate these tools into your favorite IDE for on-the-fly checking. __init__.py add the top: init() call order guarantees that other applications that this application depends on will be initialized before this application is initialized. System -> Diagnositcs. This method must return an array of diagnostic results. Each diagnostic result must be a two-tuple with first element as a string that is shown to the user as name of the test and second element is the result of the test. It must be one of passed, failed, error. Example return value: plinth.modules.apps. package_list must be an iterable containing the Debian package names as strings. If provided, the before_install callable is called just before the installation process starts. Similarly, on_install callable is called just after the package installation completes. /usr/share/plinth/actions directory. They require no interaction beyond passing command line arguments or taking sensitive arguments via stdin. They change the operation of the services and applications of the FreedomBox and nothing else. These actions are also directly usable by a skilled administrator. actions/ directory. This runs subprocess.Popen() after some checks. The action must be present in the actions/ directory. options are a list of additional arguments to pass to the command. If input is given it must be bytearray containing the input to pass on to the executed action. If async is set to True, the method will return without waiting for the command to finish. plinth.actions.run() except the command is run with superuser privelages. Menu.add_item() and Menu.add_urlname() for adding items to this menu or its children. urlname must be the name of a URL as configured in Django. django.core.urlresolvers.reverse() is called before the lookup for child menu item is performed. url_args and url_kwargs are passed on to reverse(). label is the user visible string shown for the menu item. icon must be a glyphicon class from the Twitter Bootstrap library. url is the relative URL to which this menu item will take the user to. plinth.menu.Menu.add_item() but instead of URL as input it is the name of a URL as configured in Django. django.core.urlresolvers.reverse() is called before it is added to the parent menu item. url_args and url_kwargs are passed on to reverse(). service_id is a unique identifier for this application. name is a display name of this application that is shown by other applications such as on the firewall status page. ports is a list of names recognized by firewalld when enabling or disabling firewalld services. If is_external is true, the ports for this service are accessible from external interfaces, that is, from the Internet. Otherwise, the service is only available for client connected via LAN. enabled is the current state of the application. sender object should identify which application made the change. enabled is a boolean that signifies whether the application is enabled (= True) or disabled (= False).