大盘鸡Webdav挂载到另一台服务器

前言

手里一台Hostbrr的nat大盘鸡用于pt保种,因为我大盘鸡上本身有其他网站挂着而且NAT机器端口处理比较麻烦,所以本来的思路是用Docker部署webdav服务,再通过rclone到bero的服务器上,但中间处理时候发现挂载经常掉线重连,导致服务器卡顿,所以最后还是Alist转存到本地来看。

鉴于文件结构最后会变得十分抽象,建议提前规划

搭建Webdav服务器

这里用镜像 / docker-webdav   我用的docker-compose构建,指令我更熟悉一些

version: '3'
services:
webdav:
image: bytemark/webdav
restart: always
ports:
- "80:80"
environment:
AUTH_TYPE: Basic
USERNAME: alice
PASSWORD: secret1234
volumes:
- /srv/dav:/var/lib/da

ports端口按需修改,如果服务器上没有nginx的网页服务可以使用80,但实际不建议,最好还是选择其他端口而把https交给nginx反向代理。

Auth_type已经更改为Basic,rclone不支持Digest验证方式

Username,Password自行修改

挂载的volumes目录自行修改,提示:这个镜像会在挂载的目录里新建一个data文件夹,而不是直接用映射的目录

然后docker-compose up -d构建即可

(可选)安装SSL证书

我这里选择的是1panel的openresty,流程和普通网站一样使用新建反向代理,安装SSL证书

Rclone挂载到本地

安装Rclone

sudo -v ; curl https://rclone.org/install.sh | sudo bash

安装fuse3

apt-get install fuse3

开始挂载:

rclone config

出现

No remotes found, make a new one?
n) New remote
s) Set configuration password
q) Quit config
n/s/q> n

选择n新建

 Enter name for new remote.
name> 

随便写一个自己心仪的名字,这里用Example

输入后出现

 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)

选择Webdav一项,这里是52,以后可能发生变化不要看着这里的52就用

 Option url.
URL of http host to connect to.
E.g. https://example.com.
Enter a value.
url> 

如果你反代了就用URL,没反代就是IP加端口

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> 

选Other,不要看这里是7就直接选7!随时可能变

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

User填写上面你在Webdav的compose里写的user name

y) Yes, type in my own password:手动输入密码。
g) Generate random password:随机生成密码。
n) No, leave this optional password blank (default):不设置密码

选择手动输入密码,密码是compose文件里的

bearer token;edit advanced config全回车跳过

keep the “” remote回车

这样rclone的设置就完成了

最后挂载到本地

先创建一个挂载文件夹

/mkdir /home/example

再挂载到本地

rclone mount <1>: <2> --config=/root/.config/rclone/rclone.conf --allow-other --allow-non-empty --vfs-cache-mode full --vfs-cache-max-age 48h --vfs-cache-max-size 5G --cache-dir /tmp/cache --vfs-read-chunk-size 128M --vfs-read-chunk-size-limit 1G --buffer-size 128M --umask 000 &

<1>处应当填写你的配置名称,本例为Example

<2>处填写你的挂载文件夹,本例为/home/example

例子如下

rclone mount Example: home/example --config=/root/.config/rclone/rclone.conf --allow-other --allow-non-empty --vfs-cache-mode full --vfs-cache-max-age 48h --vfs-cache-max-size 5G --cache-dir /tmp/cache --vfs-read-chunk-size 128M --vfs-read-chunk-size-limit 1G --buffer-size 128M --umask 000 &

最后输入df -h显示Example就成功了

参数解释:

  • --config=/root/.config/rclone/rclone.conf:指定rclone配置文件的路径。在这里,配置文件的路径是/root/.config/rclone/rclone.conf。

  • --allow-other:允许其他非拥有者的用户访问挂载点。这对于允许系统中的其他用户访问挂载点可能是有用的。

  • --allow-non-empty:允许挂载点不为空。这允许在挂载点上存在文件,而不是强制它为空。

  • --vfs-cache-mode full:配置rclone的虚拟文件系统(VFS)缓存模式为全量缓存。这会将文件的整个内容缓存在本地,以提高性能。

  • --vfs-cache-max-age 48h:设置VFS缓存的最大年龄,即缓存中的文件最长保留48小时。

  • --vfs-cache-max-size 5G:设置VFS缓存的最大大小,即缓存中的文件总大小不超过5GB。

  • --cache-dir /tmp/cache:指定缓存文件的目录,即VFS缓存的实际存储位置。

  • --vfs-read-chunk-size 128M:设置VFS读取文件的块大小为128MB。这是从远程读取文件时使用的块大小。

  • --vfs-read-chunk-size-limit 1G:设置VFS读取块的大小限制为1GB。这是对单个读取块大小的限制。

  • --buffer-size 128M:设置缓冲区的大小为128MB。缓冲区用于在本地存储和远程存储之间传输数据。

  • --umask 000:设置umask,即文件创建时的权限屏蔽。在这里,umask被设置为000,表示新创建的文件将具有最大的权限。

  • &:在命令的末尾,表示将rclone挂载操作放入后台运行,以便释放终端并使命令在后台继续执行

小建议:webdav挂载如果想用来看影视还是建议先用Alist拉到本地再看,否则实在太慢了。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇