.. title: Android file transfer
.. slug: android-file-transfer
.. date: 2021-12-24 10:32:48 UTC
.. tags: backup, hardware, linux, thoughts
.. category: 
.. link: 
.. description: 
.. type: text

My home and office computers are synchronized via the ownCloud server located at my workplace. This synchronization takes place via an TLS encrypted connection with an A+ Qualys rating. In addition, I encrypt files containing sensitive information prior to their transfer on an individual basis. Since all systems accessing this cloud folder are driven by an operating system (OS) that I trust and largely control (Archlinux), I feel very comfortable regarding the security and privacy of my data. To keep this warm and cozy feeling, I wouldn't give devices with an OS beyond my control (such as Windows, MacOS, Android, iOS) access to this folder.

Now, I fully appreciate that even a hardened desktop Linux would have difficulties to compete with the level of security offered by an up-to-date Android – with “security” being defined here in the conventional context with respect to a potential third-party adversary. But concerning the privacy of my data, and thus mine, the threat of an overly nosy first party is much more palpable. Actually, I shouldn't call it a threat. It's in fact a promise. 

How, then, am I supposed to transfer or even better synchronize data from and with the `newest member <https://cobra.pdes-net.org/posts/resistance-is-futile.html>`_ of my gadget zoo? Since I've acquired this gadget as a two-factor authentication for my banks, I cannot simply root it and install `LineageOS <https://cobra.pdes-net.org/posts/saving-nexie.html>`_ without any Google services. Therefore, I won't trust the device beyond its specialized purpose and I won't give it access to my cloud folder.

But that's actually not a big deal in this case. Because of its specific function as a two-factor authenticator for my banks and several other services, the phone will remain stationary. Hence, I need to synchronize within my LAN, but not outside of it. When looking for apps that would be suitable for this task, I was initially attracted by those appealing to the nerd in me, such as, for example, `croc <https://github.com/schollz/croc>`_ installed (pkg install croc) and running within `termux, <https://termux.com/>`_ or `juiceSSH <https://juicessh.com/>`_. In the end, these apps turned out to be fun for a limited time, but too tedious for everyday use. I'm very fond of `controlling computers with a keyboard <https://cobra.pdes-net.org/posts/working-on-the-command-line.html>`_, but for using termux efficiently, you'd need the eyes of an eagle, the fingers of an elf and the dexterity of a spider monkey.  

For ordinary human beings, `syncthing <https://syncthing.net/>`_ is the tool of choice. It's available on f-droid, easy to set up on all participating systems, and works reliably without manual intervention. In my case, I've simply created a folder (~/androidshare) on my desktop that automatically receives all files from my phone that may be worth to keep, including the backups of the andOTP and keepassDX databases and all photographs of my cats. 😍
