Setup Termux
Install Termux using F-Droid.
Update software repos.
pkg updateGrant file access permissions using.
termux-setup-storageEstablishing an ssh connection
If network (such as eduroam) is blocking ssh trafic between machines,
open a Wi-Fi Hotspot on your Linux machine and connect the Android
device to it before using rsync or ssh.
Configuring Android
Install the openssh server on Termux.
pkg install opensshStart the ssh server daemon.
sshdGet the ip address of the Android machine (in the Hotspot).
ifconfigWarning: cannot open /proc/net/dev (Permission denied). Limited output.
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 1000 (UNSPEC)
rmnet0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1280
inet 10.200.157.166 netmask 255.255.255.0 destination 10.200.157.166
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 1000 (UNSPEC)
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.42.0.200 netmask 255.255.255.0 broadcast 10.42.0.210
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 1000 (UNSPEC)
In this case 10.42.0.200.
The ssh server should now be running and listening on port 8022. You can check by running
nmap -Pn <ip_address>For me <ip_address> whould be 10.42.0.200.
Get the username.
whoamiu0_a700
Set a password for this user.
passwdConnecting to Android via ssh
Make sure you have an ssh key pair on the Linux system. If not
generate one using ssh-keygen.
Now connect to Android by ssh.
ssh <username>@<ip_address> -p 8022Syncronising files with rsync
Install rsync on Termux and Linux. Make sure to keep
your own openssl config.
pkg install rsyncNow on your Linux machine, syncronise your Music library with rsync.
rsync -av -e "ssh -p 8022" ~/Music <username>@<ip_address>:/data/data/com.termux/files/home/storage/musicRefreshing the Android MediaStore
Android uses a Database to store files. In order to play your music, this database needs to be refreshed. This can be achieved by a reboot or by using adb to manually refresh it.
sudo dnf install adbConnect the Android device via USB and see if it is listed.
adb devicesIf it is, restart adb in TCP mode with port 5555
adb tcpip 5555Connect to the device using its
adb connect <ip_address>Refresh MediaStore.
adb shell am broadcast -a android.intent.action.MEDIA_SCANNER_SCAN -d file:///data/data/com.termux/files/home/storage/music/