Coder Social home page Coder Social logo

kohgylw / kiftd Goto Github PK

View Code? Open in Web Editor NEW
1.9K 61.0 404.0 750.04 MB

sky driver & cloud driver open source server application : kiftd . welcome to the home page: https://kohgylw.github.io/ to quick start——kiftd是一款专门面向个人、团队和小型组织的私有网盘系统。轻量、开源、完善。无论是在家庭、学校还是在办公室,您都能立刻开始使用它!了解更多请访问官方网站:

Home Page: https://kohgylw.github.io/

CSS 5.83% JavaScript 90.68% HTML 3.50%
sky-driver cloud-driver open-source java

kiftd's People

Contributors

kohgylw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kiftd's Issues

文件导入过大失败后无法删除

本地环境:
Windows 10 1903 企业版 3700x 平台。
JAVA: jdk-8u211-windows-x64
用kiftd-1.0.19-RELEASE.jar开启服务后,点击文件,导入一个14.7GB的zip压缩包。一段时间后,提示失败,页面刷新无文件,点击删除,提示:删除文件失败,该操作已被中断,未能全部删除。然后就没然后了。

欢迎提供问题!

如果你在使用中遇到了无法想象的BUG,请立即在这里提交。我会尽快将其妥善解决,这些问题是您对kiftd最大的支持。

一些个人需求

你好,最近了解到这个作品 -- kiftd ,确实是非常优秀的作品。而且还是 开放所有权限的,这样就算我有一些特殊的需求,也能够自己修改定制。对于我个人来讲有如下的一些需求:
1.简化界面,个人不是太喜欢极客感很强的界面。这个我做了一部分,网页端还没有做。
image
2. 我希望它可以直接共享的我的文件夹, 而不是一定要复制一份到自带的“仓库”。比如我希望把我的一个20G电影共享出去,可以在手机和平板上播放。 也就是说我可以直接把文件拖到特定的 共享文件夹 进行共享,而不是一定要走一个上传复制的步骤。
当我试图修改源码实现的时候,发现这个系统整个设计逻辑 是把 文件的 各种信息包括路径信息 映射存储起来,如果要修改成我要的功能,工作量有点大。
不知道有多少人有和我有一样的需求。

部署时报错

按要求运行
环境:
debian8
java version "1.8.0_201"
java -jar kiftd-1.0.17-RELEASE.jar
命令行输出如下:

Exception in thread "Thread-8" java.lang.NullPointerException
        at kohgylw.kiftd.ui.module.ServerUIModule.lambda$updateServerStatus$4(ServerUIModule.java:423)
        at java.lang.Thread.run(Thread.java:748)
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
        at kohgylw.kiftd.ui.module.ServerUIModule$5.actionPerformed(ServerUIModule.java:266)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
        at java.awt.Component.processMouseEvent(Component.java:6539)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
        at java.awt.Component.processEvent(Component.java:6304)
        at java.awt.Container.processEvent(Container.java:2239)
        at java.awt.Component.dispatchEventImpl(Component.java:4889)
        at java.awt.Container.dispatchEventImpl(Container.java:2297)
        at java.awt.Component.dispatchEvent(Component.java:4711)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
        at java.awt.Container.dispatchEventImpl(Container.java:2283)
        at java.awt.Window.dispatchEventImpl(Window.java:2746)
        at java.awt.Component.dispatchEvent(Component.java:4711)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
        at java.awt.EventQueue.access$500(EventQueue.java:97)
        at java.awt.EventQueue$3.run(EventQueue.java:709)
        at java.awt.EventQueue$3.run(EventQueue.java:703)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
        at java.awt.EventQueue$4.run(EventQueue.java:733)
        at java.awt.EventQueue$4.run(EventQueue.java:731)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

启用MySQL

启用MySQL时,每次启动会在数据库自动建表,请问是怎么建表的呢

试用后的一些建议

先给你点个赞,很方便的系统
有几个疑问:

  1. 如果文件过多,这样全部放在一个文件夹下,会不会超过系统限制?
  2. 不太清楚,文件名中的hash是文件的hash么,有考虑做个小工具,将这些文件按照数据库中的目录结构重命名,方便所有文件的备份导出?
  3. 数据库有考虑做个备份么,避免数据库出现问题,导致文件目录丢失,无法恢复?

运行不了呀

root@vultr:/kiftd# ls -l
total 34128
-rw-r--r-- 1 root root 8856 Apr 26 04:42 README.md
drwxr-xr-x 2 root root 4096 Apr 26 04:42 conf
drwxr-xr-x 3 root root 4096 Apr 26 04:42 filesystem
drwxr-xr-x 2 root root 4096 Apr 26 04:42 fonts
-rw-r--r-- 1 root root 231453 Apr 26 04:42 kiftd-1.0.18-RELEASE.jar
-rw-r--r-- 1 root root 34666399 Apr 26 04:42 kiftd????????????.pdf
drwxr-xr-x 2 root root 4096 Apr 26 04:42 libs
drwxr-xr-x 2 root root 4096 Apr 26 04:42 logs
drwxr-xr-x 3 root root 4096 Apr 26 04:42 mybatisResource
drwxr-xr-x 8 root root 4096 Apr 26 04:42 webContext
-rw-r--r-- 1 root root 1100 Apr 26 04:42 ????????????
root@vultr:
/kiftd# pwd
/root/kiftd
root@vultr:/kiftd# java kiftd-1*
Error: Could not find or load main class kiftd-1.0.18-RELEASE.jar
root@vultr:
/kiftd#

OpenOffice

作者你好,我也是最近想到自己在VPS上搭建个人云盘在各地方都可以读存资料,无意中查到你的作品,很感兴趣,图片 视频 pdf都没问题了,或许可以将OpenOffice加入进去实现在线预览word excel ppt?

中文名乱码

我在macos下下载有中文名的文档,下载之后文件名都是乱码

下载文件名称不正确

创建文件下载任务时,任务名称为downloadFile.do,与源文件不符

但如果使用下载链接+创建下载任务时,则不存在此问题

本人使用的时安卓设备,web访问时出现,复现概率:100%

kiftd通过代理访问时跳转到127.0.0.1

kiftd用Caddy做代理通过域名进行访问时网址会跳到127.0.0.1上去
如果将kiftd设置在域名的某个目录下,如xxx.com/abc 只能访问到xxx.com/home.html
image
image

建议:两个关于用户登录界面的建议

应用版本:1.0.16-RELEASE

首先感谢作者开源如此实用的软件!以下是两点关于登录界面的优化建议:

  1. 请不要提供过于详细的登录错误提示信息
    当输入了不存在的账户,页面会提示"账户不存在或未设置",当输入了正确的账户和密码的错误时,页面会提示密码错误或未设置。这样的信息过于详细,是不安全的。这样会让攻击网站的人更容易遍历出用户名和密码。

  2. 建议添加图片验证码
    同样的原因,现阶段登录没有验证码,只需在浏览器控制台执行个简单的脚本,虽然会花点时间,但也是可以暴力破解出用户名和密码的。破解成本很低。
    希望能添加个简单的图片验证码,增加一些破解成本。

Thanks!

请问支持多站点吗?

可以多站点吗?一台服务器上两个网站,部署这个后会影响其他网站的访问吗?

小屏幕能支持搜索吗

在手机端或者将浏览器缩小,搜索栏会被适配得不见了,把那个form提出来感觉有点突兀,有什么快速调节的方法吗

下载程序解压后,运行失败

1、从github下载项目解压后,点击.jar包运行出现提示:A Java Exception has occurred。
2、路径中无中文,且所需java环境已经配置正确。
谢谢。

建议强强联手,整合kkfileview处理文件预览

https://gitee.com/kekingcn/file-online-preview

项目特性
支持word excel ppt,pdf等办公文档
支持txt,java,php,py,md,js,css等所有纯文本
支持zip,rar,jar,tar,gzip等压缩包
支持jpg,jpeg,png,gif等图片预览(翻转,缩放,镜像)
支持mp3,mp4,flv等多媒体文件预览
使用spring boot开发,预览服务搭建部署非常简便
rest接口提供服务,跨平台特性(java,php,python,go,php,....)都支持,应用接入简单方便
支持普通http/https文件下载url、http/https文件下载流url、ftp下载url等多种预览源
提供zip,tar.gz发行包,提供一键启动脚本和丰富的配置项,方便部署使用
提供Docker镜像发行包,方便在容器环境部署
抽象预览服务接口,方便二次开发,非常方便添加其他类型文件预览支持
最最重要Apache协议开源,代码pull下来想干嘛就干嘛

希望作者处理同名文件上传中存在的漏洞

目前对于同名文件的上传,有一个“覆盖”选项,这实际上是变相给出了“删除”选项,因为只要用同名空文件覆盖就好了(亲测有效),不利于数据的安全保存。
希望作者可以处理这个漏洞

长时间上传和下载会导致用户退出登录

版本1.0.18,系统 win server 2019 DataCenter.
长时间下载或者播放有的时候会断流。
上传,明明没有结束,但用户自动超时退出。
希望能够设置登录超时时间或者判断用户是否在操作。

使用 Github Releases 发布新版本

目前编译的 jar 是直接放在仓库里。建议使用 tagging 和 Github Releases 管理和发布新版本。

https://help.github.com/articles/creating-releases/
中文:https://github.com/waylau/github-help/blob/master/Creating%20Releases%20创建发布包.md

未来推荐对开源项目免费的 TravisCI 进行自动化编译和 Release 发版。https://www.jianshu.com/p/807f8c989679

发布后将会出现在这里:https://github.com/KOHGYLW/kiftd/releases

大文件上传失败

上传比较大的文件时,虽然进度条已满,却一直显示“正在上传”,等待十几分钟后关掉上传界面,文件也并没有出现在目录中。

如下图所示,我上传了kiftd的源码(81.4m),一直卡在这个界面

image

导入文件功能

自定义了文件目录,但是还是需要使用导入文件,但是导入文件好像就是复制文件到文件目录,如果我有2T视频文件,那不就又要复制2T文件,硬盘就需要至少4T才行了。不能像windows一样的共享目录一样吗,把文件放在文件夹共享就行了?

添加 Dockerfile 及 DockerHub 容器自动编译

感谢开源发布 kiftd。
建议可以发出官方版的 Dockerfile 并配置 DockerHub 自动发布新版本镜像。这样可以不用担心系统环境,更方便快速地运行和升级 kiftd。

搜索

能不能加一个全局搜索的功能呢

下载目录,其中文件缺失

通过Shift+A 选择目录,下载后发现目录中的文件缺失。
比如目录A有:目录1,目录2,文件1,文件2 。
下载解压后发现只有目录1和目录2,文件1和文件2缺失。

XSS vulnerability found via <iframe> tag when upload file

create a file named with "<iframe src=javascript:alert(4)>.jpg", and upload this file. After that, every user with read permission will be affected.
上传一个命名为"<iframe src=javascript:alert(4)>.jpg"的文档,所有有read权限的使用者都会受影响

image
image

外链能保持一直有效吗?

分享的外链能保持一直有效吗?因为特殊需要外链需要保持一直有效。
现在的方式是重启kiftd后 外链下载就自动失效了。

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.