KOHGYLW/kiftd

对kiftd的一些建议

Opened this issue · 58 comments

1.如果能支持WebDAV,就能在Windows资源管理器/macOS访达中直接管理文件,甚至能在电视机上直接播放网盘中的电影和音乐。
2.离线下载有高速、稳定、省时等优点。不仅节省时间,还不会占用自己电脑的带宽。希望能支持http(s)ed2kmagnet链接、BT种子离线下载,最好能通过百度网盘分享链接将文件保存到kiftd中。
3.希望能支持在线查看并编辑WordPowerPointExcel文档。据我所知,实现这一功能可以先在服务器上部署Office Online Server(Office联机服务器),然后再通过Java调用Office Online Server来实现。
不过,根据微软官方的文档,Office Online Server仅支持64 位版本的 Windows Server 2012 R264 位版本的 Windows Server 2016有图形界面的版本,并且对内存的要求比较高。因此,我建议可以把这项功能作为可选功能。
4.希望能支持视频倍速播放。
希望我都建议能对你有帮助!

非常感谢您的宝贵建议!您的建议已经仔细阅读并记录,它们将作为未来升级的重要参考建议。再次感谢您的反馈,这是kiftd不断进步的最佳动力!

还有个建议:上传文件时显示上传速度

您好,建议已收到。这个建议之前被其他用户提出过,但从实际体验来看,此设计会让使用者感觉更加“焦急”(如果用户在意上传速度的话,那么说明上传速度应该不理想。而上传速度一般是实时变化的,普通用户习惯以最大速度作为标准预估上传时间,但实际情况往往要更慢一些,所以才会产生这种感受),同时也很难找出一个能让上传速度显示得足够美观的设计,因此最终该设计并未能落实。目前决定仍维持原设计。

希望能支持在线解压缩包(zip,rar,7z),这样就无需下载压缩包就能预览其中的文件。如果文件体积比较庞大,就能节约下载文件所需的时间,更加高效。

这个功能确实很有用,它也是研究列表中的重要构想之一。未来如果有可行方案会尝试加入这一功能。

1.建议完善搜索功能

1.搜索包含于子目录中的文件
2.搜索特定格式的文件(docx,pptx,xlsx,mp4,mp3,wav...)
3.通过修改日期来查找文件
4.通过文件的大小来查找文件

2.希望kiftd能将文件自动分类(类似于百度网盘的“分类”)

3.希望kiftd能接入云存储(百度网盘坚果云OneDriveGoogle Drive阿里云OSS七牛云又拍云

4.希望能加密文件夹,输入密码后查看

您的新建议已经收到,在此为您逐一回复:
1、2、4建议已经记录,它们将被作为后续升级的重要参考。
3建议之前被其他用户提到过,但经过研究,认为该功能并非kiftd的设计初衷,同时已经有很多成熟的软件具备类似的功能,kiftd与之相比并不具备优势,因此目前暂无此计划。

只有MP4的音乐格式可以直接播放其他类mp4视频(比如说.m4v)就必须改后缀名才能播放

@jerryyangboyu 是的。实际上,能否播放并不是取决于后缀,而是取决于视频的编码格式,只要是AVC H.264格式的视频,那么无论其后缀名为何(例如.mov),改为.mp4后都可以在大多数浏览器上播放。kiftd是出于对大多数浏览器的适配考虑,因此目前只允许mp4后缀的文件打开播放器。如果您确认您的视频格式是AVC H.264格式编码,那么确实可以通过修改其文件后缀名的方式进行在线播放,这一点也是官方支持的做法。

@KOHGYLW

功能建议

1.支持在线预览doc文档
2.在线放映PPT

支持作者!

预览doc格式文档的功能目前还在研究当中。
目前,PPT是可以在线放映的,您只需先打开一个PPT的预览:
image
再点击预览页面右上方的“全屏”按钮:
image
这样就能像PPT放映那样展示它了(单击即可换页):
image
按“Esc”键即可以退出播放。欢迎体验!

1.目录的底部显示文件夹和文件的个数
像这样:

2.能自定义操作系统的名称
比如OS:Raspbian Buster
3.我有个需求可能比较特殊:我在两台主机中部署了kiftd网盘系统,希望两个kiftd网盘系统中的文件能保持同步,能否实现?

还有个问题想问一下:kiftd是否支持前后端分离?
比如我想把kiftd的前端部署在GitHub/Gitee Pages上,后端部署在一台服务器上,这样能否实现?

@hmsjy2017 问题已收到,在此为您逐一解答:
1,如需查看文件和文件夹个数,不妨通过文件夹信息窗口查看,如图所示:
image
2,操作系统的名称是由程序自动获取的,目的在于告知使用者该网盘运行在何种操作系统上,以便令其能够正确处理某些操作系统差异(例如有些较旧的操作系统可能不支持存储大文件),这一项不应该自由修改。
3,暂时无法实现。目前每个kiftd都是作为独立的服务器运行,无法与其他kiftd组成分布式系统。不过,这一功能是未来的研究方向之一。
4,虽然可以,但是会比较麻烦。您可能需要根据您的部署方式,修改webContext文件夹内所有html文件的<base>标签,令其指向您运行kiftd的计算机IP或域名上(例如,原base标签值为“ / ”,如果您的kiftd运行于“ http://foo:bar/ ”上,那么它也应该改为“ http://foo:bar/ ”),之后再将webContext文件夹拷贝出来作为单独的前端部署。
以上,希望能够帮助到您!

感谢回答!我还希望支持OAuth2第三方登录,比如我想用GitHub来登录网盘

@hmsjy2017 该建议已经记录,将作为未来升级的参考建议。

@hmsjy2017 关于前后端分离的补充说明:经过深入考虑,仅修改<base>标签可能是不行的,因为页面上除了要向服务器发送请求外,还需要向其他页面进行跳转,在前后端分离的环境下它们不在一个路径上,因此也就无法通过base标签统一定义了。如果您有该需求,官方推荐的做法是自行修改webContext前端资源(html/js)里的请求路径规则,并将服务器请求和页面跳转请求分开处理,从而实现前后端分离的需要。

具体如何操作?

@hmsjy2017 具体来说,应该对前端页面涉及到的【所有连接请求】单独处理——即将发往页面资源(包括js/css/图片文件等)请求的前缀保持不变,将发往服务器请求的前缀改为部署kiftd的主机前缀。例如,登录页面跳转原URL为“ home.html ”,这个就不需要改动;而发往服务器的登录验证请求“ homeContoller/doLogin.ajax ”就需要改为“ http://分离后的后端主机:kiftd端口号/homeContoller/doLogin.ajax ”。此操作需要对kiftd的前端页面逻辑具备一定的理解,因此您在修改前应先研究kiftd前端页面的逻辑再进行操作,并在修改后进行严格的测试以确保其正确有效。

两个建议

1.用户注册需填写邮箱或手机号,可用于找回密码(可自定义SMTP发信服务器或短信平台)

2.增加后台管理功能,管理员可在线管理其他用户(创建、删除用户;设置用户权限;设置用户组)

两个问题

1.我按照你给的教程配置了HTTPS,用的是443端口。重启浏览器后,我用HTTPS协议访问服务器时出现以下字样:

无法访问此网站

xx.xx.xx.xx 拒绝了我们的连接请求。

(注:xx.xx.xx.xx为IP地址)

2.上传大文件(3.66G)会中断(见下图)

@hmsjy2017 您的反馈已收到,在此为您逐一解答:
建议1:该建议比较定制化,类似的建议还有通过QQ、微信、企业工号等等第三方账户登入及注册,这些建议并不是大多数用户的共同需求,如果均加入便会导致kiftd的体积变得越来越庞大,令软件变得更加笨重,因此不适合加入到kiftd的发行版中。官方鼓励您对kiftd的源代码进行重构来实现类似的定制化需求,这也是kiftd开源的目的所在。
建议2:该建议已被较多用户提及,目前仍在研究之中。
问题1:该问题可能是由于操作系统的防火墙未允许相应端口出入站导致的,您需要将https端口加入到防火墙的放行规则之中,以确保外部访问能够顺利通过。
问题2:如果您在kiftd中并未设置上传文件体积限制的话,那么该问题可能是由于您的网络环境中存在上传文件体积限制而导致的。比较常见的一种情况是在使用反向代理时,反向代理服务器本身存在默认的上传文件最大体积限制(请求长度限制)。您可以检查相应的设置,以确保大文件能够被顺利发送至kiftd服务器端而不会被网络环境本身阻止。

关于HTTPS访问:我已经在服务器面板里放行了HTTPS访问用的443端口,仍然不能通过HTTPS访问。
关于第三方登录:我觉得可以通过插件的形式来添加第三方登录、邮箱账号/手机号注册的功能,这样能有效避免kiftd体积越来越庞大。

@hmsjy2017 关于HTTPS设置的问题:基于这种情况,官方也难以直接判断其原因,为了能够进一步查找问题所在,请提供一下您的HTTPS设置相关截图,期待您的进一步反馈。
关于第三方登录的建议:目前,kiftd的项目规模比较小(主程序只有326KB),因此实现一套标准的插件接口的工作量可能比实现完整的第三方登录功能还要大。好在,目前kiftd的功能足够简单,对其进行重构并不复杂,大多数开发者都能轻松阅读kiftd的源代码并直接在上面添加新功能。因此,官方依旧鼓励使用者根据自己的需求对其进行二次开发从而实现定制化的功能。

image
配置文件如图

证书文件在kiftd主目录内

@hmsjy2017 您好,从您提供的配置上看,它应该也是没有问题的。您在配置完成后是否重启了应用(而非仅是重启服务器)以令其生效?若无,请尝试重启kiftd应用来加载最新配置。
关于手机没有搜索栏的问题:手机屏幕太小以至于确实放不下搜索栏了,所以就未显示。未来还会寻找优化的方法。

@KOHGYLW 不仅重启了kiftd,还重启了浏览器,甚至换了一台设备都不行

还有两个建议,提一下

1.验证码支持难度调节

kiftd的验证码难度太大了,我换了十几个才看出来...

2.加入文件同步功能

我希望可以通过一个脚本来和kiftd同步本地文件夹内的文件

@hmsjy2017 该问题比较特殊。如果不开启https协议是否能正常访问?开启之后本机是仅无法使用https协议访问还是http及https协议均无法访问?

@hmsjy2017
您的建议已阅读,在此为您回复:
1,kiftd已经具备了验证码的难度调节(或者关闭)功能,以便用户根据需求进行设置。调节方法可以参阅《kiftd说明文档》中的【设置登录验证码类型(或关闭登录验证码)】(p35)一节。
2,关于自动同步客户端上和服务器上的文件的需求已被很多用户提出过,但遗憾的是,限于目前的技术条件这一功能还难以变为现实。通过脚本实现此目的目前是可以的,但是需要您掌握kiftd的请求API,难度较大,且官方也未做过类似的尝试,因此难以给出有效的参考建议。该功能的可行性未来会作为一个研究方向进行研究。

@KOHGYLW 不开启https能正常访问。开启后仅https无法访问,http协议仍能正常访问。

PS:关于手机版式搜索栏的问题。
个人认为可以在“刷新”按钮右侧增加“搜索”按钮,如图所示。点击搜索按钮弹出搜索框进行搜索。
Snipaste_2020-02-22_11-53-38

@hmsjy2017 问题的原因可能找到了——应该是https设置没有生效。因为如果https设置能够正常生效的话,那么kiftd就不会再提供普通的http协议访问服务了。请您检查https.enable设置是否有误,尤其是设置前后不可有多余的空格,必须是严格的“https.enable=true”而非“ https.enable=true”或“https.enable=true ”等设置。
关于您提出的搜索功能排版建议:这一设计之前也是考虑过的,但是测试时发现在用户名较长的时候,这一布局可能会导致此行的挤占问题加重,使得页面更容易凌乱(在大多数用户名不超过7个时,3个按钮已经是最多容纳空间了)。更好的布局有待未来继续研究。

@KOHGYLW 我确认了多次,没有找到错误,仍然无法用https访问

我发现kiftd删除账号以后,在短时间内该账号仍可使用。比如说有一个用户名为test的账号,我在配置文件中把这个账号删除,并保存。刷新一下网页,这个账号没有退出。

@hmsjy2017
关于https无法访问:目前可以确认您的kiftd未能启用https支持设置,导致该问题的原因只有两种:1,https的启用设置有误;2,程序未能加载最新的配置。建议您再次检查上述两种可能。特别提示:如果您在后台还开启了另一个kiftd,那么也要注意该设置是否对其生效。
关于删除用户:在您删除用户后,系统并不会注销该用户,其用户信息会缓存至其主动注销或会话超时或服务器引擎重启。当然,账户的权限在被删除后是立即失效的。

希望能支持SVG矢量图预览,同时优化iPad竖屏时的登录界面
image

@hmsjy2017 建议已经收到,将作为未来优化的重要参考。

我觉得可以用Electron做成全平台同步客户端,方便与kiftd同步文件。

@hmsjy2017 建议已收到。增加本地客户端支持功能是kiftd未来的研究方向之一,目前综合各种考虑,暂定使用WebDAV协议实现通用客户端的接入——大多数主流操作系统均支持该协议的接入,操作方便。其他客户端计划则需要后续进一步研究。

建议加入回收站功能,防止误删文件

@hmsjy2017 您的建议已收到。“回收站”/“废纸篓”功能在之前已被其他用户提出过,但考虑到:1,实现难度大;2,增加用户的操作成本;3,在Unix类系统的文件管理功能中无类似功能;4,避免误删的根本还是在于养成良好的删除习惯并正确对待删除操作;因此该功能的计划已被否决。未来是否重新考虑加入还有待进一步研究。

还有个问题:Linux怎么以图形界面运行kiftd服务器控制台?

@hmsjy2017 您在使用终端执行命令启动时,可以不添加任何启动参数直接启动,从而以图形界面模式启动kiftd。该操作示例可以参考以下博客:
https://blog.csdn.net/qq_25670227/article/details/103840149
中的【3,部署kiftd服务器】->【如果你的Linux上安装了图形界面:】部分,过程十分简单(当然,需要系统本身具备图形界面)。
以上。

明白了。这里我还有一些建议,如下:

一、可以完善存储空间策略

  • 1.限制指定用户或用户组可用的最大容量
  • 2.注册后默认分配指定的容量
  • 3.配置限额后显示剩余容量

二、完善用户权限与安全设置

  • 1.加密文件夹,输入密码才能访问
  • 2.支持两步验证

三、其他

  • 1.支持PWA
  • 2.可以更改主题(比如换成MDUI)
  • 3.加入夜间模式
  • 4.加入复制文件(夹)功能

@hmsjy2017 建议已收到:
一:这一建议之前被其他用户提出过。基于目前的kiftd的底层文件管理机制,实现起来比较复杂,因此该计划暂被搁置,有待未来再做研究。
二:建议已记录,将作为后续升级的参考。
三:
1,已记录,有待研究。
2,同3。
3,很有趣的设计,未来或会研究。
4,已在计划中,未来会实现。

建议支持Markdown文件预览和编辑

@hmsjy2017 Markdown预览的计划已有,各种编辑功能可能会延后。

建议加入.webm.mov视频预览支持,加入视频在线转码功能

希望发布exe版的kiftd,不用安装Java,使用更方便

@hmsjy2017 建议已收到,不过mov和webm格式的视频应该是能够在线转码播放的,欢迎体验。
目前,kiftd暂不决定开发exe版。这主要是考虑到以下几个方面:1,虽然已经有技术可以将Java程序转换为exe程序,不过,由于转换技术是由非官方开发者开发的,其稳定性难以保证,大规模应用的例子也不常见,因此为了稳妥起见决定不使用此技术。2,Java本身的优势非常明显,能够在Windows、Mac OS X、Linux三个系统上运行,而exe程序则只能基于Windows平台运行,因此,直接提供一份Java程序,便于不同平台的用户下载使用/升级,要比分别提供三种不同操作系统的程序,再让用户选择更加便捷。
以上。

1.建议显示当前文件夹及其子目录所有文件的总大小
2.搜索结果中关键词高亮

@hmsjy2017 新建议已收到,在此为您逐一回复:
关于文件夹总体积的统计:该功能已有设想,但由于目前尚未找到比较高效的统计方法,因此是否加入该功能有待未来进一步研究。
关于搜索结果关键词高亮显示:该建议已经收到,不过经初步考虑,暂不决定加入该功能。这是由于在kiftd文件列表顶部的搜索栏中已经保留了搜索关键字,搜索者在查看搜索结果时可以很容易地进行对照,如下图所示:
image
同时作为参照案例,其他一些主流的文件管理器在搜索功能中也未采用关键字高亮的设计,只会在搜索栏中保留关键字:
image
鉴于kiftd的核心设计风格是“以简代繁”——既如果已经有了能够达到同样效果的功能,那么便不应再加入更多效果相同的功能导致系统繁杂,因此暂不决定加入该功能。
最后,还是再次感谢您的宝贵建议,这是kiftd不断发展的最佳动力。

能否详细介绍一下如何实现前后端分离?

@hmsjy2017 您好,虽然非常希望帮助到您,但是由于目前kiftd项目未进行过此方面的实践,因此难以给出完善可靠的建议,将请谅解。您可以根据kiftd的源代码进行此项功能的研究并按照自身需求实现它。

希望可以管理分享链接。这个坑实在是太大了。

@DyingSecret 您好,建议已收到。这一功能的优化升级将在未来继续进行,从而使得其更加灵活。

您好,能不能考虑实现一下在线编辑txt或者md呢?主要用途想有一个在线便笺这样的功能。 感谢!@KOHGYLW

@yn3010 您好,您的建议已经收到。这一功能已经记录,并将作为未来加入新功能的参考方案之一进行研究。