当前位置: 首页 > news >正文

通过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的尺寸,前端开发的时候,在自己电脑缩放比例中开发的&#xff…...

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的基本设置,了解其核心概念,掌握基本的查询和管理操作&#xff0…...

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 中每个字符串的第一个字符…...

vue3+ts+tinynce在富文本编辑器菜单栏实现下拉框选择

实现效果 代码&#xff1a; <script lang"ts" setup> import Editor from tinymce/tinymce-vue import tinymce from tinymce; import { getIndicator } from /api/data-assets/data-dictoryimport {computed, ref} from "vue"; const props defin…...

前端UI组件库深度解析:构建现代化的用户体验

引言 在当今的前端开发中&#xff0c;UI组件库已经成为了我们工具箱中不可或缺的一部分。这些库可以极大地提高我们的工作效率&#xff0c;同时也使我们能够专注于实现真正的业务逻辑&#xff0c;而不是重复地编写UI代码。本篇博客将详细地探讨UI组件库的核心概念&#xff0c;…...

leetcode 1326. Minimum Number of Taps to Open to Water a Garden

x轴上的花园范围为[0,n], 0~n这个n1个离散点上有水龙头&#xff0c;第 i 个水龙头能浇水的范围为[i-ranges[i], iranges[i]]. 求能浇整个花园的最小水龙头个数。 思路&#xff1a; 方法一&#xff1a; greedy 先把每个水龙头能浇的区间准备好&#xff0c; 用一个数组保存所有…...

C++日期类的基本实现

前言 对于许多出初学C的同学来说首先接触的第一个完整的类便是日期类&#xff0c;这个类能有效的帮助我们理解C中有关类的初始化以及重载的相关知识&#xff0c;帮助我们轻松上手体验C的魅力。 文章目录 前言一、日期类整体初概二、构造2.1 判断日期是否合法2.2 构造函数 三、…...

第六章:数据结构与算法-part3:数据结构算法提升

文章目录 一、排序算法1.1 插入排序1、直接插入排序2、折半插入排序3、希尔排序 1.2、交换排序法1、起泡排序2、快速排序 1.3 选择类排序1、简单选择排序 二、业务逻辑算法设计2.1 基本概念和术语2.2 静态查找表2.3、有序表的查找 一、排序算法 排序是数据处理过程中经常使用的…...

keras深度学习框架通过卷积神经网络cnn实现手写数字识别

昨天通过keras构建简单神经网络实现手写数字识别&#xff0c;结果在最后进行我们自己的手写数字识别的时候&#xff0c;准确率堪忧&#xff0c;只有60%。今天通过卷积神经网络来实现手写数字识别。 构建卷积神经网络和简单神经网络思路类似&#xff0c;只不过这里加入了卷积、池…...

Springboot启动异常 Command line is too long

Springboot启动异常 Command line is too long Springboot启动时直接报异常 Command line is too long. Shorten command line for xxxxxApplication or also for Spring Boot default解决方案: 修改 SystemApplication 的 Shorten command line&#xff0c;选择 JAR manife…...

PXE 装机(五十)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 前言 一、PXE是什么 二、PXE的组件 三、配置vsftpd 四、配置tftp 五、准备pxelinx.0文件、引导文件、内核文件 ​六、配置dhcp 七、创建default文件 八、配置pxe无人值守…...

C++ 虚函数与纯虚函数

目录 1. 虚函数 2. 纯虚函数 C 中的虚函数和纯虚函数都是实现多态的重要机制。多态可以让不同的对象以相同的方式进行操作&#xff0c;从而简化代码的编写和维护。 1. 虚函数 虚函数是一种在基类中声明的函数&#xff0c;可以在派生类中进行重写。在运行时&#xff0c;根据对…...

警告:Provides transitive vulnerable dependency maven:org.yaml:snakeyaml:1.30

1. 警告 SpringBoot 的 validation 依赖包含有易受攻击的依赖 snakeyaml。 警告信息如下&#xff1a; Provides transitive vulnerable dependency maven:org.yaml:snakeyaml:1.30 意思是&#xff1a;提供了可传递的易受攻击依赖 maven:org.yaml:snakeyaml:1.30 2. 警告示例 …...