Version 1.8.0 Released
■ Library tab
Every label now shows how many files it currently holds, and a label holding nothing says so in red. A smart label can quietly fall to nothing long after you made it — its folder unshared, its files deleted, or the free version's file limit in force — and until now the only sign was an empty folder on the TV. The count of a hand-picked label follows the files that are actually still there, so one that lost files no longer reports the number you originally picked.
■ Performance
Starting the server no longer re-scans your whole library from scratch every time. A large collection on USB storage that took a while to index now appears on your TV almost at once on the second and later starts, then quietly catches up in the background with anything added or removed while the server was off. The first start after installing still does the full scan.
■ Casting
The player now has a mute button, next to the volume controls. It reflects the player's own mute state, so muting from another remote shows here too.
A shuffle button plays a label's tracks in random order; toggle it any time — the current track keeps playing and only what comes next changes, and turning it back off resumes the original order from where you are.
A repeat button next to it cycles off → repeat the whole queue → repeat the one track; its icon shows which.
Each playing player's card in the mini player gains a settings button, so a player's options (gapless, seeking, max cast volume) and the problem report sit right next to its controls — no longer only in the player picker.
And you can set a "Max cast volume" for a player (Player settings): casting turns a player that was left louder down to that limit before the sound starts — so a device left cranked up no longer blasts the first track at full volume.
When a player misbehaves, you can now send an anonymous diagnostic report — from its settings, or Settings → About — to help fix it. It carries the player's make, model and capabilities and the recent cast log, with file names and addresses removed; never your player's name. The report is also copied to your clipboard.
■ Bug fixes / stability
If the app was closed on its own last time — a crash, or the system ending it (low memory, or the process killed when a USB drive was ejected) — it now says so on the next launch, so it's clear the server stopped by itself, not because you closed it. (Requires Android 11 or later.)
The theme picker no longer keeps a choice you backed out of: tapping an option now only previews it in the dialog, applying when you tap OK, so Cancel leaves the theme as it was and reopening shows the theme in effect.
The "What's new" dialog shown after an update now describes the release you just installed instead of an older one. If its text has not been written for a release, the dialog stays away rather than showing the previous news.
Where the app pointed you at the "Labels" tab — in the help and when no label exists yet — it now says "Library", the tab's actual name, and the tab's own screen is headed "Library" to match.
Version 3.3.0 Released
■ Getting started
The Main screen now guides you through the first step: while no folder is shared yet, it shows a "Get started" card with an "Add folder" button, and trying to start the server in that state points you to add a folder instead of quietly starting a server with nothing to serve. After your first successful start, a one-time tip offers to add the Quick Settings tile so you can start or stop the server with one tap next time.
■ Clearer feedback
If the server can't start (for example the port is already in use, or Wi-Fi-only mode with no Wi-Fi), the Main screen now tells you why instead of leaving it looking stopped. When the plain-HTTP port clashes with the HTTPS port, the Main screen shows a warning explaining that plain HTTP was turned off.
■ Main screen
The Main screen now shows what the server shares — the folder names, and the media library when enabled — with a tap to jump straight to the folder settings. While the server is stopped it also previews the ports the next start will use, so the card isn't blank. The running/stopped state also updates the moment it changes — including when you start or stop from the Quick Settings tile — instead of after a short delay. If the device's IP changes while the screen is open (a Wi-Fi switch or a new lease), the shown addresses and QR codes now update on their own.
■ Authentication
The Digest Authentication row shows its state at a glance — on with the username, or a warning when it's on but no password is set (the server then refuses every request until you set one). The certificate fingerprint and URL rows also note that tapping them copies the value.
■ Settings
The Settings screen is reorganized into clearer groups — Shared Folders, Serving options, Access & network, HTTPS, Security, and Startup — so related options sit together and are easier to find. The HTTPS and certificate options now open in their own screen, keeping the main list short. Your existing settings are unchanged.
■ Network
Network interface now has an "Advanced" option: choose the interface to serve on from a list, and the server binds only to it. Handy for serving over a phone hotspot, a USB/Ethernet connection, or a particular Wi-Fi. The existing options (All networks / Wi-Fi only / Localhost only) are unchanged.
■ Help
Settings → About → How to use now explains when to use HTTP versus HTTPS — plain HTTP is fine on a trusted home network, while HTTPS keeps the connection private on shared or untrusted networks. The "Use HTTPS" setting itself now carries the same short guidance.
■ Bug fixes
If a QR code can't be generated, the app now says so instead of the button doing nothing.
Version 1.7.0 Released
■ Library tab
A new grouped view sorts the label list by name and sections it under your
group labels, with headers that stay pinned while you scroll (labels in no
group appear under "Ungrouped"). Labels with "/" in their name (for example
"Music/Rock") nest one level deeper per segment, just like the folder tree
your TV sees. Toggle the view with the tree icon at the top. While
selecting, checking a header checks everything below it at once.
■ Files tab
A new tree view shows the same folder tree DLNA players see, right in the
app — check what is shared and browse it without walking to the TV. Tap a
file to cast it; long-press a folder (or tap its play button) to play the
folder as a playlist.
■ Cast
While a queue is playing, tapping a file in the Files tab now adds it to
the end of the queue instead of cutting playback short — a stray tap no
longer costs the running playlist. The mini player's queue view gains a
"Clear queue" button that drops the upcoming tracks while the current one
plays out.
A queue no longer goes silent when a track can't play: files the player's
declared formats rule out are skipped without casting, and a track the
player refuses to start is skipped too instead of stalling the queue. The
mini player shows what was skipped.
■ Free version
For the first 90 days after installation, the free version now shares files
without a count limit. After that, the existing limit of 1000 each of
images, audio and video applies (one shared source, as before). The
Settings screen shows the remaining days.
■ Bug fixes
Switching tabs no longer resets your in-tab choices: the Library keeps
its type filter, name search and "Select" checkmarks, and the log screen
keeps its Media / Debug-log view, category and filter text.
The built-in help now matches the current screens: the server appears on
players under the configured device name (not always "Simple UPnP
Server"), "Restart" lives on the Settings tab, and the log screen's
debug-log view is explained.
Files and folders whose names contain a space can now be opened from the
browser's folder listing again — their links were encoded in a way the
server didn't recognize, so they returned "not found". Playback on DLNA
players was not affected.
Version 3.2.1 Released
■ Bug fixes
Files and folders whose names contain a space can now be opened from the browser listing again — their links were encoded in a way the server didn't recognize, so they returned "not found".
■ Performance
Unused resources are now removed from the app, making the download a little smaller.
Version 1.6.0 Released
■ Easier first-time setup
On the first launch, the app now walks you through choosing what to share —
a folder or your device's media — offers ready-made Videos / Photos / Music
labels, and starts the server, so your TV can play your media right away.
Notification permission is asked only when the server first starts. Starting
the server with nothing shared now points you to adding a folder instead of
running an empty server.
■ Device name
On a new install, the server's device name now defaults to your phone's own
device name, so it is recognizable on the TV right away. Existing
installations keep their current name; you can change it any time in
Settings → Media server.
■ Library
"Select" on the Library tab now does more than playback: checking labels
shows an action bar that plays, groups, enables, disables or deletes them
at once — swipe it up to review the selection in play order. The label list
gains a name search box, and an open label can be duplicated to tweak a
copy of its rule.
■ Server status while starting
While a large library is read at server start (noticeable on USB hard
drives), the status and the notification now show "Reading your media
library…" instead of looking ready before players can see the server. On
the free version this read no longer freezes the app on first start.
■ Help
A new "Two ways to use it" section walks through two complete setups:
casting the phone's own media with smart labels, and serving a stored
library on USB storage (with its caveats).
■ Connection check
New "Connection check" in Settings: when a TV or player can't find the
server, it checks the common causes automatically — shared content, server
state, Wi-Fi, VPN, and whether the network blocks device discovery (router
"AP isolation") — and tells you what to do.
■ Clearer status when Wi-Fi is unavailable
"Waiting for Wi-Fi" now says why: on wired LAN, while the phone is a hotspot,
or with a VPN on mobile data, the status and the notification explain that the
server runs on Wi-Fi only and what to do. Help's troubleshooting section says
so too.
■ Free version transparency
When the free limit (up to 1,000 files of each type) leaves files unserved,
the app now says so instead of hiding them silently: the server card and the
Files tab show how many files players don't see, and tapping the notice opens
the Plus upgrade.
■ Debug log
The debug log (Log tab, opt-in) gains category filter buttons — All / HTTP /
Connections / Transfer / Cast / Library — and now records library scans:
how many files each shared folder contributed and how long the scan took,
plus the free-limit outcome. Useful for judging slow USB-drive scans.
■ Bug fixes / stability
The app download is now about 25% smaller, thanks to removing unused
resources from the release build.
Version 1.5.0 Released
■ Labels
New folder labels: pick a shared folder and it becomes a label. Everything
inside it — subfolders included — stays collected automatically as files are
added or removed. When creating one you choose which media to collect (all,
video, audio or image). Create one from "New label → Folder label", or add a
folder condition to any smart label from its advanced filters.
A folder label can now mirror the folder tree: choose "One per subfolder" when
picking the folder and you get one label per subfolder that holds media, nested
just like the folders themselves. Re-run it later and only the new folders are
added. Folder labels are now listed in name order by default.
New group labels: bundle existing labels into one. It plays its member labels
in the order you arranged them, and a file that appears in more than one label
plays once.
The Library tab can now filter the list by media type: tap Video, Audio or
Image to show only the labels for that kind of media (judged from each
label's settings), or All to show everything.
Every label now has a play button: tap it and the label plays as a playlist
on your player, right from the Library tab, with the player picker and
automatic server start built in. The list was also visually refreshed
to match the rest of the app.
Tapping a label now opens its contents: play from any file or use "Play
all"; editing and deleting moved into this view. A new "Select" mode plays
several labels as one queue, in the order you check them; a file that appears
in more than one label plays once.
■ Cast
Playlists now play gaplessly on players that support it: the next track is
handed to the player in advance, so the silence between tracks is gone. Players
that don't support it fall back to the previous behaviour automatically.
Each connected player now has a settings button in the player list. If automatic
detection gets a player wrong, you can override gapless, seeking, or the volume
scale by hand; the choice is remembered per player. Leave everything on Auto and
nothing changes.
When the selected player declares its supported formats, the Files list shows
only the files that player can play, the label list hides labels whose kind of
media the player can't receive, and a note shows how many were hidden. The
selected player's row lists the media types it accepts (video / audio / image)
at a glance. Players that don't declare their formats keep showing everything.
While something is casting, a mini player now stays at the bottom of every
tab: it shows the current track, the player and the queue position, with
play/pause and next buttons. Tap it to open full controls — play/pause,
stop, previous/next, seek and volume — for every player that is playing,
so several players are controlled from any screen. The label name shown
there is a shortcut: tap it to open the label at the playing track.
On-screen volume is now adjusted with −5/−1/+1/+5 buttons instead of a
slider, so a slip of the finger can't jump an amplifier to full volume.
Picking a player is now a chip at the top of the Library and Files tabs that
opens a player list, instead of a list always taking up the screen. The app reconnects to
the last player automatically, and players that are already playing are
marked in the list — playing on several players at once keeps working.
Starting playback now also starts a stopped server automatically, after a
one-time confirmation (a setting turns this off).
Photos in a queue now play as a slideshow: each picture stays on screen for
the interval chosen in Settings (10 seconds by default) and then advances by
itself. Play/pause freezes the slideshow, and in a mixed queue photos advance
on the timer while music and videos advance at the end of the track as before.
■ Media
The debug log can now be filtered by text — type "[cast]" to see only the
cast entries, for example. Player discovery also logs each player it finds
by name, making "player not found" issues easier to pin down.
The accessed-media list can now be filtered by device: when several players
have fetched media, chips at the top narrow the list to one of them, and
players known from cast discovery appear by name.
■ UI
The tabs were reorganised around your content: the app now opens on the
Library (your labels), followed by Files for browsing everything shared and
the Log; the server controls and settings moved to a Settings tab
(the former Media tab is now called Log). The former
CAST tab is gone — its playback controls live in the mini player's panel
(now with a tappable queue list), and the player picker opens from the
connection chip on the Library and Files tabs, or automatically when you
press play.
On phones the app now stays in portrait. The landscape layout was too cramped
to use on small screens. Tablets still rotate freely and keep the side-by-side
landscape layout.
The How-to-use screen now explains casting, and the Files tab has a help
button that jumps straight to that section — the same way the Library tab
does for labels.
The How-to-use and Open Source Licenses screens now use the same edge-to-edge
display as the rest of the app on all Android versions.
■ Performance
The app is now built with updated optimization tools, reducing memory use and
improving performance.
Version 3.2.0 Released
■ Automation
A Quick Settings tile lets you start or stop the server with one tap — add it from your Quick Settings edit screen (it stays greyed out until you have shared a folder). Automation apps like Tasker can also start, stop, or toggle the server; see Settings → About → How to use for the intent actions.
■ Security / stability
Hardened the file server against a malformed upload request that could make it stop responding, and an upload cut off midway no longer leaves a partial file behind. HTTPS now uses only TLS 1.2 / 1.3 (older, weaker versions are refused). Digest Authentication was also strengthened so a captured request can no longer be replayed indefinitely or reused against a different path.
■ Digest Authentication
Your username and password are now kept in a separate area that is excluded from cloud backup and phone-to-phone transfer, so the server password no longer leaves the device (the HTTPS private key was already protected this way). Also, if Digest Authentication is on but the password is left empty, the server now refuses every request until you set one — previously it fell back to a blank default that anyone on the network could get past. Set a username and password to serve files.
■ Media sharing
The "Use MediaStore" option now shares external storage only — internal system media (ringtones and other bundled files) is no longer served. Settings also states more clearly, and warns when you turn it on, that this shares every readable image, audio and video file on external storage, not just your selected folders.
■ Bug fixes / stability
Fixed a rare crash when tapping "Official website" or the privacy-policy link on a device that has no app able to open a web link; a short message is now shown instead.
■ File sharing
Media files on USB / removable storage whose file type Android does not report are now served with the correct type (derived from the file extension), so browsers can play or display them instead of only offering a download. Non-standard type names Android sometimes reports (for example for .m4a music) are also corrected to the standard ones, so those files play in the browser instead of failing or downloading.
■ Performance
The app is now built with updated optimization tools, reducing memory use and
improving performance.
Version 1.2.0 Released
■ Cast (new, beta)
A new CAST tab turns the app into a UPnP remote: pick a player on your
network (a DLNA TV, an AV receiver, Kodi, …), tap one of your shared files
and it plays there — with play/pause, seek and volume controls. Your labels
work as playlists: pick a label, tap "Play all" (or any item) and the tracks
play in the label's order, advancing automatically with previous/next
controls. Files the selected player cannot handle are marked "not supported",
and each player keeps its own playback state, so you can switch between
players (or leave the tab) without losing what's playing where. While casting,
a media notification on the shade and lock screen offers play/pause, next/
previous and stop without opening the app, and the hardware volume keys
adjust the player's volume. The server streams the files directly, so keep it
running while casting.
■ Quick Settings tile and automation
You can now start and stop the media server from a Quick Settings tile — add
the "Simple UPnP Server" tile to your Quick Settings panel. Automation apps
(Tasker, MacroDroid) and adb can also start, stop or toggle the server via
intent actions; see Help → Automation.
■ Stability
Opening the Website or Privacy Policy link in Settings (and the system settings
screens offered from permission dialogs) no longer crashes on devices with no
app able to handle the link (for example, no or a disabled browser); a message
is shown instead.
■ Security
The media server now rejects HTTP requests with oversized headers, so a
misbehaving or malicious client on the network can no longer tie up the server
with a pathological request.
■ Bug fixes / stability
Fixed an issue where, after the device woke from sleep, the media server could
stay paused as "Wi-Fi changed" even though you were still on an allowed Wi-Fi
(when "Only on selected Wi-Fi networks" is enabled). The server now tells this
apart from a real network change, keeps re-checking, and resumes automatically
when you open the app.
Version 3.1.0 Released
■ Downloads
You can now download a whole folder as a single ZIP file. Open a folder in the browser and tap "Download this folder as ZIP"; the archive is built on the fly and streamed, so nothing extra is stored on the device. Sub-folders are included. A new "ZIP folder download" setting lets you turn the feature off — the link disappears from folder pages and ?zip requests fall through to the normal listing.
■ Shared folders
Each shared folder now has a switch in Settings to allow or block writes individually. Turn it off to keep a folder read-only even while uploads are on globally — handy when you want to share one folder for upload and others for download only.
■ HTTPS
You can now run HTTP alongside HTTPS. In Settings, the new "HTTP" and "HTTPS" categories collect each scheme's settings together; when HTTPS is on, the "HTTP listener" option lets you also serve plain HTTP on the regular port, or redirect HTTP to HTTPS with a 307 Temporary Redirect (so a multipart upload reaches HTTPS without losing its data). When the HTTP listener is in serve mode, the certificate download URL is also reachable over plain HTTP, which makes the first-time trust-install easier. The MAIN screen shows both URLs when both schemes serve content, and an "Active listeners" row in Settings shows which listeners are actually bound.
■ Accessibility
Tap targets on the per-folder Read/Write switch and the URL Copy / QR / Share buttons now meet the 48dp minimum, and the outlined buttons on the MAIN screen and the EditText hint colour in Settings dialogs were pinned to values that clear WCAG AA contrast. No visible change if things already worked for you — this closes recurring Google Play accessibility warnings.
■ Default HTTP port
Fresh installs now default to port 8080 (the conventional HTTP alternate) instead of 12345. Existing installs keep whatever port you set — only new installs see the change.
Version 1.1.0 Released
■ Display / Android 15
Improved edge-to-edge display so the app draws correctly behind the status and
navigation bars on Android 15 and newer, and removed use of display APIs that
Android 15 deprecated.
■ Settings
Added a "Website" link in Settings, under About.
■ Media details
Media now carries richer details — track length, artist, album, track number and
video/photo resolution — so players can display and sort them properly (for
example, playing an album in track order). This works both for your device's
managed media and for files in your shared folders, including media on USB / SD
storage; for shared folders the details are read on demand as you browse.
■ Shared folders
Hidden and system files (such as .DS_Store, ._* and Thumbs.db) are now excluded
from shared folders by default, so they no longer clutter your players. You can
turn this off under Settings → Shared Folders.
■ Labels
You can now create a label in one tap from a preset — Videos, Photos, Music,
Recently added, This week, This month, or This year — and tweak it afterwards.
The "recently added / this week / this month" presets keep up to date as time
passes.
In a manual label, you can drag the files you picked into the order you want them
to play in.
A label's contents can now be ordered by track number (album order) or shuffled,
in addition to name, date and size.
■ Free version
The free version now shares up to 1000 each of images, audio and video (was 50).
A one-time Plus purchase still removes the limits and the single-source cap.
■ Bug fixes / stability
Fixed an issue where the server could be hard to find from some players (such as
VLC): it now keeps announcing itself on the network at short intervals, so players
that are already open discover it within about a minute — without having to
restart the server.
Fixed media on USB / external drives shared from a folder not appearing in smart
labels on some devices: media files are now recognized by their file extension
even when the storage doesn't report a media type, so they show up in labels and
are served with the correct type.
Version 3.0.0 Released
■ HTTPS
You can now serve over HTTPS (TLS). Turn on "Use HTTPS" in Settings to encrypt the connection. The app creates a self-signed certificate on this device, so a browser shows a one-time security warning on a local network — this is expected. Settings shows the certificate's SHA-256 fingerprint (tap to copy) so you can verify it. To remove the warning, trust the certificate on the client: save it with "Download certificate", or open the certificate URL shown in Settings (https://PHONE-IP:8443/.well-known/server-cert.crt) from the client. The certificate is valid for the address shown on the MAIN screen, so connect using that address; if the device's IP changes, the certificate is reissued and must be installed again. Only self-signed certificates are supported — you cannot install your own CA-issued certificate.
■ Uploads
You can now upload files from a browser into your shared folders. Turn on "Allow uploads" in Settings, then use the upload box shown at the top of any writable folder's page. Existing folders added by an earlier version are read-only — remove and add them again to allow uploads. Files are never overwritten: an upload whose name already exists is saved as "name (1)", "name (2)", and so on. If you enable uploads without authentication, anyone on your network can add files, so consider turning on Digest Authentication (or HTTPS).
■ Help
Added a "How to use" guide under Settings → About, covering getting started, uploads, command-line examples for uploading with curl, and HTTPS (the certificate warning, verifying the fingerprint, installing the certificate, and curl's -k / --cacert options).
■ Accessibility
Settings rows now meet the minimum touch-target size, so every row is easier to tap. The app bar's title and subtitle now grow with your system font-size setting instead of being clipped. Text contrast was improved for links, section headings, the selected navigation tab, and snackbar action buttons so they meet WCAG AA.
■ Update notices
After updating, a short "What's new" summary now highlights new features and things to watch out for. When you turn on uploads, the app also points out any existing folder that is still read-only, so you know to remove and add it again.
Version 2.2.0 Released
■ Compatibility
Updated to target the latest Android (Android 16) and switched to an edge-to-edge layout that draws under the transparent status and navigation bars.
■ MediaStore
"Use MediaStore" now asks for media access the moment you turn it on, so the listing isn't silently empty. If access is denied or has been revoked, the setting row and a snackbar make the missing permission visible with a shortcut to the app's permission screen.
■ About
Added an "Open source licenses" entry under Settings → About that lists the bundled third-party libraries and shows the full Apache License, Version 2.0 text. A "More apps from us" link is also shown on the main screen, pointing to the developer's other apps.
■ Bug fixes / stability
Seeking deep into a video over HTTP no longer slows down with offset — the server now seeks in constant time for file-backed responses, instead of reading-and-discarding from the start of the file.
A transient network error while accepting a new connection no longer kills the server: the listener now backs off briefly and keeps serving.
■ Performance
File transfers use a larger 64 KB copy buffer instead of 4 KB, raising per-connection throughput on large files (especially helpful for video streaming).
Version 1.0.0 Released
■ Media server (UPnP)
Works as a UPnP media server: TVs, game consoles, and players (such as VLC and
Kodi) on the same network discover it and browse and play your shared folders and
managed media (photos, music, video) directly — including seeking. You can set a
device name shown to clients and limit DLNA to chosen Wi-Fi networks (e.g. only at
home). The server also shows its own app icon in the device list, so it is easy to
spot among other media servers. Photos, music and videos you add to or remove from the device are picked up
automatically — players that refresh see the change without restarting the server.
External subtitles are picked up too: a subtitle file placed next to a video with
the same name (e.g. movie.mp4 + movie.srt) is offered to the TV automatically.
Music shows its embedded album art and photos show thumbnails in the client's
browse view, so lists look right instead of blank. When you share your device's
media, a "Music" section also lets clients browse it by Album, Artist or Genre,
not just by folder.
■ Local network only
The server listens on Wi-Fi only and is never exposed over mobile data, so your
media stays on your home network.
■ Labels
A Labels tab lets you tag your media and browse it by label on DLNA. Create smart
labels just by typing a plain search — for example "2024 videos trip -mp4" — that
matches on filename words, year or date range, media type, and file extension. Put
a minus in front of any term to exclude it — a type, an extension, or a filename
keyword (e.g. "-mp4", "-work") — with a live preview of what matches as you type;
finer filters (source folder/category, exact dates) stay in a collapsible Advanced
section. Or create manual labels, where you hand-pick files: browse folders, or use
the same search and advanced filters to narrow a flat list and tick the ones you
want — your picks stay selected as you change the filter, and you can add or remove
all current matches at once. Each label appears as a virtual folder on DLNA,
gathering every matching file regardless of where it is stored. Sort a label's
contents by name (natural order, so "file2" before "file10"), date or size —
ascending or descending — or leave it in the default order. A switch on each label
hides it from DLNA without deleting it. Use "/" in a label's name to nest it — e.g.
"Trips/2024/Japan" shows up on DLNA as folders Trips → 2024 → Japan.
■ Media diagnostics
A Media tab lists the media that DLNA clients have actually fetched, aggregated
per file — each with a thumbnail and badges for resolution (4K / FullHD / HD, with a
"+" when it is close but not exactly that standard), video and audio codec, and the
requesting client (PlayStation, VLC, Kodi, …), plus a playback-compatibility hint
that flags formats many TVs can't play (e.g. HEVC, MKV, DTS, 4K) so you can tell at
a glance which files are likely to fail. Tap an item for the full technical
details — handy for working out why a particular player refuses to play a file. The
detail view also shows two small graphs of the file's recent transfers — throughput
over time and the read position within the file — making it easy to tell smooth
streaming apart from a player stalling on a spot it can't decode (the read position
stays flat while throughput stays high). A raw access log is available as an optional
developer view (Settings → "Show debug log").
■ Performance
Media streams to players with a generous buffer, raising throughput for smoother
playback of high-bitrate video.
■ Free version & Plus
The free version shares one source (a single folder or MediaStore) and up to 50 each
of images, audio and video. A one-time Plus purchase removes these limits. Labels
are unrestricted.
■ Getting started & permissions
On first run the app points you to the one step that gets DLNA going — pick a folder
to share. Permissions are now asked only when a feature actually needs them: the
photos/music/video permission is requested when you turn on sharing your device's
media, not up front on first launch.
■ Help & licenses
A "How to use" guide under Settings → About walks you through the basics in three
steps — sharing media and playing it on a TV — with an overview of Labels plus a few
tips and troubleshooting notes. The Accessed media and Labels screens also have a
help (?) button that explains what they do on the spot. An "Open Source Licenses" screen lists the open
source libraries the app is built with and their licenses.
■ Appearance
Material 3 (Material You) design with a violet accent and an edge-to-edge layout for
modern Android. Choose the app's theme — follow the system, always light, or always
dark — under Settings → Appearance.
■ Reliability
Settings apply to the running server instantly — no manual restart. The status on
the main screen updates the moment the server starts, stops, or hits an error. When
a Wi-Fi change pauses DLNA (or Wi-Fi drops out), the main screen turns the indicator
amber and explains what happened. When you restrict UPnP to specific networks, you can
optionally also verify the access point (BSSID), not just the network name, to
block a look-alike Wi-Fi that reuses a trusted name; and the app now prompts you
to turn on Location Services when they are off and the network name can't be read.
DLNA no longer pauses for a moment when the device wakes from sleep just because
the Wi-Fi name isn't readable for an instant — it waits for the network to settle
and stays up if you're still on the same Wi-Fi. When the server stops or the
network changes, it tells DLNA clients to drop it
reliably, so a stale "ghost" entry does not linger on TVs and players; and a
settings change (such as turning a label on or off) refreshes the content without
making the server vanish and reappear in the client's device list. You can optionally
have the server push updates to players, so a player that supports it refreshes the
open folder the moment your shared content or a smart label changes — off by default,
since some players don't subscribe to these notifications.
Version 2.1.0 Released
■ Tablet UI
On large landscape screens, the server controls and the log are shown side by side instead of leaving the extra width empty. A Settings button swaps the right pane between the log and settings.
■ Refreshed main screen
The main screen has a cleaner look: a coloured status banner showing whether the server is running, the address with one-tap Copy / QR / Share, and Start/Stop and Restart buttons.
■ Shared folders
You can now mark one shared folder as the root with a radio button. Its contents are served directly at "/", and the other folders appear beneath it as subfolders. With no root selected, behaviour is unchanged.
■ Browsing
Directory listings are now readable on phones: they fit the screen width with larger text, full-width tappable rows, and follow the device's light/dark theme.
■ Other
The privacy policy link now opens a page in your device's language (Japanese or English).
■ Bug fixes / stability
Fixed a crash that could occur when the server started, especially via launch-on-open.
On tablets, rotating from landscape to portrait no longer leaves the bottom tab out of sync with the screen being shown.
Version 2.0.4 Released
■ Accessibility
Improved contrast for section headings, bottom navigation labels, the server status banner, and URL links so the UI passes WCAG AA. Added labels to the input fields in the settings dialogs (port number, content provider prefix, Digest auth username/password) so screen readers can announce them. The "Add folder" row is now taller to meet the minimum tap target size.
■ Settings
Editing a setting while the server is running now shows a Snackbar with a Restart action so the change can be applied immediately, instead of silently waiting for a manual restart.
■ Bug fixes / stability
- Files whose names contain '+' or '%' now open correctly.
- Adding or removing shared folders is reflected immediately without restarting the server.
- Large POST request bodies are no longer buffered into memory.
- Cleaner server shutdown: no stray worker threads, and quick stop→start cycles no longer hit "Address already in use".
- mDNS (Bonjour) advertising registers cleanly after server toggles.
Version 2.0.2 Released
■ QR code
Each server URL now has a QR button. Tap it to display a scannable QR code — useful for quickly connecting phones and tablets without typing the address.
■ Share URL
Each server URL also has a Share button to send the address via any installed app (messaging, clipboard managers, etc.).
■ Translations
UI now available in German, French, Spanish, and Brazilian Portuguese, in addition to English and Japanese.
■ Bug fixes
Fixed a crash on tablets in landscape orientation (NullPointerException in activity layout).
Version 2.0.1 Released
■ Bug fixes
Fixed a crash (NoSuchMethodError) when browsing directory listings on Android 12 and earlier.
Fixed a foreground service error (ForegroundServiceStartNotAllowedException) on Android 14 and later, caused by the 6-hour time limit on dataSync services.
Version 2.0.0 Released
■ Multiple shared folders
You can now add multiple folders to serve over HTTP. Each folder appears as a top-level directory in the browser.
■ Storage Access Framework
Folder selection now uses the system file picker — no special storage permissions required.
■ Network interface selection
Choose which network the server listens on: Wi-Fi only (default), all networks, or localhost only.
■ Material Design 3 UI
Bottom navigation, refreshed log screen, and improved layout.
■ Privacy policy
In-app link added under Settings → About.
■ Bug fixes
Improved HTTP Range request handling (fixes video seek in some players). Fixed notification icon display on Android 5+.