go-file
Go File
✨ 文件分享工具,仅单个可执行文件,开箱即用,可用于局域网内分享文件和文件夹,直接跑满本地带宽 ✨
开发规划
·
程序下载
·
启动器下载
·
CLI 下载
·
使用教程
·
截图展示
English
Warning: The English version is outdated.
Description
File sharing tool, can be used to share files in a LAN.
Features
- No need to configure environment and there is only a single executable file.
- Automatically open browser to make you share file more quickly.
- Generate QR codes for your mobile phone to scan.
- Easily share all the content of a local dir.
Usage
For v0.3.4 and below.
Just double-click to use with default port 3000
and default token (used to verify identity when user try to delete files) token
.
If you want to change the port and token, run it like this:./go-file.exe --port 80 --token private
.
Your can also public a local path by providing a path
like this : ./go-file.exe --path ./this/is/a/path
Usage of go-file.exe:
-host string
the server's ip address or domain (default "localhost")
-path string
specify a local path to public
-port int
specify the server listening port. (default 3000)
-token string
specify the private token. (default "token")
-video string
specify a video folder to public
Demo
Please visit https://go-file.herokuapp.com/ to have a try yourself.
Others
Node.js version is here.
特点
- 无需配置环境,仅单个可执行文件,直接双击即可开始使用。
- 自动打开浏览器,分享文件快人一步。
- 提供二维码,可供移动端扫描下载文件,告别手动输入链接。
- 支持分享本地文件夹。
- 适配移动端。
- 内置图床,支持直接粘贴上传图片,提供图片上传 API。
- 内置视频播放页面,可用于在其他设备上在线博客自己电脑上的视频,轻松跨设备在线看视频。
- 支持拖拽上传,拷贝上传。
- 允许对不同类型的用户设置文件访问权限限制。
- 访问频率限制。
- 支持 Token API 验证,便于与其他系统整合。
- 为不熟悉命令行的用户制作了启动器,详见此处。
- 配套 CLI 工具,支持命令行上传文件,支持 P2P 模式文件分享,详见此处。
-
Docker 一键部署:
docker run -d --restart always -p 3000:3000 -e TZ=Asia/Shanghai -v /home/ubuntu/data/go-file:/data justsong/go-file
使用方法
v0.3.3 以及之前版本的使用方法请点击此处。
直接双击即可使用,默认端口为 3000
,程序在第一次启动时会自动创建管理员账户,用户名为 admin
,密码为 123456
,记得登录后到 管理页面
下的 账户管理
标签页中更改你的用户密码。
之后程序将自动为你打开浏览器,点击右上角的 上传
按钮即可上传,支持拖放上传,支持同时上传多个文件。
进阶使用:
-
如果要修改端口,启动时请指定
port
参数:./go-file.exe --port 80
。 -
如果需要分享文件夹,启动时请指定
path
参数:./go-file.exe --path ./this/is/a/path
,之后点击导航栏上的文件
即可。 -
如果需要分享本地的视频资源,加
video
参数:./go-file.exe --video ./this/is/a/path
,之后点击导航栏上的视频
即可。 -
如果需要启用访问速率控制,需要在启动前设置 Redis 连接字符串环境变量
REDIS_CONN_STRING
,例如:redis://default:redispw@localhost:49153
。 -
如果想使用 MySQL,需要先登录 MySQL 创建一个空的数据库
gofile
,然后设置SQL_DSN
环境变量即可,例如:root:123456@tcp(localhost:3306)/gofile
。 -
修改默认的 SQLite 数据库文件的位置,请设置
SQLITE_PATH
环境变量,默认在工作目录下,名称为.go-file.db
(类 Unix 系统下是隐藏文件)。 -
设置会话密钥(默认随机生成),请设置
SESSION_SECRET
环境变量。 -
设置文件上传路径(默认为工作目录下面的
upload
目录),请设置UPLOAD_PATH
环境变量。 -
禁止自动打开浏览器,启动时请指定
no-browser
参数:./go-file.exe --no-browser true
。 -
如果想要使用 Token 访问 API,请先前往个人账户管理页面生成 Token,之后在请求时加上
Authorization
HTTP 头部,值为YOUR_TOKEN
或者Bearer YOUR_TOKEN
。- 例如作为 Typora 的 Image Uploader:./script/typora.py
如果你不知道怎么加参数:
- 打开 go-file 所在的文件夹,
- 按住 shift 并右键空白区域,
-
选择
在此处打开 PowerShell
(如果是 Windows 11 的话则需要先点击显示更多选项
), -
在打开的终端中输入:
./go-file --port 80 --video ./path/to/video
建议直接使用启动器。
使用 Docker 进行部署:
执行:docker run -d --restart always -p 3000:3000 -e TZ=Asia/Shanghai -v /home/ubuntu/data/go-file:/data justsong/go-file
数据将会保存在宿主机的 /home/ubuntu/data/go-file
目录。
注意:
-
如果主机有多个 ip 地址,请使用 host 参数指定一个其他设备可访问的 ip 地址,如:
go-file.exe --host xxx.xxx.xxx.xxx
,否则二维码将生成错误。 -
默认配置下访客可以上传和下载文件,可在
管理
->系统设置
中修改权限配置。 - 如果是公网部署,务必记得第一时间更改默认密码!
演示
在线试用(用户名为 admin
,密码为 123456
):https://go-file.onrender.com
注意,以下展示图片可能没有得到及时跟新。
启动器截图:
其他
Node.js 版本在此