轻量级开源文件共享系统PicoShare本地部署并实现公网环境文件共享

## 前言

本篇文章介绍,如何在 Linux 系统本地部署轻量级文件共享系统 PicoShare,并结合 Cpolar 内网穿透实现公网环境远程传输文件至本地局域网内文件共享系统。

PicoShare 是一个由 Go 开发的轻量级开源共享文件系统,它没有文件限制,允许用户在线上传大小任何类型的文件。它支持快速下载,并且不会调整文件大小或重新编码文件。PicoShare 提供了一个直接下载的方式来快速传输大文件,这可以在工作中取代网盘和其他传输方式来处理大文件。

在 PicoShare 上,用户可以创建共享空间,并且通过上传文件后立即生成一个下载链接来快速分享文件。PicoShare 的共享空间也可以自定义名称和密码,提供更高级的安全性。

PicoShare 的轻量级设计和开源特点使得它在各种场景下都能很好地运行,可以适用于个人、团队和公司等不同的组织和用户。它还支持多种语言,包括英文、中文、德语等,这使得它更加贴近用户需求,提高了使用体验。

首先在本地部署文件共享系统 PicoShare。

cdb299e49401c1426381d9e4f5f4b8f.png

1. 本地安装 Docker

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

在终端中执行下方命令安装 docker:

shell curl -fsSL https://get.docker.com -o get-docker.sh

然后再启动 docker

shell sudo sh get-docker.sh

最后我们在 docker 容器中运行下 hello world 看一下是否安装成功。

shell sudo docker container run hello-world

可以看到出现了 hello world,也就是说明我们已经安装 docker 成功,那么接下来就可以直接拉取 Answer 镜像了。

image-20240910145208138

2. 本地部署 PicoShare

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

shell 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

使用一键脚本安装命令

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

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

shell 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 套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn 已备案】

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

ef5517d7b39087f6f1396d7f4c995d2.png

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

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

9d12e2736a00263c8d5d574292f1748.png

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

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

点击更新

b4721938d218ab2ad3bef5ace96747e.png

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

b5a60a6b4851a9c055b973e5546dda6.png

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

979d389db516a947de28ea08119ca9e.png

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

511c683baadab506bb2203d18237b92.png

接下来就可以随时随地进行公网的文件共享了,把公网地址分享给身边的人,还可以方便团队协作。自己用的话,无需云服务器,还可以实现异地其他设备登录!以上就是如何在本地安装轻量级 PicoShare 文件共享系统的全部过程。

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

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

相关文章

基于查表法的 CRC8 / CRC16 / CRC32校验解析

在嵌入式开发中,CRC(Cyclic Redundancy Check)循环冗余校验算法广泛应用于通信数据校验、Flash 数据完整性检测、Bootloader 升级验证等场景。本文将深入剖析一套完整的 CRC8、CRC16 和 CRC32 实现,并通过查表法(Table…

二战蓝桥杯所感

🌴 前言 今天是2025年4月12日,第十六届蓝桥杯结束,作为二战的老手,心中还是颇有不甘的。一方面,今年的题目比去年简单很多,另一方面我感觉并没有把能拿的分都拿到手,这是我觉得最遗憾的地方。不…

基于ueditor编辑器的功能开发之给编辑器图片增加水印功能

用户需求,双击编辑器中的图片的时候,出现弹框,用户可以选择水印缩放倍数、距离以及水印所放置的方位(当然有很多水印插件,位置大小透明度用户都能够自定义,但是用户需求如此,就自己写了&#xf…

算法题(123):回文日期

审题: 本题需要我们判断以八位数确定的日期范围中是否存在回文数 思路: 方法一:枚举法 1.确定枚举对象: 对象1:八位数日期,所需枚举次数:10^8 对象2:年,所需枚举次数&…

数据库表的操作

一、数据库的搭建 如上篇文章 二、基础了解 show命令支持模糊匹配 show databases、show tables、 show databases like “” “%”、“_”通配符字符串 三、MySQL数据库表的操作 关系型数据库都是遵循SQL语法进行数据查询和管理的 3.1 SQL介绍 3.1.1 SQL的功能 结构化查询语…

在 Lua 中实现 JSON 与 Table 的相互转换的详细使用方法

在 Lua 中实现 JSON 与 Table 的相互转换是常见的数据序列化需求。以下是详细的实现方案、性能优化技巧及进阶用法: 在 Lua 中实现 JSON 与 Table 的相互转换的详细使用方法-目录 一、常用 JSON 库对比二、基础转换实现1. 使用 lua-cjson(高性能 C 库&am…

dbVisitor 规则怎么用?

在数据库操作中,dbVisitor 是一个功能强大的工具,其规则的使用大大简化了 SQL 语句的编写过程。下面将详细介绍 dbVisitor 规则的使用方法并附上具体例子。 一、规则的基本调用 在 dbVisitor 中,SQL 语句可以通过 {...} 的形式来调用规则&a…

Kingbase 常用运维命令总结

一、数据库连接与基础操作 连接指定服务器数据库 ksql -h 主机IP -p 端口号 -U 用户名 -d 数据库名 -W # 示例:连接 IP 为 192.168.1.100 的数据库 ksql -h 192.168.1.100 -p 54321 -U system -d test -W 断开数据库连接 \q 或 exit 查看数据库列表及详细信息…

【数据结构与算法】LRU Cache 算法实现

文章目录 Ⅰ. 什么是 LRU CacheⅡ. LRU Cache 的实现[146. LRU 缓存](https://leetcode.cn/problems/lru-cache/) Ⅰ. 什么是 LRU Cache ​ LRU( Least Recently Used) 是一种淘汰策略的缩写,意思是 最近最少使用,它是一种 Cache…

网页布局汇总

1. 盒模型 容器大小 内容大小 内边距(padding) 边框大小 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0">&l…

打造海外流量矩阵,TikTok云控工具让获客更简单!

跨境获客&#xff0c;始终是无数企业主心中的一道难题。今天&#xff0c;给大家带来一款强大实用的工具——TikTok矩阵云控系统&#xff0c;帮你轻松突破流量瓶颈&#xff0c;实现高效跨境获客&#xff01; 跨国远程操控——苹果手机矩阵云控系统 在正式开始之前&#xff0c;…

MyBatis-plus 快速入门

提示&#xff1a;MyBatis-Plus&#xff08;MP&#xff09;是一个 MyBatis的增强版 文章目录 前言使用MybatisPlus的基本步骤1、引入MybatisPlus依赖代替Mybatis依赖2、定义Mapper接口并继承BaseMapper他是怎么知道哪张表&#xff0c;哪些字段呢 3、实体类注解4、根据需要添加配…

找搭子系统 搭子经济新风口 基于精准匹配的社交新生态探索

一、市场前景&#xff1a;为什么现在需要"找搭子"&#xff1f; 孤独经济爆发 超60%年轻人存在"精准陪伴"需求&#xff08;2024社交报告&#xff09; 传统社交App无法满足"非婚恋、非熟人"的中间态需求 线下活动复苏 剧本杀/飞盘等兴趣活动年增…

深入探析C#设计模式:访问者模式(Visitor Pattern)的原理与应用

引言 在软件开发中&#xff0c;设计模式为我们提供了高效、可维护的解决方案。而在众多设计模式中&#xff0c;访问者模式&#xff08;Visitor Pattern&#xff09;以其独特的结构和应用场景&#xff0c;在复杂系统中发挥着重要作用。本文将深入讲解访问者模式的定义、原理、优…

Redis核心功能实现

前言 学习是个输入的过程&#xff0c;在进行输入之后再进行一些输出&#xff0c;比如写写文章&#xff0c;笔记&#xff0c;或者做一些技术串讲&#xff0c;虽然需要花费不少时间&#xff0c;但是好处很多&#xff0c;首先是能通过输出给自己的输入带来一些动力&#xff0c;然…

RPA VS AI Agent

图片来源网络 RPA&#xff08;机器人流程自动化&#xff09;和AI Agent&#xff08;人工智能代理&#xff09;在自动化和智能化领域各自扮演着重要角色&#xff0c;但它们之间存在显著的区别。以下是对两者区别的详细分析&#xff1a; 一、定义与核心功能 RPA&#xff08;机…

多模态大语言模型arxiv论文略读(十五)

Jailbreaking GPT-4V via Self-Adversarial Attacks with System Prompts ➡️ 论文标题&#xff1a;Jailbreaking GPT-4V via Self-Adversarial Attacks with System Prompts ➡️ 论文作者&#xff1a;Yuanwei Wu, Xiang Li, Yixin Liu, Pan Zhou, Lichao Sun ➡️ 研究机构…

第1节:计算机视觉发展简史

计算机视觉与图像分类概述&#xff1a;计算机视觉发展简史 计算机视觉&#xff08;Computer Vision&#xff09;作为人工智能领域的重要分支&#xff0c;是一门研究如何使机器"看"的科学&#xff0c;更具体地说&#xff0c;是指用摄影机和计算机代替人眼对目标进行识…

【工具】Fiddler抓包

本文主要讲解如何使用Fiddler抓HTTP包&#xff0c;可通过所抓包内容分析HTTP请求/响应的细节 安装与配置 1.下载与安装 下载地址: https://www.telerik.com/fiddler/ 点击了链接后&#xff0c;跳转到以下页面&#xff1a; 点击Fiddler Classic(免费版)后&#xff0c;跳转到以…

STM32F103复用JTAG/SWD引脚为GPIO

普中-精灵1开发板&#xff0c;主芯片为STM32F103C8T6&#xff0c;4个独立按键K1~K4依次接PA15~PA12&#xff0c;按下为低电平&#xff0c;8个LED灯D1~D8&#xff0c;依次接PA0~PA7。查询手册得知&#xff1a;PA15主功能为JTDI&#xff0c;PA14为JTCK/SWCLK&#xff0c;PA13为JT…