中文 | English
A lightweight, multi-purpose web file manager · Vue 3 + TypeScript + Go
This is a Vibe Coding open-source project. (Early versions were hand-written.) You’re welcome to use it and provide feedback, but stability is not promised, and the author reserves the right to rewrite it at any time.
Tabs & split view: Chrome-like tabs with a Total Commander-style multi-pane view, horizontal and vertical, where files can be dragged straight from one pane into the other.
Transfers & background tasks: Uploads and downloads, while copy, move and delete run on the server — with progress and cancel, gathered in the top-right panel.
Endless Gallery: A short-video-style vertical feed of the images, videos and audio in the current folder, with touch, wheel and keyboard navigation, and a collect list.
Music player: Playlist, embedded cover art and synced lyrics.
Video player: ArtPlayer or the native <video> element, switchable from the app menu, remembering the last opened file.
Previews & thumbnails: Image previews, video first frames (ffmpeg) and audio cover art are all generated by the server and cached in the browser.
Text editor: Edit and save text files right in the browser.
Multiple windows: Built-in apps can open several windows at once, and those windows can be stacked or minimised.
- Backend: a single Go (Echo) server, shipped as one static binary with the UI embedded
- Bundle size: about 10MB
- Features
- Tabs and split view, list or grid, favourites and drives
- Network shares and WSL distributions in the sidebar
- Create, rename, copy, move and delete; drag-and-drop upload and download, including a folder as a ZIP
- Compress and extract with 7-Zip when it is installed, including a password and a choice of archive type (7-Zip)
- Image, video and music preview, and a text editor
- Endless Gallery: a vertical feed of the current folder
- Light, dark and system themes
- Plugins (prebuilt plugins)
- Security
- Password or Ticket login
- Optional IP allowlist (IP allowlist)
- HTTPS, including a self-signed certificate (HTTPS)
Download the archive for your platform from GitHub Releases, unzip it and run the binary.
On Windows, unzip the archive and double-click file-lite-go.exe. The x64 and x86 (32-bit) archives run on Windows 7 or later; the ARM64 archive requires Windows 10 or later.
# Linux amd64
unzip file-lite-linux_amd64-v*.zip
cd linux_amd64
./file-lite-goThe console prints a ready-to-open URL, and the first run needs no password — the ticket in that link is the credential:
Listening on: 0.0.0.0:3111
http://192.168.1.10:3111?ticket=a1b2c3d4e5
Settings live in <cwd>/file-lite/config.json. The login password is the password field; if it is empty, one is generated and saved. The console does not print it.
Use Bun for the frontend and Go 1.20+ for the backend.
# Backend: hot-reload dev server on port 3111
cd backend-go
bun i
bun run dev# Frontend: Vite dev server on port 3110, proxies /api to the backend
cd frontend
bun i
bun run dev# Package the current platform: builds the frontend, the Go binary and the release zip
cd backend-go
bun run build






