百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 优雅编程 > 正文

开源轻量级文件分享服务Go File本地Docker部署与远程访问

sinye56 2024-12-31 14:30 14 浏览 0 评论

前言

今天和大家分享一款超好用的开源轻量级文件分享工具Go File,如何在本地Ubuntu使用Docker快速部署,并结合cpolar内网穿透工具一键发布公网,轻松实现随时随地远程访问分享文件。

无论是办公还是日常生活中,我们都会遇到使用PC设备和安卓设备之间进行文件传输的时候。最近找到的这款Go File就是一款非常不错的文件传输工具。可用于局域网内分享文件和文件夹,直接跑满本地带宽。由于Go语言本身具有跨平台特性,Go-File也能够在不同的操作系统上运行,如Windows、Linux和macOS等。

Go File 的应用场景非常多,无论是团队协作,学习资料分享,个人文件备份都可以轻松搞定。Go File 不仅无需复杂的配置和安装,而且功能非常强大,除了正常的上传和下载文件,还支持文件夹分享,方便一次性分享多个文件。内置图床,支持图片上传和API接口,方便用户将图片资源上传到本地服务器,并用于博客、网站等场景。不仅如此,Go File 还内置视频播放页面,支持在线播放本地视频文件,方便用户在不同设备上观看视频。

而在安全方面,Go File 允许对不同类型的用户设置文件访问权限限制,确保文件安全。支持设置访问频率限制,防止恶意访问和滥用资源。还支持Token API验证,方便与其他系统整合,实现更高级的文件管理和访问控制。

在本例中,也将使用在Ubuntu通过Docker的方式快速部署,过程非常简单,下面就来进行具体演示。

1. 安装Docker

本例使用Docker进行部署,如果没有安装Docker,可以查看这篇教程进行安装:《Docker安装教程——Linux、Windows、MacOS》

首先打开终端输入这行命令拉取镜像:

sudo docker pull justsong/go-file

然后执行这行命令启动容器即可:

sudo docker run -d --restart always -p 3000:3000 -eTZ=Asia/Shanghai -v /home/ubuntu/data/go-file:/data justsong/go-file

本例数据将会保存在宿主机的 /home/ubuntu/data/go-file 目录,大家可自行修改路径。

现在就已经部署完毕了。

2. Go File使用演示

现在您打开Web浏览器输入localhost:3000,就可以访问到Go File的登录页面了,可以看到界面非常简洁明了。

登录账号:用户名为 admin,密码为 123456

成功登录:

点击上传按钮后,可以选择文件夹中的文件或者直接拖拽文件进行上传:

上传成功:

上传视频同样可以在线预览:

点击主页,可以看到刚才上传的文件,有链接分享和二维码分享两种方式:

点击帮助可以查看更多功能介绍与使用教程:

3. 安装cpolar内网穿透

不过我们目前只能在本地局域网内访问刚刚部署的Go File进行文件分享,如果想不在同一局域网内时,也能在外部网络环境远程访问本地部署的Go File,应该怎么办呢?我们可以使用cpolar内网穿透工具来实现远程访问的需求。无需公网IP,也不用设置路由器那么麻烦。

下面是安装cpolar步骤:

Cpolar官网地址: https://www.cpolar.com

使用一键脚本安装命令

sudo curl https://get.cpolar.sh | sh

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

sudo systemctl status cpolar

Cpolar安装和成功启动服务后,在浏览器上输入ubuntu主机IP加9200端口即:【http://localhost:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

4. 配置Go File公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了: gofile,注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:3000
  • 域名类型:随机域名
  • 地区:选择China Top

点击创建:

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了两个公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用任意一个地址在浏览器中访问即可。

如下图所示,成功实现使用公网地址异地远程访问本地部署的Go File文件分享服务啦。

小结

为了方便演示,我们在上边的操作过程中使用cpolar生成的HTTP公网地址隧道,其公网地址是随机生成的。这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。

如果有长期使用Go File文件分享服务,或者异地访问与使用其他本地部署的服务的需求,但又不想每天重新配置公网地址,还想让公网地址好看又好记并体验更多功能与更快的带宽,那我推荐大家选择使用固定的二级子域名方式来配置公网地址。

5. 配置Go File固定公网地址

由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化。

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】

点击左侧的预留,选择保留二级子域名,地区选择china top,然后设置一个二级子域名名称,填写备注信息,点击保留。

保留成功后复制保留的二级子域名地址:

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地区: China Top

点击更新

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

最后,我们使用固定的公网地址访问Go File可以看到访问成功,这样一个永久不会变化的二级子域名网址即设置好了。

最后需要注意:

  1. 默认配置下访客可以上传和下载文件,可在 管理 -> 系统设置 中修改权限配置。
  2. 如果是公网部署,务必记得第一时间更改默认密码!

接下来就可以随时随地远程访问管理Go File了,把公网地址分享给身边的人,还可以方便团队协作。自己用的话,无需云服务器,还可以实现异地远程访问!以上就是如何在Linux Ubuntu系统Docker本地部署Go File并实现异地远程访问进行文件分享的全部过程,感谢观看!

相关推荐

CTO偷偷传我的系统性能优化十大绝招(万字干货)

上篇引言:取与舍软件设计开发某种意义上是“取”与“舍”的艺术。关于性能方面,就像建筑设计成抗震9度需要额外的成本一样,高性能软件系统也意味着更高的实现成本,有时候与其他质量属性甚至会冲突,比如安全性、...

提升效率!VMware虚拟机性能优化十大实用技巧

我40岁,干跨境婚恋中介的。为服务各国用户,常得弄英语、日语、俄语系统环境,VMware虚拟机帮了不少忙。用久了发现优化下性能,效率能更高。今儿就来聊聊优化技巧和同类软件。一、VMware虚拟...

低延迟场景下的性能优化实践

本文摘录自「全球C++及系统软件技术大会」ScottMeyers曾说到过,如果你不在乎性能,为什么要在C++这里,而不去隔壁的Pythonroom呢?今天我们就从“低延迟的概述”、“低延迟系...

Linux性能调优之内存负载调优的一些笔记

写在前面整理一些Linux内存调优的笔记,分享给小伙伴博文没有涉及的Demo,理论方法偏多,可以用作内存调优入门博文内容涉及:Linux内存管理的基本理论寻找内存泄露的进程内存交换空间调优不同方式的...

优化性能套路:带你战胜这只后段程序员的拦路虎

来源|极客时间《卖桃者说》作者|池建强编辑|成敏你好,这里是卖桃者说。今天给大家推荐一篇文章,来自倪朋飞老师的专栏《Linux性能优化实战》,文章主要讲的是优化性能的套路,这几乎是每个后端程序员...

SK海力士CXL优化解决方案已成功搭载于Linux:带宽提升30%,性能提升12%以上

SK海力士宣布,已将用于优化CXL(ComputeExpressLink)存储器运行的自研软件异构存储器软件开发套件(HMSDK)中主要功能成功搭载于全球最大的开源操作系统Linux上,不但提升了...

Linux内核优化:提升系统性能的秘诀

Linux内核优化:提升系统性能的艺术在深入Linux内核优化的世界之前,让我们先来理解一下内核优化的重要性。Linux内核是操作系统的核心,负责管理系统资源和控制硬件。一个经过精心优化的内核可以显著...

Linux系统性能优化:七个实战经验

Linux系统的性能是指操作系统完成任务的有效性、稳定性和响应速度。Linux系统管理员可能经常会遇到系统不稳定、响应速度慢等问题,例如在Linux上搭建了一个web服务,经常出现网页无法打开、打开速...

腾讯面试:linux内存性能优化总结

【1】内存映射Linux内核给每个进程都提供了一个独立且连续的虚拟地址空间,以便进程可以方便地访问虚拟内存;虚拟地址空间的内部又被分为内核空间和用户空间两部分,不同字长的处理器,地址空间的范围也不同...

Linux文件系统性能调优《参数优化详解》

由于各种的I/O负载情形各异,Linux系统中文件系统的缺省配置一般来说都比较中庸,强调普遍适用性。然而在特定应用下,这种配置往往在I/O性能方面不能达到最优。因此,如果应用对I/O性能要求较高,除...

Nginx 性能优化(吐血总结)

一、性能优化考虑点当我需要进行性能优化时,说明我们服务器无法满足日益增长的业务。性能优化是一个比较大的课题,需要从以下几个方面进行探讨当前系统结构瓶颈了解业务模式性能与安全1、当前系统结构瓶颈首先需要...

Linux问题分析与性能优化

排查顺序整体情况:top/htop/atop命令查看进程/线程、CPU、内存使用情况,CPU使用情况;dstat2查看CPU、磁盘IO、网络IO、换页、中断、切换,系统I/O状态;vmstat2查...

大神级产品:手机装 Linux 运行 Docker 如此简单

本内容来源于@什么值得买APP,观点仅代表作者本人|作者:灵昱Termux作为一个强大的Android终端模拟器,能够运行多种Linux环境。然而,直接在Termux上运行Docker并不可行,需要...

新手必须掌握的Linux命令

Shell就是终端程序的统称,它充当了人与内核(硬件)之间的翻译官,用户把一些命令“告诉”终端程序,它就会调用相应的程序服务去完成某些工作。现在包括红帽系统在内的许多主流Linux系统默认使用的终端是...

Linux 系统常用的 30 个系统环境变量全解析

在Linux系统中,环境变量起着至关重要的作用,它们犹如隐藏在系统背后的“魔法指令”,掌控着诸多程序的运行路径、配置信息等关键要素。尤其在shell脚本编写时,巧妙运用环境变量,能让脚本如虎...

取消回复欢迎 发表评论: