Remote Gallery is an application for Android devices which connects to a SSH server where your pictures are available and downloads the images to your device.
In order to save bandwidth and speed up the download, Remote Gallery optionally reduces the size of the images on the server prior to being sent. The images are cached locally on the device and are made available to other apps, such as the standard Android Gallery app.
This is open source software. If you’d like to contribute, or simply browse the code, please feel free to do so on the project’s website: https://github.com/cachapa/RemoteGallery
Remote Gallery uses a SSH client binary compiled directly from the official Dropbear source.
Remote Gallery requires that the following software is installed on your server:
- SSH daemon (server)
- dropbearkey (private key generator)
- ImageMagick (to downsample the image files prior to sending)
Debian Linux / Ubuntu / other APT-based distributions
Simply install the openssh-server, dropbear and imagemagick packages. From a terminal:
apt-get install openssh-server dropbear imagemagick
Red Hat / Fedora / YUM-based distributions
I don’t have access to a YUM-based distro, but the packages should be easy to find using the package manager.
FreeBSD / OpenBSD / other Unix
How were you able to configure and run a *BSD server without knowing how to install sshd and imagemagick?
Gentoo Linux / Other Linux
Missing instructions since I don’t have access to a Mac.
However, since MacOS is Unix under the hood, all packages should be readily available.
I’m pretty sure that all of the required software is available for Windows, but the installation is left as an exercise to the reader.
Remote Gallery requires a dropbear private key for passwordless login. If you already have a private key generated using ssh-keygen, you can convert it to the dropbear format with the following command:
/usr/lib/dropbear/dropbearconvert openssh dropbear ~/.ssh/id_dsa dss_key
Otherwise, a new key can be generated on a terminal with the command:
dropbearkey -t dss -f dss_key
The output will be something like
Public key portion is: ssh-dss AAAAB3NzaC1kc3MAAACBAO54x8/XT0unnG1GUKmRi0Qy4a3kW54nBOzop EXstekcUHxnVOBrBausXadH16IkfHGxpfzZKUuk/GbURG1C3eb+V2wdp/31u6aws1 n86AvimQw1Hupq0gwNE8YrtxT7HMFTtOXadgh26vnQYyiEgZ7pnAxJuLXBlp60AtX LTmt5AAAAFQDIKaAP0LHU3whwxt4AHb53xYq4RQAAAIA+uW4u5pQ1lZlJzVKOVnNA afKLGTz5KLeuInYflGqr8IVkcQ9UFyQ3OoLSu6S/OVCnqIVIZpF7aWOXCxMTLWkE3 EqmNnIIW0y8WI1BDsM+Yf3Mj3BNVyK+/aEVehw8qyj1zeUJKhVcLo/3hbEQIlLWi8 B8f2+ZW8M0GyhcCXr8ewAAAIBwRX63NTnBf4eFqVzIW86peZFzbIifihwnjXWagLC 8KQGvn0GIrWX7Gpa9RWVTRlk5QrDyTpKxgIRAcnx24cKp4rnlWuLsYU6iIYdblEBI DQe7y9PUquFszh20MGMgRqdAb6IGuT11qgt7mbKu4H66+NeKORBQhA9Mt60OdcMTl Q== user@server Fingerprint: md5 30:f1:a4:9e:8e:17:a1:6e:09:78:d9:6f:42:c6:8a:88
Copy the line that begins with “ssh-dss” and ends with user@server into a text file and drop it in your server, in the ~/.ssh/authorized_keys
Copy the dss_key file into your Android device. Please note that this is your private key, and it should be kept safe. Anyone who has access to this key will be able to login into your server.
Finally, make sure that ImageMagick is correctly installed:
Should return something like:
Version: ImageMagick 6.5.7-8 2010-12-02 Q16 http://www.imagemagick.org Copyright: Copyright (C) 1999-2009 ImageMagick Studio LLC Features: OpenMP
Finally, configure your server in Remote Gallery in your Android device and test it out. Please note that if you want to access your server from outside your private network, you may need to open the SSH port in your router (typically port 22).
If you have a dynamic IP address, you might also find it useful to configure a dynamic DNS service, such as the free ones offered by DynDns.com (no affiliation, just a happy customer).