A modern, full-stack file list & cloud drive manager
A full-stack TypeScript fork of OpenList — a lightweight Node.js (Hono) backend
replaces the original Go binary, so deployment is lighter and startup is faster.
NextList mounts local folders, cloud drives and WebDAV servers into one modern web UI, with browsing, previewing, upload/download, sharing and an admin panel out of the box.
- Full-stack TypeScript — SolidJS frontend + Hono backend share one language and types; no Go toolchain required
- Edge-first — the backend relies only on Web standard APIs (
fetch/Web Crypto/ReadableStream); the same code runs on Cloudflare Workers, Tencent EdgeOne, Alibaba ESA, Vercel, AWS Lambda and Node containers - 60+ storage drivers — a unified
StorageDriverinterface covers domestic & international drives, object storage, self-hosted services and code hosting - Zero database — everything persists to Cloudflare KV (edge) or a JSON file (
public_data/db.json, container)
Note
NextList is a fork / re-implementation of OpenList. The frontend experience is preserved; the backend and storage-driver layer are rewritten.
- Browsing & preview — list / grid views, search, sorting, paging, folder tree; PDF, Markdown (math / Mermaid), Monaco code, Office (docx / pptx / xlsx), image gallery, video / audio (subtitles / HLS)
- File management — upload, download, mkdir, rename, move, copy, batch rename, ZIP package download (streamed in the browser)
- Sharing — links with password / expiry, share browsing
/@s/, direct share download/sd/ - Download acceleration — direct links, HTTP Range resume, proxy download
/d/p - Accounts & security — JWT auth, users, protected routes, 2FA (TOTP), audit-ready admin panel
- Plugin system — ZIP / URL install, visual config, OpenListNext-compatible plugin format
- AI integration — built-in MCP server at
/api/mcp(Streamable HTTP + SSE) - WebDAV — full RFC 4918 Class 1/2 server at
/dav - Backup & restore — JSON export / import (OpenList-compatible)
See the documentation site for the full feature set.
| Platform | How | Guide |
|---|---|---|
| Cloudflare Workers ⭐ | pnpm deploy (auto-creates KV) |
Deploy to Cloudflare Workers |
| Tencent EdgeOne | Import the repo in the Makers console | Deploy to EdgeOne |
| Alibaba Cloud ESA | Edge Routine + remote KV | Deploy to ESA |
| Vercel | Platform import (api/[...route].ts) |
— |
| AWS Lambda | pnpm sls:deploy |
— |
| Node container | Build + self-host via @hono/node-server |
— |
Requirements: Node.js ≥ 20.19 (22 LTS recommended) and pnpm 9+.
git clone https://github.com/Mcchen1008/NextList.git
cd NextList
pnpm install
pnpm dev # Vite + Hono dev server → http://localhost:3000Deploy to Cloudflare Workers with one command:
pnpm deploy # detects / creates NEXTLIST_KV, builds, wrangler deployDefault admin account: admin / admin — change the password immediately after the first login.
| Variable | Default | Description |
|---|---|---|
VITE_API_URL |
/api |
Backend API base URL used by the frontend |
ADMIN_USERNAME |
admin |
Initial admin username |
ADMIN_PASSWORD |
admin |
Initial admin password |
DATABASE_JSON |
— | Optional: inject JSON database state directly |
See Environment Variables & Bindings for the complete list.
This repo ships a Sync with Upstream workflow (.github/workflows/sync_upstream.yml). After forking, run it from the Actions tab to merge the latest upstream code into your fork (method: merge or rebase). Resolve conflicts manually if the workflow fails.
Full documentation lives at nextlist-web.pages.dev:
- Quick Start
- Deploy to Cloudflare Workers / EdgeOne / ESA
- Add Storage (driver credentials)
- REST API Reference · MCP Integration
- FAQ · OpenList Compatibility
| Project | Description | Link |
|---|---|---|
| OpenListNext | JS/TS upstream kernel (Serverless rewrite of OpenList), plugin-compatible | https://github.com/Polonium-salts/openlistnext |
| OpenList | Upstream original (Go backend) | https://github.com/OpenListTeam/OpenList |
| AList | Predecessor of OpenList | https://github.com/alist-org/alist |
| OpenList API | Token helper service for some drivers | https://api.oplist.org/ |
