Git Product home page Git Product logo

zfile's Introduction

ZFile

基于 Java 的在线网盘程序,支持对接 S3、OneDrive、SharePoint、又拍云、本地存储、FTP、SFTP 等存储源,支持在线浏览图片、播放音视频,文本文件等文件类型。

license codady last commit downloads release commit activity
issues closed issues forks stars watchers

相关地址

预览地址: https://zfile.vip

文档地址: https://docs.zfile.vip

社区地址: https://bbs.zfile.vip

项目源码: https://github.com/zhaojun1998/zfile

前端源码: https://github.com/zhaojun1998/zfile-vue

系统特色

  • 支持文件操作:上传, 删除, 重命名, 新建文件夹. 后续还会支持移动和复制文件(详见下方后续计划).
  • 操作系统级的文件操作体验
    1. 支持拖拽上传和 Ctrl + V 粘贴上传文件和文件夹
    2. 支持 Ctrl + A 全选文件, 按 Esc 取消全选.
    3. 支持拖拽批量选择文件
    4. 支持按住 Shift 多选文件
    5. 支持多选文件后按 Delete 键删除文件.
    6. 按 Backspace 返回上级文件夹.
  • 全新的 UI 风格, 更简洁易用.
  • 支持给文件生成直链(短链,永久直链,二维码)
  • 视频播放器支持调用本地软件进行下载,如迅雷、Motrix. 支持调用本地播放器播放,更好的进行视频解码: PotPlayer, IINA, VLC, nPlayer, MXPlayer(Free/Pro)
  • 全新画廊模式, 支持按照瀑布流显示图片, 支持自定义 N 栏, 自定义每栏的间距
  • 支持给文件夹配置 markdown 文档, 并配置显示方式, 如顶部、底部、弹窗
  • 支持给文件夹设置密码
  • 支持隐藏文件或文件夹
  • 后台登录支持设置图片验证码和 2FA 身份认证,防止后台被暴力破解
  • 支持自定义文件格式后缀, 避免系统内置的不完善导致文件无法预览.
  • Docker 支持
  • 自定义 JS, CSS
  • 同时挂载多个存储策略
  • 支持 S3 协议, 阿里云 OSS, FTP, SFTP, 华为云 OBS, 本地存储, MINIO, OneDrive 国际/家庭/个人版/世纪互联版/SharePoint, , 七牛云 KODO, 腾讯云 COS, 又拍云 USS.

快速开始

普通安装 (点击展开) 安装依赖环境:
# CentOS系统
yum install -y java-1.8.0-openjdk unzip
# Debian 9 / Ubuntu 14+
apt update
apt install -y openjdk-8-jre-headless unzip
# Debian 10 (Buster) 系统
apt update && apt install -y apt-transport-https software-properties-common ca-certificates dirmngr gnupg
wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | apt-key add -
add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/
apt update && apt install -y adoptopenjdk-8-hotspot-jre

下载项目:

export ZFILE_INSTALL_PATH=~/zfile
mkdir -p $ZFILE_INSTALL_PATH && cd $ZFILE_INSTALL_PATH
wget https://c.jun6.net/ZFILE/zfile-release.war
unzip zfile-release.war && rm -rf zfile-release.war
chmod +x $ZFILE_INSTALL_PATH/bin/*.sh

启动项目:

 ~/zfile/bin/start.sh

Docker (点击展开)
docker run -d --name=zfile --restart=always \
    -p 8080:8080 \
    -v /root/zfile/db:/root/.zfile-v4/db \
    -v /root/zfile/logs:/root/.zfile-v4/logs \
    zhaojun1998/zfile

如需映射配置文件则需要先在宿主机下载配置文件,然后映射到容器内:

# 下载到 application.properties 文件到 /root 目录下, 此目录可自行更改, 如:
curl -o /root/application.properties https://c.jun6.net/ZFILE/application.properties

# 然后增加一个 -v 参数,将此源文件映射到容器内(如修改宿主机的 application.properties 为其他路径, 则下面命令也要一起修改),如:
docker run -d --name=zfile --restart=always \
    -p 8080:8080 \
    -v /root/zfile/db:/root/.zfile-v4/db \
    -v /root/zfile/logs:/root/.zfile-v4/logs \
    -v /root/application.properties:/root/application.properties \
    zhaojun1998/zfile

Docker Compose (点击展开)
version: '3.3'
services:
    zfile:
        container_name: zfile
        restart: always
        ports:
            - '8080:8080'
        volumes:
            - '/root/zfile/db:/root/.zfile-v4/db'
            - '/root/zfile/logs:/root/.zfile-v4/logs'
        image: zhaojun1998/zfile

如需映射配置文件则需要先在宿主机下载配置文件,然后映射到容器内:

下载到 application.properties 文件到 /root 目录下, 此目录可自行更改, 命令如:

curl -o /root/application.properties https://c.jun6.net/ZFILE/application.properties

然后增加一个 -v 参数,将此源文件映射到容器内(如修改宿主机的 application.properties 为其他路径, 则下面命令也要一起修改), 如:

version: '3.3'
services:
    zfile:
        container_name: zfile
        restart: always
        ports:
            - '8080:8080'
        volumes:
            - '/root/zfile/db:/root/.zfile-v4/db'
            - '/root/zfile/logs:/root/.zfile-v4/logs'
            - '/root/application.properties:/root/application.properties'
        image: zhaojun1998/zfile

篇幅有限, 更详细的安装教程及介绍请参考: ZFile 文档

预览

前台首页 前台设置 图片预览 视频预览 文本预览 音频预览 管理登录 后台设置-站点设置 后台设置-驱动器列表 后台设置-新增驱动器

支持作者

如果本项目对你有帮助,请作者喝杯咖啡吧。

赞助我

Stargazers over time

starcharts stargazers over time

开发工具赞助

zfile's People

Contributors

zhaojun1998 avatar quericy avatar pippen00 avatar tianyanli avatar wswm152 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.