Coder Social home page Coder Social logo

remotegallery's Introduction

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.

It was envisioned to be a quick solution to a problem I frequently had: I wanted to show someone a picture from my collection, but even though my complete collection is available on my personal server (as part of my backup solution), there was no easy way to find the picture I was looking for.

Even if I knew on which album the picture was, there was no way to find it without downloading the whole album. With pictures sometimes reaching 4MB per file, it was a difficult procedure over a mobile connection, not to mention bandwidth limits or areas of low network reception.

Remote Gallery saves bandwidth and speeds up the download by reducing the size of the images on the server prior to being sent. The images are saved locally on the device, displayed as thumbnails, and are made available to other apps on the device.

Remote Gallery requires a functional server component. Configuration instructions can be found at: http://cachapa.net/?page_id=429

remotegallery's People

Contributors

cachapa avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

remotegallery's Issues

Easy way to transfer multiple pictures in a single ssh session

Rather than a complicated session management system (which re-invents the wheel) or having to wait for extra session initiation overhead equal to the number of pictures transferred, there is an easy alternative: use the ImageMagick tools to stitch the pictures together into one (using montage), transfer it in a single session, then slice it up on the phone (since you're already using the library to resize the image, combining them in the same command incurs little additional overhead).

A more simple alternative is to concatenate the images into a (technically invalid) byte stream and transfer that to the phone, slicing it based on the known original size of each file.

String too long

Hi,

I followed your guide to set this up (I already have SSH connections to my server, never used Dropbear for it though) but I get that the string is too long.

The SSH connection seems alright when runnig the test connection in the client. But the row after that says:
/data/data/net.cachapa.remotegallery/files/ssh:
exited: string too long

What is that?

Colon in the filename kills the download

If there is a colon in the filename of an image, it chokes.
“Error:/mnt/sdcard/RemoteGallery/1/cache/$filename.jpg.temp (Invalid argument)”

I suspect this is related to the ssh command that transfers the file to android.

Thanks!

unable to locate dev contact info

Wiki page on github does not include a way to contact developer. Maybe I am lazy, but I will keep looking, in the mean time, please update wiki with instructions on how to contact developer. Also coknsider adding dev contact info to website referrenced in the in-app help.
I have not even tried my rsa dropbear key yet, but I was hoping to find out whether it is supported or not. Maybe this shows my novice linux experience but for the less educated, knowing if rsa (instead of just dss) is supported would be nice.
Thank you for making such a cool app!

Hard-coded ls options not compatible with Mac OS X (and possibly other BSDs)

Long-form options are particularly variable across UNIX variants, notably including OS X. The option ‘-p’ is a synonym that should be much more reliable than the current ‘–indicator-style=slash’ and I’ve verified its validity on OS X’s variant (as well as the GNU version generally seen on Linux desktops).

Additionally, all option arguments must come before the first file in many BSD versions of ls.

My solution to both these issues is a simple patch:

--- a/src/net/cachapa/remotegallery/ssh/SshOutputReader.java
+++ b/src/net/cachapa/remotegallery/ssh/SshOutputReader.java
@@ -20,8 +20,8 @@ public class SshOutputReader extends Ssh {

        public ArrayList<DirEntry> listDir(String path, final LogCallback logCallback) {
                String remoteCommand = "ls" +
-                       " '" + serverConf.remotePath + path + "'" +
-                       " --indicator-style=slash";
+                       " -p" + 
+                       " '" + serverConf.remotePath + path + "'" ;

                final ArrayList<DirEntry> dirEntries = new ArrayList<DirEntry>();
                LogCallback dirListCallback = new LogCallback() {

Zoom in on images

Allow zooming in when viewing images.

This is a tough one. A good implementation would require a lot of custom code.
Using a WebView would also work, but it's not an ideal user experience.

Feature request: delete file locally and remotely

Could you add a feature (implemented similar to the share feature) which deletes the file locally and also issues a ssh rm $filename to the remote location? Perhaps rename would be another useful feature? These would make remotegallery a somewhat competent photo manager as well as great gallery viewer.

Tablet UI

Some work has already been done to make Remote Gallery look better on tablets, but it would be nice to have multiple panes using Android fragments.

Specifically:

  • Adding a server configuration: Server list on the left, configuration on the right
  • Preferences (?)
  • Image browser should show various lists simultaneously
  • Hybrid view with image list on the left and a large image on the right. Clicking the image will bring it to full screen

Also, use the standard Android action bar instead of a custom one.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.