一个用 Go 语言实现的 Web 网盘应用-Gofi

2019-12-14 00:02:09 +08:00
 Smash

最近在继续学习 go 语言,又在折腾 nas,遂花了点时间写了一个简单的网盘 Web 应用,类似 filebrowser/filebrowser(非模仿,我也是快写好了才知道有一个轮子了)。

技术栈是 Golang + Ant Design Vue(几个月没写代码了,轻喷)

目前主要是我家庭局域网在用,没有做权限认证,所以没有任何安全性保证,请不要在公网上部署。

应该会断断续续更新,因为明年中旬结婚前可能都不准备当社畜了,所以这段时间主要是在筹备婚礼,减脂,写点小代码,等待判决书下达,思考人生。

Github 地址:

https://github.com/Sloaix/Gofi

更新计划:

https://github.com/Sloaix/Gofi/projects

上面 deadline 就不要当真了,因为每个月总有那么几天不想写代码:)。

希望对大家有点小用。

11907 次点击
所在节点    分享创造
57 条回复
yukiloh
2019-12-14 13:56:18 +08:00
卧槽可以在安卓上跑这个就有点骚了,手上太多吃灰安卓
FEDT
2019-12-14 14:17:11 +08:00
厉害👍🏻
Smash
2019-12-14 15:23:42 +08:00
@yukiloh 在 Android 的 /data/local/tmp 目录下,adb 用户具有可执行权限。使用 nohup ./gofi &命令可以启动一个后台运行的 gofi 程序,我在 Nexus5,魅族 mx4 上都测试过了,可以完全运行,但是国内的定制手机对于 adb 用户的目录权限不一样,比如原生系统对 Storage 目录是具有读写权限的,但是我在 mx4 上就只有 /data/local/tmp 目录的读写权限。
Smash
2019-12-14 15:25:26 +08:00
@yukiloh 目前可以跑,但是挂了之后不能重启,所以如果要在 Android 上跑,还需要搞一个守护进程用来重启 Gofi,这样才能保证稳定性。
crella
2019-12-14 16:33:45 +08:00
请问 windows 上怎么编译,要用 msys 吗?
Smash
2019-12-14 17:15:00 +08:00
@crella release 页面已经编译好了,我默认编译了 MacOS/Windows/Linux/Android(Arm)这几个常用的平台
slwl
2019-12-14 17:16:03 +08:00
吃灰派用来干这个如何
Smash
2019-12-14 17:26:49 +08:00
@slwl 我有个 zero 和 3B,还没来得及在上面跑过,你可以试试。
Smash
2019-12-14 17:30:41 +08:00
@crella 如果是要自己编译的话,不建议自己在 Windows 上编译,因为环境比较难配置。而且编译部分文档暂时没有,只有 build.sh 脚本,如果你想自己编译,由于使用了 xgo,还需要安装 docker 才行,同时需要安装 golang,yarn,然后运行./build.sh 即可,默认输出到 output 目录。
keepeye
2019-12-14 17:42:31 +08:00
我想起了 13 年毕业设计,用 php 撸了个网盘系统,还是分布式存储的
crella
2019-12-14 17:51:28 +08:00
我在 win7 上启动进程成功,打开网页会发生错误,网页右上角弹出窗口提示错误:undefined。
从 release 最近一个 win64 的链接下载的。不知道是不是没设定文件夹?
Smash
2019-12-14 18:14:05 +08:00
@crella 我好久没在 Windows 上跑过了,我试一下。
Smash
2019-12-14 18:21:16 +08:00
@crella 自动获取局域网 ip 出错了,你可能有多个网卡。我这边复现了,你先手动指定一下 ip 吧。用命令行运行 gofi.exe -ip <你的局域网 ip 或者 127.0.0.1>
Smash
2019-12-14 18:22:28 +08:00
@crella 这个 ip 地址主要是服务端提供的 api 的 ip,供前端请求。
crella
2019-12-14 18:25:17 +08:00
是的,有 vmplayer 网卡和直升机跑道
Smash
2019-12-14 18:25:22 +08:00
@crella Windows 上的 Gofi,后端 ls api 貌似存在兼容性问题,这块要等我修复一下了。
crella
2019-12-14 19:34:56 +08:00
我给本机上的虚拟机 linux 上的 gofi 上传一个 700M 的 iso,多次提醒 You have reached maximum request limit. 好奇问一下是什么意思?

![gofi.jpg]( https://i.loli.net/2019/12/14/my1KIAqgsSYVwju.jpg)
SteveAlan
2019-12-14 21:06:56 +08:00
界面是用的 ant design 吗?
Smash
2019-12-14 21:23:28 +08:00
@crella #37 @crella #37 应该只有在预览模式才有请求频率限制的。启动的时候会打印当前的 environment,能截下图吗
Smash
2019-12-14 21:23:44 +08:00
@SteveAlan #38 恩

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/628911

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX