Dashboard › Code › Session 1JRbQfE8FU5n
1JRbQfE8FU5nKxmMGI tried using this on my Android device with VLC and through my Tailscale network but it couldn't find anything on the network. Can you check why they might be?
Likely MiniDLNA is not bound to the Tailscale interface, so it only advertises on the LAN. Let me check:
inet 192.168.50.13/24 metric 100 brd 192.168.50.255 scope global dynamic br0
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
inet 172.18.0.1/16 brd 172.18.255.255 scope global br-a84f2cb2cd7e
inet 100.69.65.125/32 scope global tailscale0
===
udp UNCONN 0 0 239.255.255.250:1900 0.0.0.0:*
tcp LISTEN 0 16 0.0.0.0:8200 0.0.0.0:*
===
15: tailscale0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1280 qdisc fq_codel state UNKNOWN group default qlen 500
inet 100.69.65.125/32 scope global tailscale0
valid_lft forever preferred_lft forever
Found it. MiniDLNA is listening on 0.0.0.0:8200 (good — accessible via Tailscale IP 100.69.65.125), but the SSDP multicast (1900) won't traverse Tailscale — DLNA discovery is L2 multicast, which Tailscale doesn't forward.
Two options:
Easiest: VLC direct URL — VLC can play files via HTTP/SMB even without DLNA discovery:
http://100.69.65.125:8200/ (MiniDLNA's web UI lists the files)Proper fix: route SSDP over Tailscale — more involved, requires subnet routing or tailscale serve/funnel. Not recommended for DLNA.
Quick test right now — open this URL on your phone's browser to confirm MiniDLNA is reachable:
http://100.69.65.125:8200/
You should see the MiniDLNA status page with a file count. If that works, VLC direct URL streaming will work. If VLC needs actual file URLs, check http://100.69.65.125:8200/Root.xml for the browse tree.
Want me to set up Samba so VLC sees it as a normal network share?
Proper fix: route SSDP over Tailscale — more involved, requires subnet routing or tailscale serve/funnel. Not recommended for DLNA.
Can you give me more details?
Also happy with Samba as it will help me in other ways
On both. Let me check Tailscale state and the DLNA architecture first:
100.69.65.125 labs labs.sheep-fir.ts.net linux - 100.78.78.55 byxel10pf BYK@ android - 100.102.146.109 desktop-83gep91 BYK@ windows active; direct 192.168.50.78:41641, tx 47209920 rx 2061604 100.83.76.82 glkvm BYK@ linux offline, last seen 21d ago === Report: * Time: 2026-06-14T20:33:50.292306859Z * UDP: true * IPv4: yes, 185.253.124.189:7966 * IPv6: yes, [2a07:244:48:bd00:ba85:84ff:fe9c:ea2a]:5003 * MappingVariesByDestIP: false * PortMapping: * Nearest DERP: London * DERP latency: - lhr: 8.9ms (London) - par: 12.2ms (Paris) - ams: 17.6ms (Amsterdam) - fra: 21.1ms (Frankfurt) - nue: 23.3ms (Nuremberg) - waw: 30.6ms (Warsaw) - mad: 30.6ms (Madrid) - hel: 50ms (Helsinki) - nyc: 78.9ms (New ...
Got it. Here's what's going on:
DLNA/UPnP uses SSDP (Simple Service Discovery Protocol) which is Layer-2 multicast UDP on port 1900 to 239.255.255.250. Tailscale is a Layer-3 mesh VPN — it does not forward multicast/broadcast at all. This is a fundamental design choice, not a config issue.
Even if you could route SSDP, DLNA also uses HTTP unicast for content but references the server by its local IP in its XML descriptions — so even if discovery worked, the URLs would point to 192.168.50.13 which your phone can't reach via Tailscale.
Subnet router + proxy ARP — advertise the lab's LAN as a Tailscale subnet (100.64.0.0/24), enable IP forwarding, run a multicast proxy like smcroute or igmpproxy. Works for some cases but DLNA is notorious for breaking this way because of the local-IP-in-XML issue.
Tailscale Funnel/Serve — exposes the MiniDLNA HTTP port to a public URL, but doesn't help with SSDP discovery. You'd still need to manually paste URLs in VLC.
DNS rebinding hack + proxy — run a reverse proxy that rewrites local IPs → Tailscale IPs in XML, plus a fake SSDP responder. Tools like dlnaclient or custom scripts. Fragile.
Verdict: none of these are worth it for DLNA. DLNA was designed for trusted home LANs and assumes L2 multicast + local IP. Even Plex/Jellyfin abandon DLNA on remote networks and just use their own apps.
Let me set up Samba. This is what actually works:
User has answered your questions: "Pick a Samba authentication approach:"="Read-only, no auth (Recommended)". You can now continue with the user's answers in mind.
Wrote file successfully.
sudo bash /home/byk/setup-samba.sh
Once it's running:
100.69.65.125 and browse /Videos\\100.69.65.125\Videos (or \\labs\Videos via Tailscale magic DNS)smb://100.69.65.125/VideosNote: Tailscale IPs are accessible from anywhere on your tailnet, so this works on the road too. The share is read-only, mapped to your byk user, so files appear with correct ownership.
Ugh, my windows machine does not allow me to connect to unauthenticated samba servers. can we allow both authenticated and unauthenticated?
Windows disables guest auth by default. Let me update the Samba config:
uid=1000(byk) gid=1000(byk) groups=1000(byk),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),101(lxd),111(docker)
When run by root:
smbpasswd [options] [username]
otherwise:
smbpasswd [options]
options:
-L local mode (must be first option)
-h print this usage message
-s use stdin for password prompt
-c smb.conf file Use the given path to the smb.conf file
-D LEVEL debug level
-r MACHINE remote machine
-U USER remote username (e.g. ...
Two ways: (1) set a Samba password for byk (recommended — works for everything), or (2) force-enable guest on Windows via registry. Let me do both:
Wrote file successfully.
sudo bash /home/byk/setup-samba-auth.sh
It'll prompt you for a Samba password, then set everything up.
After it runs, on your Windows machine, the easiest path is to just use credentials:
\\100.69.65.125\Videosbyk, password: the one you just setIf you really want guest access to work on Windows, the registry tweak at the end of the script output is needed — but credentials work everywhere (Windows, Android, Mac, iOS) without client config.
Date: Jun 14, 2026 * 🔴 (20:42) User stated Windows machine does not allow connecting to unauthenticated Samba servers * 🟡 (20:42) User asked to allow both authenticated and unauthenticated Samba access * 🟡 (20:42) byk user confirmed: uid=1000, gid=1000, groups adm/cdrom/sudo/dip/plugdev/lxd/docker; not in Samba db yet * 🟡 (20:42) Assistant proposed two approaches: (1) set Samba password for b…
<observations> Date: Jun 14, 2026 * 🟡 (20:33) User asked for more details on routing SSDP over Tailscale * 🟡 (20:33) User stated is happy with Samba approach as it will help in other ways * 🟡 (20:34) Tailscale state for user's tailnet (BYK@): labs (100.69.65.125, linux), byxel10pf (100.78.78.55, android), desktop-83gep91 (100.102.146.109, windows, active; direct 192.168.50.78:41641, tx 4720992…
<observations> Date: Jun 14, 2026 * 🔴 (17:32) User attempted to use MiniDLNA on Android via VLC over Tailscale network, device could not find anything on the network * 🟡 (17:32) Assistant investigated: found MiniDLNA listening on 0.0.0.0:8200 (accessible via Tailscale IP 100.69.65.125), but SSDP multicast (port 1900) does not traverse Tailscale because DLNA discovery is L2 multicast * 🟡 (17:32…