Bestanden uitwisselen tussen verschillende platformen

Noud van Kruysbergen
0

Inhoudsopgave

Jezelf wel eens een document gemaild of foto’s via WhatsApp overgegooid? Er zijn betere manieren voor bestanden uitwisselen, zelfs zonder kabels en cloud.

Als je haast hebt met bestanden uitwisselen, werkt niets zoals het hoort: de gedeelde map is niet te vinden, Windows weigert het wachtwoord goed te keuren, je Mac wil niet meewerken en Linux mist een belangrijke bibliotheek.

Dit artikel kijkt naar mogelijke alternatieven voor een netwerkschijf en onderscheidt de technieken om bestanden zonder stress van A naar B te krijgen.

Verschillende platformen

Een groot deel van het verhaal zit in de specifieke platformoplossingen: 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 noodzakelijkerwijs met ­macOS en Linux.

Daarom lopen we platform voor platform af en gaan we op zoek naar de overeenkomsten. De mogelijkheden variëren daarbij van eenvoudig en meer ad hoc tot stabiel. Het kan zijn dat dingen daarbij dubbel voorkomen, maar dat is nu eenmaal zo.

In principe zijn er bij het uitwisselen van bestanden minimumeisen. Het is handig als beide deelnemende apparaten achter dezelfde router een gemeenschappelijke verbinding hebben met internet. Dan heb je meestal niet te maken met netwerkproblemen.

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 verschijnen, staat echter een mogelijkheid om dat aan te passen.

Het Android-toestel kan zich aanmelden als een camera (PTP) of als gegevensopslag (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ïnstalleerd is, kan een Mac de bestanden zien.

Als er geen kabel bij de hand is, kan Android ook bestanden versturen via bluetooth. Daarvoor moeten de verzender en de ontvanger de overdrachten toestaan. Geschikte opties zijn te vinden bij de bluetooth-instellingen voor alle platformen. Bovendien is het noodzakelijk dat een gebruiker akkoord gaat met de overdracht. Vaak duurt het lang voordat die vraag tevoorschijn komt.

Bij macOS moet bluetooth worden geactiveerd voor het ontvangen van bestanden bij de systeem­instellingen onder Delen. Linux Mint ontvangt alleen bestanden als het pakket ‘obexftp’ geïnstalleerd is. Voor Windows is het noodzakelijk om het ontvangen van bestanden expliciet te starten bij de bluetooth-instellingen (zoek naar ‘bluetooth’ in het startmenu). Alleen iOS kan geen gebruik maken van bluetooth voor bestandsoverdracht.

macos iOS bluetooth

Het versturen van bestanden via bluetooth werkt platform-onafhankelijk – alleen iOS kan dat niet. Voor het accepteren van bestanden via bluetooth moet je wel altijd nog een akkoord geven.

Android-toestellen kunnen bestanden ook tussen elkaar en naar Chrome-OS-apparaten heen en weer sturen via wifi (WiFi Direct). De functie heet Nearby Share. Het instellen daarvan kost weinig moeite. Google wil de eerder gebruikte transmissie-interface Android Beam, die NFC gebruikte om de verbinding tot stand te brengen, niet meer gebruiken omdat die onhandig en onpopulair was. Afhankelijk van de softwareversie van je Android-toestel kun je die oude technologie 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 platformgrenzen mee overwinnen. Als je het probeert: gebruik aan beide kanten dezelfde software van dezelfde leverancier.

Doorlezen is gratis, maar eerst even dit:

Dit artikel is met grote zorg samengesteld door de redactie van c’t magazine – het meest toonaangevende computertijdschrift van Nederland en België. Met zeer uitgebreide tests en praktische workshops biedt c’t de diepgang die je nergens online vindt.

Bekijk de abonnementen   Lees eerst verder

iOS

iOS is naarmate het versienummer 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 geluidsopnames worden door Apple in een gouden kooi opgesloten. Ze zijn via de kabel alleen makkelijk te bereiken met speciale apps. Het uitwisselen van afzonderlijke 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, maar alleen van andere Apple-apparaten. En afhankelijk van de configuratie alleen als bekende contactpersonen ze leveren.

iOS opent de wereld via de app Bestanden. Bestanden kunnen daar vanuit verschillende apps naartoe worden gestuurd. De app krijgt daarmee de rol van intermediair: andere apps, zoals die voor cloudopslag, kunnen zich daar integreren en hun inhoud weergeven.

Sinds iOS 13 kan Bestanden standaard zelfs bestanden in SMB-shares opnemen en dus toegang tot servers krijgen. Op die manier kun je bestanden vanaf iOS rechtstreeks sturen naar shares die Linux, macOS en Windows beschikbaar stellen.

AirDrop bestanden delen macos

Het voorbeeld van Apple: AirDrop maakt een eenvoudige bestandsuitwisseling mogelijk tussen apparaten in de hele iOS- en macOS-familie.

Een veel voorkomende manier om bestanden van en naar een iOS-apparaat te krijgen is via de apps zelf. Vele bieden mechanismen om te communiceren met de gangbare diensten als clouddiensten, maar ook bijvoorbeeld WebDAV.

Veelgebruikte 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 WebDAV-client­software.

Linux

Een Linux-distributie kan (afgezien van het huis-eigen AirDrop van Apple) 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 betreffende instellingen (Bluetooth Pairing) koppelen. Dat kan met alle gangbare platforms en ook met macOS als tegenpartij.

Vanuit de grafische gebruikersinterface heeft ­Linux waarschijnlijk de meeste protocollen beschikbaar voor bestandsuitwisseling in vergelijking met alle platformen: het maakt niet alleen verbinding met de gebruikelijke Windows SMB-shares, maar ook met AFP-shares van een Mac, kopieert bestanden via SSH, FTP, WebDAV en andere diensten.

Modules die het bestandsbeheer van de grafische gebruikersinterface 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 achterhalen welk pakket die functie biedt – we hebben hier obexftp voor Bluetooth al genoemd, in het volgende artikel over SMB staan er meer.


Blijf op de hoogte van de nieuwste achtergrondartikelen.
Schrijf je in voor de nieuwsbrief:



macOS

macOS kan met andere Apple-apparaten met AirDrop makkelijk incidenteel bestanden uitwisselen. Het ­besturingssysteem is ook zeer geschikt als bluetooth-gegevensbron en kan bestanden versturen. Daarvoor is het noodzakelijk de betrokken apparaten eerst te koppelen.

Minder goed gelukt lijken echter de mogelijkheden om een bestandsbeheerder via een bluetoothverbinding toegang te geven tot een gekoppeld apparaat. De verbindingen werden meestal afgebroken, en dat bij alle platformen.

Voor het uitwisselen van bestanden buiten de Apple-­wereld op de langere termijn kan macOS toegang krijgen tot de Windows SMB-shares. Als je alleen met macOS te maken hebt, dan zijn de eigen AFP-shares van Apple ook geschikt. De Mac heeft geen uitbreidingen nodig voor het uitwisselen van bestanden – niet als afzender en niet als ontvanger. Alles is al ingebouwd.

Windows

Windows kan, net als alle andere platforms, bestanden uitwisselen via bluetooth. Microsoft heeft de bluetoothfuncties voor het verzenden en ontvangen van bestanden een beetje verborgen in de instellingen.

Maar je kunt ze ook eenvoudig tevoorschijn toveren via het contextmenu van het bluetoothpictogram in het systeemvak. Bovendien heeft Microsoft bij Windows 10 vanaf versie 1803 een functie voor bestandsuitwisseling tussen apps geïntroduceerd. Die heet ‘Delen in directe omgeving’ en kan worden geactiveerd bij de Windows-instellingen door onderaan bij de klok te klikken op het tekstballonnetje voor het actiecentrum.

bestanden uitwisselen windows in directe omgeving airdrop

Microsofts AirDrop-variant: Windows 10 heeft sinds 1803 een functie voor het delen in de directe omgeving.

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 contextmenu van een bestand en het menu-­item Delen (de klassieke SMB-netwerkshares zijn te vinden bij de Eigenschappen van een map).

In de praktijk bleek deze methode van bestanden uitwisselen nogal weerbarstig. Uiteindelijk werkte dat alleen als de bluetoothadapters het LE-profiel ondersteunen. De bij de invoering beloofde apps voor Android en iOS zijn nog steeds niet beschikbaar.

Voor Android wordt de Microsoft-launcher verondersteld het delen in de eigen omgeving te ondersteunen. Maar ­uiteindelijk blijkt dat ook voor Windows geldt wat al zo was voor macOS en Linux: voor een stabiele en betrouw­bare verbinding moet je werken met SMB-­shares.

Andere platformen

De grote partijen krijgen het blijkbaar niet voor elkaar om het af een toe platformonafhankelijk uitwisselen van bestanden buiten hun clouddiensten om mogelijk te maken. Zelfs bij die clouddiensten heeft dan nog ieder zijn eigen oplossing: iCloud, OneDrive en Google Drive.

Daarom proberen vlijtige ontwikkelaars platformonafhankelijke 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 geschiedenis.

Maar er is een gemeenschappelijke deler: browsers met hun WebRTC-engine, die is bedoeld voor real-­time communicatie en die mogelijkheden biedt voor videoconferenties, 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 browservenster 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 ontvangende kant vraagt om een bevestiging zodra een bestand wordt aangeboden.

bestanden uitwisselen snapdrop

Snapdrop bootst AirDrop na, maar delegeert het eigenlijke werk naar de browser.
Door de WebRTC-functies werkt dat platformonafhankelijk.

ShareDrop lijkt het meest actieve en langst lopende project te zijn. Naast de lokale bestandsuitwisseling 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 doorgegeven.

ShareDrop gebruikt met Firebase een gehoste data­base als centrale tool, die niet eenvoudig te vervangen is. Daarom is het niet geschikt voor een volledig autonome ShareDrop-server.

De insteek van Snapdrop is een zo minimaal mogelijke implementatie. De ontwikkelaar heeft zich georiënteerd op ShareDrop, maar werkt dan wel zonder de externe afhankelijkheid van een gehoste dienst.

Er is zelfs een dockercompose.yml voor het zelf hosten van de webinterface, die de ruggengraat van de applicatie vormt. Bij onze experimenten met ShareDrop en Snapdrop voelde die laatste wat soepeler aan en hadden we betere ad hoc resultaten bij het cross-platform uitwisselen van bestanden.

Toch lukte het niet altijd: de tickets op GitHub spreken boekdelen over de moeilijkheden die we op bepaalde platformen en met bepaalde browsers ondervonden.

Wat werkt het beste?

De methoden voor het overbrengen van losse bestanden, de clouddiensten voor een geautomatiseerde bestandsoverdracht en zelfs alternatieve, cloudloze synchronisatiemethoden zoals Resilio Sync hebben een gemeenschappelijk nadeel: er ontstaat al snel een chaos als de bestanden op meerdere apparaten worden bewerkt.

Als het uitwisselen van de bestanden onderweg ergens hapert, krijg je al snel te maken met veranderingen die niet meer automatisch kunnen worden samengevoegd. Heb je een gelijktijdige bewerking nodig , doe jezelf dan een groot plezier met een traditionele SMB-share.

Er zijn ook speciale alternatieven, zoals Micro­softs SharePoint, waarmee Microsofts Office-­toepassingen gelijktijdig kunnen worden gebruikt via uitbreidingen van het WebDAV-protocol. Of je kunt de bewerking verplaatsen naar de browser, bijvoorbeeld met OnlyOffice of Office 365.

(informatie afkomstig uit het artikel van Peter Siering en Noud van Kruysbergen, c’t magazine 12/2020, p. 32)

Meer achtergrondartikelen in c't magazine dec/2021

Deel dit artikel

Lees ook

Synchroniseren zonder cloud – Resilio Sync

Wil je bestanden synchroniseren tussen verschillende apparaten, maar zet je ze liever niet bij een of andere cloud-aanbieder op internet? Resilio Sync...

Bouw een back-up-pc onder Linux met Resilio Sync

Het installeren van Resilio Sync onder Linux is niet moeilijk. In het simpelste geval is een Raspberry Pi voldoende. Er zijn zelfs eigen repo­sitory’s...

0 Praat mee
avatar
  Abonneer  
Laat het mij weten wanneer er