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

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:Alistalist.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  # 选other

Option user.
User name.
In case NTLM authentication is used, the username should be in the format 'DomainUser'.
Enter a value. Press Enter to leave empty.
user> admin  # 用户名是admin

Option 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> y

Current remotes:

Name                 Type
====                 ====
WebDav               webdav

e) 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:rclonerclone.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:Alistalist.exe server",vbhide

Set sw = CreateObject("Wscript.Shell")
sw.run "D:rclonerclone.exe mount WebDav:/ Z: --vfs-cache-mode writes --cache-dir cache --header 'Referer:'",vbhide

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>