我撸了一个快速搭建私人网盘的轮子, ifilespace 文件管理 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
lgs821
V2EX    Go 编程语言

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

  •  3
     
  •   lgs821 2021-09-07 14:33:30 +08:00 10281 次点击
    这是一个创建于 1509 天前的主题,其中的信息可能已经有所发展或是发生改变。

    介绍

    由于工作和生活中有文件存储、管理和分享的需求,而国内大多数网盘都限速严重,限制太多,所以考虑到自己搭建文件管理系统,找了市面上能找到的几个网盘系统,如 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

    77 条回复    2021-10-13 09:11:18 +08:00
    lizhenda
        1
    lizhenda  
       2021-09-07 14:47:58 +08:00
    厉害了呀,一个人做的吗?
    biubiub
        2
    biubiub  
       2021-09-07 14:49:02 +08:00
    厉害,各种客户端都有
    lgs821
        3
    lgs821  
    OP
       2021-09-07 14:49:43 +08:00
    @lizhenda 是的啊,掉了二斤头发
    enki0423
        4
    enki0423  
       2021-09-07 14:55:18 +08:00 via iPhone
    开源吗
    gaodq
        5
    gaodq  
       2021-09-07 15:05:04 +08:00
    支持一下,好东西啊!
    lgs821
    &nsp;   6
    lgs821  
    OP
       2021-09-07 15:13:32 +08:00
    @enki0423 暂时还没打算开源。
    lgs821
        7
    lgs821  
    OP
       2021-09-07 15:14:34 +08:00
    @biubiub 为了使用方便嘛
    lgs821
        8
    lgs821  
    OP
       2021-09-07 15:32:14 +08:00
    @gaodq 感谢支持,希望对你有帮助。
    madlifer
        9
    madlifer  
       2021-09-07 15:33:30 +08:00
    老哥喜欢这种工具型软件的开发吗? 我有个关于视频学习的 idea 可以讨论下 有兴趣的话可以加我 VX:bWFkbGlmZXIxMzM3
    myd
        10
    myd  
       2021-09-07 15:51:12 +08:00
    可惜了,不开源
    zhaojun1998
        11
    zhaojun1998  
       2021-09-07 16:24:05 +08:00
    支持
    moxuanyuan
        12
    moxuanyuan  
       2021-09-07 16:28:32 +08:00
    我看了,是不否 windows 版开启后,windows 自身可以通过 webdav 映射网盘?
    JamesR
        13
    JamesR  
       2021-09-07 16:29:11 +08:00
    个人目前在用开源的 kiftd,Java 写的,功能较少,缺点无密码分享功能,密码明文保存在 conf 文件里等。

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

    离线下载的话,一直是直接远程桌面上去操作的,WebUI 仅用来查看下载进度,暂未有满意软件,可道云(KodExplorer)或许不错,不过是商业收费的。
    lgs821
        14
    lgs821  
    OP
       2021-09-07 16:38:03 +08:00
    @moxuanyuan 暂时 webdav 只支持本地存储策略,windows 自身的 webdav 映射需要 https 支持,如果不考虑安全因素,只在局域网使用 webdav,可以修改注册表解决不支持 http 的问题。
    xdeng
        15
    xdeng  
       2021-09-07 16:52:59 +08:00
    有点像 Cloudreve
    zlu1123
        16
    zlu1123  
       2021-09-07 16:56:25 +08:00
    厉害呀~
    sarlanori
        17
    sarlanori  
       2021-09-07 17:00:01 +08:00
    没有适配移动端网页版?
    lgs821
        18
    lgs821  
    OP
       2021-09-07 17:03:50 +08:00
    @sarlanori 当时考虑直接做成 app,就没做适配移动网页。
    cryboy007
        19
    cryboy007  
       2021-09-07 17:10:43 +08:00
    厉害
    aitaii
        20
    aitaii  
       2021-09-07 17:16:00 +08:00
    厉害了老哥
    jpyl0423
        21
    jpyl0423  
       2021-09-07 17:25:07 +08:00
    取消分享后, 外链还能访问
    cnit
        22
    cnit  
       2021-09-07 17:28:01 +08:00
    有 anytxt 的功能就好了
    lgs821
        23
    lgs821  
    OP
       2021-09-07 17:37:52 +08:00
    @jpyl0423 我刚测试了,取消分享后链接失效,你那里可能有本地缓存
    zzl22100048
        24
    zzl22100048  
       2021-09-07 17:59:38 +08:00
    对象存储(目前支持阿里云 oss,华为云 obs,OneDrive )
    这里如果直接支持 S3 协议不就支持所有对象存储了么,另外 S3 的 sdk 支持分片直连,像 Cloudreve 说做不了大于 5G 的直连,其实是可以做的
    lgs821
        25
    lgs821  
    OP
       2021-09-07 18:07:30 +08:00
    @zzl22100048 由于之前没怎么了解 s3 的协议,所以根据单独厂商的 sdk 封装了,回头了解对比下看哪个效果更好些。感谢建议
    itechify
        26
    itechify  
    PRO
       2021-09-07 19:45:11 +08:00
    牛啊牛啊,支持!
    lslvxy
        27
    lslvxy  
       2021-09-07 19:49:02 +08:00
    我也正在造这样的轮子,Java 版的,刚立项 ^_^
    hahaayaoyaoyao
        28
    hahaayaoyaoyao  
       2021-09-07 19:55:44 +08:00
    @lslvxy me too ,不过最进有事, 先放下了
    loading
        29
    loading  
       2021-09-07 19:59:19 +08:00   1
    没开源吗?怕留后门,先谢谢了。
    LuyeeTom
        30
    LuyeeTom  
       2021-09-07 20:47:34 +08:00
    demo 真不错呀老哥,里面还有 LSP 想看的东西哈哈哈
    zololiu
        31
    zololiu  
       2021-09-07 22:04:34 +08:00
    感谢大佬,希望可以支持多些缩略图预览。
    另外,建议把左上角那个 ifile space 的图标做的简洁一点(哪怕只是粗体文字都好)视觉上整体页面可能会更干净以及平衡一些。现在这个图标有点大,颜色块也有点大,导致视觉上喧宾夺主了。
    lgs821
        32
    lgs821  
    OP
       2021-09-07 22:17:04 +08:00
    @lslvxy
    @hahaayaoyaoyao 且造切珍惜,造轮子是真费时间。
    lgs821
        33
    lgs821  
    OP
       2021-09-07 22:19:38 +08:00
    @LuyeeTom 这还好不是全公开的,我也控制不了,只能看到清一下,还是相信 v 友的素质的。
    lgs821
        34
    lgs821  
    OP
       2021-09-07 22:21:06 +08:00
    @zololiu 嗯,图标我已经更改了,这个还没替换,这个图标也是可以自定义的,看官网介绍,可以自定义为你自己的。
    dusu
        35
    dusu  
       2021-09-08 01:53:09 +08:00 via iPhone
    最近正需要这东西,要是能上 s3 协议就更棒了
    xinru
        36
    xinru  
       2021-09-08 04:20:54 +08:00 via iPhone
    厉害了,先看看
    rj
        37
    rj  
       2021-09-08 08:37:24 +08:00
    牛 支持
    xu2060
        38
    xu2060  
       2021-09-08 08:39:28 +08:00
    棒!先 mark 了
    adrianzhang
        39
    adrianzhang  
       2021-09-08 09:27:53 +08:00
    很好啊!分享给我的,这个功能是干什么的?
    37Y37
        40
    37Y37  
       2021-09-08 09:35:45 +08:00
    牛皮!
    whylist
        41
    whylist  
       2021-09-08 09:48:54 +08:00
    高级!
    lscexpress
        42
    lscexpress  
       2021-09-08 10:11:31 +08:00
    个人网盘最大的瓶颈应该是在带宽,如果就是局域网用的话随便拿一个盘当做存储也够了。还有 minio 挺好用的,试试?
    didididididi
        43
    didididididi  
       2021-09-08 10:14:15 +08:00
    测试了一下,牛皮,还挺好用
    shenfu1991
        44
    shenfu1991  
       2021-09-08 10:16:40 +08:00
    试了一下,界面挺好看,开源的话给满分
    JohnChang
        45
    JohnChang  
       2021-09-08 10:31:18 +08:00
    能实现自动云同步吗?
    kebamt
        46
    kebamt  
       2021-09-08 10:37:16 +08:00
    很不错,只是不开源,可惜了
    Lemeng
        47
    Lemeng  
       2021-09-08 11:04:29 +08:00
    路过支持绑定
    ykk
        48
    ykk  
       2021-09-08 11:23:20 +08:00
    很好 我用 EyeblueTank
    zwgf
        49
    zwgf  
       2021-09-08 11:34:10 +08:00
    老哥是郑州的吗
    lgs821
        50
    lgs821  
    OP
       2021-09-08 11:43:11 +08:00
    @dusu 下一步研究下 s3 协议。
    lgs821
        51
    lgs821  
    OP
       2021-09-08 11:43:56 +08:00
    @adrianzhang 是群组分享和用户分享给我的文件在这里查看,可转存和下载
    lgs821
        52
    lgs821  
    OP
       2021-09-08 11:45:38 +08:00
    @zwgf 是的
    flybluewolf
        53
    flybluewolf  
       2021-09-08 12:14:25 +08:00
    不开放源码的不敢用
    sarlanori
        54
    sarlanori  
       2021-09-08 12:42:01 +08:00
    能编译个 arm 版的不?
    lgs821
        55
    lgs821  
    OP
       2021-09-08 13:18:43 +08:00
    @sarlanori 下个版本支持 arm 。
    zzzmh
        56
    zzzmh  
       2021-09-08 13:51:27 +08:00
    牛!
    1543544726zy
        57
    1543544726zy  
       2021-09-08 14:26:17 +08:00
    提示危险!谷歌也开始作恶了。
    lervard358
        58
    lervard358  
       2021-09-08 14:58:21 +08:00
    开源不
    rap16
        59
    rap16  
       2021-09-08 18:01:25 +08:00
    牛啊!!
    cylee
        60
    cylee  
       2021-09-08 18:30:22 +08:00
    有移动端同学吗?头条商业化招 Android iOS : // t/798022/
    suyuyu
        61
    suyuyu  
       2021-09-08 18:39:45 +08:00
    可惜了,不开源
    saltbo
        62
    saltbo  
       2021-09-08 19:30:58 +08:00
    牛啊,这么多客户端

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

    https://github.com/saltbo/zpan

    @suyuyu
    @lervard358
    @flybluewolf
    @kebamt
    @loading
    @JamesR
    @myd
    @enki0423
    miniers
        63
    miniers  
       2021-09-09 09:24:33 +08:00
    @lgs821 同在郑州的给你点个大赞
    Zien
        64
    Zien  
       2021-09-09 09:59:41 +08:00 via iPhone
    关注
    qq1340691923
        65
    qq1340691923  
       2021-09-09 11:42:15 +08:00
    牛皮!
    nzbin
        66
    nzbin  
       2021-09-09 14:21:35 +08:00
    @lgs821 支持一下,另外推荐一个不错的图片查看插件 https://github.com/nzbin/photoviewer
    jingslunt
        67
    jingslunt  
       2021-09-09 15:57:45 +08:00
    借楼推广下 seafile 没有限制的 @我
    gesse
        68
    gesse  
       2021-09-09 21:37:29 +08:00
    @seafile 价格就离谱。
    gesse
        69
    gesse  
       2021-09-09 21:37:57 +08:00
    @jingslunt

    seafile 开源版功能少
    mailshuxin
        70
    mailshuxin  
       2021-09-10 02:04:04 +08:00 via iPhone
    为什么不用 nextcloud 呢
    jingslunt
        71
    jingslunt  
       2021-09-10 09:05:55 +08:00
    @gesse 当然是某种非开源版本
    hhs66317
        72
    hhs66317  
       2021-09-10 16:10:42 +08:00
    测试了下,windows 平台,拖动上传几十个文件,提示合并失败,上传失败,印象中报错信息“创建事务失败”?

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

    界面看起来不错,就是 BUG 比较多
    lgs821
        73
    lgs821  
    OP
       2021-09-10 18:22:04 +08:00
    @hhs66317 - -0 刚更新的版本换了 sqlite 驱动的原因,已修复,有 bug 欢迎反馈。
    ragnaroks
        74
    ragnaroks  
       2021-09-13 22:50:14 +08:00
    没有“离线下载”功能,对于个人网盘来说,这个功能应该是比较实用的
    muhahaha
        75
    muhahaha  
       2021-10-12 17:54:50 +08:00
    刚刚 demo 试了一下,分享文件无法下载,提示获取不到文件
    lgs821
        76
    lgs821  
    OP
       2021-10-12 21:53:39 +08:00
    @muhahaha 感谢反馈,上版本调整手机端接口不小心改了一个字段,马上修复。
    kknd22
        77
    kknd22  
       2021-10-13 09:11:18 +08:00
    感觉这个不错
    之前用过可道云 kodexplorer,可集成 office pdf 可在线预览、可压缩预览、可打包下载、可在线编辑、文件直观化存储,但是后来他升级成 kodbox 之后,改成了像 seafile 一样的文件切片加密,遂放弃了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2696 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 08:05 PVG 16:05 LAX 01:05 JFK 04:05
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86