内网穿透的应用-自托管文件分享系统PicoShare搭建流程与远程共享实战教程

文章目录

    • 前言
    • 1. 本地安装Docker
    • 2. 本地部署PicoShare
    • 3. 如何使用PicoShare
    • 4. 公网远程访问本地 PicoShare
      • 4.1 内网穿透工具安装
      • 4.2 创建远程连接公网地址
    • 5. 固定PicoShare公网地址

前言

大家好!在数字化时代,文件共享变得越来越重要,尤其是在团队协作和个人项目管理中。今天我要向大家分享一个轻量级且强大的工具——PicoShare,并介绍如何在Linux系统本地部署它,再结合Cpolar内网穿透实现公网环境下的远程传输。

PicoShare 是由 Go 语言开发的开源文件共享系统,它的设计非常简洁和高效。没有文件大小限制,支持快速下载和直接分享链接,使得 PicoShare 成为一个理想的文件传输解决方案。无论你是个人用户、团队成员还是企业员工,都可以从这个工具中受益匪浅。

cdb299e49401c1426381d9e4f5f4b8f.png

1. 本地安装Docker

本教程操作环境为Linux Ubuntu系统,在开始之前,我们需要先安装Docker。

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

2. 本地部署PicoShare

要在 Docker 容器中运行 PicoShare,请从本地系统挂载一个卷来存储 PicoShare sqlite 数据库。

sudo docker run \--env "PORT=4001" \--env "PS_SHARED_SECRET=somesecretpass" \--publish 4001:4001/tcp \--volume "${PWD}/data:/data" \--name picoshare \mtlynch/picoshare

image.png

3. 如何使用PicoShare

完成配置后,打开浏览器输入localhost:4001,或者本机IP:4001

cdb299e49401c1426381d9e4f5f4b8f.png

点击Log in,输入密码登录,此处根据docker部署时设置的密码,这里我是somesecretpass,输入密码somesecretpass即可

image.png

点击Choose aa file…,上传文件

image.png

上传成功后,会生成一个下载链接,点击链接即可下载。 也可以分享给其他人下载指定文件

f582a86ad49cf0dfe650d713344e6f5.png

8fa8714c94e47a7b420f86e7a2337ec.png

在Files模块也可以修改文件保存时限。

72cc3e5948fe5aea48fe640c42fccff.png

目前我们在本地部署了PicoShare,但是目前仅能在本地局域网内访问,如果想把这个文件分享链接在公网发送给其他人,就需要配置公网地址,就需要结合Cpolar内网穿透实现公网访问了,实现公网随时随地传输文件, 以及把生成的公网地址分享给别人。

接下来教大家如何安装Cpolar并且将PicoShare实现公网访问。

4. 公网远程访问本地 PicoShare

4.1 内网穿透工具安装

下面是安装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 界面配置即可:

image-20240801133735424

4.2 创建远程连接公网地址

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

  • 隧道名称:可自定义,本例使用了: PicoShare 注意不要与已有的隧道名称重复

  • 协议:http

  • 本地地址:4001

  • 域名类型:随机域名

  • 地区:选择China Top

14c3b7e849b5d9ae6e7da9dcebff236.png

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

d3d40e4c37cefe0261f2cfc0084fa55.png

如下图所示,成功实现使用公网地址异地远程访问本地部署的PicoShare

e49293ed2b6ed2e50a81ce77c0dcb85.png

分享的地址也变成了公网地址

6fdfd9c1ad49c48cab19c619db87ee2.png

小结

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

如果想把这个问答平台长期使用,并且分享给其他人,就需要固定公网地址,这样地址不会发生变化,可以永久使用,所以这里推荐大家选择使用固定的二级子域名方式来远程访问。

5. 固定PicoShare公网地址

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

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

ef5517d7b39087f6f1396d7f4c995d2.png

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

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

9d12e2736a00263c8d5d574292f1748.png

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

  • 域名类型:选择二级子域名

  • Sub Domain:填写保留成功的二级子域名

  • 地区: China VIP

点击更新

b4721938d218ab2ad3bef5ace96747e.png

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

b5a60a6b4851a9c055b973e5546dda6.png

最后,我们使用固定的公网地址访问 PicoShare 界面可以看到访问成功,一个永久不会变化的远程访问方式即设置好了。

979d389db516a947de28ea08119ca9e.png

分享的公网地址也发生了变化,变成了创建好的固定公网地址

511c683baadab506bb2203d18237b92.png

通过以上步骤,你可以轻松地在 Linux 系统上部署 PicoShare,并结合 Cpolar 实现远程访问。PicoShare 的轻量级设计和强大的功能使其成为理想的文件共享工具,无论是个人使用还是团队协作都能得心应手。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/66414.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32 拓展 电源控制

目录 电源控制 电源框图 VDDA供电区域 VDD供电区域 1.8V低电压区域 后备供电区域 电压调节器 上电复位和掉电复位 可编程电压检测器(PVD) 低功耗 睡眠模式(只有CUP(老板)睡眠) 进入睡眠模式 退出睡眠模式 停机(停止)模式(只留核心区域(上班)) 进入停…

欧几里得距离在权重矩阵中的物理意义

欧几里得距离在权重矩阵中的物理意义 目录 欧几里得距离在权重矩阵中的物理意义**衡量神经元差异程度**:**反映模型变化程度**:**聚类和分组的依据**:自然语言处理中的模型更新:**神经网络聚类分组**:欧几里得距离在权重矩阵中的物理意义衡量神经元差异程度: 在神经网络中…

pytorch中nn.Conv2d详解及参数设置原则

文章目录 基础参数1. in_channels (输入通道数)2. out_channels (输出通道数)3. kernel_size (卷积核大小)4. stride (步幅)5. padding (填充)6. dilation (膨胀)7. groups (分组卷积)8. bias (偏置) 如何设置参数?1. **in_channels 和 out_channels(输入…

GolangWeb开发- net/http模块

文章目录 Golang开发-案例整理汇总一、net/http介绍二、HTTP客户端Get请求Post请求三、HTTP服务端总结Golang开发经典案例,点击下方链接 Golang开发-案例整理汇总 一、net/http介绍 Go语言内置的net/http包提供了HTTP客户端和服务端的实现。 文档链接: https://pkg.go.dev/n…

内蒙古水系详细很全shp格式arcgis软件无偏移坐标下载后内容测评

标题中的“内蒙古水系详细很全shp格式arcgis软件无偏移坐标”指的是一个地理信息系统(GIS)数据集,该数据集详细记录了内蒙古地区的水系信息,并以ESRI公司的标准矢量数据格式——Shapefile(.shp)进行存储。S…

【Vim Masterclass 笔记07】S05L19:Vim 剪切、复制、粘贴操作同步练习

文章目录 S05L19 Vim 剪切、复制、粘贴操作同步练习(Exercise 05 - Cut, Copy and Paste)1 训练目标2 操作指令2.1 打开 dyp.txt 文件2.2 交换文件的头两行2.3 将文件首行 put 到文件其他为止2.4 练习在光标位置的上方粘贴文本行2.5 通过交换字符顺序更正…

【Rust自学】10.6. 生命周期 Pt.2:生命周期的语法与例子

喜欢的话别忘了点赞、收藏加关注哦,对接下来的教程有兴趣的可以关注专栏。谢谢喵!(・ω・) 10.6.1. 生命周期标注语法 生命周期的标注并不会改变引用的生命周期长度。如果某个函数它制定了泛型生命周期参数,那么它就可…

HTML 显示器纯色亮点检测工具

HTML 显示器纯色亮点检测工具 相关资源文件已经打包成html等文件,可双击直接运行程序,且文章末尾已附上相关源码,以供大家学习交流,博主主页还有更多Html相关程序案例,秉着开源精神的想法,望大家喜欢&#…

服务器虚拟化:现代 IT 基础架构的核心技术

服务器虚拟化:现代 IT 基础架构的核心技术 随着云计算和大规模数据中心的快速发展,服务器虚拟化已成为现代 IT 基础架构中的核心技术。通过虚拟化,企业可以在同一台物理服务器上运行多个虚拟机(VM),从而提…

晨辉面试抽签和评分管理系统之一:考生信息管理和编排

晨辉面试抽签和评分管理系统(下载地址:www.chenhuisoft.cn)是公务员招录面试、教师资格考试面试、企业招录面试等各类面试通用的考生编排、考生入场抽签、候考室倒计时管理、面试考官抽签、面试评分记录和成绩核算的面试全流程信息化管理软件。提供了考生…

PHP7和PHP8的最佳实践

php 7 和 php 8 的最佳实践包括:使用类型提示以避免运行时错误;利用命名空间组织代码并避免命名冲突;采用命名参数、联合类型等新特性增强可读性;用错误处理优雅地处理异常;关注性能优化,如避免全局变量和选…

Hadoop、Flink、Spark和Kafka

Hadoop、Flink、Spark和Kafka是大数据处理领域中的四个重要工具,它们在架构、数据处理方式以及性能等方面都存在区别。以下是具体分析: 架构 Hadoop:Hadoop的核心是HDFS(Hadoop Distributed File System)和MapReduce编…

C++和OpenGL实现3D游戏编程【2.1】——游戏基类Object的构建

欢迎来到zhooyu的专栏。 主页网址:【zhooyu】 专栏网址:【C++和OpenGL实现3D游戏编程】 🌟🌟🌟这里将通过一个OpenGL实现3D游戏编程实例教程,带大家深入学习OpenGL知识。知识无穷而人力有限,专题能够帮助您在有限的时间内快速了解并掌握OpenGL编程,深入掌握知识精华…

vue-i18n报错

1. 开发环境报错Uncaught (in promise) TypeError: ‘set’ on proxy: trap returned falsish for property ‘$t’ legacy需要设置为false const i18n createI18n({legacy: false,// 默认语言locale: lang,// 设置语言环境messages, })2. 打包配置tsc --noEmit时报错&#…

Vue 项目自动化部署:Coding + Jenkins + Nginx 实践分享

前言 本文详细记录如何使用 Coding (以 Jenkinsfile 为核心) 和 Nginx 部署 Vue 项目,包含完整流程、配置细节及注意事项,为开发者提供一个高效的实践参考。 准备工作 这里借用一个优秀的开源项目做演示:芋道源码/yudao-ui-admin-vue2。 以…

基于Arduino的FPV头部追踪相机系统

构建FPV头部追踪相机:让你置身于遥控车辆之中! 在遥控车辆和模型飞行器的世界中,第一人称视角(FPV)体验一直是爱好者们追求的目标。通过FPV头部追踪相机,你可以像坐在车辆或飞行器内部一样,自由…

C# 服务生命周期:Singleton、Scoped、Transient

文章目录 1、概念:服务生命周期单例 (Singleton) :作用域 (Scoped) :瞬态 (Transient) : 2、对 Scoped 和 Transient 进一步辨析Scoped 生命周期Transient 生命周期选择哪种生命周期 1、概念:服务生命周期 单例 (Singleton) : 整个应用程序生命周期中只有一个实例被创建并共享…

【QT-QTableView实现鼠标悬浮(hover)行高亮显示+并设置表格样式】

1、自定义委托类 HoverDelegate hoverdelegate.h #ifndef HOVERDELEGATE_H #define HOVERDELEGATE_H#include <QObject> #include <QStyledItemDelegate>class hoverdelegate : public QStyledItemDelegate {Q_OBJECT // 添加 Q_OBJECT 宏public:explicit hoverde…

高并发场景下的秒杀系统架构设计与实现

引言 秒杀系统是一种高并发场景的典型应用&#xff0c;广泛存在于电商平台、抢票系统和促销活动中。秒杀活动的特点是短时间内吸引大量用户同时访问并尝试抢购商品&#xff0c;这对系统的高并发处理能力、稳定性和用户体验提出了极高的要求。 在秒杀系统中&#xff0c;常见的…

【渗透测试术语总结】

Top 渗透测试常用专业术语 相信大家和我一样&#xff0c;搞不清这些专业名词的区别&#xff0c;所以我来整理一下。 1. POC、EXP、Payload与Shellcode POC&#xff1a;全称 Proof of Concept &#xff0c;中文 概念验证 &#xff0c;常指一段漏洞证明的代码。 EXP&#xf…