You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

gallery-server

Package Overview
Dependencies
Maintainers
1
Versions
23
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

gallery-server

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

1.8.2
latest
Source
npmnpm
Version published
Weekly downloads
30
30.43%
Maintainers
1
Weekly downloads
 
Created
Source

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 🌱

  • Serve the local photos.
bunx gallery-server --folder /path/to/photos --no-footer

or:

pnpx gallery-server --folder /path/to/photos
npx gallery-server --folder /path/to/photos

For more usage:

bunx gallery-server -h

Enjoy on PC 💻

demo-page-album

Enjoy on Mobile Phone 📱

album-mobile

Photos from pixabay API of Yosemite.

Features 🌟

  • 📱 Photos in your PC can be viewed in your mobile phone's browser! So your can download photos on your PC to mobile phone.
  • 🔐 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.
  • 🎭 Light and dark theme.
  • 🎞️ Videos also supported!
  • 🖼️ More than one galleries can be served at the same time.
  • 📚 A lot of gallery features. Check it at react-images.

Technical features

  • It is both a server and a client application, as well as a command-line application!
  • Tech stack:
    • pnpm v9, Node.js v22 (builtin --watch 🎉),
    • ESLint v9, Biome v2 (for formatting instead of Prettier), Bun v1.2 (for test),
    • Vite v7,
    • TypeScript v5, Koa v2.

FAQ 🙋‍♂️

  • 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.
  • Photos in node_modules will be ignored for performance.

Develop 👨‍💻

  • install
pnpm i
  • start api server
pnpm dev:server --folder='/path/to/photos'
# pnpm ds --folder='/path/to/photos'
  • start webpack devServer
pnpm dev:client
# pnpm dc

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

pnpm install --save-dev react-bnb-gallery

# start webpack devServer
pnpm dev:client

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

Publish 📦

pnpm version patch / minor / major

Run tests 🧪

pnpm 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 browser.
  • Electron App.
  • npm to pnpm.
  • Node.js v16 to v22 (LTS 2025-7-10).
  • Koa v2 to v3. No migration because nothing big changed.
  • React v16 → React v19. No migration to React.js v19 because react-images and react-photo-gallery are not v19 supported and not maintained.
  • Webpack v4 → Vite v7: Performance gain build 26s5s.
  • Show thumbnail for first render performance.
  • Next.js.
  • TRPC - share backend request typings with client.
  • FastAPI python.
  • Save UI state (theme) to server using sqlite.

Show your support ⭐️

Give a ⭐️ if this project helped you!

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

Keywords

beautiful

FAQs

Package last updated on 11 Jul 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts