Skip to content
canwdevPublic

About

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

Resources

Stars

7 stars

Watchers

1 watching

Forks

Latest commit

 

History

465 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

Screenshots

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.

Tabs and split view

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.

Transfers and background tasks

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.

Endless Gallery

Music player: Playlist, embedded cover art and synced lyrics.

Music player

Video player: ArtPlayer or the native <video> element, switchable from the app menu, remembering the last opened file.

Video player

Previews & thumbnails: Image previews, video first frames (ffmpeg) and audio cover art are all generated by the server and cached in the browser.

Previews and thumbnails

Text editor: Edit and save text files right in the browser.

Text editor

Multiple windows: Built-in apps can open several windows at once, and those windows can be stacked or minimised.

Multiple windows

  • 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. 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-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=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.

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

7 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages