A high-performance Android file server implementation providing seamless local network file sharing via a modern web interface.
- Integrated File Explorer: Responsive web interface for browsing and managing files from any browser across Grid, List, and Table views.
- Selected Files Mode (Xender / Quick Share Style): Share specific files only instead of entire storage or folders for enhanced privacy, backed by strict server-side whitelist security.
- System Share Sheet Integration: Share files directly from Android's system share menu (
ACTION_SEND/ACTION_SEND_MULTIPLE) in other apps (Gallery, Google Photos, Files, WhatsApp, etc.). - Multi-Selection & Range Engine:
Shift + Clickrange selection across items, Select All top bar menu toggle, and instant bulk ZIP archive generation. - Categorized App Package Manager: Download installed applications as APKs cleanly divided into User Apps and System Apps tabs with friendly filenames (e.g.
AppName.apk). - Media Gallery & Server-Side Filtering: High-resolution media preview with category-filtered paginated loading (
type=image,type=video). - Auto Shutdown (Default Active): Automatic inactivity timeout server shutdown (60 min default) to preserve phone battery and network resources.
- Screen Keep-On WakeLock: Server continuity ensured with automated screen keep-on wake-lock during active hosting.
- Secure Access & Redesigned Login: Password protection with passcode entry and modern Login UI, strict IP whitelisting, device approval (QR auth), and optional TLS encryption.
- Transfer History Logging: Track sent files and received uploads with timestamps and client IP info.
- Adaptive Dynamic UI: Neumorphic Compose app dashboard with automated light/dark mode synchronization and floating navigation bar.
- Installation: Install the APK on your Android device.
- Permissions: Grant "All Files Access" when prompted. This is required for the server to access and share your requested directories.
- Share Mode Selection:
- Full Storage / Directory Mode: Tap Browse to select a specific folder, or Internal for storage root.
- Files Only Mode: Tap Files Only to select individual files via system picker, or share files directly from another app using Android's system share sheet.
- Network Settings:
- Set the listening Port (default:
8080). - Ensure your device is connected to a local Wi-Fi network or active Hotspot.
- Set the listening Port (default:
- Automation & Security:
- Auto Shutdown: Enabled by default (auto turns off server after 60 min inactivity).
- Password Protection: Set an access passcode in Security & Settings. Connected clients will be prompted with a modern Login screen.
- Launch: Tap Start Server. The interface will display a QR code, active URL, and keep the screen active.
- Automatic: Scan the displayed QR code with another mobile device to open the URL instantly.
- Manual: Navigate to the displayed local IP address and port (e.g.,
http://192.168.1.14:8080) in any modern web browser.
To maintain performance and a minimal footprint, Share File utilizes a specialized architecture:
- Low-Level HTTP Engine: Built using raw Java Sockets (
ServerSocket) instead of heavyweight frameworks for instant startup and low resource consumption. - Jetpack Compose UI: Native Android dashboard with Neumorphic UI design, floating bottom navigation, and screen wake-lock integration (
FLAG_KEEP_SCREEN_ON). - Intent Interception: Handles
ACTION_SENDandACTION_SEND_MULTIPLEintents from system Share Sheet to launch restricted server sessions. - MediaStore Integration: Direct query of the Android MediaSystem with server-side media type filtering (
image/video) for paginated gallery streaming. - Stateless Web SPA: Single Page Application written in Vanilla ES6+ JS with range selection, top bar actions, and zero framework overhead.
- Security Sandboxing: Strict canonical path comparisons and file whitelisting (
resolveFile) to block unauthorized directory traversal.
- JDK 17 or higher
- Android SDK (API 34)
- Gradle Wrapper (included)
# Build the debug APK
cd android/
./gradlew assembleDebugThe output APK is located at: android/app/build/outputs/apk/debug/app-debug.apk
Pushing a git tag (v*) triggers GitHub Actions to automatically build and create a GitHub Release:
# Commit changes & create annotated release tag
git add -A
git commit -m "v3.0.7 patch update"
git tag -a v3.0.7 -m "Release v3.0.7"
# Push main branch and tags to GitHub
git push origin main --tagsDeveloped by saheermk.
For detailed API references and internal architecture, see DOCS.md.