1. 主要功能

  • 支持用作简单文件列表,无需数据库,无用户管理,分享等功能
  • 支持基本网盘功能,需要安装MongoDB及Redis,支持用户注册,文件分享,用户目录可设置公开访问,公共目录等功能
  • 用户可设置自己的目录是否完全公开,公开时所有人都可访问,但无法修改文件
  • 公共目录内的文件只有管理员可管理,所有人都可公开访问,但无法修改文件
  • 大文件分片上传,文件夹上传,剪切板粘贴上传图片
  • 离线下载,需要安装axel,可粘贴http/https链接进行下载
  • 批量删除、批量分享至公共空间、批量分享、批量取消分享
  • 预览功能,支持.sh .py .java .c .js .css 等代码预览,且支持代码高亮,支持.jpg .txt .pdf .md.html 等文件格式预览,支持.zip .tar.gz .tar.bz2等压缩格式预览,在可外网访问的环境下,支持.docx .xlsx .pptx等Office文件预览
  • 播放功能,支持.mp4 .flv .m3u8 等视频格式播放,支持.mp3 .wav .ogg 等音频格式播放
  • 推送功能,支持将.mobi .epub .pdf .txt等Kindle支持的文件推送至Kindle
  • 文件下载,支持文件夹压缩下载
  • 支持实时预览,可切换文件列表模式及预览模式(直接打开图片,播放音乐)
  • 支持列表及图标布局,图标布局模式下采用瀑布流加载
  • 支持切换显示树形目录
  • 支持文件搜索,若采用网盘模式时只搜索当前目录及子目录下的文件,否则搜索全部文件

2. 安装部署

确保您的Python版本>=3.6,一键安装方式如下

pip install kk    # 安装

3. 使用

在需要共享的目录下运行kk命令,该命令会返回一个网址,该网络就是网盘的入口,可以用浏览器打开。

kk                # 运行

若采用网盘模式启动,需先安装MongoDBRedis,推荐使用docker进行安装,同时设置必要的环境变量

MongoDB有密码,如用户名密码为admin/123456,则需设置环境变量MONGO_URI

export MONGO_URI=mongodb://admin:123456@localhost:27017/admin

Redis有密码,如密码为123456,则需设置环境变量REDIS_URI

export REDIS_URI=redis://:123456@localhost:6379

要发送邮件,需先设置邮件服务器相关的环境变量

export EMAIL_SENDER=
export EMAIL_SMTP=
export EMAIL_USER=
export EMAIL_PWD=

然后再以网盘模式启动

kk --auth=true

本源码使用的默认数据库名为kk,第一个注册的用户即为管理员,建议对如下字段建立索引

db.share.ensureIndex({token: 1})
db.share.ensureIndex({name: 1})
db.users.ensureIndex({id: 1}, {unique: 1})
db.users.ensureIndex({username: 1}, {unique: 1})
db.users.ensureIndex({email: 1}, {unique: 1})

其他可选参数

--auth=true   # 以网盘模式启动
--tools=true  # 显示工具箱,用于画图及制表
--root=.      # 设置根目录,默认为当前文件夹
--db=kk       # 设置数据库名称,默认为kk

4. 说明

kk服务需要一直打开,关闭kk命令,服务即停止了。

参考文献

https://github.com/zkdfbb/kk

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐