Skip to content

Beautiful and powerful yet simple local image viewer on your PC or mobile.

Notifications You must be signed in to change notification settings

smokeyhallow/gallery-server

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Welcome to gallery-server 👋

npm version npm downloads Minified + gzip package size for gallery-server in KB commit msg linted by git-commit-msg-linter visitor count

demo-page-fullscreen

gallery-mobile

Beautiful Local Image Viewer

Beautiful and powerful yet simple local image viewer on your PC or mobile.

中文版文档

Install

No installment required!

Use

  1. Serve the local photos.
npx gallery-server --folder /path/to/photos

# for more usage
npx gallery-server -h
  1. Open http://localhost:xxxx/ in your favorite browser or share with your friends http://a.b.c.d:xxxx/?token=${token}.

Enjoy on PC

demo-page-album

Enjoy on Mobile

album-mobile

Photos from pixabay API of Yosemite.

Features

  1. Photos in your PC can be viewed in your mobile phone's browser!
  2. Security on privacy to prevent eavesdropping. API or image resources without a specific token is forbidden, but you can still share with your friends by sending him the token.
  3. Theme togglable between light and dark.
  4. Videos also supported!
  5. More than one galleries can be served at the same time.
  6. A lot of gallery features. Check it at react-images.

FAQ

  1. Q: Why 403 forbidden

    {
      "code": 403,
      "message": "Forbidden. `token` required. Please redirect to https://github.com/legend80s/gallery-server#faq for more information."
    }
    • A: You see this message because you are not the gallery owner. Ask the owner for the token and append it to the resource URL.
  2. Photos in node_modules will be ignored for performance.

Develop

  1. start api server
npm run dev:server -- --folder=/path/to/photos
  1. start webpack devServer
npm run dev:client

Notice: Install all the dependencies into ./package.json's devDependencies not ./client/package.json. The package.json in client exits only for scripts

For example if you want change to another gallery (react-bnb-gallery):

# enter project root not ./client/
cd project_root

npm install --save-dev react-bnb-gallery

# start api server
npm run dev:server -- --folder=/path/to/photos

# start webpack devServer
npm run dev:client

Publish

npm version patch / minor / major

Run tests

npm run test

Author

👤 legend80s

🤝 Contributing

Contributions, issues and feature requests are welcome!

Feel free to check issues page.

Todo

  • Any port. use unoccupied port.
  • Build with remote client to support a wide range of client gallery.
  • Use network IP. mimic create-react-app.
  • Show help Information on cli -v -h.
  • Viewable on mobile.
  • Adapt to mobile.
  • Image lazy load.
  • Security on privacy. only url with token is shareable.
  • Port customizable.
  • Token customizable.
  • Serve multiple folders in one cmd.
  • Token can be optional when viewed on owner's brower.
  • Electron App.

Show your support

Give a ⭐️ if this project helped you!


This README was generated with ❤️ by readme-md-generator

About

Beautiful and powerful yet simple local image viewer on your PC or mobile.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 87.1%
  • HTML 6.7%
  • CSS 6.2%