Github repo: https://github.com/Rooyca/upload-nextcloud-cli
Configuración
- Crear un link compartido para una carpeta de Nextcloud. Recordar seleccionar la opción “File Drop (upload only)”, o “Allow upload and editing” al crear el link compartido.
- Copiar el link compartido. El link debe tener el siguiente formato:
https://nextcloud.example.com/index.php/s/xXxXxXxXx
Ejecución
En el repositorio podemos encontrar tres formas de ejecutar el script, dependiendo del sistema operativo que estemos utilizando o de si tenemos instalado Python en nuestro sistema.
Windows
Esta es una version minimalista hecha por mi y para correrla correctamente es necesario tener instalado CURL
en nuestro sistema. (Lo más probable es que ya lo tengas instalado). Puedes comprobarlo ejecutando el siguiente comando en la terminal:
curl --version
Si no lo tienes puedes intalarlo usando Chocolatey. Para ello abrimos una PowerShell como administrador y ejecutamos el siguiente comando:
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
Una vez instalado Chocolatey
ejecutamos el siguiente comando para instalar CURL
:
choco install curl
Una vez instalado CURL
ya podemos ejecutar el script. Para ello abrimos una terminal en la carpeta donde tengamos el script y ejecutamos el siguiente comando:
upload_file.bat
El script nos pedirá los siguientes datos:
- Nombre del archivo que queremos subir.
- Nombre de usuario (La parte del link que va después de
index.php/s/
). - IP o dominio de Nextcloud.
- Nombre del archivo que queremos subir (OPCIONAL).
Una vez hayamos introducido todos los datos podremos ingresar la opción 5
para subir el archivo, una vez subido podremos regresar al menu y subir otro archivo o salir del script.
El script automaticamente guarda la IP
y el Nombre usuario
en un txt para que no tengamos que volver a introducirlos.
Linux
Este script NO es de mi autoría. El original lo puedes encontrar aquí: https://github.com/tavinus/cloudsend.sh
Para usarlo solo tenemos que ejecutar el siguiente comando:
curl -O 'https://raw.githubusercontent.com/tavinus/cloudsend.sh/master/cloudsend.sh' && chmod +x cloudsend.sh
Una vez descargado el script, podemos ejecutarlo de la siguiente forma:
./cloudsend.sh <file> <folderLink>
Si tenemos en cuenta la url del ejemplo anterior, el comando sería el siguiente:
./cloudsend.sh test.txt https://nextcloud.example.com/index.php/s/xXxXxXxXx
Python
Si tu sistema operativo es Linux te recomiendo usar el script de Linux, ya que es muchísimo más completo y tiene más opciones. Esta version en Python fue escrita por mí, por lo que puede contener ERRORES o no funcionar correctamente.
Para usarlo solo tenemos que ejecutar el siguiente comando:
python upload_file.py <folderLink> <file>
Si tenemos en cuenta la url del ejemplo anterior, el comando sería el siguiente:
python upload_file.py https://nextcloud.example.com/index.php/s/xXxXxXxXx test.txt
Conclusión
Existen diversas formas de enviar archivos a nuestro NextCloud desde la terminal, depende de ti escoger la opción que más se acomode a tus necesidades.
Eso es todo por hoy. Si tienes alguna inquietud no dudes en dejármela en los comentario.
¡Gracias por leer!