【轻NAS】Windows搭建可道云私有云盘,并内网穿透公网访问
文章目录
- 1.前言
- 2. Kodcloud网站搭建
- 2.1. Kodcloud下载和安装
- 2.2 Kodcloud网页测试
- 3. cpolar内网穿透的安装和注册
- 4. 本地网页发布
- 4.1 Cpolar云端设置
- 4.2 Cpolar本地设置
- 5. 公网访问测试
- 6.结语
1.前言
云存储作为近些年兴起的概念,成功吸引了各大互联网厂商下场,也将“集中存储,分别调用”的概念普及到广大的互联网用户心中,构建数据集中存储中心的设备和软件也迎来一波爆发。本来云存储很有发展前景,但各大厂的蜜汁操作直接断送了其在云存储范畴的发展前景,反而让私人数据中心和软件发展进入快车道。专业的数据存储中心有很多中,但也很贵;好在还有各种基于Web的文件管理功能,能将我们家里的电脑,轻松改造为个人数据存储中心。今天,我们就为大家介绍一款国人自研的在线Web文件管理器,能够支持在线管理图片、播放音乐视频、编辑和查看文件等,再将其与cpolar的内网穿透数据隧道结合,就能让我们轻松的创建私人云盘。
2. Kodcloud网站搭建
可道云是一款国内人员研发的Web文件管理器,能够支持在线管理图片、播放音乐视频、编辑和查看文件等等功能,而且其操作页面也很友好,其操作页面与Windows的资源管理器界面类似,没有使用界面的陌生感。最重要的是,作为国人研发的Web文件管理器,对中文能够完美支持。
2.1. Kodcloud下载和安装
首先我们登录Kodcloud的官网(kodcloud.com/),下载Kodcloud的服务器端。

Kodcloud服务器端下载完成后,将其解压至网页运行环境中。笔者使用的网页运行环境是小皮面板,因此将解压后的kodcloud文件放置在www文件夹下。

接着,打开小皮面板的“网站”界面,点击左上方创建网站按钮:
域名:用于本地访问时的域名端口网页输出端口根目录Kodcloud文件存放的位置创建环境FTP、数据库之类
完成这些内容填写后,就可以点击下方的确认按钮,创建可道云的本地网页(要记得打开PHP的DTP拓展,在小皮面板对应网页的“管理”项中可找到)。

在网页创建完毕后,我们在浏览器中输入域名:端口号(或127.0.0.1:83),就能打开可道云服务器端的安装页面

进入可道云的安装页面,软件会对安装环境进行自检,只有自检通过后,才能进行下一步。

数据库页面我们没有什么可以设置的,直接点确定即可。最后,我们设置管理员账号和密码,即可完成可道云的网页服务器安装。

2.2 Kodcloud网页测试
完成以上的网页程序安装后,可道云会自动跳转至用户登录界面,我们直接登录即可。


这一步可以看做是我们对可道云是否安装成功,能否正常访问的测试,只要能正常登录,就说明我们成功的在本地电脑上安装了可道云。
下一步,我们就可以继续安装Cpolar,并使用Cpolar创建的内网穿透数据隧道,为本地安装的可道云生成一个公共互联网地址,让我们能在公共互联网上,访问到本地电脑上的各种文件资料。
3. cpolar内网穿透的安装和注册
相比可道云服务器的页面安装,cpolar的安装要简单很多。可以直接在cpolar的官网页面(www.cpolar.com)找到下载按钮。

笔者使用的是Windows操作系统,因此选择Windows版本进行下载。

Cpolar下载完成后,将下载的文件解压,双击解压后的.msi文件,即可自动执行安装程序。接着只要一路“Next”就能完成安装。


由于cpolar会为每个用户创建独立的数据隧道,并以用户密码和token码保证数据安全。因此我们在使用cpolar之前,需要进行注册。而注册过程也很简单,只要在cpolar主页右上角点击“用户注册”,并填入几项必要信息,就能完成注册。


4. 本地网页发布
到这一步,我们完成了可道云服务器的本地页面测试,也安装了注册了cpolar,下一步,我们就可以着手创建内网穿透数据隧道,为本地可道云创建一个公共互联网地址。
4.1 Cpolar云端设置
个人数据中心讲求的是长期稳定可访问,笔者并不想每天更新公共互联网地址设置(cpolar免费版的数据隧道每24小时重置一次),因此笔者将cpolar升级至vip版,以便能获得能长期稳定存在的内网穿透数据隧道。
要设置能够长期稳定的内网穿透数据隧道,需要先登录cpolar的官网(免费版不必在cpolar云端设置,可直接在客户端设置),并在用户主页面左侧找到预留按钮,并点击进入cpolar的数据隧道预留页面。
在这里生成一个公共互联网地址(也可以看做数据隧道的入口),由于此时这个地址没有连接本地的软件输出端口,因此也可以看做是一条空白的数据隧道。

在预留页面,可以看到很多种可保留的数据隧道,这里我们选择保留二级子域名栏位。

在“保留二级子域名”栏位,需要进行几项信息的简单设置,即:
地区:服务器所在区域,就近选择即可二级域名:会最终出现在生成的公共互联网地址中,作为网络地址的标识描述:可以看做这条数据隧道的描述,能够与其他隧道区分开即可
完成这几项设置后,就可以点击右侧的“保留”按钮,将这条数据隧道保留下来。

当然,如果这条数据隧道不打算再使用,还可以点击右侧的“x”将其轻松删除,节约宝贵的隧道名额。

4.2 Cpolar本地设置
完成cpolar云端的设置,保留了好空白数据隧道后,就能回到本地的cpolar客户端,将云端生成的空白数据隧道与本地的测试页面连接起来。
在本地打开并登录cpolar客户端(可以在浏览器中输入localhost:9200直接访问,也可以在开始菜单中点击cpolar客户端的快捷方式)。

点击客户端主界面左侧“隧道管理”项下的“创建隧道”按钮,进入本地隧道创建页面(如果要创建没24小时重置地址的临时数据隧道,可直接在此进行设置,不必再cpolar官网设置空白数据隧道)。
在这个页面,同样需要进行几项信息设置,这些信息设置包括:
- 1.
隧道名称– 可以看做cpolar本地的隧道信息注释,只要方便我们分辨即可; - 2.
协议– 由于可道云页面是网页形式,因此选择http协议; - 3.
本地地址– 本地地址即为本地网站的输出端口号,因此这里填入83号; - 4.
域名类型– 在这个例子中,我们已经在cpolar云端预留了二级子域名的数据隧道,因此勾选“二级子域名”(如果预留的是自定义域名,则勾选自定义域名),并在下一行“Sub Domain”栏中填入预留的二级子域名,该例子中为“alipaytest”。如果打算创建临时数据隧道,则直接勾选“随机域名”,由cpolar客户端自行生成网络地址; - 5.
地区– 与cpolar云端预留的信息一样,我们依照实际使用地填写即可;

完成这些设置后,就可以点击页面下方的“创建”按钮,将cpolar云端的空白数据隧道与本地的支付测试页面连接起来,也就为我们提供了可以在公共互联网访问本地支付测试页面的数据隧道。
我们可以在隧道管理项下的隧道列表页面中,对这条数据隧道进行管理,包括开启、关闭或删除这条隧道,也可以点击“编辑”按钮,最这条数据隧道的信息进行修改。

5. 公网访问测试
最后,我们点击左侧“状态”项下的在线隧道列表按钮,就能找到这个页面的公共互联网地址,将这个地址粘贴到浏览器中,就能看到本地页面,即达成了本地页面发布到公共互联网上的目的。


当然,我们还可以通过可道云的客户端,将cpolar生成的公共互联网地址填入服务器地址中,访问到本地的可道云服务器。
6.结语
至此,我们就完成了可道云在本地电脑上的部署,并通过cpolar内网穿透生成的内网穿透数据隧道,让门在公共互联网上也能访问到家里(或办公室)的电脑,方便的调阅所需资料和文件,让我们的电脑真正成为私人云服务器。
共互联网地址填入服务器地址中,访问到本地的可道云服务器。
转载自cpolar极点云文章:【轻NAS】Windows搭建可道云私有云盘,并内网穿透公网访问
相关文章:
【轻NAS】Windows搭建可道云私有云盘,并内网穿透公网访问
文章目录 1.前言2. Kodcloud网站搭建2.1. Kodcloud下载和安装2.2 Kodcloud网页测试 3. cpolar内网穿透的安装和注册4. 本地网页发布4.1 Cpolar云端设置4.2 Cpolar本地设置 5. 公网访问测试6.结语 1.前言 云存储作为近些年兴起的概念,成功吸引了各大互联网厂商下场&…...
计算机网络 第一章:概述
目录 一.因特网概述 1.1网络、互联网(互连网)和因特网 1.2internet与Internet的区别 1.3因特网服务提供者ISP(Internet Service Provider) 1.4因特网组成 二.三种交换方式 2.1电路交换 2.2分组交换(重点) 2.3报文交换 三.计算机网络的定义和分类 四.计算机网络的性能…...
centos7 firewalld ip转发设置、安装docker-compose出现错误、docker-compose部署Yapi
一 centos7 firewalld ip转发设置 #!/bin/bash #开启系统路由模式功能 vim /etc/sysctl.conf #添加下面一行 net.ipv4.ip_forward1 #运行这个命令会输出上面添加的那一行信息,意思是使内核修改生效 sysctl -p #开启firewalld systemctl start firewalld #防火墙开启…...
Cglib代理和JDK代理原理的区别
一、JDK Jdk动态代理,拿到目标类所继承的接口,生成代理类,并且代理类也会实现和目标类一样的接口。 二、Cglib Cglib代理功能更强,无论目标类是否实现接口都可以代理,他是基于继承的方式类代理目标类,如果…...
论文阅读-A General Language for Modeling Social Media Account Behavior
论文链接:https://arxiv.org/pdf/2211.00639v1.pdf 目录 摘要 1 Introduction 2 Related work 2.1 Automation 2.2 Coordination 3 Behavioral Language for Online Classification 3.1 BLOC alphabets 3.1.1 Action alphabet 3.1.2 Content alphabets 3.…...
Python中的异常处理4-3
在《Python中的异常处理4-2》中提到,except语句后面可以加上具体的异常类型。有时我们需要这个异常的其他细节,此时可以使用except...as语句。 1 except...as语句 except..as语句的格式为 except 异常类型 as 异常实例名 从以上格式中可以看到&#…...
Swift学习内容精选(一)
Swift 可选(Optionals)类型 Swift 的可选(Optional)类型,用于处理值缺失的情况。可选表示"那儿有一个值,并且它等于 x "或者"那儿没有值"。 Swfit语言定义后缀?作为命名类型Optional的简写&…...
Marin说PCB之封装设计系列---(02)--异形焊盘的封装设计总结
每天下班回家看电视本来是一件很美好的事情,可是正当我磕着瓜子看着异人之下的时候,手机突然响起来了,我以为是我们组哪个同事找我呢。一接电话居然是我的老朋友陈世美陈总,江湖人称少妇杀手。给我打电话主要是说他最近遇到一个异…...
SpringBoot使用AOP详解
目录 1 AOP是什么2 AOP概念3 Springboot中使用AOP4 AOP原理5 应用场景 1 AOP是什么 AOP(Aspect Oriented Programming)意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续&…...
【Qt】QGroundControl入门1:介绍
1、简介 1.1 QGroundControl QGroundControl是一款开源的无人机地面控制站软件,依赖Qt库,简称QGC。 QGroundControl为任何支持 MAVLink协议 的无人机提供完整的飞行控制和任务规划。QGroundControl为 PX4 和 ArduPilot 驱动的无人机提供驱动配置。 源码:https://github.co…...
第36章_瑞萨MCU零基础入门系列教程之步进电机控制实验
本教程基于韦东山百问网出的 DShanMCU-RA6M5开发板 进行编写,需要的同学可以在这里获取: https://item.taobao.com/item.htm?id728461040949 配套资料获取:https://renesas-docs.100ask.net 瑞萨MCU零基础入门系列教程汇总: ht…...
198.打家劫舍,213.打家劫舍II,337.打家劫舍III
代码随想录训练营第48天|198.打家劫舍,213.打家劫舍II,337.打家劫舍III 198.打家劫舍文章思路代码 213.打家劫舍III文章思路代码 337.打家劫舍III文章思路代码 总结 198.打家劫舍 文章 代码随想录|0198.打家劫舍 思路 d p [ i ] M a x ( d p [ i − …...
msvcp140.dll是什么东西,如何解决msvcp140.dll丢失的问题的方法分享
在现代生活中,电脑已经成为我们工作、学习和娱乐的重要工具。然而,电脑问题的出现往往会给我们的生活带来不便。其中,"msvcp140.dll丢失"是一个常见的电脑问题。本文将详细介绍这个问题的原因和解决方法,帮助大家更好地…...
音视频 SDL vs2017配置
一、首先我把SDL放在了C盘根目录下 二、新建空项目 三、添加main.cpp //main.cpp #include<iostream> #include <SDL.h>int main(int argc, char* argv[]) // main函数头必须这样写,因为SDL把main定义成了宏 {SDL_Delay(3000); // 让窗口在屏幕上保持…...
前端面试要点
0914 JScript深拷贝和浅拷贝(js解构赋值算哪个?) 深拷贝和浅拷贝 回流和重绘 回流和重绘 webpack打包流程 Webpack打包 虚拟DOM 虚拟DOM git合并分支 git合并分支 CSS盒子模型 CSS盒子模型 0911 WebPack分包 webpack分包 ts泛型 ts泛型 优化…...
shell字符串处理之字符串比较
引言 我们在使用shell编写脚本时,经常需要对字符串进行处理,如字符串大小比较、模式匹配、替换、截断等。本文将梳理字符串比较中常见的用法。 字符串比较 1. 直接比较字符串 a$1 b$2 c"" # 等于 if [ $a "abc" ];thenecho $a …...
怎么获取别人店铺的商品呢?
jd.item_search_shop(获得店铺的所有商品) 为了进行电商平台 的API开发,首先我们需要做下面几件事情。 1)开发者注册一个账号 2)然后为每个JD应用注册一个应用程序键(App Key) 。 3)下载JDAPI的SDK并掌握基本的API…...
【数据结构】二叉树的链式结构
【数据结构】二叉树的链式存储结构 二叉树的存储结构 typedef int BTDataType; // 二叉树的结构 typedef struct BinaryTreeNode {BTDataType data; // 树的值struct BinaryTreeNode *left; // 左孩子struct BinaryTreeNode *right;// 右孩子 } BinaryTreeNode;二…...
模拟实现C语言--strlen函数
模拟实现C语言–strlen函数 模拟实现C语言--strlen函数一、strlen函数是什么?二、strlen函数的模拟实现2.1 计数器方式实现strlen函数2.2 不创建临时变量计数器方式实现strlen函数2.3 指针-指针方式实现strlen函数 三、strlen函数的返回类型 一、strlen函数是什么&a…...
Spring Boot + Vue的网上商城之物流系统实现
Spring Boot Vue的网上商城之物流系统实现 思路 当构建一个物流系统时,我们可以按照以下步骤进行: 设计数据模型:首先确定系统中需要存储的数据,例如物流公司信息、物流订单信息等。根据需求设计相应的数据模型,包括…...
Python爬虫实战:研究MechanicalSoup库相关技术
一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...
蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...
linux 错误码总结
1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...
C# 类和继承(抽象类)
抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...
RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...
【JVM】Java虚拟机(二)——垃圾回收
目录 一、如何判断对象可以回收 (一)引用计数法 (二)可达性分析算法 二、垃圾回收算法 (一)标记清除 (二)标记整理 (三)复制 (四ÿ…...
uniapp 字符包含的相关方法
在uniapp中,如果你想检查一个字符串是否包含另一个子字符串,你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的,但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...
C++实现分布式网络通信框架RPC(2)——rpc发布端
有了上篇文章的项目的基本知识的了解,现在我们就开始构建项目。 目录 一、构建工程目录 二、本地服务发布成RPC服务 2.1理解RPC发布 2.2实现 三、Mprpc框架的基础类设计 3.1框架的初始化类 MprpcApplication 代码实现 3.2读取配置文件类 MprpcConfig 代码实现…...
数据结构:泰勒展开式:霍纳法则(Horner‘s Rule)
目录 🔍 若用递归计算每一项,会发生什么? Horners Rule(霍纳法则) 第一步:我们从最原始的泰勒公式出发 第二步:从形式上重新观察展开式 🌟 第三步:引出霍纳法则&…...
