-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
feat(share): support more secure file sharing #991
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
感谢您对OpenList的贡献!如果方便的话,是否能够提供一下该功能的演示截图? |
能在共享的目录被迁移或消失后将这个分享链接自动失效吗,这样就可以避免这种问题发生 |
我刚刚试了一下,出现这种情况后可以通过无效的分享链接列出根目录的内容,但打开其中任何一项就会出现object not found,我再研究一下,应该是一个很好改的bug |
已修复 |
|
发现了新问题,在两个分享链接不同,绑定的目录也不同,例如 http://127.0.0.1:5244/@s/gHnSM4mj 和 http://127.0.0.1:5244/@s/j20jfpiY ,但两个链接的密码相同时,只要其中一个链接输过密码,另外一个相同密码的链接就不用输密码,而是直接进去列表界面了 |
这是因为元信息的密码是记录在浏览器的cookie中的,每次访问的时候如果浏览器有记录就会直接尝试使用浏览器里记录的密码访问,分享码和元信息的密码用的是同一套组件 |
大佬,牛而逼之👍🏻 |
|
建议表单名显示,随oplist右下角的齿轮⚙️设置,在改变语言时而显示对应语言的文字。 |
|
分享摘要内容添加了 |
复现失败 |
没事 应该是我刷新前端页面点击分享导致的 |
|
问题: 功能添加: 2.可以考虑加一个上传文件的权限,允许对分享的目录进行上传,这样可以像朋友收集文件 |
|
这个强制web代理。下载方走的是服务器自己还是对应存储的自定义代理 |
走的是服务器,我把自定义代理的处理忘了,等我改一下,改之后应该是如果有自定义代理则无论如何都会走自定义代理 |
大牛会考虑我的提议吗 |
分享功能的主要用法是发布在公共环境让不定人群访问和获取文件,允许不定人群上传文件我觉得还是有点太危险了,你这样的需求我觉得还是使用guest用户更好一些 |
|
确实,但是分享是加密码的,而且只是一个文件夹,上传的文件只会在一个文件夹内,访客的话感觉没这么方便,这只是一个可选的项目, |
* 重构(docker):减小docker镜像大小(2) * feat(share):支持更安全的文件共享(28) * feat(server):添加错误页面和状态码(2)重复server/handles/archive.go(1)重复server/middlewares/down.go(1) * feat(123_open):添加选项 (4) * feat(服务器):将 OpenListTeam#1099 改编为 OpenListTeam#991 (0)重复(3)[server/handles/archive.go=server/handles/down.go=server/handles/sharing.go]
需要去用户管理里开启权限 |
|
好的谢谢你,我才注意权限,原来还要添加一个。
|
提供一种类似大多数网盘的文件分享操作,这种分享方式可以通过强制 Web 代理隐藏文件源路径,可以设置分享码、最大访问数和过期时间,并且不需要启用 guest 用户。 在全局设置中可以调整: - 是否强制 Web 代理 - 是否允许预览 - 是否允许预览压缩文件 - 分享文件后,点击“复制链接”按钮复制的内容 前端部分:OpenListTeam/OpenList-Frontend#156 文档部分:OpenListTeam/OpenList-Docs#130 Close OpenListTeam#183 Close OpenListTeam#526 Close OpenListTeam#860 Close OpenListTeam#892 Close OpenListTeam#1079 * feat(share): support more secure file sharing * feat(share): add archive preview * fix(share): fix some bugs * feat(openlist_share): add openlist share driver * fix(share): lack unwrap when get virtual path * fix: use unwrapPath instead of path for virtual file name comparison * fix(share): change request method of /api/share/list from GET to Any * fix(share): path traversal vulnerability in sharing path check * 修复分享alias驱动的文件 没开代理时无法获取URL * fix(sharing): update error message for sharing root link extraction --------- Co-authored-by: Suyunmeng <69945917+Suyunmeng@users.noreply.github.com> Co-authored-by: j2rong4cn <j2rong@qq.com>
提供一种类似大多数网盘的文件分享操作,这种分享方式可以通过强制 Web 代理隐藏文件源路径,可以设置分享码、最大访问数和过期时间,并且不需要启用 guest 用户。 在全局设置中可以调整: - 是否强制 Web 代理 - 是否允许预览 - 是否允许预览压缩文件 - 分享文件后,点击“复制链接”按钮复制的内容 前端部分:OpenListTeam/OpenList-Frontend#156 文档部分:OpenListTeam/OpenList-Docs#130 Close OpenListTeam#183 Close OpenListTeam#526 Close OpenListTeam#860 Close OpenListTeam#892 Close OpenListTeam#1079 * feat(share): support more secure file sharing * feat(share): add archive preview * fix(share): fix some bugs * feat(openlist_share): add openlist share driver * fix(share): lack unwrap when get virtual path * fix: use unwrapPath instead of path for virtual file name comparison * fix(share): change request method of /api/share/list from GET to Any * fix(share): path traversal vulnerability in sharing path check * 修复分享alias驱动的文件 没开代理时无法获取URL * fix(sharing): update error message for sharing root link extraction --------- Co-authored-by: Suyunmeng <69945917+Suyunmeng@users.noreply.github.com> Co-authored-by: j2rong4cn <j2rong@qq.com>
|
可以控制分享页中默认显示的预览页吗?现在好像是默认download页且无法更改 |









提供一种类似大多数网盘的文件分享操作,这种分享方式可以通过强制 Web 代理隐藏文件源路径,可以设置分享码、最大访问数和过期时间,并且不需要启用 guest 用户。
在全局设置中可以调整:
前端部分:OpenListTeam/OpenList-Frontend#156
文档部分:OpenListTeam/OpenList-Docs#130
Close #183
Close #526
Close #860
Close #892
Close #1079