c’t 05/2026
Maakt AI dommer?
Cover van
Cover voor Verander je pc in een instant-fileserver met copyparty

Verander je pc in een instant-fileserver met copyparty

Het opensourceproject copyparty verandert bijna elke computer in een handomdraai in een flexibele bestandsserver met veel functies. Met onze tips gaat dat heel makkelijk.

Lees verder na de advertentie

Lichtgewicht bestandsdeling zonder cloud of NAS

Het opensourceproject copyparty vult een niche, want er zijn echt wel genoeg oplossingen voor het uitwisselen van bestanden tussen meerdere apparaten. De meeste smartphones en computers zijn al gekoppeld aan een cloud of maken gebruik van een NAS. Maar misschien is de cloud vol of wil je daar om geen gevoelige bestanden opslaan? En soms is het ook teveel gedoe om nieuwe gebruikers en shares op een NAS aan te maken.

Copyparty is de cup-a-soup onder de bestandsservers. Zeker als het snel moet gaan: direct klaar voor gebruik, weinig toeters en bellen, voldoet aan zijn doel. Het verandert bijna elke computer met slechts één commando in een bestandsserver.

De enige vereiste: om copyparty uit te voeren, moet Python versie 2 of 3 op het systeem geïnstalleerd zijn. Een hand­leiding voor het installeren van Python op verschillende besturingssystemen vind je in [1]. Bij de meeste Linux-distributies is Python al onderdeel van de installatie.

Partytime

We hebben Copyparty getest op Ubuntu 24.04.3 LTS en Fedora Workstation 42, maar je kunt de commando’s ook op andere systemen gebruiken. Download het bestand copyparty-sfx.py uit de GitHub-­repository van het project en voer het uit. Dat is alles. Installeren is verder niet nodig.

De Python-code pakt bij het opstarten een archief in tar.gz-formaat uit in een tijde­lijke map en start vervolgens copyparty. Dat is de gebruikelijke methode om copyparty in gebruik te nemen. Je kunt het ook doen met de Python-pakketbeheerder pip met het volgende commando:

python3 -m pip install --user -U copyparty

Daarna kun je de webinterface van copyparty openen in de browser op https://192.168.0.100:3923. Vervang het voorbeeld-ip-adres door het ip-adres van het systeem waarop je copyparty uitvoert en bevestig dat je ondanks het zelf ondertekende certificaat door wilt gaan.

De map waarin je copyparty uitvoert, wordt de hoofdmap. In de webinterface toont het programma de daar opgeslagen bestanden en accepteert het uploads.

Bij de instellingen kun je een thema voor de interface selecteren en de taal op Nederlands zetten. In het menu aan de linkerkant geeft copyparty de mappenstructuur weer als een mappenboom of als breadcrumb-navigatie. Door te klikken op het mappictogram in de menubalk bovenaan het venster, maak je een nieuwe map aan. Aan de rechterkant van het venster worden de bestanden weergegeven, die je kunt downloaden door op de bestandsnaam te klikken. Tekstbestanden zoals Markdown-documenten kun je direct bewerken met de ingebouwde editor.

Om bestanden te uploaden, sleep je ze gewoon naar het browservenster. Dat werkt ook met mappen. Copyparty gebruikt standaard het up2k-protocol voor de bestandsoverdracht, dat bestanden in kleinere stukjes verdeelt en uploads en downloads kan hervatten als ze onderbroken worden.

In het menu achter het raketpictogram kun je up2k configureren, bijvoorbeeld door meerdere uploads tegelijk toe te staan. Als er problemen zijn met up2k, kun je met het ballonpictogram op de menubalk overschakelen naar de zogenaamde Basic Uploader, die compatibel is met oudere (tot Netscape 4.0) en meer exotische browsers.

In principe kan de webinterface ook thumbnails van afbeeldingen, video’s en audiobestanden weergeven, maar daarvoor moeten de pakketten python3-pil en ­ffmpeg op de copyparty-server geïnstalleerd zijn. Bij Ubuntu installeer je die met:

sudo apt install python3-pil ffmpeg

Door op het trompetpictogram te klikken, open je de opties voor de mediaspeler en kun je daar bijvoorbeeld instellen hoe copyparty met afspeellijsten (m3u, m3u8) moet omgaan.

Kopiëren met mate

Als je copyparty zonder extra para­meters start, kan iedereen in het netwerk toegang krijgen tot de bestandsserver en naar harten­lust bestanden uploaden en downloaden. Dat is prima als je copyparty alleen in een klein netwerk gebruikt, maar waarschijnlijk wil je de server delen met col­lega’s. Daarvoor biedt copyparty een groot aantal opties:

./copyparty-sfx.py -a ndi:cttest -v host-dir:server-dir-home:rwmd,ndi

Het bovenstaande commando start copyparty en maakt de gebruiker ndi aan met het wachtwoord cttest. Ook wordt de map host-dir in het bestandssysteem van de host de hoofdmap voor copyparty, die dan in de webinterface server-dir heet. Tot slot worden nog machtigingen toegekend: de gebruiker ndi mag daarin bestanden lezen (r), schrijven (w), verplaatsen (m) en verwijderen (d).
Als je de webinterface vervolgens opent, kom je zonder wachtwoord niet verder. Je kunt het voorbeeldcommando aanpassen om meerdere gebruikers aan te maken en hun machtigingen in te stellen.

Met de parameter -z maak je de copy­party-instantie bekend in het lokale netwerk via mdns (Multicast DNS) en ssdp (Simple Service Discovery Protocol). De server verschijnt dan bijvoorbeeld als WebDAV-station in Linux-bestandsbeheerders.

Als je copyparty met een FTP-client wilt benaderen, voeg dan --ftp 3921 toe aan het commando. De FTP-server luistert dan op TCP-poort 3921. Met -e2dsa -e2ts geef je copyparty de opdracht om bestanden te indexeren, zodat het zoeken werkt.

En zou het niet fijn zijn als alles op een gegeven moment weer netjes wordt opgeruimd? Je kunt mappen een label geven dat bestanden voorziet van een vervaldatum, bijvoorbeeld vijf minuten (300 seconden):

./copyparty-sfx.py -v host-dir:server-dir:c,lifetime=300

Net als bij ellenlange Docker-commando’s, die op een gegeven moment onoverzichtelijk worden, kan het bij copyparty vanaf een bepaalde complexiteit zinvol zijn om een configuratiebestand aan te maken. Een simpel configuratiebestand ziet er zo uit:

[global]
 e2dsa
 e2ts
 z
[accounts]
 ndi: cttest
 nkr: cttest2
[/]
 /home/ndi/copyparty
 accs:
   r: *
   rw: ndi
 flags:
   df: 10g
   lifetime: 300

Je geeft het configuratiebestand aan copyparty door met de parameter -c /pad/naar/bestand.conf. Vervang dat door het pad en de naam van je configuratiebestand.

Bovenstaand bestand maakt de gebruikers ndi en nkr aan. De map /home/ndi/copyparty op de host wordt de hoofdmap. Daar mag iedereen lezen, maar alleen ndi mag schrijven. Uploads vervallen na 5 minuten (lifetime: 300) en er zijn geen uploads meer mogelijk als er minder dan 10 GB opslagruimte (df: 10g) vrij is op de host.

Conclusie

Het zou te ver voeren om in dit artikel alle functies van copyparty uit te leggen, omdat er te veel opties en parameters zijn waarmee je de software voor je eigen toepassing kunt aanpassen. Dat past ook bij de eigenzinnige beschrijving van het project door de hoofdontwikkelaar, die het volgende doel voor copyparty formuleert: ‘inverse linux philosophy – do all the things, and do an okay job’.

Maar je bent nu in ieder geval bekend met de basisfuncties. In de GitHub-repository van het project vind je voorbeeldcommando’s voor verschillende scenario’s en ook een uitgebreider voorbeeldconfiguratiebestand.

(Niklas Dierking en Noud van Kruysbergen, c’t 1-2/2026, p.132)

Inspiratie in je mailbox

Blijf bij op IT-gebied en verbreed je expertise. Ontvang elke week artikelen over de laatste tech-ontwikkelingen, toepassingen, nieuwe hard- en software én ontvang tips en aanbiedingen.

Loginmenu afsluiten