Current version: 1.0.6+6
Erebrus Drop is a local-first file and text sharing app for nearby devices. A phone can create a temporary Drop Room on the current Wi-Fi network or hotspot, and other devices can join from the mobile app or a browser without an account or cloud upload.
Get Erebrus Drop on Google Play
- Create a local Drop Room over Wi-Fi or hotspot.
- Discover nearby Drop Rooms with mDNS on Android and iOS.
- Share files, folders, text, and streamable media on the local network.
- Receive Android and iOS share-sheet text and files into Smart Send or a live room.
- Join from the app, a QR code, a Drop Link, or the bundled browser client.
- Download selected browser files or folders as ZIP bundles.
- Connect WebDAV clients to a live Drop Room through the
/davendpoint. - Scan Drop Room QR codes with native Android and iOS camera scanners.
- Pull files from a joined room directly into a live hosted room.
- Use optional room passwords and scoped folder access.
- Save received files to the platform-appropriate user-visible location.
- Transfer locally without analytics, tracking, accounts, or cloud relay.
- Home: start or resume the current Drop Room.
- Rooms: discover and join nearby Drop Rooms.
- Library: view, share, and delete hosted files.
- Smart Send: send quick text into a room.
- Settings and About: app details, privacy, terms, and NetSepio ethos.
- Configurable IPFS gateway — choose a preset (Erebrus, Cloudflare, Pinata, IPFS.io) or enter a custom gateway URL in Settings.
- User-selected Drop folder — all gateway downloads save to the folder you pick through the system file picker.
- Persistent macOS folder access — sandbox-safe security-scoped bookmarks preserve access to the selected Drop folder across launches.
- Cleaner Settings — removed the Solana dApp Store wallet card and the "Private by design" promo block.
- Google and Apple sign-in — native social login is available when enabled by the gateway, with Apple sign-in supported on iOS and macOS.
- Reliable desktop browser sign-in —
erebrusdrop://callbacks return to the running app automatically on macOS, Windows, and Linux, including Google, Apple, and email accounts without a linked wallet; manual token paste remains available as a fallback. - Safer sign-in navigation — every platform can return from the sign-in screen and continue as a guest if login is cancelled or fails.
- Better wallet sign-in — improved Solana Mobile Wallet and Reown message signing, waits for Reown readiness before enabling its action, and fixes the Erebrus Drop logo shown during wallet connection.
- Safer sign-out — signing out now requires confirmation and uses the existing Erebrus visual language.
- Sign-in legal links — both Terms and Privacy Policy are now linked on the sign-in screen.
Current release version:
1.0.6+6
Android release versioning:
- The number after
+is the AndroidversionCode. - Google Play permanently reserves any uploaded
versionCode, even if the draft/release is discarded. - Always increase the
+build number before uploading another AAB.
The Android package id is:
com.erebrus.drop
Android uses two deploy flavors:
| Flavor | Output | Store |
|---|---|---|
playstore |
AAB | Google Play |
dappstore |
APK | Solana dApp Store |
Both signing blocks live in one file:
android/key.properties
Template:
android/key.properties.example
Full signing and publish commands:
docs/solana-dapp-store-release.md
Build commands:
# Debug Android defaults to playstore (no --flavor needed)
flutter run
# Google Play
flutter build appbundle --flavor playstore --release
# Solana dApp Store
flutter build apk --flavor dappstore --releaseErebrus Drop ships on macOS, Windows, and Linux as well: system tray, responsive layout, mDNS room discovery, folder library, automatic browser authentication callbacks, and hide-to-tray on close.
Generate brand assets (tray icons, Dock/taskbar launcher icons, macOS About icon, Linux window icon) before a desktop release build:
python3 scripts/generate-desktop-assets.pyThis runs tray icon generation and dart run flutter_launcher_icons for
macOS/Windows/Android/iOS launcher icons from assets/images/erebrus-glossy.png.
Dev:
flutter pub get
python3 scripts/generate-desktop-assets.py # first time or after logo changes
flutter run -d macos # or windows / linuxRelease bundles (writes versioned artifacts under dist/):
./scripts/build-desktop.sh macos
./scripts/build-desktop.sh windows
./scripts/build-desktop.sh linux
./scripts/build-desktop.sh all # macOS host; skips unavailable targetsFull desktop setup, packaging, and CI notes: docs/BUILD.md.
Install dependencies:
flutter pub getCopy the example environment file and fill in any missing values:
cp env.example .envKey variables:
REOWN_PROJECT_ID— required for wallet/social login.GATEWAY_URL— Erebrus gateway base URL (defaulthttps://gateway.erebrus.io).IPFS_GATEWAY_URL— public IPFS gateway for CID downloads (defaulthttps://ipfs.erebrus.io).
Run the app with .env dart-defines (recommended):
scripts/build.sh runOr run directly with Flutter:
flutter run --dart-define-from-file=.envAndroid Studio / IntelliJ: the green Run button calls flutter run
directly, so add --dart-define-from-file=.env to the run configuration’s
Additional run args. For the Build APK action also include a flavor,
e.g. --dart-define-from-file=.env --flavor playstore or --flavor dappstore.
The scripts/build.sh build-apk and build-appbundle commands default to the
playstore flavor automatically.
Verify:
flutter analyze
flutter testGitHub Actions:
- CI —
flutter analyzeandflutter teston every PR andmainpush - Release — manual workflow: tags
v{semver}frompubspec.yaml, uploads Android sideload APKs plus macOS.zip, Windows.zip, and Linux.tar.gzdesktop bundles
Release checklist:
- Bump
version:inpubspec.yaml(e.g.1.0.6+6). - Run
python3 scripts/generate-desktop-assets.pyif brand images changed. - Commit and push to
main. - GitHub → Actions → Release → Run workflow.
- Download artifacts from GitHub → Releases when the run finishes.
See docs/BUILD.md.
The app uses its own platform-channel QR scanner instead of a third-party Flutter scanner plugin. Android uses CameraX with ZXing QR decoding. iOS uses AVFoundation QR metadata scanning. The scanner returns the raw Drop Link or Drop Code to Flutter, where the existing join parser validates and opens the room.
Browse for advertised Drop Rooms on macOS:
dns-sd -B _erebrusdrop._tcp localResolve a discovered room:
dns-sd -L "<device name>" _erebrusdrop._tcp localCheck the room API:
curl http://<room-ip>:8787/api/roomErebrus Drop is designed for local device-to-device transfer. NetSepio does not collect analytics, advertising identifiers, contact lists, location history, account profiles, transferred files, pasted text, folder contents, room passwords, or Drop Links.
Erebrus Platform, brand, and apps are products of NetSepio.