Etiqueta: rclone

  • Rclone (3/3): Recuperando datos

    Ya tenemos el entorno preparado y los datos salvados en la nube pero necesitamos un mecanismo que nos permita recuperar de forma rápida dichos datos.

    Propongo dos formas:

    1. Montaje de la carpeta de Google Drive encriptada como unidad de nuestro ordenador.
    2. Recuperación de los datos a través de un servidor http que nos ofrezca de forma transparente el acceso a nuestra nube.

    Montar volumen cifrado en claro

    Para montar un volumen cifrado necesitamos crear en nuestro equipo local una carpeta donde veremos el contenido de nuestra carpeta de la nube ya sin cifrar. Nos puede servir el siguiente script.

    #!/bin/sh
    
    rclone mount \
            --rc --transfers 8 \
            --volname GDrive \
            --allow-other \
            --log-level INFO \
            --buffer-size 32M \
            --vfs-cache-mode writes \
            --vfs-cache-max-size 16G \
            miGDrive_encriptado:/ /Users/miguel/transito

    Donde miGDrive_encriptado es el nombre del repositorio encriptado que creamos en Rclone (2/3) y /Users/miguel/transito es una carpeta en nuestro equipo local. Recordar que hay que dar los permisos de ejecución a nuestro script.

    $ chmod +x montar_almacenamiento_encriptado.sh

    El resultado del ejecutar el script lo podemos ver en el explorador de archivos de nuestro equipo:

    Vista de la carpeta montada en nuestro equipo
    Misma carpeta en la nube de Google

    Como podemos ver, el script de montaje nos trae a nuestro equipo la nube de Google sin encriptar de tal forma que podemos recuperar cualquier fichero que se nos antoje.

    Cuando cerremos la terminal o terminemos el comando de montaje «montar_encrypted_storage_mac.sh» con Ctrl+C se desmontará la carpeta de nuestro equipo local.

    Recuperar datos a través del navegador

    Rclone nos permite de una forma sencilla recuperar los datos de nuestra nube también a través de un servidor http (entre otros métodos).

    Para ello montaremos un script con el siguiente contenido:

    #!/bin/sh
    
    rclone serve http miGDrive_encriptado: --addr :9090

    Donde «miGDrive_encriptado» es el nombre del repositorio encriptado en la nube y «–addr :9090» es el puerto en que se montará el servidor http:

    Si navegamos ahora tendremos:

    Ahora podemos hacer uso del navegador estándar para descargar nuestros datos.

    Conclusión

    Como podemos observar Rclone es una herramienta extraordinaria, con múltiples de posibilidades. En nuestro caso la hemos usado para solventar una escenario muy particular pero las opciones son infinitas.

    Si te ha resultado mínimamente útil esta serie de post, por favor, comparte y comenta. Estaré encantado en responder.

  • Rclone (2/3): Las copias

    Ahora que ya tenemos el Id y la clave es conveniente recordar nuestro objetivo:

    Configurar una unidad en la nube de Google Drive cifrada de extremo a extremo usando Rclone.

    Cuando utilizas una nube pública, teóricamente solo tu y tu proveedor (Google en este caso) tienen acceso a tus datos. Cuando la nube pública es gestionada por una entidad superior o educacional, también el administrador de dicha entidad puede tener acceso a tus datos.

    Cuando algo está cifrado extremo a extremo, nadie más que tú puede ver los datos. Es un nivel completamente diferente de protección y privacidad, incluso el servicio que almacena tus archivos no sabe nada sobre ellos porque el descifrado solo tiene lugar en sus dispositivos.

    ¿Qué es rclone?

    Rclone se promociona como un rsync para el almacenamiento en la nube. Te permite sincronizar archivos entre su computadora y los proveedores de almacenamiento en la nube o incluso entre varios proveedores de nube que utilizan tu computadora como proxy.

    La sincronización de archivos no es lo único que hace rclone. También tiene un montón de funcionalidades que le permiten exponer y manipular los datos. Por ejemplo, puedes montar una unidad en la nube directamente en su sistema operativo y usarla como otra unidad. O puede exponer el contenido de la unidad en la nube mediante el protocolo WebDAV, FTP, HTTP o incluso DLNA.

    Instalar Rclone

    Utilizaremos la línea de comandos o shell de nuestro sistema. La forma mas sencilla en un sistema basado en linux como es Synology es:

    $ curl https://rclone.org/install.sh | sudo bash

    Esto instalará Rclone en el sistema.

    Configurar el almacenamiento remoto

    En mi caso configuraré un almacenamiento remoto en Rclone cuyo destino será la carpeta raíz del espacio Google Drive.

    $ rclone config

    Y seguimos los pasos para la configuración de Google Drive:

    Ahora es el momento de indicar el ID y la clave que obtuvimos anteriormente. Véase el post de preparativos.

    Ahora pegamos en el navegador la url que nos da la consola para dar a nuestro Rclone permisos para acceder a Google Drive. Nos dará un código el navegador que tenemos que pegar a continuación:

    Una vez configurado nuestro GDrive podemos hacer una prueba de acceso.

    $ rclone lsd miGDrive:

    Si todo ha ido bien veremos el contenido de nuestro Google Drive.

    Añadiendo capa de cifrado

    Una vez que Rclone «conoce» nuestro Google Drive, vamos a crear dentro de él una carpeta cuyo contenido va a estar encriptado. De nuevo llamaremos a Rclone para crear una configuración de carpeta encriptada.

    $ rclone config

    Y damos por finalizada la configuración. Todo lo que subamos a «miGDrive_encriptado» irá a la carpeta «encriptado» de nuestro Google Drive y estará cifrado con nuestras claves.

    Sincronización inicial

    Ya lo tenemos todo preparado para comenzar a subir datos. Para ello crearemos un script de la forma:

    #!/bin/sh
    ####################################
    #
    # Backup NAS a miGDrive_encriptado
    #
    ####################################
    echo
    echo "Sincronizando Documentos"
    rclone sync --copy-links --drive-stop-on-upload-limit --drive-chunk-size=64M --checkers=16 --transfers=8 --bwlimit=8500K -v --progress --delete-excluded /Users/miguel/Documents/ miGDrive_encriptado:/Documentos
    echo "Finalizado Documentos"
    echo

    Con los permisos apropiados para nuestro script:

    $ chmod +x rclone.sh

    Procederemos a la ejecución del script y podemos ver el proceso y el resultado:

    En la configuración de miGDrive_encriptado podemos especificar también que nuestras carpetas estén encriptadas de tal forma que ofusquemos al máximo el contenido de nuestro drive.