Skip to content

legend80s/gallery-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 Phone πŸ“±

album-mobile

Photos from pixabay API of Yosemite.

Features 🌟

  1. πŸ“± Photos in your PC can be viewed in your mobile phone's browser! So your can download photos on your PC to mobile phone.
  2. πŸ” Security on privacy to prevent eavesdropping. API or images without token are forbidden, but you can still share with your friends by sending him the token.
  3. 🎭 Light and dark theme.
  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.

Todos β˜‘οΈ

  • 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