Docker部署Alist全平台网盘神器结合内网穿透实现无公网IP访问云盘资源

](https://img-home.csdnimg.cn/images/20220524100510.png#pic_center)

🌈个人主页: Aileen_0v0
🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法|MySQL|
💫个人格言:“没有罗马,那就自己创造罗马~”

Abstract data type :A style that is designed to match the structure of the original data

文章目录

    • 1. 使用Docker本地部署Alist
      • 1.1 本地部署 Alist
      • 1.2 访问并设置Alist
      • 1.3 在管理界面添加存储
    • 2. 安装cpolar内网穿透
    • 3. 固定Alist公网地址

本篇文章介绍如何在Windows本地使用Docker部署Alist全平台网盘神器,然后结合cpolar内网穿透实现随时随地公网访问本地网盘。

AList 是一个支持多种存储,支持网页浏览和 WebDAV的文件列表程序,可以实现多种网盘挂载为硬盘,并可以挂载不限量的网络资源。或者说是一个网盘聚合器,可以将你的网盘挂载到一起,方便统一管理,简单的说 通过本地浏览器管理多种网盘的程序,重点是免费!

image-20240319165151672

image-20240319165245240

1. 使用Docker本地部署Alist

如未安装docker,请点击Docker Desktop下载链接:https://docs.docker.com/desktop/install/windows-install/

本机环境:Windows10/Docker

1.1 本地部署 Alist

  1. 打开Docker,点击查询,搜索alist-aria2,找到xhofe/alist-aria2的,右键下载此映像,选择latest版本即可,然后等待下载完成。

efe366250e9f8aec3900855da3f9e73

  1. 点击Docker左边的映像,然后找到下载完成的alist映像,点击启动进入创建容器窗口

85acf2d4ee14576b0732dd365068900

  1. 点击下拉窗口

8943b2ecb72ccfb3a11a9d38268500c

  1. 在下拉设置窗口中设置:容器名称、映射端口号、aria2 映射端口号、映射目录 后点击run

69f8a39356f9a4432d41d66bdc5e8bc

  1. 点击Docker左边的容器,在容器列表中看到创建好的Alist实例

967885ab33ed5be2fc988372e51fdf6

1.2 访问并设置Alist

获取 Alist 的默认后台密码

  1. 点击 Docker 左边的容器,在容器列表中看到创建好的 Alist 实例

image-20240319171043044

  1. 点击实例,进入 Alist 实例详情的Log内容,得到admin 用户的密码

    a4fd3acfac020cec5f073c24c6cd3b9

打开一个新的浏览器,在浏览器中输入http://localhost:5244

用户名:admin

密码:上方Log中复制的密码

d3367f32ea5edc754667cb2fc048839

首次访问会出现 **“failed get storage:storage not found;please add a storage first"**错误信息,点击页面底部的管理按钮,进入alist管理页面,在存储菜单下添加你自己的网盘后就可以了

baf4a51d58cfc5e92641fe26e3048e5

1.3 在管理界面添加存储

5097aa04b7f15aded6669f878441f1e

进入 存储 --> 添加 驱动 --> 找到 阿里云盘

ef6d075173f61d44ddde227dd52ab03

配置参数:

  • 刷新令牌:就是我们之前常说的 refresh token,获取的方法很多这里就不重复说明了,请注意如果获得的是桌面

  • Web 令牌,必须开启 Web 代理,官方推荐使用 移动端 token,获取方式请看官方文档:
    https://alist.nn.ci/zh/guide/drivers/aliyundrive.html

  • Web 代理:使用桌面 Web 令牌必须启用,否则可能会报下面的错误
    Key: ‘Storage.MountPath’ Error:Field validation for ‘MountPath’ failed on the ‘required’ tag

  • 秒传:开启

  • WebDAV 策略:默认是 302重定向,要改为 本地代理;否则拷贝文件会失败,出现类似文件访问被拒绝 的错误。

96bc60490f4bc5795e8b7b0b8f8a62f

6f0a1dd7f8242032dfcdc2f15af01a6

添加完成后,回到首页

0b19c4173d80633e58e265b01128d5c

1b1529c2cf1a884fec88a1c31ad13bd

4bbdf19a9069ba52bd5863234faa2e6

点开视频直接可以高清播放

5c9bb702ed75622d99940792ae08aa9

我们就成功在本地搭建了Alist全平台网盘神器,但如果想实现出门在外,也能随时随地使用能使用Alist,那就需要借助cpolar内网穿透工具来实现公网访问了!接下来介绍一下如何安装cpolar内网穿透并实现Alist的公网访问!

2. 安装cpolar内网穿透

下面是安装cpolar步骤:

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

点击进入cpolar官网,点击免费使用注册一个账号,并下载最新版本的cpolar

登录成功后,点击下载cpolar到本地并安装(一路默认安装即可)本教程选择下载Windows版本。

image-20240319175308664

cpolar安装成功后,在浏览器上访问http://localhost:9200,使用cpolar账号登录,登录后即可看到cpolar web 配置界面,结下来在web 管理界面配置即可。

接下来配置一下 Alist 的公网地址,

登录后,点击左侧仪表盘的隧道管理——创建隧道,

创建一个 Alist 的公网http地址隧道

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:选择http
  • 本地地址:5244 (本地访问的地址)
  • 域名类型:免费选择随机域名
  • 地区:选择China Top

d0ea313ec9b34ab39a739b74d79a6b5

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https

8102f45242a29581f5d1a0361a82d91

使用上面的Cpolar https公网地址,在手机或任意设备的浏览器进行登录访问,即可成功看到 Alist 界面,这样一个公网地址且可以远程访问就创建好了,使用了cpolar的公网域名,无需自己购买云服务器,即可到公网访问 Alist 了!

c57b7cd52900c3e3ce73bf5d900b999

16dc060abe427f41d6bb81314b21dae

在手机端打开浏览器,输入Cpolar生成的公网地址同样也可以访问

6135dbd137173d711618b9ef8e2317e

8b2071972e1c150dccb467a118e0816

小结

如果我们需要长期异地远程访问Alist,由于刚才创建的是随机的地址,24小时会发生变化。另外它的网址是由随机字符生成,不容易记忆。如果想把域名变成固定的二级子域名,并且不想每次都重新创建隧道来访问Alist,我们可以选择创建一个固定的http地址来解决这个问题。

3. 固定Alist公网地址

我们接下来为其配置固定的HTTP端口地址,该地址不会变化,方便分享给别人长期查看你的博客,而无需每天重复修改服务器地址。

配置固定http端口地址需要将cpolar升级到专业版套餐或以上。

登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称

0cd890eed2992db7db2f1f33988b03e

保留成功后复制保留成功的二级子域名的名称

a288074d3d3d0ea9341e309dbb3d0ab

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

b76b321980ced7a20fda4d675e1dce9

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

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

点击更新(注意,点击一次更新即可,不需要重复提交)

ded88a2f362c0c06549c0903d811cc3

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

b25f505f9a1a012dfcbdd8abb93fb2d

最后,我们使用固定的公网https地址访问,可以看到访问成功,这样一个固定且永久不变的公网地址就设置好了,可以随时随地进行异地访问 Alist 了!

fdff54b835eeb32a41a61dc8180415a

a1c598b5eb6db0e37218c6c195f3b9a
](https://img-home.csdnimg.cn/images/20220524100510.png#pic_center)

](https://img-home.csdnimg.cn/images/20220524100510.png#pic_center)

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

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

相关文章

SpringBoot实战(二十七)集成WebFlux

目录 一、WebFlux1.1 定义1.2 WebFlux 与 Spring MVC 区别 二、代码实现2.1 Maven 配置2.2 暴露 RESTful API 接口的方式方式一:基于注解的控制器方式二:函数式路由器(Functional Endpoints) 2.3 测试Service2.4 测试ServiceImpl2…

Streamlit实战手册:从数据应用到机器学习模型部署

Streamlit实战手册:从数据应用到机器学习模型部署 简介Streamlit核心功能介绍Streamlit的安装创建第一个Streamlit应用界面布局与导航数据处理与展示 Streamlit的进阶应用交互式组件按钮复选框单选按钮滑块 图表与可视化使用Matplotlib绘图使用Plotly创建交互式图表…

【题目】【网络系统管理】2019年全国职业技能大赛高职组计算机网络应用赛项H卷

极安云科专注职业教育技能竞赛培训4年,包含信息安全管理与评估、网络系统管理、网络搭建等多个赛项及各大CTF模块培训学习服务。本团队基于赛项知识点,提供完整全面的系统性理论教学与技能培训,成立至今持续优化教学资源与讲师结构&#xff0…

Springboot 整合 Knife4j (API文档生成工具)

目录 一、Knife4j 介绍 二、Springboot 整合 Knife4j 1、pom.xml中引入依赖包 2、在application.yml 中添加 Knife4j 相关配置 3、打开 Knife4j UI界面 三、关于Knife4j框架中常用的注解 1、Api 2、ApiOperation ​3、ApiOperationSupport(order X) ​4、ApiImplici…

Leetcode 994. 腐烂的橘子

心路历程: 一开始以为和刚做过的岛屿问题很像,只不过是把岛屿问题换成BFS去做,然后再加上一些计数的规则。结果做完后发现只能通过一半左右的测试用例,发现有一个逻辑错误在于,当腐烂的橘子位于两端时,可以…

课时71:流程控制_for循环_综合案例

2.4.5 综合案例 学习目标 这一节,我们从 信息收集、其他实践、小结 三个方面来学习。 信息收集 案例需求 根据提示信息,选择输出 cpu 或者 内存信息。脚本实践-采集系统负载信息 查看脚本内容 [rootlocalhost ~]# cat systemctl_load.sh #!/bin/bas…

C#探索之路基础篇(2):接口Interface的概念、实现、应用范围

文章目录 1 概念2 示例代码:2.1 简单接口的实现2.2 简单的使用接口2.3 使用接口呈现多态性2.4 通过接口实现一个数组迭代器2.5 通过接口来实现松耦合的关系2.6 使用接口实现可扩展、便利性 3 使用范围与时机4 注意事项 不知道大家在学习的过程中,有没有反…

基于Springboot的个人博客系统的设计与实现

目录 1. 第5章 数据库设计 1.1. 数据库概念设计 1.1.1. 用户信息实体 1.1.2. 文章信息实体 1.1.3. 评论信息实体 1.1.4. 附件信息实体 1.1.5. 类别信息实体 1.1.6. 日志信息实体 1.2. 数据库表结构设计 基于Springboot的个人博客系统的设计与实现 第5章 数据库设计 …

笔试总结01

1、spring原理 1、spring原理 spring的最大作用ioc/di,将类与类的依赖关系写在配置文件中,程序在运行时根据配置文件动态加载依赖的类,降低的类与类之间的藕合度。它的原理是在applicationContext.xml加入bean标记,在bean标记中通过class属性说明具体类…

148 Linux 网络编程4 ,高并发服务器 --多路I/O转接服务器 - poll 这个非重点,

Poll 的实现和 select 很像。 实际上poll 的核心就是我们select的优化版本&#xff0c;加入了一个数组&#xff0c; 还将传入传出参数分离开了 #include <poll.h> int poll(struct pollfd *fds, nfds_t nfds, int timeout);fds &#xff1a;需要监听的--文件描述符数组…

数据挖掘|数据集成|基于Python的数据集成关键问题处理

数据挖掘|数据集成|基于Python的数据集成关键问题处理 1. 实体识别2. 数据冗余与相关性分析3. 去除重复记录4. 数据值冲突的检测与处理5. 基于Python的数据集成5.1 merge()方法5.2 Concat()方法 数据集成是把来自多个数据库或文件等不同数据源的数据整合成一致的数据存储。其中…

基于docker创建深度学习开发环境

基于docker创建深度学习开发环境 记录几个链接 第一步&#xff1a;配置docker环境&#xff0c;此处大把教程&#xff0c;不再赘述第二步&#xff1a;拉取nvidia做好的cuda和cudnn镜像&#xff1a; docker pull nvcr.io/nvidia/cuda:12.2.0-devel-ubuntu20.04如果有其他需求&a…

vue3+threejs新手从零开发卡牌游戏(二):初始化场景

在删掉初始化中一些没用的代码后&#xff0c;在views目录下新建game文件夹&#xff0c;在里面新建一个index.vue&#xff0c;这里就当成游戏的主入口。 目录结构如下&#xff1a; 下面开始尝试创建场景&#xff1a; 一、添加一个div作为threejs的画布对象&#xff0c;之后整个…

ubuntu - 编译 linphone-sdk

业务需求需要定制sdk&#xff0c;首先声明我们需要的是在Android4.4上跑的sdk&#xff0c;因此本次编译的sdk最低支持为19&#xff08;不同版本需要的环境不一致&#xff09;&#xff0c;编译过程较容易&#xff0c;难点在于环境配置 环境准备 Ubuntu 18.04.6 android-sdk_r24.…

mysql分页查询多用GitCode平台

目录 一、在GitCode平台AI搜索结果&#xff08;这个更优&#xff09; 二、在百度搜索输入“mysql Java分页查询”的输出结果&#xff1a; 三、推荐的文章 四、GitCode的使用 1&#xff09;如搜索jdk11可以直接下载jdk11的包 2&#xff09;搜索开源项目 3&#xff09;如搜…

3.21 ARM day5

串口控制LED灯亮灭 main.c #include "uart4.h"int main() {//串口初始化uart4_init();//led初始化led_init();char i;int count 0;int count2 0;int count3 0;while (1){i getchar();putchar(i);//键盘输入a&#xff0c;串口工具显示aif (i 1){count;if (coun…

步进电机驱动器的接线与使用(接线详细)

今天小编就来继续学习与使用步行电机的学习&#xff0c;如果位置对你有帮助&#xff0c;评论收藏&#xff0c;点赞一下 步进电机驱动器 步进电机驱动器是一种专用于控制步进电机的电子设备&#xff0c;用于控制步进电机的转动和位置。步进电机是一种将电信号转换为机械运动的电…

Compose UI 之 Segmented buttons 分段按钮

Segmented buttons SegmentedButton 是一种分段式按钮组件,它允许用户在一组相关的选项中选择一个或几个。 上图中:① 单选的分段式按钮。② 多选的分段式按钮。 分段式按钮的几个特点: 分段式按钮是带有状态的按钮,又有单选和多选之分。 从设计上将,不论是单选或是多选…

第二十九章 配置 Web Gateway 的默认参数 - 与 IRIS 的连接(二)

文章目录 第二十九章 配置 Web Gateway 的默认参数 - 与IRIS 的连接(二)Event Log Rotation SizeMaximum Logged Request SizeSSL/TLS Library PathPreserve Mode Exclude File Types 第二十九章 配置 Web Gateway 的默认参数 - 与IRIS 的连接(二) Event Log Rotation Size 这…

fastjson2 反序列化包含多层泛型结构的实体类

前言 由于使用到httpUtill来调用接口 工具类的返回是字符串 其中接口的实现返回值是个多层泛型结构的实体类 例如Result<Page<UserDto>> 当使用 JSON.parseObject("res",new TypeReference<Result<Page<UserDto>>>{})发现在page中存在…