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

2024-02-18 18:04

本文主要是介绍【软件相关】基于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挂载云盘到本地文件资源管理器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/721999

相关文章

Redis的Zset类型及相关命令详细讲解

《Redis的Zset类型及相关命令详细讲解》:本文主要介绍Redis的Zset类型及相关命令的相关资料,有序集合Zset是一种Redis数据结构,它类似于集合Set,但每个元素都有一个关联的分数... 目录Zset简介ZADDZCARDZCOUNTZRANGEZREVRANGEZRANGEBYSCOREZ

Linux使用fdisk进行磁盘的相关操作

《Linux使用fdisk进行磁盘的相关操作》fdisk命令是Linux中用于管理磁盘分区的强大文本实用程序,这篇文章主要为大家详细介绍了如何使用fdisk进行磁盘的相关操作,需要的可以了解下... 目录简介基本语法示例用法列出所有分区查看指定磁盘的区分管理指定的磁盘进入交互式模式创建一个新的分区删除一个存

关于Maven生命周期相关命令演示

《关于Maven生命周期相关命令演示》Maven的生命周期分为Clean、Default和Site三个主要阶段,每个阶段包含多个关键步骤,如清理、编译、测试、打包等,通过执行相应的Maven命令,可以... 目录1. Maven 生命周期概述1.1 Clean Lifecycle1.2 Default Li

numpy求解线性代数相关问题

《numpy求解线性代数相关问题》本文主要介绍了numpy求解线性代数相关问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 在numpy中有numpy.array类型和numpy.mat类型,前者是数组类型,后者是矩阵类型。数组

springboot 加载本地jar到maven的实现方法

《springboot加载本地jar到maven的实现方法》如何在SpringBoot项目中加载本地jar到Maven本地仓库,使用Maven的install-file目标来实现,本文结合实例代码给... 在Spring Boothttp://www.chinasem.cn项目中,如果你想要加载一个本地的ja

Linux磁盘分区、格式化和挂载方式

《Linux磁盘分区、格式化和挂载方式》本文详细介绍了Linux系统中磁盘分区、格式化和挂载的基本操作步骤和命令,包括MBR和GPT分区表的区别、fdisk和gdisk命令的使用、常见的文件系统格式以... 目录一、磁盘分区表分类二、fdisk命令创建分区1、交互式的命令2、分区主分区3、创建扩展分区,然后

使用JavaScript操作本地存储

《使用JavaScript操作本地存储》这篇文章主要为大家详细介绍了JavaScript中操作本地存储的相关知识,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... 目录本地存储:localStorage 和 sessionStorage基本使用方法1. localStorage

Redis的Hash类型及相关命令小结

《Redis的Hash类型及相关命令小结》edisHash是一种数据结构,用于存储字段和值的映射关系,本文就来介绍一下Redis的Hash类型及相关命令小结,具有一定的参考价值,感兴趣的可以了解一下... 目录HSETHGETHEXISTSHDELHKEYSHVALSHGETALLHMGETHLENHSET

Ubuntu 怎么启用 Universe 和 Multiverse 软件源?

《Ubuntu怎么启用Universe和Multiverse软件源?》在Ubuntu中,软件源是用于获取和安装软件的服务器,通过设置和管理软件源,您可以确保系统能够从可靠的来源获取最新的软件... Ubuntu 是一款广受认可且声誉良好的开源操作系统,允许用户通过其庞大的软件包来定制和增强计算体验。这些软件

python中的与时间相关的模块应用场景分析

《python中的与时间相关的模块应用场景分析》本文介绍了Python中与时间相关的几个重要模块:`time`、`datetime`、`calendar`、`timeit`、`pytz`和`dateu... 目录1. time 模块2. datetime 模块3. calendar 模块4. timeit