通过HFS低成本搭建NAS,并内网穿透实现公网访问
文章目录
- 前言
- 1.下载安装cpolar
- 1.1 设置HFS访客
- 1.2 虚拟文件系统
- 2. 使用cpolar建立一条内网穿透数据隧道
- 2.1 保留隧道
- 2.2 隧道名称
- 2.3 成功使用cpolar创建二级子域名访问本地hfs
- 总结
前言
云存储作为一个新概念,在前些年炒的火热,虽然伴随一系列黑天鹅事件,让热度快速下降,但云存储带来的方便深入人心。因此在大厂的云存储产品热度下降后,私人的NAS热度快速上升,其中最具代表性的,必然是群晖NAS。但群晖价格太高,个人和小型企业无法承担。实际上,我们完全可以使用cpolar,与特定软件配合,打造属于自己的低成本NAS。现在,就让我们来看看如何操作吧。
1.下载安装cpolar
云存储的核心功能,是在任何网络条件下(公共互联网或局域网),都能方便的调取和存入数据,这个功能与共享文件存取一致,因此我们完全可以通过共享文件存取网页+cpolar的内网穿透数据隧道,实现在在公共互联网访问局域网内的电脑,并调取下载或共享文件。我们使用的文件共享网页,则是HFS。因此,我们需要下载并安装的,就是Cpolar、HFS两项,其下载地址如下:
- cpolar:https://www.cpolar.com/download
- HFS:https://www.rejetto.com/hfs/?f=dl(中文版在百度搜索亦可)
在这两个软件下载完毕后,就可以在解压获得程序文件。其中cpolar可以直接双击安装文件进行安装。
而HFS并不需要安装,双击后就会直接运行程序。HFS的主程序看起来是这样的:
虽然这个软件看起来比较简陋,但功能却很实用。我们只要将打算分享的文件(包括文档、图片、视频、压缩包等等)拖动到主界面左侧“虚拟文件系统”的空白处,就能将这个文件变为共享文件。
1.1 设置HFS访客
此时我们本地的HFS没有设置访客权限、没有设置远程文件上传的路径,也没有指定输出端口,因此我们需要先对这些内容进行设定,才能安全的使用HFS。首先是HFS的访客设置。我们打开软件主界面的“菜单”选项卡,在其中找到“其他设置”项,并从跳出的次级目录中找到“用户账号”选项。
在“添加用户”,我们能对用户名进行更改(双击打算建立的用户,直到用户名变为可编辑状态),接着勾选页面中部的“启用”和“超级用户”,并在下一行输入密码。完成设定后,就可以点击右下角的“应用”,保存这个用户。
接着我们再以同样的方式,建立一个“普通用户”,不过这个用户就不再授予“超级用户”权限
此处需要注意,我们一直勾选的“启用”项,可以直接决定该用户是否有效,而不必频繁的添加删除用户。在设立完成两个用户后,就可以点击右下角的“确定”按钮,保存所做的设置并回到HFS软件主界面。
1.2 虚拟文件系统
接着,我们设定一个用于存放上传文件的文件夹,并对这个文件夹进行权限的设定。首先我们在本地电脑上新建一个文件夹(此处命名为“上传存储”),然后在HFS主界面左侧的“虚拟文件系统”空白处,单击鼠标右侧,就能从弹出的菜单看到“从磁盘添加目录”选项,点击后找到我们新建的“上传存储”文件夹,并在弹出的对话框选择“真实目录”,就能将这个文件夹列入“虚拟文件系统”之中。
接着,我们右键点击这个红色的“上传存储”文件夹,在弹出的菜单中点选最下方的“属性”按钮,为这个文件夹进行权限设置。在这个页面,我们点选“权限”选项卡,在“上传”页面按实际需求勾选允许上传的用户。最后点击页面下方的“确认”按钮保存设置。
当然,我们也可以在“菜单”的“上传”项,并在弹出的选项栏中点选“如何上传”,查看上传设置的指引。
在完成这些设置后,我们对HFS的设定就告一段落。不过需要注意的是,hfs是一款绿色软件,如果想要其长期稳定运行,最好将其加入开机自启动列表和后台运行列表。接下来,我们就要通过cpolar建立一条内网穿透数据隧道,将本地的HFS发布到公共互联网,让我们的电脑成为能够上传下载并存储文件的简约版NAS。
2. 使用cpolar建立一条内网穿透数据隧道
接下来,我们就可以使用cpolar,建立一条内网穿透数据隧道,让我们能在公共互联网上访问到位于内网的hfs,进行文件的上传下载操作。
2.1 保留隧道
首先我们登录cpolar的官网,在官网主页面的左侧,我们找到“预留”按钮。在“预留”页面,需要属于几项信息,以建立一条空白数据隧道。首先是“地区”这里按实际使用地选择即可;接着是“二级域名”,二级域名最终会显示在生成的网页链接内,因此需要注意填写内容,这里我们填入HFSNAS;最后是“描述”,可以理解为这条数据隧道的注释,可以任意填写。完成这些内容填写后,就能点击右侧的“保留按钮”,将这条数据隧道保留下来。
接着,我们回到cpolar的本地电脑客户端(可以在开始菜单中找到cpolar快捷方式,也可以在浏览器地址栏中输入localhost:9200登录)。在cpolar客户端的主界面左侧,找到“隧道管理”项下的“创建隧道”,点击今日那个创建隧道页面,就能将我们在cpolar云端设定的空白数据隧道与本地的hfs软件结合起来。
2.2 隧道名称
首先是“隧道名称”,这一项可以看做备注说明,主要与其他数据隧道进行区分。第二行“协议”我们选择HTTP;第三项“本地地址”就是hfs软件的数据输出端口,由于我们并没有修改hfs的输出端口,因此hfs仍以默认的80端口输出数据(可以在hfs主界面上方点击“端口”按钮,修改输出端口号),这里只需填入“80”即可;记下来是“域名类型”,由于我们已经在cpolar云端建立了一条空白数据隧道,因此这里选择“二级子域名”,选择二级子域名后,就会在下方出现一个空白的Sub Domain栏位,这里我们填入保存的数据隧道名“HFSNAS”;最后的“地区”我们按实际使用地区选择即可。
以上信息填写完毕后,就可以点击页面下方的“创建”按钮,将空白数据隧道与本地hfs软件的输出端口关联起来。
而我们可以在cpolar主界面左侧“状态”项下的“在线隧道列表”页面,找到能链接本地hfs软件的隧道入口,即公共互联网地址。让我们尝试输入这个网址,看是否能链接到本地电脑的HFS软件
2.3 成功使用cpolar创建二级子域名访问本地hfs
可以看到,我们已经成功的使用cpolar创建的二级子域名网址,访问到位于本地电脑上的hfs,在登录用户后,不止能从hfs下载各类型文件,还能将文件上传到hfs的“上传文件夹”内,实现最低成本打造一个简易版的NAS。
总结
至此,我们成功的使用cpolar+hfs的组合,建立起一个简约版NAS。我们既可以用其进行企业协同办公,也能用其进行企业重要工作的安排和跟踪。需要注意的是,保留二级子域名和自定义域名功能属于高级功能,需将cpolar升级至VIP级别才可使用。当然,cpolar+hfs组合打造私有NAS,只是cpolar强大功能的应用场景之一,cpolar创建的数据隧道还能应用在更多场景中。
转载自cpolar极点云文章:[通过HFS低成本搭建NAS,并内网穿透实现公网访问](通过HFS低成本搭建NAS,并内网穿透实现公网访问 - cpolar 极点云)
今天的分享到这里就结束啦!如果觉得文章还不错的话,可以三连支持一下,春人的主页还有很多有趣的文章,欢迎小伙伴们前去点评,您的支持就是春人前进的动力!
相关文章:

通过HFS低成本搭建NAS,并内网穿透实现公网访问
文章目录 前言1.下载安装cpolar1.1 设置HFS访客1.2 虚拟文件系统 2. 使用cpolar建立一条内网穿透数据隧道2.1 保留隧道2.2 隧道名称2.3 成功使用cpolar创建二级子域名访问本地hfs 总结 前言 云存储作为一个新概念,在前些年炒的火热,虽然伴随一系列黑天鹅…...

【SpringMVC】工作流程及入门案例
目录 前言 回顾MVC三层架构 1. SpringMVC简介 …...

【JVM】垃圾收集算法
文章目录 分代收集理论标记-清除算法标记-复制算法标记-整理算法 分代收集理论 当前商业虚拟机的垃圾收集器,大多数都遵循了“分代收集”(Generational Collection)[1]的理论进 行设计,分代收集名为理论,实质是一套符…...

K8s的Pod出现Init:ImagePullBackOff问题的解决(以calico为例)
对于这类问题的解决思路应该都差不多,本文以calico插件安装为例,发现有个Pod的镜像没有pull成功 第一步:查看这个pod的描述信息 kubectl describe pod calico-node-wmhrw -n kube-system 从上图发现是docker拉取"calico/cni:v3.15.1&q…...

数据结构 -作用及基本概念
为什么要使用数据结构 学习数据结构是计算机科学和软件工程领域中非常重要的一门课程。以下是学习数据结构的几个重要原因: 组织和管理数据:数据结构提供了一种组织和管理数据的方式。通过学习不同的数据结构,你可以了解如何有效地存储和操作…...

数学建模--时间序列预测模型的七种经典算法的Python实现
目录 1.开篇版权提示 2.时间序列介绍 3.项目数据处理 4.项目数据划分可视化 5.时间预测序列经典算法1:朴素法 6.时间预测序列经典算法2: 简单平均法 7.时间预测序列经典算法3:移动平均法 8.时间预测序列经典算法4:简单指…...

nginx-反向代理缓存
反向代理缓存相当于自动化动静分离。 将上游服务器的资源缓存到nginx本地,当下次再有相同的资源请求时,直接讲nginx缓存的资源返回给客户端。 本地缓存资源有一个过期时间,当超过过期时间,则重新向上游服务器重新请求获取资源。…...

大模型重塑区域人才培养,飞桨(重庆)人工智能教育创新中心正式启动
2023年8月22日,重庆市高校人工智能产教融合院长研讨会暨飞桨(重庆)人工智能教育创新中心启动仪式在重庆大学成功召开。会上,由百度飞桨、重庆大学组织重庆市二十一所高校共建的飞桨(重庆)人工智能教育创新中…...

PAT 1164 Good in C 测试点3,4
个人学习记录,代码难免不尽人意。 When your interviewer asks you to write “Hello World” using C, can you do as the following figure shows? Input Specification: Each input file contains one test case. For each case, the first part gives the 26 …...

LabVIEW对EAST长脉冲等离子体运行的陀螺稳态运行控制
LabVIEW对EAST长脉冲等离子体运行的陀螺稳态运行控制 托卡马克是实现磁约束核聚变最有希望的解决方案之一。电子回旋共振加热(ECRH是一种对托卡马克有吸引力的等离子体加热方法,具有耦合效率高,功率沉积定位好等优点。陀螺加速器是ECRH系统中…...
Fragment
Fragment是Android开发中的一个重要组件,用于构建灵活且可重用的用户界面模块。它可以作为Activity的一部分来展示用户界面,并且可以嵌套在其他Fragment中,从而形成复杂的界面层级。 以下是一个简单的示例,展示了如何在Android中…...
哈希表-救赎金
Leetcode: https://leetcode.cn/problems/ransom-note/?envTypestudy-plan-v2&envIdtop-interview-150 给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。 如果可以,返回 true …...
vue3+vite+ts项目适配各种分辨率解决方案
现在的电脑屏幕和尺寸越来越多样化,对于前端开发来说,适配各种屏幕成了大难题,开发中一个实际例子:开发一个导航栏,ui给的是1920*60的尺寸,前端开发的时候,在自己电脑缩放比例中开发的ÿ…...

Python Opencv实践 - 矩形轮廓绘制(直边矩形,最小外接矩形)
import cv2 as cv import numpy as np import matplotlib.pyplot as pltimg cv.imread("../SampleImages/stars.png") plt.imshow(img[:,:,::-1])img_gray cv.cvtColor(img, cv.COLOR_BGR2GRAY) #通过cv.threshold转换为二值图 ret,thresh cv.threshold(img_gray,…...
大数据HBASE的详细使用
摘要:本文将深入探讨大数据HBASE的使用步骤,帮助读者了解和掌握这一强大的分布式数据库系统的基本概念和操作技巧。通过本文的阅读,读者将能够熟悉HBASE的基本设置,了解其核心概念,掌握基本的查询和管理操作࿰…...

Sentinel 流量控制框架
1. Sentinel 是什么? Sentinel是由阿里中间件团队开源的,面向分布式服务架构的轻量级高可用流量控制组件。 2. 主要优势和特性 轻量级,核心库无多余依赖,性能损耗小。 方便接入,开源生态广泛。 丰富的流量控制场景。 …...
leetcode原题: 跳水板
题目: 你正在使用一堆木板建造跳水板。有两种类型的木板,其中长度较短的木板长度为shorter,长度较长的木板长度为longer。你必须正好使用k块木板。编写一个方法,生成跳水板所有可能的长度。 返回的长度需要从小到大排列。 示例&…...

深度学习入门(Python)学习笔记1
第1章 Python入门 1.1python是什么 Python是一个简单、易读、易记的编程语言,而且是开源的,可以免费地自由使用。 使用Python不仅可以写出可读性高的代码,还可以写出性能高(处理速度快)的代码。 再者,在…...

苏州想要获得融资融券低利率账户的方法?怎么开融资融券账户?
想要获得融资融券低利率账户,可以通过以下几种方式: 选择低费率的券商:不同券商的费率不同,一些券商会提供低利率的融资融券账户,可以通过咨询券商或者比较不同券商的费率来找到最佳账户。 提升自身信用:获…...
【LeetCode周赛】LeetCode第359场周赛
LeetCode第359场周赛 判别首字母缩略词k-avoiding 数组的最小总和销售利润最大化找出最长等值子数组 判别首字母缩略词 给你一个字符串数组 words 和一个字符串 s ,请你判断 s 是不是 words 的 首字母缩略词 。 如果可以按顺序串联 words 中每个字符串的第一个字符…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...

基于当前项目通过npm包形式暴露公共组件
1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...
在四层代理中还原真实客户端ngx_stream_realip_module
一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...
MySQL用户和授权
开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务: test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...
#Uniapp篇:chrome调试unapp适配
chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器:Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...

MySQL 知识小结(一)
一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库,分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷,但是文件存放起来数据比较冗余,用二进制能够更好管理咱们M…...

代码规范和架构【立芯理论一】(2025.06.08)
1、代码规范的目标 代码简洁精炼、美观,可持续性好高效率高复用,可移植性好高内聚,低耦合没有冗余规范性,代码有规可循,可以看出自己当时的思考过程特殊排版,特殊语法,特殊指令,必须…...