Skip to main content

Remote SSH or Local Image Gallery Viewer

Project description

PyRemoteView - Remote SSH Image Gallery Viewer

PyPI version PyPI - Python Version License: MIT

PyRemoteView is a web-based application that allows you to remotely browse and view images stored locally on another server via SSH, with automatic thumbnail generation and caching for improved performance.

Features

  • Browse remote directories and view images via web interface
  • Automatic thumbnail generation for faster browsing
  • Local caching of images and thumbnails
  • Supports common image formats (JPG, PNG, GIF, WebP, BMP)
  • Responsive gallery with lightbox view and keyboard navigation
  • Debug interface for troubleshooting
  • Can be used to browse local files as well

Requirements

  • Python 3.6+
  • Flask
  • Pillow (PIL)
  • SSH access to the remote server

Installation

Install from PyPI (Recommended)

You can install PyRemoteView directly from PyPI using pip:

pip install pyremoteview

This will install all required dependencies automatically.

Manual Installation

If you prefer to install from source:

  1. Clone or download this repository
  2. Install required packages:
    pip install -r requirements.txt
    
  3. Install the package:
    pip install .
    

Setting Up Passwordless SSH

For PyRemoteView to work properly, you need to set up passwordless SSH access to the remote server:

  1. Generate an SSH key pair (if you don't already have one):

    ssh-keygen -t rsa -b 4096
    
  2. Copy your public key to the remote server:

    ssh-copy-id username@remote-server
    

    Or manually add the content of ~/.ssh/id_rsa.pub to the remote server's ~/.ssh/authorized_keys file.

  3. Test your passwordless login:

    ssh username@remote-server
    

    You should be able to log in without entering a password.

Usage

After PyPI Installation

If you installed PyRemoteView from PyPI, you can start it directly from the command line:

pyremoteview --remote-host remoteserver --remote-path /path/to/images

If Installed from Source

python remote_gallery.py --remote-host remoteserver --remote-path /path/to/images

Command Line Options

  • --port PORT: Port to run the server on (default: 8080)
  • --host HOST: Host to run the server on (default: 0.0.0.0)
  • --remote-host REMOTE_HOST: Remote host to fetch images from
  • --remote-path REMOTE_PATH: Path on remote host to browse
  • --proxy-path PROXY_PATH: Base path when accessed through a reverse proxy (e.g., "/sd_preview")

Serving Local Files

To browse images on your local machine, use localhost as the remote host:

python remote_gallery.py --remote-host localhost --remote-path /path/to/local/images

Using with a Reverse Proxy

If you're accessing PyRemoteView through a reverse proxy (e.g., Nginx), use the --proxy-path argument:

pyremoteview --remote-host remoteserver --remote-path /path/to/images --proxy-path="/your_proxy_path"

Example Nginx configuration:

location /your_proxy_path/ {
    proxy_pass http://localhost:8080/;
    proxy_http_version 1.1;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
}

Web Interface

After starting the server, access the gallery by opening a web browser and navigating to:

http://localhost:8080

Features:

  • Click on folders to navigate directories
  • Click on images to view them in a lightbox
  • Use arrow keys to navigate between images in lightbox view
  • Press Escape to exit lightbox view
  • Use "Clear Cache" button to refresh thumbnails and image cache

Troubleshooting

Access the debug page for detailed information about the server status, SSH connection, and cache:

http://localhost:8080/debug

Caching

The application caches thumbnails and recently viewed images in:

  • ~/.cache/pyremoteview/thumbnails
  • ~/.cache/pyremoteview/images

To clear the cache, use the "Clear Cache" button in the web interface or delete these directories.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyremoteview-1.0.2.tar.gz (15.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyremoteview-1.0.2-py3-none-any.whl (14.2 kB view details)

Uploaded Python 3

File details

Details for the file pyremoteview-1.0.2.tar.gz.

File metadata

  • Download URL: pyremoteview-1.0.2.tar.gz
  • Upload date:
  • Size: 15.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.7

File hashes

Hashes for pyremoteview-1.0.2.tar.gz
Algorithm Hash digest
SHA256 d809f22e49a2411e84d8bb2813d54cc5c2ab8ce86782b35b688bd439e2df2c79
MD5 1377329ea597372b1b7361f78b15adc3
BLAKE2b-256 907e0e8ad852ccb24f3dd0d7f985b3912f14d73a2c14948c3f2763972eb2ca8d

See more details on using hashes here.

File details

Details for the file pyremoteview-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: pyremoteview-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 14.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.7

File hashes

Hashes for pyremoteview-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e89347bafab6e33bbbd095ccb4f11ef5daa3b058b9da55e9cef7e415d9634399
MD5 f7f02ef37e3deb0d8facebbe903ba2ac
BLAKE2b-256 80ad66a693fe50db26299a06350d658d506d5659b0d6ec11267a4be52878929a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page