Go File: 基于 Go 的文件分享工具

2022-07-11 08:23:06 +08:00
 JusticeIsHere

概述

基于 Go 的文件分享工具,仅单可执行文件,开箱即用,内置图床和视频播放页面。

项目地址: https://github.com/songquanpeng/go-file

在线演示: https://go-file.herokuapp.com/ (默认用户名 admin,密码 123456)

特点

  1. 无需配置环境,仅单个可执行文件,直接双击即可开始使用。
  2. 自动打开浏览器,分享文件快人一步。
  3. 提供二维码,可供移动端扫描下载文件,告别手动输入链接。
  4. 支持分享本地文件夹。
  5. 适配移动端。
  6. 内置图床,支持直接粘贴上传图片,提供图片上传 API 。
  7. 内置视频播放页面,可用于在其他设备上在线博客自己电脑上的视频,轻松跨设备在线看视频。
  8. 支持拖拽上传,拷贝上传。
  9. 允许对不同类型的用户设置文件访问权限限制。
  10. 访问频率限制。

使用方法

v0.3.3 以及之前版本的使用方法请点击此处

直接双击即可使用,默认端口为 3000,程序在第一次启动时会自动创建管理员账户,用户名为 admin,密码为 password,记得登录后到 管理页面 下的 账户管理 标签页中更改你的用户密码。

之后程序将自动为你打开浏览器,点击右上角的 上传 按钮即可上传,支持拖放上传,支持同时上传多个文件。

进阶使用:

  1. 如果要修改端口,动时请指定 port 参数:./go-file.exe --port 80
  2. 如果需要分享文件夹,启动时请指定 path 参数:./go-file.exe --path ./this/is/a/path,之后点击导航栏上的 文件 即可。
  3. 如果需要分享本地的视频资源,加 video 参数:./go-file.exe --video ./this/is/a/path,之后点击导航栏上的 视频 即可。
  4. 如果需要启用访问速率控制,需要在启动前设置 Redis 连接字符串环境变量 REDIS_CONN_STRING

如果你不知道怎么加参数:

  1. 打开 go-file 所在的文件夹,
  2. 按住 shift 并右键空白区域,
  3. 选择在此处打开 PowerShell(如果是 Windows 11 的话则需要先点击显示更多选项),
  4. 在打开的终端中输入:./go-file --port 80 --video ./path/to/video

注意:

  1. 如果主机有多个 ip 地址,请使用 host 参数指定一个其他设备可访问的 ip 地址,如:go-file.exe --host xxx.xxx.xxx.xxx,否则二维码将生成错误。
  2. 默认配置下访客可以上传和下载文件,可在 管理 -> 系统设置 中修改权限配置。
  3. 如果是公网部署,务必记得第一时间更改默认密码!

演示

在线试用(用户名为 admin,密码为 password): https://go-file.herokuapp.com/

其他

项目地址: https://github.com/songquanpeng/go-file

在线演示: https://go-file.herokuapp.com/ (默认用户名 admin,密码 123456)

4327 次点击
所在节点    分享创造
32 条回复
7654
2022-07-11 14:57:09 +08:00
@JusticeIsHere 确实是这样
有个疑问,为什么要分首页 upload 及 explorer 两种类型呢
upload 可以有直链+描述,explorer 功能简陋还要特别指定路径
JusticeIsHere
2022-07-11 15:02:13 +08:00
@7654 explorer 用于分享已有的文件夹,是不需要上传的,首页那个必须一个一个上传。实际上 explorer 视图可以在启动时指定其他路径,未指定的情况下和首页那个共享路径
7654
2022-07-11 15:06:39 +08:00
@JusticeIsHere 那可以在 explorer 里增加备注功能,用于首页显示,这样是不是就不用一个个上传了
pcmid
2022-07-11 21:55:30 +08:00
@JusticeIsHere 期待一下, 等支持我来试试
blankmiss
2022-07-12 13:10:42 +08:00
支持多线程下载吗
JusticeIsHere
2022-07-12 16:20:26 +08:00
@blankmiss go 的 http 实现是支持范围下载的,所以断点续传和多线程下载都应该没啥问题才对
mlhadoop
2022-11-22 20:37:34 +08:00
支持 s3 协议不
JusticeIsHere
2022-11-26 20:03:28 +08:00
@mlhadoop 暂时不支持,目前正打算全部重构,之后会考虑的
mlhadoop
2022-11-26 20:05:24 +08:00
@JusticeIsHere 谢谢; 发布的时候还请 @下我;
JusticeIsHere
2022-11-26 20:15:19 +08:00
@mlhadoop 好的👌
vonsy
2022-12-02 17:21:55 +08:00
@JusticeIsHere
上传了一个 50G 的 tar.gz 文件,50G 已经上传完成了,浏览器显示处理中,一会就停止了,没有文件上传记录,服务器 upload 下创建了 17G 文件.
最后是 curl –u name:passwd -T file.tar.gz ftp://ip:port/ 上传到 ftp
JusticeIsHere
2022-12-12 11:46:15 +08:00
@vonsy 感谢反馈,我调查一下。另外还是推荐用 GitHub Issue 来反馈问题。

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

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

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

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

© 2021 V2EX