Ir al contenido principal

Sparkleshare, el directorio de archivos en la nube PRIVADA

Los que estamos desarrollando software de forma independiente, sabemos que no es bueno dejar nuestros archivos en la nube de terceros (DropBox, Google Drive, etc.) ya que existen muchísimas probabilidades de que el secreto industrial, que debe existir en la creación de productos y servicios, se vea vulnerado. Estas compañías ofrecen servicios gratuitos que no lo son tanto. Es sabido que estas compañías analizan nuestros gustos, nuestros trabajos, nuestra familia y NUESTRAS IDEAS, entre otras cosas, para así ofrecernos y crear sus productos o servicios, e incluso para vender esa información a otras empresas.

Para evitar estos inconvenientes, el movimiento del software libre ha desarrollado servicios similares a DropBox. Se trata de SparkleShare, una excelente herramienta que nos permite tener nuestro propio servicio de directorio de archivos en la nube de forma gratuita y con completa privacidad. SparkleShare tiene un comportamiento similar a DropBox, genera un directorio en la que se puede guardar casi todo lo que queramos (He hecho pruebas con archivos superiores a 1.5GB y se pone lento...), música, archivos de oficina, imagenes, etc. sin limitaciones de espacio impuestas, solo las dadas por nuestro hardware.

Como funciona (Ubuntu 15.04) 

Esquema de un servidor y clientes Sparkleshare

SparkleShare se basa en ssh y github para su trabajo. Cada cliente tiene una llave ssh que el servidor podrá utilizar para permitir la compartición de archivos. Todos los clientes cuentan con una carpeta Sparkleshare en la cual se ubicarán subcarpetas que corresponderan a los repositorios (proyectos) registrados en las que se podran compartir archivos con otros clientes.

Instalación y configuración

Requerimientos:
Un equipo servidor con ip fija (o que utilice noip) en la casa u oficina, mientras que esté encendido los equipos clientes podrán actualizar los archivos.

Uno o varios equipos clientes quienes tendrán una carpeta en la que se actualizarán los archivos (tal como ocurre en DropBox)

En cada uno de los equipos, tanto clientes como servidor, se instala SparkleShare. En Ubuntu se puede instalar desde el Centro de Software o desde una terminal:

#Instalar SparkleShare
sudo apt-get install sparkleshare

Adicionalmente es necesario que cada cliente y servidor cuenten con SSH:
#Instalar ssh:
sudo apt-get install ssh

Luego, en el servidor se debe ejecutar el script de configuración Dazzle. Esto se hace abriendo una terminal y escribiendo esto:

# Bajar el Dazzle script (Escriba lo siguiente en una terminal):
curl https://raw.githubusercontent.com/hbons/Dazzle/master/dazzle.sh --output /usr/bin/dazzle && chmod +x /usr/bin/dazzle

El Dazzle es un script que permite configurar el servidor Sparkleshare.

Luego se debe ejecutar la configuración:
#Activar la configuración del servidor (Escriba lo siguiente en una terminal):
sudo dazzle setup

El Dazzle creará un usuario denominado "storage" con el que se gestiona el repositorio de archivos del servidor

Cuando se termina la configuración se debe enlazar cada uno de los clientes al servidor. Cada cliente al tener instalado Sparkleshare tiene un icono en la bandeja del sistema en la cual es posible copiar la identificación del cliente.

Ubicación del ID de cliente 

Desde los clientes se debe entrar al servidor vía ssh y realizar el enlace:
#Entrar al servidor vía ssh (Escriba lo siguiente en una terminal. Cambie ip por la dirección ip del servidor, el nombre de usuario es cualquiera de las cuentas registradas en el equipo que tengan capacidades de administrador):
ssh nombreUsuario@ip

Luego, estando dentro del servidor se activa el Dazzle para realizar el enlace (link) del cliente:
#Hacer link entre el cliente y el servidor (Vía ssh)
sudo dazzle link

El servidor preguntará por el ID del Cliente y entonces se pega el código que se copió anteriormente.
El servidor informará que el cliente queda enlazado.

Luego se establece el repositorio (Llamado en sparkle como proyecto) que va a hacer distribuído entre los clientes
#Creación de proyecto (repositorios). Cambie PROJECT_NAME por el nombre que se desee 
dazzle create PROJECT_NAME

Con esto se termina de instalar y configurar los clientes y el servidor.

Activación del servicio en cada cliente

Para que los clientes puedan compartir sus archivos, deben solicitar añadirse a un host, esto se hace mediante el icono de SparkleShare que se encuentra en la bandeja del sistema:

Activar asistente para añadir un nuevo host

Esto cargará un asistente que pedirá los datos de acceso al servidor:

Asistente que permite añadir un host

Luego de unos minutos, el asistente generará una carpeta con el nombre del proyecto dentro de la carpeta SparkleShare que se ha creado previamente. Allí se deberán guardar todos los archivos que se quieran compartir con los otros clientes.


...Y ¿para dispositivos móviles?

Para el caso de los dispositivos móviles se recomienda el uso de un explorador de archivos que tenga soporte del protocolo sftp. Se recomienda el uso Es File Explorer en Android. simplemente se configura el acceso al servidor SparkleShare teniendo en cuenta la IP (o dirección del servidor) el nombre de usuario y el password. Esto se hace así porque no es conveniente que dispositivos móviles bajen a sus ssd u otras formas de almacenamiento las grandes cantidades de archivos que podrían gestionarse desde SparkleShare, lo mejor es que se visualicen los archivos y que se puedan descargar a petición del usuario.

Y listo.... A disfrutar de un servicio de directorio de archivos completamente seguro y gratis :D


Comentarios

Entradas populares de este blog

Instalación de Cordova en Windows 10

1. Requisitos previos: En Windows es muy facil instalar Cordova: La herramienta de control de versiones GIT: Desde la página oficial puede descargar la última versión de GIT para windows:  git-scm.com/downloads Bájela e instalela El kit de desarrollo de Java (JDK): Desde la página oficial puede descargar la última versión del Java Develop Kit: www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html?ssSourceSiteId=otnes Bájela e instalela La herramienta build de Java, Ant: Desde la página oficial de Apache Ant,  ant.apache.org/bindownload.cgi , puede descargarla (Busque la sección  Tar files may require gnu tar to extract  En ella encontrará un archivo de extyensión .zip  Bájelo y descomprimalo en un lugar fácil de hallar en su equipo (Quizás c:\). El servidor NodeJS: Desce la página oficial puede descargar la última versión del servidor NodeJS:  nodejs.org/download/ 2. Instalar Cordova: El servidor NodeJs incluye un gestor de paquete

Acerca de la instalación de Apache-Cordova 5.x en Ubuntu :D

En este blog se ha hablado anteriormente de la instalación Apache-Cordova . Sin embargo, actualmente (desde la versión 5.x) dicha instalación requiere de Gradle a cambio de Ant como herramienta de construcción y ya no es posible utilizar openjdk debido a la falta de un certificado SSL. A continuación se presenta el nuevo proceso de instalación para Ubuntu. 1. Requisitos previos: Para que el framework Cordova funcione se requiere instalar algunas librerias:  Las librerías libstdc++.so.6:      sudo apt-get install lib32stdc++6 lib32z1 La herramienta de control de versiones GIT: sudo apt-get install git El kit de desarrollo de Java (JDK): Descargar Java JDK de: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html Descomprimir el archivo y la carpeta que se genera deberá quedar en /opt  La herramienta build de Java, Ant (por si acaso... se reemplaza por Gradle): sudo apt-get install ant La herramienta build de Java, Gradle: Des