Skip to content

canwdev/file-lite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

178 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

File Lite

中文 | English

  

Web 文件管理器 · Vue 3 + TypeScript

screenshot


双后端

项目提供 两种服务端实现,共享同一套前端,可按部署场景选择其一:

Node.js 后端 (backend/) Go 后端 (backend-go/)
技术 Express.js + TypeScript,使用 Bun 开发与打包 Echo,单文件可执行程序
典型用途 npm i -g file-lite 全局安装、快速迭代与插件式扩展 资源占用低、容器 / 边缘设备单二进制分发
文档 见下文「开发」与配置说明 backend-go/README.md

前端构建:Go 镜像需先执行 frontend:build-go,将静态资源输出到 backend-go/frontend/(详见 Go 后端 README)。

  • 打包体积:单包不超过约 20MB
  • 功能
    • 文件与目录:创建、删除、重命名、移动、复制
    • 传输:批量上传、上传文件夹、下载、将文件夹打包为 ZIP 下载
    • 文本编辑器
    • 预览:图片、视频、音频;音乐播放器(播放列表、封面、歌词展示)
    • 视频:ArtPlayer.js原生 <video> 在菜单中一键切换(偏好持久化)
    • Endless Gallery:类短视频流的纵向滑动浏览,聚合当前目录下支持的图片 / 视频 / 音频,触屏与键鼠操作
    • 资源管理器:路径级布局与排序状态持久化、按扩展名设置默认打开方式等
  • 安全
    • 密码登录后签发 JWT 会话令牌
    • 控制台链接使用短时 ticket 登录参数,有效期 2 分钟;重新打印链接会生成新的 ticket
    • 支持“记住登录状态”:持久 Cookie 或浏览器会话 Cookie
    • 密码错误超次数可封禁 IP
    • 可限制允许访问的根路径范围
    • 支持 HTTPS(含自签名证书)
    • 访问频率限制

安装

# 全局安装(Windows 需要管理员权限)
npm i -g file-lite

# 运行
file-lite

# 卸载
npm uninstall -g file-lite

开发

使用 Bun 安装依赖与执行脚本;默认产物面向 Node.js 运行时(由 backend 打包并嵌入前端)。

# Node.js 后端
cd backend
bun i
bun run dev
bun run build
# 前端
cd frontend
bun i
bun run frontend:dev
bun run frontend:build
# 一键构建(后端嵌入前端)
cd backend
bun run build:auto

cd dist
node file-lite.min.mjs

配置文件

  • 配置文件路径:${cwd}/data/config.json
  • 配置类型说明:IConfig
  • 环境变量示例:.env.development
  • 使用 mkcert 生成并信任自签名证书
  • password 为空时会自动生成随机密码;如果配置文件已存在,会写回到配置文件中
  • jwtToken 是 JWT 签名密钥;如果配置文件已存在但为空,会自动生成并写回
  • 控制台不会打印 JWT 或签名密钥;请通过配置文件查看登录密码

About

Web 文件管理器 | Web file manager powered by Node.js

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors