Meet Dhara — send files without the cloud, without accounts, without internet

SHARE FILES · NO CLOUD · NO ACCOUNTS · NO INTERNET

A cross-platform file-share app that runs a tiny HTTP server on your device. Anyone on the same Wi-Fi (or your phone's hotspot) can pull the files straight from you — from any browser, no app required.

TL;DR — Dhara turns your phone or Mac into a temporary file server. You pick a folder or files, Dhara spins up a local HTTP server, and any device on the same network opens the URL and grabs what it needs. No signup, no upload to a third party, no data leaving the local network. Just launched on the iOS App Store; macOS in review; Android and Windows on the runway.

Why I built Dhara

Every "share this file to my other device" workflow in 2026 involves at least one of the following annoyances:

  • Upload to a cloud you don't own so it can come back down two feet away.
  • Create an account on some third-party service that now has your file in its logs.
  • Pair devices, install the same app on both ends, sign into the same account.
  • Trust an ad-riddled web app to handle a 4 GB video without silently dropping the connection.
  • Cable it over and remember which of the seven USB adapters actually carries data.

None of that is necessary. Your phone already has a Wi-Fi radio. Your laptop already speaks HTTP. The only thing missing is a decent piece of software that says "here, I'll be the server for ten minutes" and gets out of the way.

That's Dhara.

How it works — the whole architecture in one picture

LOCAL Wi-Fi / HOTSPOT no internet required DHARA Serving 4 files http://192.168.1.42:8080 PIN: 4729 SERVER (phone / Mac) Chrome 192.168.1.42:8080 ↓ report.pdf LAPTOP (browser) Safari .42:8080 ↓ pic.jpg FRIEND's PHONE ✕ NO CLOUD ✕ NO ACCOUNTS ✕ NO INTERNET
Dhara runs an HTTP server on the sending device. Everything else on the network is just a browser hitting a URL.

That's it. There's no signalling server, no STUN/TURN dance, no P2P negotiation. Just plain HTTP on your local subnet. Whichever device is holding the files becomes the origin; every other device is a client. If you can visit a web page, you can receive from Dhara.

The three moving parts

  1. The picker. On the sending device, you tap "Share" and pick a folder, a file, or a batch of files. Dhara doesn't copy them anywhere — it just indexes what you selected.
  2. The local HTTP server. Dhara starts an HTTP listener on a port (default 8080) bound to your Wi-Fi interface. It generates a short PIN and displays the URL like http://192.168.1.42:8080.
  3. The browser. Any device on the same network types that URL, enters the PIN, and sees a clean file-listing page with download buttons.

When you're done, you tap "Stop" and the server dies. No lingering state, no background sync, no data left behind.

Why local HTTP and not "just AirDrop / Nearby Share"

AirDrop and Google's Nearby Share are great — when they work, and when both ends are in the same ecosystem. Dhara exists for every other case:

iOS ⇄ Android

Cross-platform on day one

Send from an iPhone to a Windows PC to an Android tablet to a Linux box. Anything with a browser is a receiver.

4G / 5G / ✈

No internet? No problem

Runs over your phone's hotspot too. You can share a 2 GB file to a friend in the middle of a flight, on a train, or in a basement.

🔒

Bytes never leave the LAN

No cloud upload, no third-party server, no encrypted-in-transit-then-decrypted-in-their-datacentre. Your file goes phone → router → laptop. That's it.

🌐

Zero install on the receiver

The receiver doesn't need Dhara. They just need a browser. Perfect for handing something to a colleague whose phone you don't want to touch.

📂

Share whole folders

Dhara lets you serve an entire directory tree, not just individual files. Your receiver browses like it's a file listing on a webserver — because it is.

Fast as your Wi-Fi

No transcoding, no reupload. Transfer speed is capped only by your Wi-Fi throughput — typically 200-500 Mbit/s on 5 GHz.

What the receiver sees

The receiving experience is a clean web page. No app to install, no popup to trust, no permission prompt. They type the URL, enter the four-digit PIN, and see this:

┌─────────────────────────────────────────┐
│  Dhara   ·   4 files available         │
├─────────────────────────────────────────┤
│  📄 report-q2.pdf              1.2 MB   [download] │
│  🖼️  screenshot.png             340 KB   [download] │
│  🎬 demo-clip.mp4              48.7 MB  [download] │
│  📁 project-photos/              12 items [browse]   │
└─────────────────────────────────────────┘

Folders are browsable. Videos and images preview inline. Multiple downloads run in parallel. If the receiver's browser supports it, they can even "Download all" as a zip.

The security model, without the marketing gloss

I want to be honest about what Dhara does and doesn't protect against, because "local network sharing" tends to attract vague privacy claims. Here's what's actually happening:

What's protected

  • Nothing leaves your local network. The bytes go from your device to the router to the receiver's device. They don't touch h4hacks.com, Google, Apple, or any Dhara server — there isn't one.
  • PIN-gated access. Every session generates a fresh 4-digit PIN. A device that doesn't know the PIN gets a "wrong PIN" page, not a directory listing.
  • Server dies when you close it. No background lifecycle, no persisted tokens, no leftover state.

What's not protected (be honest about this)

  • Traffic on the LAN is HTTP, not HTTPS. If you're on a hostile Wi-Fi, other devices on the same network could see the file names and contents. Rule of thumb: only use Dhara on networks you trust (your home Wi-Fi, your own hotspot). Don't use it on hotel Wi-Fi to share confidential docs. HTTPS with a self-signed cert makes browsers scream at end users, which is a worse UX; a future release will offer certificate pinning for users who need it.
  • The PIN is 4 digits (10,000 combinations). Sufficient for casual protection; not a cryptographic guarantee. Sessions with too many wrong attempts auto-terminate.
Bottom line: Dhara is designed for the "I want to move this file from my phone to my laptop" case, and for informal sharing between trusted people on trusted networks. It is not a replacement for encrypted courier apps or corporate DLP tooling.

Platforms — what's live, what's coming

PlatformStatusStoreNotes
iOS (iPhone / iPad) ✓ LIVE App Store v1.0 shipped. Universal binary, iPad-optimised.
macOS ⚡ IN REVIEW Mac App Store Native Apple Silicon build. Same server engine as iOS.
Android ⚡ CLOSED TESTING Play Store Foreground-service HTTP server. 14-day test window then Production.
Windows ☐ PLANNED Microsoft Store Flutter Windows build coming after Android hits Prod.
Linux ☐ MAYBE Flatpak / Snap If there's demand. Reach out on YouTube.

Under the hood

For those who care about the stack (this is H4hacks after all):

  • Flutter for the UI. One codebase across iOS, macOS, Android, Windows. Yes, it's compromise-y in places; no, the trade-off wasn't worth writing four separate apps.
  • Dart HTTP server using shelf and shelf_router. Runs in the same isolate as the UI on desktop; runs in a foreground service on Android; runs in the main process on iOS with proper background-task handling.
  • StoreKit 2 / Google Play Billing via in_app_purchase. Pro tier and ad-free tier as non-consumable IAPs. No subscription trap.
  • DINOv2 (bundled, Apache-2.0) for on-device image similarity search in Pro — find visually similar photos in your library without uploading anything.
  • Firebase Crashlytics for crash reports. Nothing else — no analytics, no ad-tracking SDK outside of the entitlement-gated AdMob banner.

Free vs Pro

FREE

Everything essential

Serve folders and files. PIN protection. Cross-platform. Ads (banner + occasional interstitial). No feature paywalled behind "must be Pro."

DHARA PRO — $2.99

Power features

Everything in Free, plus: DINOv2 visual image search, unlimited file selection, per-device transfer stats, and priority updates. One-time purchase.

DHARA PRO + NO ADS — $9.99

Support the project

Everything in Pro, plus zero ads across the entire app forever. If you want to support a small indie-built app without ongoing subscription fees, this is the one.

Both Pro tiers are one-time non-consumable purchases — not subscriptions. Family Sharing is enabled, so once you buy it, everyone in your Apple Family or Google Play Family can use it.

Getting started (three steps, no signup)

01

Install Dhara

Grab it from the App Store on your iPhone or Mac. No account creation, no email verification, no phone number.

02

Pick files & start server

Open the app, tap "Share", pick your files or a folder, tap "Start". You'll see a URL and a 4-digit PIN.

03

Send the URL

Type the URL into the receiver's browser (same Wi-Fi), enter the PIN, download. Done.

Try it now

The iOS build is live. Mac App Store hitting soon — the Android and Windows builds are on the runway.

Download on iOS Follow H4hacks on YouTube

FAQ

Does Dhara work without internet?

Yes — that's the whole point. You just need both devices on the same local network. Home Wi-Fi, your phone's hotspot, an office LAN, a plane's on-board Wi-Fi — anything that lets two devices see each other.

Does the receiver need to install anything?

No. Any browser works: Chrome, Safari, Firefox, Edge, Brave, Vivaldi. iPhone Safari, Android Chrome, desktop — all fine.

Can I share a whole folder?

Yes. Pick a folder in the picker and Dhara serves the entire directory tree. The receiver navigates it in the browser like a normal file listing.

Is my file uploaded to any server?

No. There is no Dhara backend. The file goes directly from your device to whichever browser downloads it, through your local network only.

What about really large files?

Dhara handles multi-gigabyte files fine — it just serves them like any HTTP server would. The bottleneck is your Wi-Fi speed, not the app.

Why HTTP and not HTTPS?

Because self-signed HTTPS certificates make browsers show scary warnings that stop non-technical users cold, and there's no way to get a real cert for 192.168.1.42. A future release will offer opt-in HTTPS with a cert-pinning flow for users who need it.

What's your business model?

Free tier with ads. Optional one-time Pro purchase ($2.99). Optional one-time no-ads purchase ($9.99). No subscriptions, no data sale, no dark patterns.

Coming next

The v1.0 release is deliberately minimal — server, picker, browser view, PIN. The roadmap has some fun stuff:

  • Send back — letting the receiver upload files back to the sender through the same page.
  • QR pairing — skip typing the URL by scanning a QR code on the sender's screen.
  • Optional HTTPS with cert pinning for users on less-trusted networks.
  • Discover on LAN — mDNS advertisement so nearby Dhara instances see each other without typing anything.
  • Windows & Linux builds — the Flutter code compiles; it's mostly polish and store submission.

If you build something interesting with Dhara, or hit a bug, drop it on the H4hacks YouTube channel comments or reach out on the socials. It's a solo-built project by one person — feedback lands directly, not into a support ticket queue.

Thanks for reading. Now go send a file.

— Mohesh  ·  H4hacks

Comments