背景
AList 是一个开源的网盘文件罗列程序,它支持数十个网盘的挂载,并提供 WebDav 的访问方式。
clouddrive 是一个闭源的网盘文件罗列程序,虽然它只支持几个网盘,但是也有独特的功能。它也支持 WebDav。
我编写了 2 个脚本:deploy-alist.sh
可用于一键部署 AList,deploy-clouddrive.sh
可用于一键部署 clouddrive。您的设备上可能有一个应用商店,本身就提供了安装 alist
或 clouddrive
,或者你使用了官方提供的一键部署脚本(但支持的平台有限),或者你用 docker 来部署,等等,这样你可能用不到我的脚本。不过如果你的平台上找不到可用的一键部署方案,不如尝试一下我的办法吧😂。
代码实现
TIPS 代码的最新版本在 GitHub Gist 中维护
https://gist.github.com/ChenyangGao/e8e520de651e6375dad552b5a761902f
1. 部署 AList
文件名称是 deploy-alist.sh
,您可以用 bash 或 zsh 运行代码,由于用到了一些较新的语法,请确保你的解释器版本不能太低:
1 | bash -c "$(wget -q -O - https://gist.githubusercontent.com/ChenyangGao/e8e520de651e6375dad552b5a761902f/raw/deploy-alist.sh)" |
2. 部署 clouddrive2
文件名称是 deploy-clouddrive.sh
,您可以用 bash 或 zsh 运行代码:
1 | bash -c "$(wget -q -O - https://gist.githubusercontent.com/ChenyangGao/e8e520de651e6375dad552b5a761902f/raw/deploy-clouddrive.sh)" |
3. Termux 中的自启动脚本
Termux 是 Android 平台上的一个终端模拟器和开发环境,由于没有类似 systemd 之类的进程管理器,所以想要自启动需要一些其他的办法。
一种办法是使用 termux:boot,并按照文档,编写脚本并放置到 ~/.termux/boot/
目录。虽然开机后,Termux 会启动,脚本会运行,但是如果关闭 Termux,脚本会随之关闭,即使重启 Termux,脚本也不会运行,因为这只在开机时启动一次。
我提供另一种办法,下面我提供两个脚本 alist.sh
和 clouddrive.sh
,可以分别实现对 AList 和 clouddrive 的启动、停止、重启、进程状态查看、开关启动项(通过在当前 shell 的 rc 文件中写入一个启动命令来实现)。当你开了启动项,则打开 Termux 后就会开启 AList 或 clouddrive,并且会有日志文件 ~/alist.log
和 ~/clouddrive.log
。
AList 的 shell 启动脚本
1 | wget -q https://gist.githubusercontent.com/ChenyangGao/e8e520de651e6375dad552b5a761902f/raw/alist.sh -O ~/alist.sh |
用法和例子如下
1 | $ ~/alist.sh |
AList 伴随 Termux 启动
由于 Termux 的包管理器可直接安装 AList,所以可以用下面的脚本实现伴随 Termux 打开后的自动启动。
1 | bash -c "$(wget -q -O - https://gist.githubusercontent.com/ChenyangGao/e8e520de651e6375dad552b5a761902f/raw/termux-init-alist.sh)" |
源码如下
1 | #!/usr/bin/env bash |
clouddrive 的 shell 启动脚本
1 | wget -q https://gist.githubusercontent.com/ChenyangGao/e8e520de651e6375dad552b5a761902f/raw/clouddrive.sh -O ~/clouddrive.sh |
用法和例子如下
1 | $ ~/clouddrive.sh |
扩展知识
OpenWrt 是一个开源的嵌入式操作系统,专门为路由器和其他嵌入式设备设计。它基于 Linux内核,并提供了一套完整的系统软件包,用于构建和定制网络设备的固件。通过 OpenWrt,用户可以自定义配置和扩展功能,并享受强大的网络管理和路由功能。通过一些适当的扩展,OpenWrt 可以作为 NAS 使用,下面是一些其它的嵌入式 NAS 系统:
- openmediavault:一个基于 Debian Linux 的开源 NAS 系统,设计用于家庭和小型办公室环境。它提供了易于使用的管理界面和丰富的功能,如文件共享、远程访问、备份、媒体服务器等。
- FreeNAS:一个免费的网络存储操作系统,基于 FreeBSD。用于构建和管理网络存储服务器。它提供了 ZFS 文件系统、数据共享、备份和恢复、多媒体服务等功能,适用于家庭用户和小型企业。
- XigmaNAS:它是 FreeNAS 项目的前身,也是基于 FreeBSD 的,提供了类似 FreeNAS 的功能。历史上,它经过了数次改名。
- OpenNAS:这是一个基于 OpenMediaVault 的衍生项目,也是一个网络存储解决方案,提供了类似的功能和界面,可以用于搭建家庭或小型办公室的网络存储服务器。
我在我的树莓派上安装了 OpenWrt,并修改了一些网络配置:
- HOWTO: OpenWrt on the Raspberry Pi 4
- OpenWRT on Pi – Light OS with Network Features
- Turn your Raspberry Pi into a WiFi Router using OpenWrt
- Raspberry Pi x OpenWRT Travel Router
- 树莓派入门指南|明明白白玩 Pi 系列
- 树莓派实验室
这样我的树莓派就是一个 NAS,再用 AList 和 clouddrive 挂载几个网盘,使用体验非常令人满意。