Binnen het FileSender project is het mogelijk om een CLI client te gebruiken. Dit is kan een uitkomst bieden als bediening met een webinterface niet mogelijk of handig is, bijvoorbeeld als je op afstand werkt en geen webbrowser hebt, of als je filesender in een script wilt gebruiken.
In dit artikel wordt besproken hoe je je systeem inricht om gebruik te maken van de FileSender CLI client en gaan we uit van een Linux besturingssysteem.
Downloaden
De CLI client kun je in SURFfilesender downloaden. Ga hiervoor naar je profiel: https://filesender.surf.nl/?s=user
Hier vind je onder het kopje "Python CLI client" links om de client te downloaden.
Installeren
Om de CLI-client te installeren, heb je de volgende software nodig:
- Python versie 3.7 of hoger
- De volgende python modules:
- requests
- urllib3
- cryptography (als je encrypted wilt verzendern/ontvangen)
- De gedownloade
filesender.py
Op de meeste omgevingen zullen requests,
urllib3
en cryptography al geinstalleerd zijn. Mocht dat bij jou niet het geval zijn, kun je dit installeren met:
$ pip3 install requests urllib3 cryptography
Hierna plaats je het bestand filesender.py
op een willekeurige locatie waar je scripts uit mag voeren.
Configureren
De FileSender CLI client kun je het handigste configureren door het plaatsen van een bestand in de homedir. De naam van dit bestand is:
~/.filesender/filesender.py.ini
Om dit bestand inhoud te kunnen geven, heb je gegevens nodig van je profielpagina , te weten:
- Je gebruikersnaam. Je gebruikersnaam is NIET je e-mail adres, maar een reeks letters en cijfers, bijvoorbeeld: 8e4a6af650c7ff3e22b3a3b49d6dba8ab1d0cfa8
- Je API sleutel. Het kan zijn dat de API sleutel nog niet is aangemaakt, druk dan even op "Maak API-sleutel" en kopieer de sleutel die erboven verschijnt.
Voer vervolgens de volgende commando's uit om filesender te configureren, vul hierbij de waardes in die je hierboven hebt opgezocht:
$ mkdir -p ~/.filesender $ cat > ~/.filesender/filesender.py.ini << EOF [system] base_url = https://filesender.surf.nl/rest.php default_transfer_days_valid = 14 [user] username = <vul hier de gebruikersnaam uit 1. in> apikey = <vul hier de apisleutel uit 2. in> EOF
Gebruiken
Bestanden versturen (upload)
De FileSender CLI client heeft een korte handleiding ingebouwd, die per versie een beetje verschilt. Deze kun je opvragen door filesender.py -h
in te geven.
Mocht je geen configuratiebestand gebruiken, dan moet je de volgende argumenten meegeven bij ieder verzoek:
-b https://filesender.surf.nl/rest.php
-u <unieke ID, te vinden op https://filesender.surf.nl/?s=user in het veld "gebruikersnaam">
-a <api key, te vinden op https://filesender.surf.nl/?s=user in het veld "api sleutel">
Een volledig voorbeeld om het bestand "leeg.txt" te verzenden aan niemand@nergens.nl ziet er dan als volgt uit:
$ /home/me/filesender.py -b https://filesender.surf.nl/rest.php \ -u 8e4a6af650c7ff3e22b3a3b49d6dba8ab1d0cfa8 \ -a ba37dec49ccbc06b4cf3c8f39d574f48ede5afa2f699340513ed8ca2b54adae4 \ -r niemand@nergens.nl \ -f ik@mijnonderwijsinstelling.nl \ leeg.txt
Within the FileSender project, it is possible to use a CLI client. This can be a solution if operation with a web interface is not possible or convenient, for example if you work remotely and do not have a web browser, or if you want to use FileSender in a script.
This article discusses how to set up your system to use the FileSender CLI client and assumes a Linux operating system.
Download
You can download the CLI client in SURFfilesender. To do so, go to your profile: https://filesender.surf.nl/?s=user
Here, under the heading ‘Python CLI client’, you will find links to download the client.
Install
To install the CLI client, you will need the following software:
- Python version 3.7 or higher
- The following python modules:
- requests
- urllib3
- cryptography (if you want to send/receive encrypted)
The downloaded filesender.py
On most environments, requests, urllib3 and cryptography will already be installed. If this is not the case for you, you can install it with:
$ pip3 install requests urllib3 cryptography
After this, place the filesender.py file in any location where you may run scripts.
Configure
The FileSender CLI client is most conveniently configured by placing a file in the homedir. The name of this file is:~/.filesender/filesender.py.ini
To give content to this file, you need data from your profile page , namely:
- Your username. Your username is NOT your e-mail address, but a series of letters and numbers, for example: 8e4a6af650c7ff3e22b3a3b49d6dba8ab1d0cfa8
- Your API key. It may be that the API key has not yet been created, just press ‘Create API key’ and copy the key that appears above it.
Then run the following commands to configure filesender, entering the values you looked up above:
$ mkdir -p ~/.filesender $ cat > ~/.filesender/filesender.py.ini << EOF [system] base_url = https://filesender.surf.nl/rest.php default_transfer_days_valid = 14 [user] username = <enter the user name from 1. here> apikey = <enter the api key from 2. here> EOF
Usage
Send files (upload)
The FileSender CLI client has a short manual built in, which varies slightly from version to version. You can retrieve it by entering filesender.py -h
.
If you don't use a configuration file, you should include the following arguments with each request:
-b https://filesender.surf.nl/rest.php
-u <unique ID, found at https://filesender.surf.nl/?s=user in the field ‘username’>.
-a <api key, found at https://filesender.surf.nl/?s=user in the field ‘api key’>.
A complete example to send the file ‘empty.txt’ to nobody@nowhere.nl then looks like this:
$ /home/me/filesender.py -b https://filesender.surf.nl/rest.php \ -u 8e4a6af650c7ff3e22b3a3b49d6dba8ab1d0cfa8 \ -a ba37dec49ccbc06b4cf3c8f39d574f48ede5afa2f699340513ed8ca2b54adae4 \ -r nobody@nowhere.nl \ -f me@myinstitution.nl \ empty.txt