Working only on Arm routers, like: RT-AC56U, RT-AC68U, RT-AC87U, RT-AC3200, RT-AC5300...
A) SERVER SIDE
1 - Flash RMerlin firmware from here
2 - Install Optware-NG from here
3 - Install a DLNA media server like minidlna from here
4 - Install necessary packages
5 - Download and install BubbleUPnPServer
cd /opt/bubbleupnpserver
wget https://www.bubblesoftapps.com/bubbleupnpserver/BubbleUPnPServer-distrib.zip
unzip BubbleUPnPServer-distrib.zip
rm BubbleUPnPServer-distrib.zip
6 - Create startup script
#!/bin/sh
DAEMON_PATH="/opt/bubbleupnpserver"
DAEMON="java -Xss256k -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Dfile.encoding="UTF-8" -jar BubbleUPnPServerLauncher.jar"
DAEMONOPTS=""
NAME=BubbleUPnPServer
DESC="Runs BubbleUPnP"
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/opt/etc/init.d/$NAME
case "$1" in
start)
printf "Starting $NAME..."
cd $DAEMON_PATH
PID=`$DAEMON $DAEMONOPTS > /dev/null 2>&1 & echo $!`
#echo "Saving PID" $PID " to " $PIDFILE
if [ -z $PID ]; then
printf "%s\n " "Fail"
else
echo $PID > $PIDFILE
printf "%s\n " " OK"
fi
;;
status)
printf "Checking $NAME..."
if [ -f $PIDFILE ]; then
PID=`cat $PIDFILE`
if [ -z "`ps w | grep ${PID} | grep -v grep`" ]; then
printf "%s " "Process dead but pidfile exists"
else
echo " Running"
fi
else
printf "%s\n " " Service not running!"
fi
;;
stop)
printf "Stopping $NAME..."
PID=`cat $PIDFILE`
cd $DAEMON_PATH
if [ -f $PIDFILE ]; then
kill -HUP $PID
printf "%s\n " " OK"
rm -f $PIDFILE
else
printf "%s\n " "pidfile not found"
fi
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: $0 {status|start|stop|restart}"
exit 1
esac
EOF
Press ENTER
7 - Make script executable
8 - Open default BubbleUPnP ports
Paste this lines in terminal
#!/bin/sh
iptables -I INPUT -p tcp --destination-port 58050 -j ACCEPT
iptables -I INPUT -p tcp --destination-port 58051 -j ACCEPT
9 - Apply rules
sh /jffs/scripts/firewall-start
10 - Start server
11 - Go to 192.168.1.1:58050 or www.asusrouter.com:58050 and wait about 30 seconds, default Username Admin & password admin if asked, now press ok on both messages
B) CLIENT SIDE
Download BubbleUPnP app on your android phone
Open app and go to Menu/Settings/Setup network wizard/NEXT/
Give server a name
In Server address input your external ip or ddns address, like user.asuscomm.com:58050
Then Login and password chosed in server setup
When finished, press NEXT
Now you should see Connection successful
Go to Menu/LIBRARY and should see a list with available servers
Choose one server and a RENDERER from top
Go to Menu/Media and play your media files from selected server on selected Renderer