234 - Compartir archivos con Snapdrop la alternativa a Airdrop
Snapdrop es una herramienta que te permite compartir archivos con tan solo visitar una web en dos dispositivos. La alternativa a AirDrop
No es la primera vez, y te puedo asegurar que no será la última que saque el tema de compartir archivos. La cuestión es que esto de compartir archivos es algo que hacemos de forma muy, pero que muy habitual. No solo compartimos archivos con otros, sino que también compartimos archivos con nosotros mismos. Desde luego, un uso bastante común, que se suele hacer con Telegram, es básicamente, utilizarlo de intermediario. Es decir, copiamos lo que necesitamos a nuestra cuenta de Telegram y de ahí al dispositivo que queramos. Incluso, también es posible que esto lo hagas con tu correo electrónico. Al final, lo hacemos todo por comodidad. Pero ¿y si pudieras compartir archivos con solo visitar una página web? Es decir, se trata de que con los dos dispositivos en la misma página web y en la misma red, se puedan interconectar, y enviar archivos. Eso es precisamente el objetivo del podcast de hoy, comentarte la posibilidad de compartir archivos con Snapdrop, la alternativa a Airdrop.
No solo te voy a hablar sobre este servicio, sino que también te voy a contar como lo puedes instalar en tu propio servidor, ya sea una Raspberry Pi, un VPS o donde tu quieras. De esta forma los archivos solo pasan por donde tu quieres…, mas o menos.
Compartir archivos con Snapdrop la alternativa a Airdrop
En que ando metido
En estos días ando atareao con el laboratorio de Raspberry que estoy montando. Esto me está dando tiempo para analizar no solo algunas cuestiones que hasta el momento no había tenido en cuenta, sino también, para añadir mas chismes y accesorios. Entre estos accesorios, he tenido la oportunidad de probar diferentes cajas, que te comentaré en un próximo episodio del podcast.
A parte de esto, y con la llegada de la nueva Pi 400 a la familia, estoy preparando un tutorial para iniciarse con esta maravilla, de la cual te hablé en el episodio anterior del podcast.
Artículos
Respecto a los artículos, esta semana he publicado un artículo titulado, Historia de dos portapapeles (en Linux). El título es un intento de homenaje a Charles Dickens por su novela A Tale of Two Cities.
La cuestión es que en varias ocasiones ha surgido el comportamiento, digamos, extraño del portapapeles en Linux. Y no es que se trata de un comportamiento anómalo, la cuestión es que realmente hay dos portapapeles. En este artículo, te cuento sobre estos dos portapapeles, y como les puedes dar uso.
Lo siguiente que encontrarás publicado mañana, será un nuevo capítulo del tutorial de diálogos para scripts. Este es un capítulo extra que no tenía previsto, pero que ha venido a unirse al resto, al conocer la herramienta que comento. Se trata de una aplicación que te permite crear diálogos para el terminal. Es un punto intermedio entre una interfaz gráfica y un script sencillo. Una solución realmente útil para el caso de que tengas que acceder vía ssh a tu servidor.
Compartir archivos
Como te decía en la introducción, tienes multitud de opciones para compartir archivos entre tus dispositivos. Para pasar archivos de un dispositivo a otro, o para pasarlo a un amigo, a un conocido, o en la oficina a un compañero. Sin embargo, probablemente, la menos acertada de las opciones es de utilizar un servicio de terceros, como puede ser Telegram o el correo electrónico, para compartir archivos.
Y no solo se trata de que tus archivos van a pasar por servicios de terceros, con lo que esto supone para tu privacidad, que también, sino que además es algo realmente absurdo si todo va a quedar en la misma red. Dependiendo de lo que quieras compartir, puede ser que no te preocupe el tema de la privacidad. Pero es algo que tienes que tener en cuenta.
Por otro lado, en el caso de una oficina, ¿no tiene mas sentido y será mas rápido compartir archivos de forma local?. Igualmente, si estás en casa, y quieres compartir con tu pareja, o con un amigo, ¿Tiene sentido pasar el archivo por Telegram o WhatsApp?
También me puedes decir, que tiene el mismo sentido, que tener un servidor, todo el día funcionando para dar este servicio. Claro, esto realmente no tiene mucho sentido, salvo que el servidor lo tengas para otros trabajos, y que también le des esta funcionalidad.
¿Que es AirDrop?
Claro que, yo estoy comparando Snapdrop con AirDrop, y a lo mejor tampoco conoces que es AirDrop. AirDrop es una funcionalidad, disponible en iOS y macOS, que te permite enviar archivos de forma sencilla. En realidad, para el caso de los dispositivos comentados, la solución consiste en que mediante bluetooth se detecta si hay algún chisme próximo, y en caso de ser así, la transferencia se hace por WiFi.
Entonces, ¿que es Snapdrop?
Snapdrop, es servicio que te permite enviar archivos de un dispositivo a otro, siempre y cuando se encuentren en la misma red. Pero, la gran ventaja de este servicio, es que no necesita estar instalado en ningún dispositivo. Simplemente tienes que navegar con ambos dispositivos a la url donde esté el servicio, y ya puedes compartir el archivo que quieras.
Y es precisamente en ese hecho diferencial donde radica su gran ventaja, porque al no tener que estar instalado en ninguno de los dos dispositivos, puedes intercambiar el archivo con independencia del sistema operativo que esté instalado en cada uno de ellos. Es decir, no estás limitado a iOS, MacOS, Android o Linux, puedes intercambiar entre todos ellos, sin ningún tipo de problemas.
Y los inconvenientes
A estas alturas de la película, ya te habrás dado cuenta de los inconvenientes. Necesitas que ambos dispositivos estén en la misma red. Esto tampoco debe ser gran problema, puesto que al final, simplemente es que estén en la misma red, y eso no es un inconveniente tan grande. Simplemente es un hecho que tienes que tener en cuenta.
snapdrop.net
Antes de que te lances a instalar tu propio servicio de Snapdrop, indicarte que ahora mismo tienes una instancia disponible para que la puedas utilizar. Recuerda, que simplemente tienes que apuntar con ambos dispositivos a snapdrop.net y ya podrás comenzar a compartir archivos.
Tienes que tener en cuenta que en este caso, aunque estás utilizando código abierto, la instancia es de un tercero.
No pienses que este es el único servicio al que puedes recurrir que te ofrezca la posibilidad de intercambiar archivos de forma sencilla y sin necesidad de instalar nada. También tienes otro servicio llamado ShareDrop, que funciona exactamente de la misma manera. Con los dos dispositivos, visitas la página en cuestión y a intercambiar archivos.
Otro servicio similar, y que también puedes instalar en tu propia Raspberry o VPS, o cualquier otro servidor es FilePizza. En este caso utiliza WebTorrent y WebRTC para hacer toda la transferencia de archivos, con la ventaja de que pueden descargarlo tantos como quieran, con solo compartir el enlace que te da el servicio ya puedes comenzar a compartir el archivo a diestro y siniestro.
Además de estos servicios que te he mencionado, también tienes la posibilidad de montar tu propio Firefox Send. Está disponible un docker-compose.yml
, con lo que entiendo que no será complicado levantarlo.
¿Porque snapdrop.net?
De todos los servicios que te he mencionado anteriormente, he conseguido levantar, muy fácilmente, tanto en la Raspberry como en el VPS, Snapdrop. En el caso del VPS, he utilizado, como no podía ser de otra forma Traefik, con el siguiente docker-compose.yml
,
version: "3"
services:
node:
image: "node:lts-alpine"
user: "node"
working_dir: /home/node/app
volumes:
- ./server/:/home/node/app
command: ash -c "npm i && node index.js"
networks:
- snapdropnet
nginx:
image: "nginx:alpine"
volumes:
- ./client:/usr/share/nginx/html
- ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf
networks:
- proxy
- snapdropnet
labels:
- traefik.enable=true
- traefik.http.routers.snapdrop.entrypoints=http
- traefik.http.routers.snapdrop.rule=Host(`snapdrop.tuservidor.com`)
- traefik.http.middlewares.snapdrop-https-redirect.redirectscheme.scheme=https
- traefik.http.routers.snapdrop.middlewares=snapdrop-https-redirect
- traefik.http.routers.snapdrop-secure.entrypoints=https
- traefik.http.routers.snapdrop-secure.rule=Host(`snapdrop.tuservidor.com`)
- traefik.http.routers.snapdrop-secure.tls=true
- traefik.http.routers.snapdrop-secure.tls.certresolver=myresolver
networks:
snapdropnet:
proxy:
external: true
En el caso de la Raspberry Pi, no he utilizado Traefik. Pero también te tengo que decir, que no he conseguido que se vieran dos dispositivos en la misma red. En este caso, el docker-compose.yml
que he utilizado es el siguiente,
version: "3"
services:
node:
image: "node:lts-alpine"
user: "node"
working_dir: /home/node/app
volumes:
- ./server/:/home/node/app
command: ash -c "npm i && node index.js"
nginx:
build:
context: ./docker/
dockerfile: nginx-with-openssl.Dockerfile
image: "nginx-with-openssl"
volumes:
- ./client:/usr/share/nginx/html
- ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf
- ./docker/certs:/etc/ssl/certs
- ./docker/openssl:/mnt/openssl
ports:
- "8080:80"
- "443:443"
env_file: ./docker/fqdn.env
entrypoint: /mnt/openssl/create.sh
command: ["nginx", "-g", "daemon off;"]
Si tu consigues levantarlo en la Raspberry y que se vean en tu red local dos dispositivos me comentas, para ver donde he metido la pata.
Conclusión
Como ves, las posibilidades que tienes de compartir archivos entre dos dispositivos, sin pasar por el servicio de un tercero, son múltiples y diversas. Se trata de escoger la que mas te guste, o la que te funcione y problema resuelto.
Espero que te haya gustado este nuevo episodio del podcast. Si puedes, te agradecería una valoración en iVoox y/o en Apple Podcast.
Más información Snapdrop.net
Imagen de portada de Erik Lucatero en Unsplash