How to Share Files Without Internet — Offline File Transfer

Sharing files without internet used to mean USB sticks or complicated network setups. DropLink makes it trivial: as long as two devices are on the same local network, they can transfer files directly — with end-to-end encryption and zero cloud involvement.

Quick answer

Put both devices on the same local network — Wi-Fi, Ethernet, or a phone hotspot works, with or without internet access. Open DropLink on the sender, pick the receiver from the Nearby list (or share a Web UI link to any browser), and transfer directly over QUIC with TLS 1.3. Discovery uses mDNS/Bonjour, no cloud, no server, no account — ideal for air-gapped offices, planes with Wi-Fi, and regions with restricted internet.

Step-by-step

  1. 1

    Connect both devices to the same network

    Use a local Wi-Fi network, Ethernet, or a phone hotspot. DropLink only needs devices to be on the same LAN — there is no requirement for that network to have internet access.

  2. 2

    Install DropLink on the sender

    macOS (App Store) or Windows (Microsoft Store). The app is free and under 50 MB.

  3. 3

    Open DropLink — discovery happens automatically

    DropLink uses mDNS/Bonjour to find other DropLink devices on the network. Any other device running the app will appear in the DropLink Vicini list within seconds.

  4. 4

    No DropLink on the receiver? Use the Web UI

    Click Receive files on the sender. DropLink runs a local web server and shows a link. The receiver opens the link in any browser — no app needed.

  5. 5

    Drop your files and send

    On the sender, drop the files into the drop zone and select the destination. The receiver gets a prompt to accept, and the transfer begins — all over the local network, no internet required.

Common issues and fixes

  • Devices do not see each other

    The network almost certainly has AP isolation (guest Wi-Fi, hotel, cafe). DropLink probes for this by trying to TCP-connect to IPs in the same /24 subnet; if nothing is reachable while the internet is, it declares 'AP isolation detected' and suggests alternatives. Workaround: use a phone hotspot instead. Ethernet cables always work.

  • mDNS not working on my enterprise network

    Many enterprise Wi-Fi setups block multicast. As a workaround, use the Web UI method: the sender shows a link/QR code and the receiver opens it in a browser — this uses unicast HTTP and does not require mDNS. You will need to type the sender's IP into the browser URL.

  • Transfer is slower than expected on a hotspot

    Phone hotspots are typically limited by the phone's Wi-Fi chipset running in AP mode. On iPhone, using USB tethering (via Lightning/USB-C) rather than Wi-Fi tethering often gives 2-3x the throughput. On Android, 5 GHz hotspot is faster than 2.4 GHz.

Offline transfer mechanics

No internet required on the LAN path

DropLink's LAN transfer path uses mDNS for discovery and QUIC for transport — both operate purely within the local network. No DNS lookups to external resolvers, no hits on any server, not even ours. If you run DropLink with the phone hotspot turned on and cellular data turned off, transfers still work between devices connected to the hotspot.

mDNS over IPv4 multicast

The mDNS daemon (mdns-sd 0.11 on desktop, Apple's Network.framework on iOS) advertises _droplink._udp.local. via UDP multicast (224.0.0.251:5353). IPv6 is explicitly disabled to avoid 'No buffer space available' errors on VPN interfaces. The announce is retried 3 times with exponential backoff (500 ms / 1 s / 2 s) in case of packet loss.

QUIC on the LAN

Once discovered, devices connect via QUIC (quinn 0.11) with LAN-tuned parameters: 8 MB UDP socket buffers, initial MTU 1472 with 1200 fallback, 64 MB stream receive window, BBR congestion control with 1 MB initial window, ACK frequency reduced to every 10 packets or 5 ms, initial RTT 2 ms (realistic for LAN). Idle timeout is 30 seconds with 5-second keepalives.

Web UI for receivers without the app

If the receiver does not have DropLink, the sender starts a local HTTP server on port 7878 (macOS) or 8080 (iOS) and shows a QR code / link. The receiver opens it in any browser on the same network. HTTP is used here rather than HTTPS because browsers show warnings for self-signed certificates; on the LAN the threat model is low and a session token provides access control.

Performance on offline networks

DropLink's LAN transport is tuned for modern Wi-Fi. On a Wi-Fi 6 router, expect 50+ MB/s. A mobile hotspot (phone creating a Wi-Fi network) is typically limited to 10–25 MB/s because the phone's Wi-Fi chip runs in soft-AP mode. Gigabit Ethernet cables give the most consistent numbers (100+ MB/s).

Wi-Fi 5/6 router LAN
50+ MB/s
Phone hotspot (no internet)
10–25 MB/s
Gigabit Ethernet
100+ MB/s

Is offline transfer still encrypted?

Yes. QUIC mandates TLS 1.3 on every stream. DropLink uses self-signed ECDSA P-256 certificates with TOFU verification via mDNS TXT records — the fingerprint travels with the discovery announcement, so a man-in-the-middle would have to intercept multicast on your LAN, which is significantly harder than intercepting internet traffic. Cipher suites are reordered per CPU: AES-NI first on x86_64, ChaCha20-Poly1305 first on ARM/Apple Silicon. File integrity on the LAN is provided by TLS 1.3 AEAD.

Technical FAQ

Will DropLink work on a plane Wi-Fi network without internet?

In most cases, yes — if the plane's Wi-Fi assigns both devices to the same subnet and does not enable AP isolation. Some airlines isolate clients; in that case use the phone hotspot workaround.

Does a phone hotspot without cellular data count?

Yes. A Wi-Fi hotspot is a Wi-Fi network, regardless of whether the phone has internet. Connect both devices to it and DropLink will discover and transfer over the hotspot's LAN.

Is there a hard requirement for broadcast/multicast?

mDNS discovery uses multicast. If multicast is blocked, you can still use the Web UI fallback: the sender types its local IP into the receiver's browser (e.g., http://192.168.1.42:7878). This uses unicast HTTP + a session token.