Hay muchas maneras de compartir archivos, pero con curl.io podemos
hacerlo directamente desde el terminal usando curl
, permitiéndonos
archivos hasta 5 GB y durante 4 horas, tiempo tras el cual será
eliminados.
Por ejemplo, para compartir el archivo /tmp/test
:
$ curl -F "file=@/tmp/test" http://curl.io/send/nzdqxcmf
File successfully received.
You can download test from this url:
http://curl.io/get/nzdqxcmf/90571b24cf847434a171d41cb2043d6a561cb85b
Para recuperarlo:
$ curl -o test http://curl.io/get/nzdqxcmf/90571b24cf847434a171d41cb2043d6a561cb85b
Tal como nos sugieren en su web, también podemos enviarlo cifrado con
gpg
:
$ gpg -c "/tmp/test" && curl -F "file=@/tmp/test.gpg" http://curl.io/send/nzdqxcmf
Para recuperarlo y descifrarlo:
curl http://curl.io/get/nzdqxcmf/90571b24cf847434a171d41cb2043d6a561cb85b | gpg -o test
Absolutamente todo desde el terminal
El hecho de poder compartir archivos en la nube desde el terminal está muy bien, pero no deja de ser un engorro tener que recurrir al navegador para poder obtener la URL de envío. Descargar el código fuente de la página no nos sirve porque la URL se genera por javascript y en la web se comprueba que el código de la URL sea válido (no sirve enviar cualquier cosa, aunque sí parece que se pueden reutilizar URLs válidas).
Afortunadamente, podemos utilizar phantomjs. Mediante el siguiente
script, curlio.js
, podremos obtener una URL de envío válida:
var page = require('webpage').create(),
address = "http://curl.io";
page.open(address, function(status) {
if (status !== 'success') {
console.log('Error loading address');
} else {
var url = page.evaluate(function() {
return document.getElementsByClassName('command')[0].innerHTML.replace(/^.*/, "");
});
console.log(url);
}
phantom.exit();
});
Un ejemplo de uso:
$ phantomjs curlio.js
http://curl.io/send/fgmnwl2e