Go File: 基于 Go 的文件分享工具 - V2EX
2022-8-8 09:28:51 Author: www.v2ex.com(查看原文) 阅读量:44 收藏

V2EX = way to explore

V2EX 是一个关于分享和探索的地方

概述

stars license release release GoReportCard

基于 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/

index page file page image page video page setting page setting page 2

其他

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

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

gesse

1

gesse      28 天前   ❤️ 1

非常牛! 感觉可使用的场景很多。

7654

4

7654      27 天前   ❤️ 1

1 、从 /explorer?path=文件选项下载文件名称都为 explorer ,不是真是文件名
2 、图床没有文件列表,管理不方便
3 、readme 里的初始密码 password ,实际 123456 ,文档未更新

keepeye

5

keepeye      27 天前   ❤️ 1

看样子只能在服务器上跑

keepeye

6

keepeye      27 天前   ❤️ 1

本地跑想要分享需要弄个 frp 之类的,还是需要一台服务器

JusticeIsHere

7

JusticeIsHere      27 天前 via Android

@7654 第一个是 bug ,感谢反馈,之前不是这样的,今晚修复;
第二个之后管理页面会加;第三个已经改了。非常感谢!

xichuhanguguan

10

xichuhanguguan      27 天前   ❤️ 1

演示地址打开无需登录可上传文件,删除提示需要登录。登录提示用户名或密码错误,或者该用户已被封禁。

kuaner

11

kuaner      27 天前   ❤️ 1

很棒,希望有个 docker 版本,放在 nas 上用

pcmid

14

pcmid      27 天前 via iPhone   ❤️ 1

太棒了,请问有支持 s3 做后端存储的打算么

JusticeIsHere

15

JusticeIsHere      27 天前 via Android

@7654 我知道了,你点的是文件名,而不是后面的下载按钮,直接点文件名原意是在浏览器中直接打开,如果浏览器不支持这个文件格式,就会下载,此时文件名确实是错的。

leafof

17

leafof      27 天前   ❤️ 1

类似的工具有很多个了吧,似乎 Plain text 工具还没有看到过

mekingname

18

mekingname      27 天前   ❤️ 1

不要用 gotemplate 。

用 gin-vue-admin 重构吧。

7654

21

7654      27 天前

@JusticeIsHere 确实是这样
有个疑问,为什么要分首页 upload 及 explorer 两种类型呢
upload 可以有直链+描述,explorer 功能简陋还要特别指定路径

JusticeIsHere

22

JusticeIsHere      27 天前 via Android

@7654 explorer 用于分享已有的文件夹,是不需要上传的,首页那个必须一个一个上传。实际上 explorer 视图可以在启动时指定其他路径,未指定的情况下和首页那个共享路径


文章来源: https://www.v2ex.com/t/865331
如有侵权请联系:admin#unsafe.sh