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:

  1. Python versie 3.7 of hoger
  2. De volgende python modules:
    1. requests
    2. urllib3
    3. cryptography (als je encrypted wilt verzendern/ontvangen)
  3. 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:

  1. Je gebruikersnaam. Je gebruikersnaam is NIET  je e-mail adres, maar een reeks letters en cijfers, bijvoorbeeld: 8e4a6af650c7ff3e22b3a3b49d6dba8ab1d0cfa8
  2. 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:

  1. Python version 3.7 or higher
  2. The following python modules:
    1. requests
    2. urllib3
  3. 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:

  1. Your username. Your username is NOT your e-mail address, but a series of letters and numbers, for example: 8e4a6af650c7ff3e22b3a3b49d6dba8ab1d0cfa8
  2. 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