低成本文件共享解决方案:Go File本地Docker部署与外网访问全记录
文章目录
- 前言
- 1. 安装Docker
- 2. Go File使用演示
- 3. 安装cpolar内网穿透
- 4. 配置Go File公网地址
- 5. 配置Go File固定公网地址
前言
在这个信息爆炸的时代,谁还没遇到过这样的囧事呢?正在办公室电脑上赶工报告,手机却突然蹦出一条紧急邮件;在家里的沙发上享受电影时光,却想把这精彩瞬间分享给好友。这些场景是不是很眼熟?别担心,今天给大家揭秘一款超实用的神器——Go File!它不仅能让你在不同设备间闪电般传输文件,还能随时随地远程访问重要资料,无论你是在办公室、家里还是路上,无论是用PC、手机还是平板,通通不在话下。
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小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化。
点击左侧的预留,选择保留二级子域名,地区选择china top,然后设置一个二级子域名名称,填写备注信息,点击保留。
保留成功后复制保留的二级子域名地址:
登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑
。
修改隧道信息,将保留成功的二级子域名配置到隧道中
- 域名类型:选择二级子域名
- Sub Domain:填写保留成功的二级子域名
- 地区: China Top
点击更新
更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。
最后,我们使用固定的公网地址访问Go File可以看到访问成功,这样一个永久不会变化的二级子域名网址即设置好了。
怎么样,是不是已经对 Go File 按捺不住了?别再犹豫了,赶紧试试吧!你会发现,这不仅是一款超级实用的文件传输工具,更是一个让你在朋友面前瞬间变成科技大神的秘密武器。无论是个人用户还是团队协作,Go File 都能帮你搞定各种文件管理难题,让生活变得更加轻松愉快,甚至还能提升你的社交魅力呢!
相关文章:
低成本文件共享解决方案:Go File本地Docker部署与外网访问全记录
文章目录 前言1. 安装Docker2. Go File使用演示3. 安装cpolar内网穿透4. 配置Go File公网地址5. 配置Go File固定公网地址 前言 在这个信息爆炸的时代,谁还没遇到过这样的囧事呢?正在办公室电脑上赶工报告,手机却突然蹦出一条紧急邮件&#…...
python文件的基本操作和文件读写
目录 文件的基本操作 文件读写 文件的基本操作 Python 中对文件的基本操作主要包括打开文件、读取文件、写入文件和关闭文件等操作。下面是一个简单的示例: 打开文件: file open(example.txt, r) # 使用 open() 函数打开一个名为 example.txt 的文…...
大数据与datax1.0
一、datax含义 是一个数据搬运工具 二、需要注意的点 插件(plugin)下面的reader和writer 要删除(第一步执行肯定会报错 所以请记得一定要删除reader和writer下的隐藏文件) 三、心得 做任何事要事半功倍,而不要事倍功半,好的学习方法永远比盲目的努力更重要--------谨记3.31…...
蚂蚁集团主导的ISO密码学国际标准立项,纳入国产算法
蚂蚁集团主导的ISO密码学国际标准 ISO 25330-3 立项, 国产算法Ferret成为标准方案。 近日,在美国弗吉尼亚州举行的 ISO/IEC JTC 1/SC 27 全体会议上,ISO/IEC 25330第三部分《Information Security — Oblivious Transfer — Part 3: Obliv…...
【新人系列】Golang 入门(十):错误处理详解 - 上
✍ 个人博客:https://blog.csdn.net/Newin2020?typeblog 📝 专栏地址:https://blog.csdn.net/newin2020/category_12898955.html 📣 专栏定位:为 0 基础刚入门 Golang 的小伙伴提供详细的讲解,也欢迎大佬们…...
Unity 2022.3.x部分Android设备播放视频黑屏问题
Android平台视频兼容性问题很多…类似的黑屏问题真的很头大,总结一些常见问题: 1. 视频文件不支持压缩 如果使用AssetBundle加载视频,这个AssetBundle压缩格式要选None。有人可能会说最新版Unity已经支持bundle压缩下播放视频,稳…...
基于Python的Django框架的个人博客管理系统
标题:基于Python的Django框架的个人博客管理系统 内容:1.摘要 本文围绕基于Python的Django框架构建个人博客管理系统展开。背景方面,随着互联网发展,个人博客成为信息分享与交流重要平台,传统博客管理系统在功能与灵活性上存在不足。目的是开…...
Unity加载OSGB倾斜摄影数据
Unity加载OSGB倾斜摄影数据 显而易见有一个最方便的办法就是使用CesiumForUnity确定是可以通过osgb数据转换成3dtiles进行加载的,然而有没有直接加载osgb格式数据的方法呢? 我们知道osgb的osg推出的倾斜摄影数据的数据结构,所以,…...
RabbitMQ简单介绍和安装
RabbitMQ简单介绍 一.RabbitMQ介绍二.RabbitMQ的作用1.异步解耦2.流量削峰3.消息分发4.延迟通知 三.RabbitMQ安装(Ubuntu)1.先安装Erlang2.安装RabbitMQ3.安装RabbitMQ的管理界面4.创建虚拟机5.端口号信息 四.工作原理图 一.RabbitMQ介绍 RabbitMQ 是一款…...
【清华大学】DeepSeek政务应用场景与解决方案
目录 一、政务数字化转型三阶段演进二、人工智能政务应用场景四大方向 三、技术方案核心技术 四、解决方案案例1. 公文写作2. 合同协议智能审查3. 行政执法4. 就业指导 五、风险及对策六、落地大四步法七、未来发展展望AI职业替代逻辑空间智能与具身智能人机共生 一、政务数字化…...
spring boot自动装配原理
springboot自动装配几乎是现在面试必问的面试题,要是逐行分析自动装配流程肯定是很复杂的,因此我们从大体上来梳理即可。 一、 自动装配总览 首先要搞清楚两个问题,springboot自动装配是什么?解决了什么问题? springbo…...
【SDMs分析1】基于ENMTools R包的生态位分化分析和图像绘制(identity.test())
基于ENMTools包的生态位分化 1. 写在前面2. 生态位分化检验案例13. 生态位分化检验案例21. 写在前面 最近学了一个新的内容,主要是关于两个物种之间生态位分化检验的 R 语言代码。生态位分化是物种分布模型(SDM )研究中的关键部分,许多 SCI 论文都会涉及这一分析。该方法主…...
蓝桥杯比赛python程序设计——纯职业小组
问题描述 在蓝桥王国,国王统治着一支由 nn 个小队组成的强大军队。每个小队都由相同职业的士兵组成。具体地,第 ii 个小队包含了 bibi 名职业为 aiai 的士兵。 近日,国王计划在王宫广场举行一场盛大的士兵检阅仪式,以庆祝王…...
【Git教程】将dev分支合并到master后,那么dev分支该如何处理
将 dev 合并到 master 后的分支状态与操作指南 1. 合并后的分支状态 dev 分支不会消失: Git 的 git merge 命令仅将 dev 的内容合并到 master,不会删除 dev 分支。合并后,dev 分支仍然存在,其历史记录和代码保持不变。 分支的 H…...
python系统之综合案例:用python打造智能诗词生成助手
不为失败找理由,只为成功找方法。所有的不甘,因为还心存梦想,所以在你放弃之前,好好拼一把,只怕心老,不怕路长。 python系列之综合案例 前言一、项目描述二、项目需求三、 项目实现1、开发准备2、代码实现 …...
HCIA-数据通信datacom认证
文章目录 一、数据通信简介1.1 标准协议1.2 数据传输过程 二、通用路由平台VRP2.1 VRP简介2.2 命令行基础 三 、网络层协议IP3.1 数据封装3.2 数据包传输2.3 IP地址2.4 子网划分2.5 ICMP 四、IP路由基础4.1 路由概述4.2 路由表4.3 路由转发4.4 静态路由4.5 动态路由4.6 路由高级…...
学以致用,基于OpenCV的公摊面积估算程序
由于很多户型图并没有标注各个房间或者走廊的面积,亦或比较模糊,且很多人并不具备迅速口算多个小数相加再做除法的能力,本帖通过程序粗略计算公摊比例。由于非专业人士,公摊面积涉及到很多建筑学的专业公式,因此本帖只…...
Odoo/OpenERP 和 psql 命令行的快速参考总结
Odoo/OpenERP 和 psql 命令行的快速参考总结 psql 命令行选项 选项意义-a从脚本中响应所有输入-A取消表数据输出的对齐模式-c <查询>仅运行一个简单的查询,然后退出-d <数据库名>指定连接的数据库名(默认为当前登录用户名)-e回显…...
Ubuntu20.04安装OpenVINO环境以及YOLOv8 C++部署测试
深度学习 文章目录 深度学习一、三种推理框架介绍1、OpenVINO介绍2、TensorRT介绍3、Mediapipe介绍 二、三种框架的对比1、框架自身比较2.1、从模型部署上:2.2.从支持深度学习模型上:2.3.从应用平台上:2.4.从上手的难易程度上: 2、应用平台比…...
uniapp微信小程序封装navbar组件
一、 最终效果 二、实现了功能 1、nav左侧返回icon支持自定义点击返回事件(默认返回上一步) 2、nav左侧支持既显示返回又显示返回首页icon 3、nav左侧只显示返回icon 4、nav左侧只显示返回首页icon 5、nav左侧自定义left插槽 6、nav中间支持title命名 7…...
Docker中安装MySQL--------【详细图解】
1.根据所需拉取镜像---------不指定版本会下载最新版 docker pull mysql:8.0.27 2.查看所拉取的镜像 docker images 3.在/usr/local下创建docker、mysql目录 cd /usr/local mkdir docker mkdir mysql 4.进入mysql文件夹 cd mysql 5.创建config文件夹 mkdir config 6.编写配…...
QT基础:安装与简介
QT初级 1、简介1.1 安装1.2 设置1.3 在VS中配置Qt1.3 帮助文档 2、Qt项目2.1 创建项目2.1 项目文件2.2 Qt中的窗口类窗口显示 2.3 坐标体系2.4 内存回收 1、简介 QT是一个跨平台的C应用程序开发框架。几乎支持所有的平台, 可用于桌面程序开发以及嵌入式开发。 Qt是标准 C 的扩…...
智能打印预约系统:微信小程序+SSM框架实战项目
微信小程序打印室预约系统,采用SSM(SpringSpringMVCMyBatis)经典框架组合。 一、系统核心功能详解 1. 智能化管理后台 用户数据看板打印店资源管理预约动态监控服务评价系统 2. 微信小程序端 智能定位服务预约时段选择文件…...
AWTK-WEB 快速入门(6) - JS WebSocket 应用程序
WebSocket 可以实现双向通信,适合实时通信场景。本文介绍一下使用 Javacript 语言开发 AWTK-WEB 应用程序,并用 WebSocket 与服务器通讯。 用 AWTK Designer 新建一个应用程序 先安装 AWTK Designer: https://awtk.zlg.cn/web/index.html …...
一.搭建ubuntu系统服务器
搭建ubuntu系统服务器 一:Ubantu下载及安装1.Ubuntu的U盘系统安装工具制作2.Ubuntu系统安装 二.安装ssh实现远程连接1.安装OpenSSH服务器2.启动SSH服务并设置开机自启3.配置文件4.配置防火墙5.处理SELinux(仅限CentOS/RHEL)6.设置和修改SSH密…...
[python]基于yolov8实现热力图可视化支持图像视频和摄像头检测
YOLOv8 Grad-CAM 可视化工具 本工具基于YOLOv8模型,结合Grad-CAM技术实现目标检测的可视化分析,支持图像、视频和实时摄像头处理。 功能特性 支持多种Grad-CAM方法实时摄像头处理视频文件处理图像文件处理调用简单 环境要求 Python 3.8需要电脑带有…...
微软 GraphRAG 项目学习总结
微软2024年4月份发布了一篇《From Local to Global: A GraphRAG Approach to Query-Focused Summarization》(GraphRAG:从局部到全局的查询式摘要方法)论文,提出了一种名为GraphRAG的检索增强生成(RAG)方法…...
DeepSeek结合MCP Server与Cursor,实现服务器资源的自动化管理
MCP Server是最近AI圈子中又一个新的热门话题。很多用户都通过结合大语言模型、MCP Server,实现了一些工具流的自动化,例如,你只需要给出文字指令,就可以让Blender自动化完成建模的工作。你有没有想过,利用MCP来让AI A…...
DFX架构详解:构建面向全生命周期的卓越设计体系
引言 在当今高度竞争的市场环境中,产品开发已不再是单纯的功能实现,而是需要从设计源头考虑制造效率、用户需求、成本控制、环境兼容性等多维目标。DFX(Design for X)架构作为一种系统化的设计方法论,正成为企业实现产…...
如何在 Vue 项目中使用 Vite 和 Cordova 动态加载 Layui 和 DTree
随着前端开发工具的不断进步,Vue 项目的构建工具也从 Webpack 升级到了 Vite。Vite 的快速构建和热更新功能使得开发体验大大提升。 本文将介绍如何在迁移至 Vite 后,动态加载 Layui 和 DTree 库,并兼容 Cordova 应用中的资源路径。 1. Vite …...
如何在 vue 渲染百万行数据,vxe-table 渲染百万行数据性能对比,超大量百万级表格渲染
vxe-table 渲染百万行数据性能对比,超大量百万级表格渲染;如何在 vue 渲染百万行数据;当在开发项目时,遇到需要流畅支持百万级数据的表格时, vxe-table 就可以非常合适了,不仅支持强大的功能,虚…...
el-select+el-tree实现下拉树形选择
主要实现el-select下使用树结构,支持筛选功能 封装的组件 composeTree.vue <template><div class"vl-tree"><el-select class"treeScroll" popper-class"treeScrollSep"v-model"selectedList"placeholder"请选择…...
JavaScript函数知识点总结
JavaScript函数是一种可重复使用的代码块,它接受输入值(参数)、执行特定任务,并返回输出值。 1. 声明函数 function greet(name) {return "Hello, " + name + "!"; }console.log(greet("Alice")); // 输出: Hello, Alice! console.log( t…...
SQL INSERT INTO 语句详解
SQL INSERT INTO 语句详解 引言 SQL(Structured Query Language)是数据库管理系统的标准语言,用于处理数据库中的数据。在SQL中,INSERT INTO 语句是用于向数据库表中插入新记录的重要命令。本文将详细介绍 INSERT INTO 语句的用…...
为什么可视化大屏越来越多应用3D元素呢?
现在可视化大屏应用3D元素越来越普及了,背后的原因是什么呢?3D元素相较于2D元素有什么优势?应用3D元素涉及到哪些技术呢?大象数据工场通过本文与大家分享一下。 一、3D元素普及的原因是什么? 可视化大屏应用中使用3D…...
Github Webhook 以及主动式
Github配置 GitHub 默认支持两种 Content-Type: application/json application/x-www-form-urlencoded 特别要注意 Content-Type 我们选择: application/json Flask代码 import os import shutil import subprocess from flask import Flask, request, jsonifyapp = Fla…...
MySQL的基础语法1(增删改查、DDL、DML、DQL和DCL)
目录 一、基本介绍 二、SQL通用语法 三、SQL分类(DDL、DML、DQL、DCL) 1.DDL 1.1数据库操作 1.2表操作 1.2.1表操作-查询创建 1.2.2表操作-数据类型 1)数值类型 2)字符串类型 3)日期时间类型编辑 4)表操作-案例 1.2.3…...
基于 SpringBoot 的火车订票管理系统
收藏关注不迷路!! 🌟文末获取源码数据库🌟 感兴趣的可以先收藏起来,还有大家在毕设选题(免费咨询指导选题),项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多…...
c#的反射和特性
在 C# 中,反射(Reflection)和特性(Attributes)是两个强大的功能,它们在运行时提供元编程能力,广泛用于框架开发、对象映射和动态行为扩展。以下是对它们的详细介绍,包括定义、用法、…...
MaxEnt物种分布建模全流程;R+ArcGIS+MaxEnt模型物种分布模拟、参数优化方法、结果分析制图与论文写作
融合R语言的MaxEnt模型具有以下具体优势: 数据处理高效便捷 📊强大的数据预处理功能:R语言提供了丰富的数据处理工具,能够轻松完成数据清洗、筛选、转换等操作,为MaxEnt模型提供高质量的输入数据。 🌐自动…...
【AI插件开发】Notepad++插件开发实践:从基础交互到ScintillaCall集成
一、背景与目标 在文本编辑器领域,Notepad凭借其轻量级特性和强大的插件生态,成为开发者群体中的热门选择。作为基于Scintilla组件构建的编辑器(Scintilla是开源的代码编辑控件,被Notepad、Geany等知名工具广泛采用)&…...
TCP/IP协议的应用层与传输层
TCP/IP协议簇是互联网的核心通信框架,定义了数据如何在网络中封装、寻址、传输和路由(确定数据包从源主机到目标主机的传输路径的过程)。 应用层 直接面向用户和应用,负责实现网络服务的具体功能(如网页浏览、文件传输…...
CentOS与Ubuntu命令对比指南:从软件包管理到系统配置
CentOS与Ubuntu命令对比指南 作为两大主流Linux发行版,**CentOS(基于RHEL)和Ubuntu(基于Debian)**在日常运维中常因命令差异引发混淆。本文通过关键场景对比,助您快速掌握两者的核心操作区别。 一、软件包管理:yum/dnf vs apt 操作CentOSUbuntu更新软件源yum check-upd…...
python-leetcode 61.N皇后
题目: 按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上,并且使皇后彼此之间不能相互攻击 给你一个整数 n ,返回所有不同的 n 皇后问题 的解…...
Scala 正则表达式
Scala 正则表达式 引言 正则表达式(Regular Expression)是一种强大的文本处理工具,在Scala编程语言中也有着广泛的应用。Scala正则表达式可以帮助开发者高效地进行字符串匹配、搜索、替换和解析等操作。本文将深入探讨Scala正则表达式的相关知识,包括语法、常用模式、匹配…...
【分布式】分布式限流方案解析
文章目录 固定窗口限流方案实现方式优点缺点 滑动窗口限流方案实现方式优点缺点 令牌桶限流方案实现方式优点缺点 漏斗限流方案实现方式优点缺点 在分布式系统蓬勃发展的当下,系统面临的流量挑战日益复杂。为确保系统在高并发场景下…...
Docker 拉取镜像部分成功部分失败?
🐋 Docker 拉取镜像部分成功部分失败?一次代理配置踩坑记录! 最近在部署 Zitadel 身份认证平台的过程中,遇到一个看似“随机”的问题:Docker 有些镜像可以拉取,有些却一直超时失败。最终通过配置 Docker 守…...
Spring AI Alibaba 对话记忆使用
一、对话记忆 (ChatMemory)简介 1、对话记忆介绍 ”大模型的对话记忆”这一概念,根植于人工智能与自然语言处理领域,特别是针对具有深度学习能力的大型语言模型而言,它指的是模型在与用户进行交互式对话过程中,能够追踪、理解并利…...
Mysql从入门到精通day5————子查询精讲
本文主要讲述子查询的几种方法,读者注意体会它们的不同场合的适用情况及功能,本篇文章也融入了小编实践过程遇到的坑,希望读者不要再踩坑 一.带IN关键字的子查询 in关键字可以检测结果集中是否存在某个特定的值,检测成功则执行外…...
QScreen 捕获屏幕(截图)
一、QScreen核心能力解析 硬件信息获取 // 获取主屏幕对象 QScreen* primaryScreen QGuiApplication::primaryScreen();// 输出屏幕参数 qDebug() << "分辨率:" << primaryScreen->size(); qDebug() << "物理尺寸:" << primar…...