Golang Go语言中我撸了一个快速搭建私人网盘的轮子,ifilespace 文件管理

发布于 1周前 作者 vueper 来自 Go语言

Golang Go语言中我撸了一个快速搭建私人网盘的轮子,ifilespace 文件管理

介绍

由于工作和生活中有文件存储、管理和分享的需求,而国内大多数网盘都限速严重,限制太多,所以考虑到自己搭建文件管理系统,找了市面上能找到的几个网盘系统,如 NextCloud 、Cloudreve 、EyeblueTank 、zfile 等系统,虽然他们都已经做的基本完善,并且功能也都挺丰富了,但使用起来总感觉不太适合自己,所以造了这个轮子,并提供手机客户端和桌面客户端的支持。

iFileSpace 是一个在线个人文件管理工具,在线网盘程序,可快速一键搭建私人云盘,支持本地存储和对象存储(目前支持阿里云 oss,华为云 obs,OneDrive ), 如部署在公网服务器,可替代百度网盘等在线网盘,自主搭建,数据完全自主管理!也可部署在家庭软路由、nas 等个人存储设备中,作为局域网文件管理工具使用。支持多用户、多存储空间、webdav 、相册备份及后台权限管理。

系统设计初衷就是在家中软路由或者 nas 上部署使用(通过内网穿透或者 ipv6 可实现公网访问),为方便文件的管理及备份,本地文件系统就采用了明文文件夹结构的文件存储,没有使用文件加密及分块存储。另外,系统也增加了对象存储的支持,并且上传及下载文件都不需要服务器的带宽及存储容量限制。

功能

支持第三方存储(目前支持阿里云 oss,华为云 obs,OneDrive )。
第三方存储不受服务器带宽限制,客户端直传。
支持 WebDav 。
支持相册备份。
文件及文件夹管理、分享。
支持直链分享、密码分享、群组分享及用户间分享。
支持视频、图像、音频、文本、Office 文档、PDF 在线预览。
支持多用户,多存储空间,多存储策略。
提供 IOS,Android 客户端。
提供 windows,macos 桌面客户端,管理分享文件更方便。
支持定时文件扫描,自动更新用户文件夹下文件、目录。
单文件打包,部署更简单。
提供 Docker 版。
Web 版支持自定义 Logo 及首页。

技术栈

服务端:Golang + Vue3 + AntDesign Vue
手机端:Flutter
桌面端:Electron + Vue3

系统打包后只有一个二进制文件,并提供 docker 版本,方便快速启动,部署门槛极低。

系统已迭代了一些版本,基本功能已相对稳定,后续根据情况会考虑增加桌面端的图床支持以及离线下载等功能。

欢迎大佬们指点。

官方网址: https://ifile.space

演示地址: https://demo.ifile.space 账号密码:demo


更多关于Golang Go语言中我撸了一个快速搭建私人网盘的轮子,ifilespace 文件管理的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html

78 回复

厉害了呀,一个人做的吗?

更多关于Golang Go语言中我撸了一个快速搭建私人网盘的轮子,ifilespace 文件管理的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


厉害,各种客户端都有

是的啊,掉了二斤头发

支持一下,好东西啊!

暂时还没打算开源。

为了使用方便嘛

感谢支持,希望对你有帮助。

老哥喜欢这种工具型软件的开发吗? 我有个关于视频学习的 idea 可以讨论下 有兴趣的话可以加我 VX:bWFkbGlmZXIxMzM3

可惜了,不开源

我看了,是不否 windows 版开启后,windows 自身可以通过 webdav 映射网盘?

个人目前在用开源的 kiftd,Java 写的,功能较少,缺点无密码分享功能,密码明文保存在 conf 文件里等。

开源的我看了一圈,个人认为比较满意的是 Cloudreve,但没有实际部署,主要原因是文件物理存储上,尚不够完善,有待改进。功能上,楼主相比 Cloudreve 多了用户组和用户分享功能,支持。

离线下载的话,一直是直接远程桌面上去操作的,WebUI 仅用来查看下载进度,暂未有满意软件,可道云(KodExplorer)或许不错,不过是商业收费的。

暂时 webdav 只支持本地存储策略,windows 自身的 webdav 映射需要 https 支持,如果不考虑安全因素,只在局域网使用 webdav,可以修改注册表解决不支持 http 的问题。

有点像 Cloudreve

没有适配移动端网页版?

当时考虑直接做成 app,就没做适配移动网页。

厉害了老哥

取消分享后, 外链还能访问

有 anytxt 的功能就好了

我刚测试了,取消分享后链接失效,你那里可能有本地缓存

对象存储(目前支持阿里云 oss,华为云 obs,OneDrive )
这里如果直接支持 S3 协议不就支持所有对象存储了么,另外 S3 的 sdk 支持分片直连,像 Cloudreve 说做不了大于 5G 的直连,其实是可以做的

由于之前没怎么了解 s3 的协议,所以根据单独厂商的 sdk 封装了,回头了解对比下看哪个效果更好些。感谢建议

牛啊牛啊,支持!

我也正在造这样的轮子,Java 版的,刚立项 ^_^

me too ,不过最进有事, 先放下了

没开源吗?怕留后门,先谢谢了。

demo 真不错呀老哥,里面还有 LSP 想看的东西哈哈哈

感谢大佬,希望可以支持多些缩略图预览。
另外,建议把左上角那个 ifile space 的图标做的简洁一点(哪怕只是粗体文字都好)视觉上整体页面可能会更干净以及平衡一些。现在这个图标有点大,颜色块也有点大,导致视觉上喧宾夺主了。


且造切珍惜,造轮子是真费时间。

这还好不是全公开的,我也控制不了,只能看到清一下,还是相信 v 友的素质的。

嗯,图标我已经更改了,这个还没替换,这个图标也是可以自定义的,看官网介绍,可以自定义为你自己的。

最近正需要这东西,要是能上 s3 协议就更棒了

厉害了,先看看

牛🍺 支持

棒!先 mark 了

很好啊!分享给我的,这个功能是干什么的?

个人网盘最大的瓶颈应该是在带宽,如果就是局域网用的话随便拿一个盘当做存储也够了。还有 minio 挺好用的,试试?

测试了一下,牛皮,还挺好用

试了一下,界面挺好看,开源的话给满分

能实现自动云同步吗?

很不错,只是不开源,可惜了

路过支持绑定

很好 我用 EyeblueTank

老哥是郑州的吗

下一步研究下 s3 协议。

是群组分享和用户分享给我的文件在这里查看,可转存和下载

不开放源码的不敢用

能编译个 arm 版的不?

下个版本支持 arm 。

提示危险!谷歌也开始作恶了。

牛啊!!🐂

有移动端同学吗?头条商业化招 Android iOS : // https://www.v2ex.com/t/798022/

可惜了,不开源

牛啊,这么多客户端

借楼宣传下 zpan,需要开源的看这里,不过目前没有楼主客户端多

https://github.com/saltbo/zpan








同在郑州的给你点个大赞👍

支持一下,另外推荐一个不错的图片查看插件 https://github.com/nzbin/photoviewer

借楼推广下 seafile 没有限制的 @我

价格就离谱。



seafile 开源版功能少

为什么不用 nextcloud 呢

当然是某种非开源版本

测试了下,windows 平台,拖动上传几十个文件,提示合并失败,上传失败,印象中报错信息“创建事务失败”?

在设置页面,点击不同选项的时候也报错。

界面看起来不错,就是 BUG 比较多

  • -0 刚更新的版本换了 sqlite 驱动的原因,已修复,有 bug 欢迎反馈。

没有“离线下载”功能,对于个人网盘来说,这个功能应该是比较实用的

刚刚 demo 试了一下,分享文件无法下载,提示获取不到文件

感谢反馈,上版本调整手机端接口不小心改了一个字段,马上修复。

感觉这个不错
之前用过可道云 kodexplorer,可集成 office pdf 可在线预览、可压缩预览、可打包下载、可在线编辑、文件直观化存储,但是后来他升级成 kodbox 之后,改成了像 seafile 一样的文件切片加密,遂放弃了

针对您分享的“用Golang快速搭建私人网盘的轮子,ifilespace 文件管理”,以下是一些专业点评和建议:

首先,使用Golang开发私人网盘是一个很好的选择,因为Golang具有高性能、并发处理能力强以及简洁的语法等特点,非常适合处理文件存储和传输等任务。

您实现的ifilespace文件管理功能,可能包含了文件的上传、下载、删除等基本操作。在此基础上,建议进一步优化和扩展功能,例如:

  1. 文件分类与标签:为文件添加分类和标签功能,方便用户快速查找和管理文件。
  2. 权限管理:实现更细粒度的权限控制,例如为不同用户或用户组设置不同的文件访问权限。
  3. 并发处理:利用Golang的并发特性,优化文件上传、下载等操作的性能,提高用户体验。
  4. 安全性:加强文件存储和传输的安全性,例如使用HTTPS协议、加密存储敏感信息等。

此外,还可以考虑将网盘功能与其他服务(如云存储、备份服务等)进行集成,以提供更丰富、更便捷的文件管理服务。

总之,您的ifilespace文件管理项目是一个很好的开始,希望您能继续完善和优化它,为用户提供更高效、更安全、更便捷的文件管理服务。

回到顶部