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

【软件相关】基于Alist挂载云盘到本地文件资源管理器

文章目录

    • 0 前言
    • 1 Alist挂载云盘
    • 2 RaiDrive配置
    • 3 rclone配置

0 前言

  因为最近在研究各种云盘存储影视资源的方法,无意间看到一个教程是利用软件将云盘挂载到本地的资源管理器,这样就能实现类似本地文件操作的方式来操作云盘文件,还是有点意思的。

1 Alist挂载云盘

  通过查找资料我才知道,类似于这种将云盘挂载到本地的软件还是非常多的,因为在NAS系统中可能会有类似的需求。但是最为常用,云盘支持度最广的还是Alist

Alist下载链接

如果没有特殊需求,就搞最新版的下载。

  下载完成之后,放到电脑的某个路径,然后打开终端,进入到该路径,依次敲指令:

# 手动设置一个密码 `NEW_PASSWORD`是指你需要设置的密码
.\alist.exe admin set NEW_PASSWORD# 运行程序
.\alist.exe server

然后再打开http://127.0.0.1:5244/,输入用户名admin和上面设置的密码。

  进入到Alist的后台之后,就是添加对应的网盘即可,内容比较琐碎,这里只强调几个关键点

  • 没有打星号的要么保持默认值,要么不填
  • 阿里云盘要选阿里云盘open
  • 百度网盘建议开启web代理,否则可能出现alist后台无法下载大文件的情况
  • 挂载路径可以自定义
  • 刷新令牌获取链接:https://alist.nn.ci/zh/guide/drivers/baidu.html
  • 注意,百度网盘刷新令牌是会根据浏览器当前登录的账号获取,所以如果要切换多个账号,需要先登录百度网盘官网切换账号。

参考链接

  配置完毕后,还需要设置自启,上述参考链接中使用的是nssm这个软件直接添加到服务,但是实测发现一个问题,那就是每次电脑重启之后,Alist后台总是会报错,显示host no found,但是重新加载一下又好了,一开始根据报错去查找资料,大部分教程都是认为是DNS出错,要手动在hosts文件中添加对应的域名和IP,但是后来在GitHub的issue上发现一个类似的问题,才知道问题的原因是nssm添加的服务可能会在电脑联网之前就加载,这样导致软件执行出错。应该采用的方式是将指令写入到脚本文件中,再将快捷方式添加到startup文件夹下。

Reference

  脚本如下:

Set ws = CreateObject("Wscript.Shell")ws.run "D:\Alist\alist.exe server",vbhide

其中,上面的alist路径要替换成自己电脑上的路径。保存后缀为vbs

2 RaiDrive配置

  配置好Alist之后,其实云盘已经挂载好了,但是目前只能通过网页来实现上传和下载,不是很方便,好在alist也支持webdav协议,类似于一个输出的接口(云盘挂载类似于内部输入的接口)。这样就可以找支持将webdav挂载到本地资源管理器的软件就能实现这一功能。
  而RaiDrive就是这样一个软件,配置方法比较简单,具体可以参考上面的参考链接,不再赘述。
  自启方面,RaiDrive可以自行设置,比较简单。

3 rclone配置

  RaiDrive虽然好,但是有一个缺点也很明显,那就是会弹广告,因为它是商业付费软件。无可厚非,但还是想找个替代品,rclone就是这样的一个替代品,虽然配置稍复杂,但是胜在是开源软件。

rclone下载链接

解压完成之后,打开终端,进入到软件目录,不妨先建立一个空的文本文件,名为rclone.conf,然后运行.\rclone.exe config,根据提示依次填写信息,这里展示出我的运行记录,中文部分为填写注释

D:\rclone>.\rclone.exe config
No remotes found, make a new one?
n) New remote
s) Set configuration password
q) Quit config
n/s/q> n   # 因为原来没有,要新建一个Enter name for new remote.
name> WebDav   # 名字可以自己取Option Storage.
Type of storage to configure.
Choose a number from below, or type in your own value.1 / 1Fichier\ (fichier)2 / Akamai NetStorage\ (netstorage)3 / Alias for an existing remote\ (alias)4 / Amazon Drive\ (amazon cloud drive)5 / Amazon S3 Compliant Storage Providers including AWS, Alibaba, ArvanCloud, Ceph, ChinaMobile, Cloudflare, DigitalOcean, Dreamhost, GCS, HuaweiOBS, IBMCOS, IDrive, IONOS, LyveCloud, Leviia, Liara, Linode, Minio, Netease, Petabox, RackCorp, Rclone, Scaleway, SeaweedFS, StackPath, Storj, Synology, TencentCOS, Wasabi, Qiniu and others\ (s3)6 / Backblaze B2\ (b2)7 / Better checksums for other remotes\ (hasher)8 / Box\ (box)9 / Cache a remote\ (cache)
10 / Citrix Sharefile\ (sharefile)
11 / Combine several remotes into one\ (combine)
12 / Compress a remote\ (compress)
13 / Dropbox\ (dropbox)
14 / Encrypt/Decrypt a remote\ (crypt)
15 / Enterprise File Fabric\ (filefabric)
16 / FTP\ (ftp)
17 / Google Cloud Storage (this is not Google Drive)\ (google cloud storage)
18 / Google Drive\ (drive)
19 / Google Photos\ (google photos)
20 / HTTP\ (http)
21 / Hadoop distributed file system\ (hdfs)
22 / HiDrive\ (hidrive)
23 / ImageKit.io\ (imagekit)
24 / In memory object storage system.\ (memory)
25 / Internet Archive\ (internetarchive)
26 / Jottacloud\ (jottacloud)
27 / Koofr, Digi Storage and other Koofr-compatible storage providers\ (koofr)
28 / Linkbox\ (linkbox)
29 / Local Disk\ (local)
30 / Mail.ru Cloud\ (mailru)
31 / Mega\ (mega)
32 / Microsoft Azure Blob Storage\ (azureblob)
33 / Microsoft Azure Files\ (azurefiles)
34 / Microsoft OneDrive\ (onedrive)
35 / OpenDrive\ (opendrive)
36 / OpenStack Swift (Rackspace Cloud Files, Blomp Cloud Storage, Memset Memstore, OVH)\ (swift)
37 / Oracle Cloud Infrastructure Object Storage\ (oracleobjectstorage)
38 / Pcloud\ (pcloud)
39 / PikPak\ (pikpak)
40 / Proton Drive\ (protondrive)
41 / Put.io\ (putio)
42 / QingCloud Object Storage\ (qingstor)
43 / Quatrix by Maytech\ (quatrix)
44 / SMB / CIFS\ (smb)
45 / SSH/SFTP\ (sftp)
46 / Sia Decentralized Cloud\ (sia)
47 / Storj Decentralized Cloud Storage\ (storj)
48 / Sugarsync\ (sugarsync)
49 / Transparently chunk/split large files\ (chunker)
50 / Union merges the contents of several upstream fs\ (union)
51 / Uptobox\ (uptobox)
52 / WebDAV\ (webdav)
53 / Yandex Disk\ (yandex)
54 / Zoho\ (zoho)
55 / premiumize.me\ (premiumizeme)
56 / seafile\ (seafile)
Storage> 52   # 这里选webdav类型,如果要挂载其他云盘,可以自行判断Option url.
URL of http host to connect to.
E.g. https://example.com.
Enter a value.
url> http://localhost:5244/dav  # 这个链接别写错了,应该得一样Option vendor.
Name of the WebDAV site/service/software you are using.
Choose a number from below, or type in your own value.
Press Enter to leave empty.1 / Fastmail Files\ (fastmail)2 / Nextcloud\ (nextcloud)3 / Owncloud\ (owncloud)4 / Sharepoint Online, authenticated by Microsoft account\ (sharepoint)5 / Sharepoint with NTLM authentication, usually self-hosted or on-premises\ (sharepoint-ntlm)6 / rclone WebDAV server to serve a remote over HTTP via the WebDAV protocol\ (rclone)7 / Other site/service or software\ (other)
vendor> 7  # 选otherOption user.
User name.
In case NTLM authentication is used, the username should be in the format 'Domain\User'.
Enter a value. Press Enter to leave empty.
user> admin  # 用户名是adminOption pass.
Password.
Choose an alternative below. Press Enter for the default (n).
y) Yes, type in my own password
g) Generate random password
n) No, leave this optional password blank (default)
y/g/n> y
Enter the password:
password:               # 这里要输入两次密码,且都没有显示,就是之前配置的密码
Confirm the password:
password:Option bearer_token.
Bearer token instead of user/pass (e.g. a Macaroon).
Enter a value. Press Enter to leave empty.
bearer_token>   # 直接回车Edit advanced config?
y) Yes
n) No (default)
y/n> n  #不需要编辑高级设置Configuration complete.
Options:
- type: webdav
- url: http://localhost:5244/dav
- vendor: other
- user: admin
- pass: *** ENCRYPTED ***
Keep this "WebDav" remote?
y) Yes this is OK (default)
e) Edit this remote
d) Delete this remote
y/e/d> yCurrent remotes:Name                 Type
====                 ====
WebDav               webdave) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> q  # 最后再退出设置

配置完成之后,接下来就是运行了,复制以下代码

D:\rclone\rclone.exe mount WebDav:/ Z: --vfs-cache-mode writes --cache-dir cache --header "Referer:"

注意两点:

  • “WebDav”就是之前设置的名称,根据自己的情况修改
  • 最后的--header "Referer:"一定要加!Reference

此外,如果打开目录操作文件出现IO Error的报错,可以考虑在alist配置中将302 重定向改为本地代理。Reference

  最后,就是设置自启了,方法和前面的一样,为了方便起见,也可以和之前那个写到一起。因此,最后vbs文件里的内容为:

Set ws = CreateObject("Wscript.Shell")
ws.run "D:\Alist\alist.exe server",vbhideSet sw = CreateObject("Wscript.Shell")
sw.run "D:\rclone\rclone.exe mount WebDav:/ Z: --vfs-cache-mode writes --cache-dir cache --header 'Referer:'",vbhide

到此,所有的内容都配置完毕了。接下来就可以自由在文件资源管理器中操作网盘文件了。

相关文章:

【软件相关】基于Alist挂载云盘到本地文件资源管理器

文章目录 0 前言1 Alist挂载云盘2 RaiDrive配置3 rclone配置 0 前言 因为最近在研究各种云盘存储影视资源的方法,无意间看到一个教程是利用软件将云盘挂载到本地的资源管理器,这样就能实现类似本地文件操作的方式来操作云盘文件,还是有点意思…...

Java多线程系列——锁

0.引言 在并发编程中,锁是一种重要的同步机制,用于控制对共享资源的访问。Java 提供了多种锁的实现,每种锁都有不同的特性和适用场景。本文将深入介绍 Java 中常见的锁类型,包括内置锁、显式锁、读写锁等,并讨论它们的…...

蓝牙BLE学习-GAP

1.概述 GAP层(Generic access profile-通用访问配置文件)。GAP是对LL层payload(有效数据包)如何进行解析的两种方式的一种,而且也是最简单的一种。GAP简单的对LL payload进行一些规范和定义,因此GAP能实现的…...

算法训练营day28(补), 贪心算法2

//122. 买卖股票的最佳时机 II func maxProfit(prices []int) int { result : 0 //利润总和 for i : 1; i < len(prices); i { if prices[i]-prices[i-1] > 0 { result result (prices[i] - prices[i-1]) } } return result } //55. 跳跃游戏 func canJump(nums []…...

Vue核心基础4:绑定样式、条件渲染、列表渲染

1 绑定样式 【代码】 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>绑定样式</title><s…...

go-zero读取mysql部分字段

读取部分字段&#xff0c;使用函数 QueryRowPartialCtx 。 假设有如下一张表&#xff1a; CREATE TABLE test (id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, ctime DATETIME);要读取字段 ctime 值。 定义一结构体&#xff1a; type X struct {state int db:"…...

反转一个单链表

反转一个单链表 题意&#xff1a;反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 思路 需要虚拟节点么&#xff1f; 答&#xff1a;不需要&#xff0c;因为没有删除节点&#xff0c;只是改变了节点的指向。 遍…...

拿捏c语言指针(中)

前言 书接上回 拿捏c语言指针&#xff08;上&#xff09; 此篇主要讲解的是指针与数组之间的爱恨情仇&#xff0c;跟着我的脚步一起来看看吧~ 创造不易&#xff0c;可以帮忙点点赞吗 如有差错&#xff0c;欢迎指出 理解数组名 数组名是首元素地址 例外 1.sizeof&#xff0…...

鸿蒙语言ArkTS(更好的生产力与性能)

ArkTS是鸿蒙生态的应用开发语言 ArkTS提供了声明式UI范式、状态管理支持等相应的能力&#xff0c;让开发者可以以更简洁、更自然的方式开发应用。 同时&#xff0c;它在保持TypeScript&#xff08;简称TS&#xff09;基本语法风格的基础上&#xff0c;进一步通过规范强化静态检…...

VBA技术资料MF120:打印固定标题行列

我给VBA的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的工作效率&#xff0c;而且可以提高数据的准确度。“VBA语言専攻”提供的教程一共九套&#xff0c;分为初级、中级、高级三大部分&#xff0c;教程是对VBA的系统讲解&#…...

MongoDB聚合运算符:$add

$add运算符将将数字相加或将数字和日期相加。如果参数之一是日期&#xff0c;则 $add会将其他参数视为毫秒&#xff0c;并添加到日期中。 语法 { $add: [ <expression1>, <expression2>, ... ] }参数可以是任何有效的表达式&#xff0c;只要能否解析为数值或日期…...

《剑指Offer》笔记题解思路技巧优化 Java版本——新版leetcode_Part_4

《剑指Offer》笔记&题解&思路&技巧&优化_Part_4 &#x1f60d;&#x1f60d;&#x1f60d; 相知&#x1f64c;&#x1f64c;&#x1f64c; 相识&#x1f622;&#x1f622;&#x1f622; 开始刷题1. LCR 148. 验证图书取出顺序——栈的压入、弹出序列2. LCR 14…...

数据库第四次实验

目录 1.建立数据表并插入数据 2 视图的创建 2.1 行列子集视图的创建 2.2 多表视图 2.3视图上建立视图 2.4分组视图 2.5带表达式的视图 3 删除视图 ​​​​​​​​​​​​​​4 查询视图 ​​​​​​​5 更新视图 5.1 修改某一个属性 5.2 删除一条数据 5.3 插入…...

基于PPNSA+扰动算子的车间调度最优化matlab仿真,可以任意调整工件数和机器数,输出甘特图

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 基于PPNSA扰动算子的车间调度最优化matlab仿真,可以任意调整工件数和机器数,输出甘特图和优化收敛曲线。 2.测试软件版本以及运行结果展示 MATLAB2022a版本运行…...

UnityShader——06UnityShader介绍

UnityShader介绍 UnityShader的基础ShaderLab UnityShader属性块介绍 Properties {//和public变量一样会显示在Unity的inspector面板上//_MainTex为变量名&#xff0c;在属性里的变量一般会加下划线&#xff0c;来区分参数变量和临时变量//Texture为变量命名//2D为类型&…...

人工智能学习与实训笔记(一):零基础理解神经网络

人工智能专栏文章汇总&#xff1a;人工智能学习专栏文章汇总-CSDN博客 本篇目录 一、什么是神经网络模型 二、机器学习的类型 2.1 监督学习 2.2 无监督学习 2.3 半监督学习 2.4 强化学习 三、网络模型结构基础 3.1 单层网络 ​编辑 3.2 多层网络 3.3 非线性多层网络…...

LeetCode刷题小记 一、【数组】

LeetCode刷题小记 一、【数组】 文章目录 LeetCode刷题小记 一、【数组】写在前面1. 数组1.1 理论基础1.2 二分查找1.3 移除元素1.4 有序数组的平方1.5 长度最小的子数组1.6 螺旋矩阵II Reference 写在前面 本系列笔记主要作为笔者刷题的题解&#xff0c;所用的语言为Python3&…...

iOS总体框架介绍和详尽说明

iOS是由苹果公司开发的移动操作系统&#xff0c;为iPhone、iPad、iPod Touch等设备提供支持。iOS采用了基于Unix的核心&#xff08;称为Darwin&#xff09;&#xff0c;并采用了类似于Mac OS X的图形用户界面。以下是iOS的总体框架介绍和详尽说明&#xff1a; UIKit框架&#…...

【C++】const与constexpr详解

1. constexpr&#xff1a;常量表达式 所谓常量表达式,指的就是由多个(≥1)常量组成的表达式。换句话说,如果表达式中的成员都是常量,那么该表达式就是一个常量表达式。这也意味着&#xff0c;常量表达式一旦确定&#xff0c;其值将无法修改。 实际开发中&#xff0c;我们经常会…...

蓝桥杯:日期统计讲解(C++)

日期统计 本题来自于&#xff1a;2023年十四届省赛大学B组真题 主要考察&#xff1a;暴力。 代码放在下面&#xff0c;代码中重要的细节全都写了注释&#xff0c;非常清晰明了&#xff1a; #include <bits/stdc.h> //万能头文件 using namespace std;int main() {…...

stm32G473的flash模式是单bank还是双bank?

今天突然有人stm32G473的flash模式是单bank还是双bank&#xff1f;由于时间太久&#xff0c;我真忘记了。搜搜发现&#xff0c;还真有人和我一样。见下面的链接&#xff1a;https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...

C++:std::is_convertible

C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》

在注意力分散、内容高度同质化的时代&#xff0c;情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现&#xff0c;消费者对内容的“有感”程度&#xff0c;正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中&#xff0…...

基于TurtleBot3在Gazebo地图实现机器人远程控制

1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...

面向无人机海岸带生态系统监测的语义分割基准数据集

描述&#xff1a;海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而&#xff0c;目前该领域仍面临一个挑战&#xff0c;即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...

现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?

现有的 Redis 分布式锁库&#xff08;如 Redisson&#xff09;相比于开发者自己基于 Redis 命令&#xff08;如 SETNX, EXPIRE, DEL&#xff09;手动实现分布式锁&#xff0c;提供了巨大的便利性和健壮性。主要体现在以下几个方面&#xff1a; 原子性保证 (Atomicity)&#xff…...

【 java 虚拟机知识 第一篇 】

目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...

在 Spring Boot 项目里,MYSQL中json类型字段使用

前言&#xff1a; 因为程序特殊需求导致&#xff0c;需要mysql数据库存储json类型数据&#xff0c;因此记录一下使用流程 1.java实体中新增字段 private List<User> users 2.增加mybatis-plus注解 TableField(typeHandler FastjsonTypeHandler.class) private Lis…...

LangChain 中的文档加载器(Loader)与文本切分器(Splitter)详解《二》

&#x1f9e0; LangChain 中 TextSplitter 的使用详解&#xff1a;从基础到进阶&#xff08;附代码&#xff09; 一、前言 在处理大规模文本数据时&#xff0c;特别是在构建知识库或进行大模型训练与推理时&#xff0c;文本切分&#xff08;Text Splitting&#xff09; 是一个…...