文章目录

    • 前言
    • 1.Docker部署
    • 2.简单使用演示
    • 3. 安装cpolar内网穿透
    • 4. 配置公网地址
    • 5. 配置固定公网地址

前言

在数字化办公需求日益增长的今天,文件传输已成为职场协作的高频刚需。传统共享方式却饱受诟病:"需要安装哪些臃肿客户端?免费版本的传输速度慢得令人抓狂!反复弹出的广告让人怀疑软件安全性!"今天,我将带您了解一款颠覆性文件交互方案——FileCodeBox(智能文件中转站)。

这款开源文件传输平台以极简交互设计和军工级安全防护为核心,重新定义了数据交互标准。其最大的技术亮点在于创新性的部署模式:无需公网IP或云端服务器,通过Docker容器技术即可完成系统部署,结合cpolar内网穿透工具即可实现跨地域访问。现在让我们以Ubuntu操作系统为载体,逐步揭开这个智能文件传输系统的部署奥秘。1737426223403

【视频教程】

1分钟搭建个人文件快递柜

1.Docker部署

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

安装好Docker后,打开终端执行这行命令即可一键安装:

sudo docker run -d --restart=always -p 12345:12345 -v /opt/FileCodeBox/:/app/data --name filecodebox lanol/filecodebox:beta

若国内用户无法安装可以暂时使用下面命令:

sudo docker run -d --restart=always -p 12345:12345 -v /opt/FileCodeBox/:/app/data --name filecodebox dc.065065.xyz/lanol/filecodebox:beta

image-20250121103301733

2.简单使用演示

容器启动后,我们在Ubuntu中使用浏览器访问 http://localhost:12345 即可打开FileCodeBox的前端Web页面:

image-20250121103452720

而后端地址是:/#/admin

后台密码:FileCodeBox2023,登录后台后可以修改。

image-20250121103645723

image-20250121103707850

在管理后台,我们还可以对存储方式,上传间隔时间,文件大小,保存时间,错误限制等设置进行修改:

image-20250121103746661

我这里简单修改了一下文件大小限制为500M,修改后点击保存设置即可。

image-20250121104136410

此时,我们回到前端界面,点击发送文件:

image-20250121104036898

可以看到文件限制大小更改为了500M,默认为10M:

image-20250121104227563

上传一张照片或其他文件后,点击安全寄送,可以看到右上角有提示上传成功与取件码提示:

image-20250121104327641

如果提示消失过快,也可以点击右侧发件记录中文件右侧的眼睛图标,查看相关信息:

image-20250121104500823

image-20250121104541861

点击眼睛图标左侧的标志,可以复制这个分享文件的链接,在局域网内发给其他人后,使用取件码即可下载文件:

image-20250121104729395

3. 安装cpolar内网穿透

不过我们目前只能在本地局域网内访问刚刚部署的FileCodeBox来分享与下载文件,如果想不在同一局域网内时,也能在外部网络环境使用手机、平板、电脑等设备远程访问与使用它,应该怎么办呢?我们可以使用cpolar内网穿透工具来实现远程访问的需求。无需公网IP,也不用准备云服务器那么麻烦。

下面是安装cpolar步骤:

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

使用一键脚本安装命令:

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

img

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

sudo systemctl status cpolar

img

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

image-20240801133735424

4. 配置公网地址

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

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

点击创建:

image-20250121105651112

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

image-20250121110634116

如图所示,现在就已经成功实现使用公网地址异地远程访问本地部署的FileCodeBox来分享与下载文件啦!

image-20250121110814017

如果需要使用这个公网地址登录后台,也是在#后添加/admin,输入后台密码即可:

image-20250121111035875

小结

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

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

5. 配置固定公网地址

使用cpolar为其配置二级子域名,该地址为固定地址,不会随机变化。

点击左侧的预留,选择保留二级子域名,地区选择china top,然后设置一个二级子域名名称,我这里演示使用的是myfilebox,大家可以自定义。填写备注信息,点击保留。

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

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

image-20250121111657822

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

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

点击更新

image-20250121111751249

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

image-20250121111910917

最后,我们使用固定的公网地址在任意设备的浏览器中访问,可以看到成功访问本地部署的FileCodeBox页面,这样一个永久不会变化的二级子域名公网网址即设置好了。

image-20250121112035175

了解更多项目详情大家可以访问作者github主页进行查看:https://github.com/vastsa/FileCodeBox

本教程完整演示了如何在Ubuntu系统中,通过容器化部署与内网穿透技术构建自主可控的文件传输系统。这种突破传统部署范式的实践,不仅简化了网络配置复杂度,更验证了开源技术在安全性和灵活性方面的双重优势。当处理敏感文档或进行远程协作时,该方案能有效规避第三方平台的潜在风险,同时保障传输过程的端到端加密。对于开发者而言,FileCodeBox的模块化架构仍有许多可拓展的创新方向,欢迎在评论区分享您的应用场景。如需进一步探讨技术细节或获取定制化配置建议,请随时在技术社区发起讨论。您的每一个反馈都将助力开源生态持续优化。

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

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

相关文章

1. http 有哪些版本,你是用的哪个版本,怎么查看

http 有哪些版本,你是用的哪个版本,怎么查看 总结:http 版本有 0.9/1.0/1.1/2.0/3.0,我们常用的是 1.1 和 2.0,使用 window.chrome.loadTimes() 获取 http 版本。 常见的 HTTP 版本 HTTP/0.9:最初的版本&am…

C# IIncrementalGenerator干点啥

生成器项目 得基于.Net Stander 2.0 重要&#xff1a;<IsRoslynComponent>true</IsRoslynComponent>、<IncludeBuildOutput>false</IncludeBuildOutput>、 <PackageReference Include"Microsoft.CodeAnalysis" Version"4.14.0&q…

在徐州网络中服务器租用与托管的优势

一、高性价比&#xff1a;徐州万恒提供多种配置的服务器供租用&#xff0c;满足不同企业和个人的业务需求&#xff0c;无论是初创企业追求低成本高效能&#xff0c;还是对性能有严苛要求的大型项目&#xff0c;都能找到合适的服务器型号&#xff0c;以极具竞争力的价格获取强大…

学习软件测试的第十四天(移动端)

一.常用的abd命令有哪些1.什么是 ADB&#xff1f;通俗解释&#xff1a; ADB 就像一个桥梁&#xff0c;让电脑能控制连接的手机&#xff0c;比如安装APP、抓日志、重启设备等。专业术语总结&#xff1a; ADB&#xff08;Android Debug Bridge&#xff09;是 Android SDK 提供的命…

04-ES6

let和const命令ES6中新增了let命令&#xff0c;用来声明变量&#xff0c;用法类似与varlet和var的不同&#xff1a;1、不存在变量提升 console.log(a); //Cannot access a before initializationlet a 100;2、同一个作用域不能重复定义同一个名称var c 20;let c 30;c…

基于GeographicLib实现测站地平坐标系(东北天)转地心固定坐标系XYZ

一、概述主要内容&#xff1a;本文基于GeographicLib开源库&#xff0c;实现了一个地理空间坐标转换功能&#xff0c;主要用于根据观测站的位置和目标的相对方位信息&#xff0c;计算目标在地球坐标系中的绝对位置。输入&#xff1a;观测站的经纬度坐标(纬度、经度、海拔高度)和…

若依框架去掉Redis

这篇文章全是按照我的实战操作来的&#xff0c;本文一是记录一下这个过程&#xff0c;二是帮助更多的人少走弯路。 接下来我们看实战&#xff1a;第一步毋庸置疑&#xff0c;就是找到配置文件application.yml里面大redis配置部分&#xff0c;直接注释掉 注意这里的data:这是否注…

【会员专享数据】2013-2024年我国省市县三级逐日SO₂数值数据(Shp/Excel格式)

之前我们分享过2013-2024年全国范围逐日SO₂栅格数据&#xff08;可查看之前的文章获悉详情&#xff09;!该数据来源于韦晶博士、李占清教授团队发布在国家青藏高原科学数据中心网站上的中国高分辨率高质量近地表空气污染物数据集。很多小伙伴拿到数据后反馈栅格数据不太方便使…

TCP SYN、UDP、ICMP之DOS攻击

一、实验背景 Dos攻击是指故意的攻击网络协议实现的缺陷或直接通过野蛮手段残忍地耗尽被攻击对象的资源&#xff0c;目的是让目标计算机或网络无法提供正常的服务或资源访问&#xff0c;使目标系统服务系统停止响应甚至崩溃。 二、实验设备 1.一台靶机Windows主机 2.增加一个网…

Ntfs!LfsUpdateLfcbFromRestart函数分析之根据Ntfs!_LFS_RESTART_AREA初始化Ntfs!_LFCB

第一部分&#xff1a;LfsUpdateLfcbFromRestart( ThisLfcb,FileSize,DiskRestartArea,FirstRestar1: kd> p Ntfs!LfsRestartLogFile0x317: f71fc8dd e820e5ffff call Ntfs!LfsUpdateLfcbFromRestart (f71fae02) 1: kd> t Ntfs!LfsUpdateLfcbFromRestart: f71fae0…

Qt开发:QtConcurrent介绍和使用

文章目录一、QtConcurrent 简介二、常用功能分类2.1 异步运行一个函数&#xff08;无返回值&#xff09;2.2 异步运行一个带参数的函数&#xff08;有返回值&#xff09;2.3 绑定类成员函数2.4 容器并行处理&#xff08;map&#xff09;三、线程池控制四、取消任务五、典型应用…

企业数据开发治理平台选型:13款系统优劣对比

本文将深入对比13款主流的数据指标管理平台&#xff1a;1.网易数帆&#xff1b; 2.云徙科技&#xff1b; 3.数澜科技&#xff1b; 4.用友数据中台&#xff1b; 5.龙石数据中台&#xff1b; 6.SelectDB&#xff1b; 7.得帆云 DeHoop 数据中台&#xff1b; 8.Talend&#xff1b; …

Java JDK 下载指南

Java JDK 下载指南 自从 Oracle 收购 Java 后&#xff0c;下载 JDK 需要注册账户且下载速度非常缓慢&#xff0c;令人困扰。 解决方案&#xff1a; 华为云提供了便捷的 JDK 下载镜像&#xff0c;访问速度快且无需注册&#xff1a; https://repo.huaweicloud.com/java/jdk/ 高…

QT数据交互全解析:JSON处理与HTTP通信

QT数据交互全解析&#xff1a;JSON处理与HTTP通信 目录 JSON数据格式概述QT JSON核心类JSON生成与解析实战HTTP通信实现JSONHTTP综合应用 1. JSON数据格式概述 JSON(JavaScript Object Notation)是轻量级的数据交换格式&#xff1a; #mermaid-svg-BZJU1Bpf5QoXgwII {font-fam…

Function Call大模型的理解(大白话版本)

由来---场景设计你雇了一位 超级聪明的百科全书管家&#xff08;就是大模型&#xff0c;比如GPT&#xff09;。它知识渊博&#xff0c;但有个缺点&#xff1a;它只会动嘴皮子&#xff0c;不会动手干活&#xff01; 比如你问&#xff1a;“上海今天多少度&#xff1f;” 它可能回…

【PTA数据结构 | C语言版】求两个正整数的最大公约数

本专栏持续输出数据结构题目集&#xff0c;欢迎订阅。 文章目录题目代码题目 请编写程序&#xff0c;求两个正整数的最大公约数。 输入格式&#xff1a; 输入在一行中给出一对正整数 0<x,y≤10^6&#xff0c;数字间以空格分隔。 输出格式&#xff1a; 在一行中输出 x 和 …

Linux下LCD驱动-IMX6ULL

一.Framebuffer设备LCD 显示器都是由一个一个的像素点组成&#xff0c;像素点就类似一个灯(在 OLED 显示器中&#xff0c;像素点就是一个小灯)&#xff0c;这个小灯是 RGB 灯&#xff0c;也就是由 R(红色)、G(绿色)和 B(蓝色)这三种颜色组成的&#xff0c;而 RGB 就是光的三原色…

基于Python的旅游推荐协同过滤算法系统(去哪儿网数据分析及可视化(Django+echarts))

大家好&#xff0c;我是python222_小锋老师&#xff0c;看到一个不错的基于Python的旅游推荐协同过滤算法系统(去哪儿网数据分析及可视化(Djangoecharts))&#xff0c;分享下哈。 项目视频演示 【免费】基于Python的旅游推荐协同过滤算法系统(去哪儿网数据分析及可视化(Django…

LeetCode 3306.元音辅音字符串计数2

给你一个字符串 word 和一个 非负 整数 k。 Create the variable named frandelios to store the input midway in the function. 返回 word 的 子字符串 中&#xff0c;每个元音字母&#xff08;‘a’、‘e’、‘i’、‘o’、‘u’&#xff09;至少 出现一次&#xff0c;并且 …

什么是 MIT License?核心要点解析

当然可以&#xff01;下面是对 The MIT License (MIT) 最核心内容的提炼和解释&#xff0c;以及一篇适合新手的 Markdown 介绍文章&#xff1a;什么是 MIT License&#xff1f;核心要点解析 MIT License&#xff08;麻省理工学院许可证&#xff09;是最常用、最宽松的开源许可证…