Remote SSH or Local Image Gallery Viewer
Project description
PyRemoteView - Remote SSH Image Gallery Viewer
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:
- Clone or download this repository
- Install required packages:
pip install -r requirements.txt - 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:
-
Generate an SSH key pair (if you don't already have one):
ssh-keygen -t rsa -b 4096 -
Copy your public key to the remote server:
ssh-copy-id username@remote-serverOr manually add the content of
~/.ssh/id_rsa.pubto the remote server's~/.ssh/authorized_keysfile. -
Test your passwordless login:
ssh username@remote-serverYou 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d809f22e49a2411e84d8bb2813d54cc5c2ab8ce86782b35b688bd439e2df2c79
|
|
| MD5 |
1377329ea597372b1b7361f78b15adc3
|
|
| BLAKE2b-256 |
907e0e8ad852ccb24f3dd0d7f985b3912f14d73a2c14948c3f2763972eb2ca8d
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e89347bafab6e33bbbd095ccb4f11ef5daa3b058b9da55e9cef7e415d9634399
|
|
| MD5 |
f7f02ef37e3deb0d8facebbe903ba2ac
|
|
| BLAKE2b-256 |
80ad66a693fe50db26299a06350d658d506d5659b0d6ec11267a4be52878929a
|