Mirror de F-droid

En Internet, un espejo (calco del inglés mirror) es un sitio web que contiene una réplica exacta de otro. Estas réplicas o espejos se suelen crear para facilitar descargas grandes y facilitar el acceso a la información, aun cuando haya fallos en el servicio del servidor principal.

Los espejos suelen sincronizarse periódicamente con el servidor principal para mantener la integridad de la información.

Es un concepto muy utilizado en foros cibernéticos donde los usuarios de estos comparten archivos entre sí, ya que en ocasiones algunos de estos no pueden ser descargados adecuadamente, por lo que se informa sobre un espejo para obtenerlo.

En este caso vamso a crear un «espejo» del repositorio de F-droid que es algo parecido a la tienda del Playstore de google, pero con todas apps de código abierto.

Nota importante: en el script he puesto como usuario y grupo «web6.client0», pero seguramente serán diferentes en tu instalación y configuración. Si no usas ISPConfig lo más probable es que tenga que poner «www-data.www-data»

#!/bin/bash

FDROID="/mnt/Disk/SRV/www/f-droid.tormentasolar.win/web"

export RSYNC_PASSWORD=dont-abuse-me-please
rsync -v --stats --progress -rltpHS --delete fdroid-mirror@mirror.f-droid.org::repo/ $FDROID/repo/

cp $FDROID/local/index.* $FDROID/repo/
chown -R web6.client0 $FDROID/repo

ponlo en /usr/loca/bin/ con el comando

install fdroid.sh /usr/local/bin

y lanzalo dentro se un terminal de screen. Después unas horas (puede que muchas según tu conexión y el tráfico de red) tendrás sel espejo entero de los repositorios de F-droid. En el momento que escribo, son 103 GB.

Verás que te da un error de ficheros no encontrados, pero esto lo vamos a solucionar ahora.

mkdir /mnt/Disk/SRV/www/f-droid.tormentasolar.win/web/local
cp /mnt/Disk/SRV/www/f-droid.tormentasolar.win/web/repo/index.html /mnt/Disk/SRV/www/f-droid.tormentasolar.win/web/local
cp /mnt/Disk/SRV/www/f-droid.tormentasolar.win/web/repo/index.png /mnt/Disk/SRV/www/f-droid.tormentasolar.win/web/local

entra en edición del local/index.html y cambia el enlace para que apunte a tu servidor

mcedit mnt/Disk/SRV/www/f-droid.tormentasolar.win/web/local/index.html

...
        apps. To add it to your F-Droid client, scan the QR code (click it to enlarge) or use this URL:
      </p>
      <p class="center" style="margin-top:.5em">
        <a href="https://f-droid.tormentasolar.win/repo?fingerprint=43238D512C1E5EB2D6569F4A3AFBF5523418B82E0A3ED1552770ABB9A9C9CCAB">
          <code style="color:#000000;font-weight:bold;">
            https://f-droid.tormentasolar.win/repo
          </code>

...

Cambia solo el enlace de la url en la parte inicial y deja como está el fingerprint=xxxxxx.

Si tienes a disposición un generador de Código QR puedes crear un nuevo QR (en png) y ponerle la url
https://f-droid.tormentasolar.win/repo?fingerprint=43238D512C1E5EB2D6569F4A3AFBF5523418B82E0A3ED1552770ABB9A9C9CCAB

Claramente tu pondrás tu dominio en lugar de «tormentasolar.win».
Lanza a mano otra vez el script fdroid.sh y si no hay nada nuevo para descargar, en un par de minutos o menos habrá concluido la comprobación y esta vez no te dará ningún error de ficheros no encontrado en local.
Si vas ahora con el navegador en https://f-droid.tormentasolar.win/repo/ veras que te aparece algo así:

ahora puedes añadir este repositorio a tu f-droid.app del móvil con android/LineageOS/…

Por último hay que poner la tearea automatica de sincronizar el repositorio en cron para que lo haga una vez la semana (para no robar mucho ancho de banda)

0 1 7 * * /usr/local/bin/fdroid.sh

Comentarios cerrados.