Skip to content
canwdevPublic

About

A lightweight, multi-purpose, cross platform web file manager · Vue 3 + TypeScript + Go | 轻量级多功能跨平台Web文件管理器

Resources

Stars

4 stars

Watchers

1 watching

Forks

Latest commit

 

History

415 Commits

Folders and files

Repository files navigation

File Lite

中文 | English

File Lite

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.


File Lite

Screenshot Feature
Tabs and split view 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 and background tasks 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 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 Music player: Playlist, embedded cover art and synced lyrics.
Video player Video player: ArtPlayer or the native <video> element, switchable from the app menu, remembering the last opened file.
Previews and thumbnails 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 Text editor: Edit and save text files right in the browser.
Properties window Windows-style properties: Built-in apps support multi-window interaction and can be 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)

Installation

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.

# Linux amd64
unzip file-lite-linux_amd64-v*.zip
cd linux_amd64
./file-lite-go

The 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=a1b2c3d4

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.

Development

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

Documentation

About

A lightweight, multi-purpose, cross platform web file manager · Vue 3 + TypeScript + Go | 轻量级多功能跨平台Web文件管理器

Resources

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages