Vibeleaderboard
Index / tool
Visit sher.sh
Category
Developer Tools
Rank
No. 2849Tools index

Previous survey · No. 2768 ·

Pricing
Freemium
Type
TOOL
Use case
Coding
Interfaces
CLI
Builder
sherdotsh
GitHub
159 stars
Date

About

A command-line tool that generates instant preview URLs for local development projects. Works with popular frameworks like Vite, Next.js, and Astro, allowing developers to quickly share live previews without deploying to Vercel or creating GitHub repositories.

What it does

sher turns a folder of built frontend files into a throwaway web address. You run one command in a project; it works out which build tool the project uses, runs the build with whichever package manager the lockfile points to, bundles the output and posts it to a small hosted service on Cloudflare. That service stores the files, gives them a random eight-character subdomain, and deletes them once the chosen lifetime runs out. It only serves static output, so anything that needs a running server will not work.

Why it's ranked here

The case rests on narrow scope done cleanly. The whole client is a handful of short TypeScript files with no runtime dependencies, the server that hosts the links ships in the same repository under AGPL-3.0, and self-hosting is a documented four-step Cloudflare setup. It also ships an agent skill that tells a coding agent how to run it and pull the link out of the output, which is why it shows up in AI tooling lists. Against that, the project labels itself beta and the free tier allows a single link per day.

What's good

Next.js projects get special handling: sher temporarily switches the config to static export, patches pages that need to be forced static, builds, then restores the original files even when the build fails. Limits are enforced on the server, not trusted from the client: file size, file count (1,000 maximum), link lifetime and password access are all checked per tier. Uploads without a root index page are rejected with a plain message. Anonymous use needs no account, and a GitHub login lifts the limits to 25 links a day with 24-hour lifetimes.

Tradeoffs

Your build output goes to a third-party host unless you self-host. The login token is saved as plain JSON in your home directory. Link passwords are hashed with a single SHA-256 pass salted by the link ID, which is fast to brute-force for short passwords. If the server cannot confirm a login token, the CLI falls back to trusting the username passed in the callback address. The whole build travels as one base64 JSON request, so large outputs hit the 10, 50 or 100 MB tier caps quickly. Password protection and week-long links need the paid Pro tier.

How to use it well

Use it for the moment you want a colleague, client or reviewer to click around a static build without setting up a hosting project: design reviews, demos, a quick check on a phone. Log in once with GitHub, since anonymous links cap at six hours and one per day. Point it at a prebuilt folder when detection guesses wrong. Give coding agents the bundled skill so they return a link after building. Look elsewhere for anything with server rendering or APIs, and self-host if build output must not leave your infrastructure.

Technical notes+

The CLI entry in src/index.ts calls detectFramework and detectPackageManager from src/detect.ts (config-file sniffing for Vite, Next.js, Astro, react-scripts for CRA, then bare dist/build/out folders), runs <pm> run build with NODE_ENV=production via src/build.ts, and src/collect.ts walks the output into a path-to-base64 map that src/upload.ts POSTs to /api/upload. A preflight call checks the daily rate limit before building and is skipped silently when offline. worker/src/index.ts holds the TIERS table, a KV counter keyed per user or per CF-Connecting-IP, rejects payloads over 1,000 files or lacking a root index page, drops any client file named like its reserved per-site metadata record, stores files in R2 under sites/<id>, and hashes passwords with SHA-256 over password plus id. worker/wrangler.toml schedules a cron every six hours. src/auth.ts stores the token in ~/.sher/auth.json via a localhost callback server with a two-minute timeout.

Observed

License
AGPL-3.0 (declared in package.json and LICENSE)
Language
TypeScript, Node CLI plus a Cloudflare Worker backend
Install
npm package shersh, providing the sher binary (npm i -g shersh or npx shersh link)
Interface
CLI with link, list, delete, login, logout, whoami, upgrade and cancel commands
Runtime dependencies
None; package.json lists only devDependencies (tsup, typescript, @types/node)
Hosting backend
Cloudflare Workers with R2 storage and KV, self-hostable per README.md and worker/wrangler.toml
Framework detection
Vite, Next.js (static export), Astro, Create React App, or any dist/build/out folder (src/detect.ts)
Tier limits
Anonymous 1 link/day, 10 MB, 6 h; GitHub login 25/day, 50 MB, 24 h; Pro 200/day, 100 MB, 168 h (worker/src/index.ts)
Upload rules
Maximum 1,000 files; an index page at the root is required
Password storage
SHA-256 of password plus link ID, Pro tier only
Agent integration
Bundled agent skill at skills/sher-deploy/SKILL.md describing how to run it and parse the URL
Project status
README badge marks the project as beta

Read from README.md, package.json, LICENSE, src/index.ts, src/api.ts, src/auth.ts, src/build.ts, src/detect.ts, src/upload.ts, src/collect.ts, worker/src/index.ts, worker/wrangler.toml, skills/sher-deploy/SKILL.md.

What it can do

  • Generate instant preview URLs for local development projects

    Local development project → Shareable preview URL

  • Create live previews for Vite projects

    Vite development server → Public preview URL

  • Create live previews for Next.js projects

    Next.js development server → Public preview URL

  • Create live previews for Astro projects

    Astro development server → Public preview URL

  • Share local development work without deployment

    Running local development server → Accessible public URL

  • Enable project sharing without GitHub repository creation

    Local project files → Shareable preview link

Tags

previewlocalhostsharingdevelopmentclivitenextjsastro

Tech Stack

Node.jsTypeScript

Media

sher

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.