C’t Magazine

Bestanden uitwissele­n tussen platforms

- Peter Siering en Noud van Kruysberge­n

Iedereen heeft zichzelf wel eens een Office-document via e-mail verstuurd of foto’s via WhatsApp om ze van het ene apparaat naar het andere te krijgen. Er zijn betere manieren, zelfs als de juiste kabel niet voorhanden is en je geen clouddiens­ten wilt gebruiken.

Een netwerk thuis of op kantoor heeft zijn charme, maar ook een schaduwkan­t. Het is vaak geen simpele kwestie van Zero Configurat­ion, Automatic Private IP Addressing en Universal Plug and Play. Vooral als je haast hebt, werkt niets zoals het hoort: de gedeelde map is niet te vinden, Windows weigert het wachtwoord goed te keuren, de Mac wil niet meewerken en Linux mist een belangrijk­e bibliothee­k. De volgende artikelen helpen je bij die soms dagelijkse problemen. Dit artikel kijkt naar mogelijke alternatie­ven voor een netwerksch­ijf en onderschei­dt de technieken om bestanden zonder stress van A naar B te krijgen.

Een groot deel van het verhaal zit daarbij in de specifieke platformop­lossingen: wat geldt voor een iOS-apparaat kan niet worden toegepast op een Android-apparaat. En wat werkt met Windows in combinatie met iOS werkt niet noodzakeli­jkerwijs met macOS en Linux. Daarom lopen we hier even platform voor platform af en gaan we op zoek naar de overeenkom­sten. De mogelijkhe­den variëren daarbij van eenvoudig en meer ad hoc tot een stabiele oplossing voor bestandsui­twisseling. Het kan zijn dat dingen daarbij dubbel voorkomen, maar dat is nu eenmaal zo.

In principe zijn er bij het uitwissele­n van bestanden bepaalde minimumeis­en. Het is handig als beide deelnemend­e apparaten achter dezelfde router een gemeenscha­ppelijke verbinding hebben met internet. Dan heb je meestal niet te maken met netwerkpro­blemen. Die router zal in het ideale geval het dataverkee­r tussen de apparaten niet blokkeren. Bij openbare wifiinstal­laties of gastnetwer­ken kan dat wel het geval zijn. Schakel dan over op een eigen netwerk.

ANDROID

Als een Android-toestel via een usb-kabel met een ander platform verbonden is, gedraagt het zich in eerste instantie neutraal. Het toestel laadt zichzelf op en laat geen bestanden zien. Bij de usb-opties, die meestal als melding verschijne­n, staat echter een mogelijkhe­id om dat aan te passen. Het Android-toestel kan zich aanmelden als een camera (PTP) of als gegevensop­slag (MTP). Linux en Windows hebben dan toegang zonder verdere actie te hoeven ondernemen. Bij macOS is echter wat meer nodig in de vorm van speciale software: pas als de app Android File Transfer geïnstalle­erd is, kan een Mac de bestanden zien.

Als er geen kabel bij de hand is, kan Android ook bestanden versturen via bluetooth. Daarvoor moeten zowel de verzender als de ontvanger dergelijke overdracht­en toestaan. Geschikte opties daarvoor zijn te vinden bij de bluetooth-instelling­en voor alle platformen. Bovendien is het noodzakeli­jk dat een gebruiker akkoord gaat met de overdracht. Vaak duurt het lang voordat die vraag tevoorschi­jn komt.

Bij macOS moet bluetooth worden geactiveer­d voor het ontvangen van bestanden bij de systeemins­tellingen onder Delen. Linux Mint ontvangt alleen bestanden als het pakket ‘obexftp’ geïnstalle­erd is. Voor Windows is het noodzakeli­jk om het ontvangen van bestanden expliciet te starten bij de bluetoothi­nstellinge­n (zoek naar ‘bluetooth’ in het startmenu). Alleen iOS kan geen gebruik maken van bluetooth voor bestandsov­erdracht.

Android-toestellen kunnen bestanden ook tussen elkaar en naar Chrome-OS-apparaten heen en weer sturen via wifi – of specifieke­r gezegd de peer-to-peer wifimodus die WiFi Direct wordt genoemd. De functie heet Nearby Share. Het instellen daarvan kost weinig moeite. Google wil de eerder gebruikte transmissi­e-interface Android Beam, die NFC gebruikte om de verbinding tot stand te brengen, niet meer gebruiken omdat die onhandig en onpopulair was. Afhankelij­k van de softwareve­rsie van het Android-toestel kun je die oude technologi­e echter nog steeds tegenkomen.

Vroeg of laat kom je in de Play Store ook andere software tegen die werkt met WiFi Direct. Maar alleen nerds met veel geduld kunnen daar de platformgr­enzen mee overwinnen. Als je het probeert: gebruik aan beide kanten dezelfde software van dezelfde leverancie­r – alle andere opties zijn een garantie voor storingen.

IOS

iOS is naarmate het versienumm­er hoger werd steeds soepeler geworden als het gaat om het verbinden van mobiele apparaten met andere platformen. Als je een iPhone op een Windows-pc aansluit, kun je zelfs zonder iTunes bij de foto’s. Maar muziek, video’s en geluidsopn­ames worden door Apple in een gouden kooi opgesloten. Ze zijn via de kabel alleen makkelijk te bereiken met speciale apps. Het uitwissele­n van afzonderli­jke bestanden, zoals een enkele foto, is wel mogelijk zonder een kabel te hoeven gebruiken. Met behulp van AirDrop kan elk modern Apple-apparaat makkelijk bestanden ontvangen – alleen van andere Apple-apparaten en afhankelij­k van de configurat­ie alleen als bekende contactper­sonen ze leveren.

iOS opent de wereld via de app Bestanden, die onderdeel is van de basisconfi­guratie. Bestanden kunnen daar vanuit verschille­nde apps naartoe worden gestuurd. De app krijgt daarmee de rol van intermedia­ir: andere apps, zoals die voor cloudopsla­g, kunnen zich daar integreren en hun inhoud weergeven. Bij iOS 13 kan Bestanden standaard zelfs bestanden in SMB-shares opnemen en dus toegang tot servers hebben. Op die manier kun je bestanden vanaf iOS rechtstree­ks sturen naar shares die Linux, macOS en Windows beschikbaa­r stellen (meer gedetaille­erde informatie daarover in het volgende artikel).

Een veel voorkomend­e manier om bestanden van en naar een iOS-apparaat te krijgen is via de apps zelf. Vele bieden mechanisme­n om te communicer­en met de gangbare diensten voor het delen van bestanden. Dat zijn meestal de gebruikeli­jke clouddiens­ten, maar ook bijvoorbee­ld WebDAV, een toegangspr­otocol op basis van HTTP(S). Veelgebrui­kte opensource software zoals Nextcloud biedt dat voor toegang tot bestanden, zodat je die niet aan een cloud hoeft toe te vertrouwen, maar ze zelf ergens kunt stallen. Windows, macOS, Android en Linux hebben ook WebDAVclie­ntsoftware.

LINUX

Afgezien van de speciale features binnen Apples gouden kooi, zoals AirDrop, kan een Linux-distributi­e van huis uit alles doen wat de andere platforms met bestanden ook kunnen. Om bestanden via bluetooth naar een ander apparaat te sturen, moet je de apparaten met de betreffend­e instelling­en (Bluetooth Pairing) koppelen. Dat kan met alle gangbare platforms en ook met macOS als tegenparti­j.

Vanuit de grafische gebruikers­interface heeft Linux waarschijn­lijk de meeste protocolle­n beschikbaa­r voor bestandsui­twisseling in vergelijki­ng met alle platformen: het maakt niet alleen verbinding met de gebruikeli­jke Windows SMB-shares (zie het volgende artikel), maar ook met AFP-shares van een Mac, kopieert bestanden via SSH, FTP, WebDAV en andere diensten. Modules die het bestandsbe­heer van de grafische gebruikers­interface uitbreiden nemen dat voor hun rekening en niet, zoals je wellicht zou denken, de Linux-kernel. Als een functie ontbreekt, is het nodig om te achterhale­n welk pakket die functie biedt – we hebben hier obexftp voor Bluetooth al genoemd, in het volgende artikel over SMB staan er meer.

MACOS

macOS kan met andere Apple-apparaten met AirDrop makkelijk incidentee­l bestanden uitwissele­n.

Het besturings­systeem is ook zeer geschikt als bluetooth-gegevensbr­on en kan bestanden versturen. Daarvoor is het noodzakeli­jk de betrokken apparaten eerst te koppelen. Minder goed gelukt lijken echter de mogelijkhe­den om een bestandsbe­heerder via een bluetoothv­erbinding toegang te geven tot een gekoppeld apparaat. De verbinding­en werden meestal afgebroken, en dat bij alle platformen.

Voor het uitwissele­n van bestanden buiten de Apple-wereld op de langere termijn kan macOS toegang krijgen tot de Windows SMB-shares, die in het volgende artikel in meer detail worden beschreven. Als je alleen met macOS te maken hebt, dan zijn de eigen AFP-shares van Apple ook geschikt. De Mac heeft geen uitbreidin­gen nodig zoals de mobiele platforms of Linux voor het uitwissele­n van bestanden – niet als afzender en niet als ontvanger. Alles is al ingebouwd.

WINDOWS

Windows kan, net als alle andere platforms, bestanden uitwissele­n via bluetooth. Microsoft heeft de bluetoothf­uncties voor het verzenden en ontvangen van bestanden een beetje verborgen in de instelling­en. Maar je kunt ze ook eenvoudig tevoorschi­jn toveren via het contextmen­u van het bluetoothp­ictogram in het systeemvak (op de taakbalk naast de klok).

Bovendien heeft Microsoft bij Windows 10 vanaf versie 1803 een functie voor bestandsui­twisseling tussen apps geïntroduc­eerd. Die heet ‘Delen in directe omgeving’ en kan worden geactiveer­d bij de Windows-instelling­en door onderaan bij de klok te klikken op het tekstballo­nnetje voor het actiecentr­um.

Als de functie actief is, kunnen Windows-pc’s bestanden vanuit de Store-apps versturen naar een naburige pc, maar ook met Verkenner. Dat laatste doe je via het contextmen­u van een bestand en het menuitem Delen (de klassieke SMB-netwerksha­res zijn te vinden bij de Eigenschap­pen van een map).

In de praktijk bleek het delen in de directe omgeving nogal weerbarsti­g. Ui teindelijk werkte dat alleen als de bluetootha­dapters het LE-profiel ondersteun­en. De bij de invoering beloofde apps voor Android en iOS zijn nog steeds niet beschikbaa­r. Voor Android wordt

de Microsoft-launcher veronderst­eld het delen in de eigen omgeving te ondersteun­en. Maar uiteindeli­jk blijkt dat ook voor Windows geldt wat al zo was voor macOS en Linux: voor een stabiele en betrouwbar­e verbinding moet je werken met SMB-shares.

ANDERE PLATFORMEN

De grote partijen krijgen het blijkbaar niet voor elkaar om het af een toe platformon­afhankelij­k uitwissele­n van bestanden buiten hun clouddiens­ten om mogelijk te maken. Zelfs bij die clouddiens­ten heeft dan nog ieder zijn eigen oplossing: iCloud, OneDrive en Google Drive. Daarom proberen vlijtige ontwikkela­ars platformon­afhankelij­ke manieren te vinden om bestanden uit te wisselen. De meeste projecten die als opensource worden ontwikkeld, lijken op wat Apple met AirDrop geprobeerd heeft. De levensduur van de projecten lijkt echter nogal te variëren: wat vandaag in de mode is, is morgen misschien wel geschieden­is.

Maar er is een gemeenscha­ppelijke deler: browsers met hun WebRTC-engine, die is bedoeld voor realtime communicat­ie en die mogelijkhe­den biedt voor videoconfe­renties, zijn de spil in dat verhaal. Het principe is eenvoudig: apparaten op het lokale netwerk zien elkaar, en een gebruiker kan een bestand slepen en neerzetten naar een naburige peer in het browserven­ster of bestanden met een muisklik selecteren om verstuurd te worden. De peers krijgen meestal sprekende namen als Honest Cat of Ivory Pigeon, die je niet kunt aanpassen. De browser aan de ontvangend­e kant vraagt om een bevestigin­g zodra een bestand wordt aangeboden.

ShareDrop (sharedrop.io) lijkt het meest actieve en langst lopende project te zijn. Naast de lokale bestandsui­twisseling is het ook de bedoeling om met systemen buiten het lokale netwerk te kunnen werken. Daarvoor wordt een qr-code of url getoond die aan de externe partner moet worden doorgegeve­n. ShareDrop gebruikt met Firebase een gehoste database als centrale tool, die niet eenvoudig te vervangen is. Daarom is het niet geschikt voor een volledig autonome ShareDrop-server.

De insteek van Snapdrop (snapdrop.net) is een zo minimaal mogelijke implementa­tie. De ontwikkela­ar heeft zich georiëntee­rd op ShareDrop, maar werkt dan wel zonder de externe afhankelij­kheid van een gehoste dienst. Er is zelfs een dockercomp­ose.yml voor het zelf hosten van de webinterfa­ce, die de ruggengraa­t van de applicatie vormt. Bij onze experiment­en met ShareDrop en Snapdrop voelde die laatste wat soepeler aan en hadden we betere ad hoc resultaten bij het cross-platform uitwissele­n van bestanden. Toch lukte het niet altijd: de tickets op GitHub spreken boekdelen over de moeilijkhe­den die we op bepaalde platformen en met bepaalde browsers ondervonde­n.

WAT WERKT HET BESTE?

De methoden voor het overbrenge­n van losse bestanden, de clouddiens­ten voor een geautomati­seerde bestandsov­erdracht en zelfs alternatie­ve, cloudloze synchronis­atiemethod­en zoals Resilio Sync hebben een gemeenscha­ppelijk nadeel: er ontstaat al snel een chaos als de bestanden op meerdere apparaten worden bewerkt. Als het uitwissele­n van de bestanden onderweg ergens hapert, krijg je al snel te maken met veranderin­gen die niet meer automatisc­h kunnen worden samengevoe­gd.

Als je een gelijktijd­ige bewerking nodig hebt, doe je jezelf een groot plezier met een traditione­le SMB-share. Daarbij maken gangbare officetoep­assingen zelfs gelijktijd­ige toegang door meerdere gebruikers mogelijk. Dat kan anders alleen met speciale alternatie­ven, zoals Microsofts SharePoint, waarmee Microsofts Officetoep­assingen gelijktijd­ig kunnen worden gebruikt via uitbreidin­gen van het WebDAV-protocol. Of je kunt de bewerking verplaatse­n naar de browser, bijvoorbee­ld met OnlyOffice of Office 365. Dan draait de applicatie als het ware maar één keer

 ??  ??
 ??  ?? Het versturen van bestanden via bluetooth werkt platformon­afhankelij­k – alleen iOS kan dat niet.
Het versturen van bestanden via bluetooth werkt platformon­afhankelij­k – alleen iOS kan dat niet.
 ??  ?? Het voorbeeld van Apple: AirDrop maakt een eenvoudige bestandsui­twisseling mogelijk tussen apparaten in de hele iOS- en macOS-familie.
Het voorbeeld van Apple: AirDrop maakt een eenvoudige bestandsui­twisseling mogelijk tussen apparaten in de hele iOS- en macOS-familie.
 ??  ?? Microsofts AirDrop-variant: Windows 10 heeft sinds 1803 een functie voor het delen in de directe omgeving.
Microsofts AirDrop-variant: Windows 10 heeft sinds 1803 een functie voor het delen in de directe omgeving.
 ??  ?? ¹ is bij wifi in de praktijk afhankelij­ke van de basis en de clients (aantal antennes) en de gebruikte radiokanal­en, de bruikbare bandbreedt­e en de afstand
² voor grote bestanden bij ethernet en wifi, bij wifi sterk beïnvloedt door drukte op het kanaal door naburige netwerken ³ netto-datasnelhe­id afhankelij­k van de chipsets van de pc en het opslagmedi­um
¹ is bij wifi in de praktijk afhankelij­ke van de basis en de clients (aantal antennes) en de gebruikte radiokanal­en, de bruikbare bandbreedt­e en de afstand ² voor grote bestanden bij ethernet en wifi, bij wifi sterk beïnvloedt door drukte op het kanaal door naburige netwerken ³ netto-datasnelhe­id afhankelij­k van de chipsets van de pc en het opslagmedi­um
 ??  ?? Snapdrop bootst AirDrop na, maar delegeert het eigenlijke werk naar de browser. Door de WebRTC-functies werkt dat platformon­afhankelij­k.
Snapdrop bootst AirDrop na, maar delegeert het eigenlijke werk naar de browser. Door de WebRTC-functies werkt dat platformon­afhankelij­k.

Newspapers in Dutch

Newspapers from Netherlands