├── README.md
├── cd2-termux.sh
├── cd2.sh
└── images
├── mac1.png
├── mac2.png
├── op1.png
├── op2.png
├── termux.png
├── update1.png
└── update2.png
/README.md:
--------------------------------------------------------------------------------
1 | 现官方clouddrive2已有app
2 | 请关注cd2频道:
3 | https://t.me/cloud_nas
4 | 此脚本仓库原作者好像删库了~我是之前fork的
5 | 改掉链接还可用,就先这么留着了【若是用不了请翻墙或者自己在http前+镜像加速链接】
6 | # 一键安装 Clouddrive2 脚本
7 | 脚本非官方出品,由于官方帮助不适合新手故写此脚本。指在帮助新手用户快速使用 clouddrive2 挂载网盘。
8 |
9 | ## 目录
10 | - [一键安装 Clouddrive2 脚本](#一键安装-clouddrive2-脚本)
11 | - [目录](#目录)
12 | - [安装](#安装)
13 | - [安装命令](#安装命令)
14 | - [卸载命令](#卸载命令)
15 | - [安卓](#安卓)
16 | - [安装 (未ROOT设备)](#安装-未root设备)
17 | - [安装 (已ROOT设备)](#安装-已root设备)
18 | - [卸载](#卸载)
19 | - [如何更新?](#如何更新)
20 | - [在哪运行?](#在哪运行)
21 | - [OpenWRT](#openwrt)
22 | - [Mac](#mac)
23 | - [Linux](#linux)
24 | - [安卓](#安卓-1)
25 | - [问与答](#问与答)
26 | - [通规问题](#通规问题)
27 | - [安装问题](#安装问题)
28 | - [安装后问题](#安装后问题)
29 | - [安卓问题](#安卓问题)
30 |
31 |
32 | 支持
33 | - [X] Linux
34 | - [X] MacOS
35 | - [X] OpenWRT
36 | - [X] Android-Termux
37 | - [X] 理论上支持所有安装了 docker 的设备如: iStore OS
38 | - [X] 理论上支持所有 OpenWRT 及其衍生的系统
39 |
40 | ## 安装
41 | ### 安装命令
42 | Mac、Linux、OpenWRT等 在「终端」运行下面的「命令」
43 |
44 | 不知道在哪里运行这些命令?[点击查看](#在哪运行)
45 |
46 | ```shell
47 | curl -fsSL "https://https://raw.githubusercontent.com/cshczh/clouddrive2/main/cd2.sh" | bash -s install
48 | ```
49 |
50 | ### 卸载命令
51 | ```shell
52 | curl -fsSL "https://https://raw.githubusercontent.com/cshczh/clouddrive2/main/cd2.sh" | bash -s uninstall
53 | ```
54 |
55 | ## 安卓
56 | 安卓在termux里运行下面的「命令」
57 |
58 | ### 安装 (未ROOT设备)
59 | ```shell
60 | curl -fsSL "https://raw.githubusercontent.com/cshczh/clouddrive2/main/cd2-termux.sh" | bash -s install
61 | ```
62 |
63 | ### 安装 (已ROOT设备)
64 | ```shell
65 | curl -fsSL "https://raw.githubusercontent.com/cshczh/clouddrive2/main/cd2-termux.sh" | bash -s install root
66 | ```
67 |
68 | ### 卸载
69 | ```shell
70 | curl -fsSL "https://raw.githubusercontent.com/cshczh/clouddrive2/main/cd2-termux.sh" | bash -s uninstall
71 | ```
72 |
73 | ## 如何更新?
74 | 请使用官方内置的更新方式: 点击右上角的`!`号
75 |
76 |
77 |
78 |
79 |
80 | ## 在哪运行?
81 | ### OpenWRT
82 | 在左侧菜单里一般有「终端」或「TTYD 终端」,登录用户名一般为root,密码为你的OP密码。
83 | 如果没有, 请使用 ssh 连接.
84 |
85 |
86 |
87 |
88 |
89 | ### Mac
90 | 打开「启动器」在上面的「搜索框」搜索「终端」或「terminal」
91 |
92 | 第1步
93 |
94 |
95 | 第2步
96 |
97 |
98 |
99 | ### Linux
100 | Linux 桌面环境下的「终端」名称不同, 可自行查找
101 |
102 | ### 安卓
103 | 打开「Termux」输入命令
104 |
105 |
106 |
107 | ## 问与答
108 | 这里解决的问题主要来源于群友的反馈
109 |
110 | ### 通规问题
111 | 是否需要开代理?
112 | > 需要。脚本已冇了镜像加速。
113 |
114 | cd2安装在了哪里?
115 | > docker默认挂载点在 /CloudNAS
116 | > 安卓默认安装在/data/data/com.termux/files/home/clouddrive/
117 | > 其它平台默认安装在 /opt/clouddrive/
118 |
119 | ### 安装问题
120 | 提示:curl: (35) Recv failure: Connection reset by peer
121 | > 重启「终端」
122 |
123 | ### 安装后问题
124 | 登录一直提示连接超时
125 | > 用「卸载命令」再重装
126 |
127 | ### 安卓问题
128 | 为什么 termux 无法挂载网盘到本地?
129 | > 非Root用户无法挂载。
130 |
131 | 非 root 设备可以用 root 命令吗?
132 | > 不可以,用了会无法启动。
133 |
--------------------------------------------------------------------------------
/cd2-termux.sh:
--------------------------------------------------------------------------------
1 | #!/data/data/com.termux/files/usr/bin/bash
2 | #set -x
3 | chmod +x "$0"
4 |
5 | if [ ! -n "$2" ]; then
6 | echo -e "\r\n${YELLOW_COLOR}非 Root 方式${RES}\r\n" 1>&2
7 | CHECK_ROOT="notroot"
8 | else
9 | if [[ $2 == "root" ]]; then
10 | echo -e "\r\n${YELLOW_COLOR}Root 方式${RES}\r\n" 1>&2
11 | CHECK_ROOT="root"
12 | pkg install tsu -y
13 | else
14 | echo -e "${RED_COLOR} 错误的命令${RES}"
15 | exit 1
16 | fi
17 | fi
18 |
19 | RED_COLOR='\e[1;31m'
20 | GREEN_COLOR='\e[1;32m'
21 | YELLOW_COLOR='\e[1;33m'
22 | BLUE_COLOR='\e[1;34m'
23 | PINK_COLOR='\e[1;35m'
24 | SHAN='\e[1;33;5m'
25 | RES='\e[0m'
26 |
27 | # Get platform
28 | if command -v uname >/dev/null 2>&1; then
29 | platform=$(uname -m)
30 | else
31 | platform=$(arch)
32 | fi
33 |
34 | ARCH="UNKNOWN"
35 |
36 | if [ "$platform" = "x86_64" ]; then
37 | ARCH="x86_64"
38 | elif [ "$platform" = "arm64" ]; then
39 | ARCH="aarch64"
40 | elif [ "$platform" = "aarch64" ]; then
41 | ARCH="aarch64"
42 | elif [ "$platform" = "armv7l" ]; then
43 | ARCH="armv7"
44 | else
45 | echo -e "${RED_COLOR}不支持的架构${RES}"
46 | exit 1
47 | fi
48 |
49 | pkg install termux-services -y
50 | if [ $? -eq 0 ]; then
51 | echo -e "下载完成"
52 | else
53 | echo -e "${RED_COLOR}网络中断,请检查网络${RES}"
54 | exit 1
55 | fi
56 | INSTALL() {
57 | # Download FUSE
58 | if [[ "$CHECK_ROOT" == "root" ]]; then
59 | echo -e "\r\n${GREEN_COLOR}下载 FUSE $VERSION ...${RES}"
60 | if [[ "$ARCH" == "aarch64" ]]; then
61 | curl -L https://xdaforums.com/attachments/fusermount_arm64-v8a-zip.4641672/ -o $HOME/fuse.zip $CURL_BAR
62 | elif [[ "$ARCH" == "armv7" ]]; then
63 | curl -L https://xdaforums.com/attachments/fusermount_armeabi-v7a-zip.4641674/ -o $HOME/fuse.zip $CURL_BAR
64 | else
65 | echo -e "${RED_COLOR}不支持的架构${RES}"
66 | fi
67 |
68 | if [ $? -eq 0 ]; then
69 | echo -e "FUSE 下载完成"
70 | else
71 | echo -e "${RED_COLOR}网络中断,请检查网络${RES}"
72 | exit 1
73 | fi
74 | unzip $HOME/fuse.zip -d $PREFIX/bin
75 | mv $PREFIX/bin/fusermount $PREFIX/bin/fusermount3
76 | chmod 777 $PREFIX/bin/fusermount3
77 | rm -rf $HOME/fuse.zip
78 | fi
79 | # Download clouddrive2
80 | mkdir -p $HOME/clouddrive
81 | INSTALL_PATH=$HOME/clouddrive
82 | clouddrive_version=$(curl -s https://api.github.com/repos/cloud-fs/cloud-fs.github.io/releases/latest | grep -Eo "\s\"name\": \"clouddrive-2-android-$ARCH-.+?\.tgz\"" | awk -F'"' '{print $4}')
83 | echo -e "\r\n${GREEN_COLOR}下载 clouddrive2 $VERSION ...${RES}"
84 | curl -L https://gh-proxy.com/https://github.com/cloud-fs/cloud-fs.github.io/releases/latest/download/$clouddrive_version -o $HOME/clouddrive.tgz $CURL_BAR
85 | if [ $? -eq 0 ]; then
86 | echo -e "clouddrive 下载完成"
87 | else
88 | echo -e "${RED_COLOR}网络中断,请检查网络${RES}"
89 | exit 1
90 | fi
91 | tar zxf $HOME/clouddrive.tgz -C $INSTALL_PATH/
92 | mv $INSTALL_PATH/clouddrive-2*/* $INSTALL_PATH/ && rm -rf $INSTALL_PATH/clouddrive-2*
93 | if [ -f $INSTALL_PATH/clouddrive ]; then
94 | echo -e "${GREEN_COLOR}校验文件成功\r\n${RES}"
95 | else
96 | echo -e "${RED_COLOR}校验 clouddrive-2-android-$platform.tgz 文件失败!${RES}"
97 | exit 1
98 | fi
99 | # remove temp
100 | rm -rf $HOME/clouddrive.tgz
101 | }
102 |
103 | get-local-ipv4-using-hostname() {
104 | hostname -I 2>&- | awk '{print $1}'
105 | }
106 |
107 | # iproute2
108 | get-local-ipv4-using-iproute2() {
109 | # OR ip route get 1.2.3.4 | awk '{print $7}'
110 | ip -4 route 2>&- | awk '{print $NF}' | grep -Eo --color=never '[0-9]+(\.[0-9]+){3}'
111 | }
112 |
113 | # net-tools
114 | get-local-ipv4-using-ifconfig() {
115 | ( ifconfig 2>&- || ip addr show 2>&- ) | grep -Eo '^\s+inet\s+\S+' | grep -Eo '[0-9]+(\.[0-9]+){3}' | grep -Ev '127\.0\.0\.1|0\.0\.0\.0'
116 | }
117 |
118 | # 获取本机 IPv4 地址
119 | get-local-ipv4() {
120 | set -o pipefail
121 | get-local-ipv4-using-hostname || get-local-ipv4-using-iproute2 || get-local-ipv4-using-ifconfig
122 | }
123 | get-local-ipv4-select() {
124 | local ips=$(get-local-ipv4)
125 | local retcode=$?
126 | if [ $retcode -ne 0 ]; then
127 | return $retcode
128 | fi
129 | grep -m 1 "^192\." <<<"$ips" || \
130 | grep -m 1 "^172\." <<<"$ips" || \
131 | grep -m 1 "^10\." <<<"$ips" || \
132 | head -n 1 <<<"$ips"
133 | }
134 |
135 | SESSIONS() {
136 | if [[ "$CHECK_ROOT" == "root" ]]; then
137 | cd_start="sudo ./clouddrive"
138 | else
139 | cd_start="./clouddrive"
140 | fi
141 | mkdir -p $PREFIX/var/service/clouddrive && touch $PREFIX/var/service/clouddrive/run
142 | cat >$PREFIX/var/service/clouddrive/run </dev/null 2>&1; then # $CURL_BAR
175 | CURL_BAR="--progress-bar"
176 | fi
177 |
178 | if [ "$1" = "uninstall" ]; then
179 | UNINSTALL
180 | elif [ "$1" = "install" ]; then
181 | INSTALL
182 | SESSIONS
183 | if [ -f "$INSTALL_PATH/clouddrive" ]; then
184 | SUCCESS
185 | else
186 | echo -e "${RED_COLOR} 安装失败${RES}"
187 | fi
188 | else
189 | echo -e "${RED_COLOR} 错误的命令${RES}"
190 | fi
191 |
--------------------------------------------------------------------------------
/cd2.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # https://github.com/sublaim/clouddrive2
3 | # INSTALL_PATH='/opt/clouddrive'
4 | chmod +x "$0"
5 | if [[ $EUID -ne 0 ]]; then
6 | echo -e "${YELLOW_COLOR}当前操作需要 root 权限,请输入您的密码后回车${RES}"
7 | exec sudo bash "$0" "$@"
8 | fi
9 |
10 | VERSION='latest'
11 |
12 | if [ ! -n "$2" ]; then
13 | INSTALL_PATH='/opt/clouddrive'
14 | else
15 | if [[ $2 == */ ]]; then
16 | INSTALL_PATH=${2%?}
17 | else
18 | INSTALL_PATH=$2
19 | fi
20 | if ! [[ $INSTALL_PATH == */clouddrive ]]; then
21 | INSTALL_PATH="$INSTALL_PATH/clouddrive"
22 | fi
23 | fi
24 |
25 | # Get_OS
26 | os_type=$(uname)
27 | if [[ "$os_type" == "Linux" ]]; then
28 | echo "当前系统为 Linux"
29 | os="linux"
30 | RED_COLOR='\e[1;31m'
31 | GREEN_COLOR='\e[1;32m'
32 | YELLOW_COLOR='\e[1;33m'
33 | BLUE_COLOR='\e[1;34m'
34 | PINK_COLOR='\e[1;35m'
35 | SHAN='\e[1;33;5m'
36 | RES='\e[0m'
37 | elif [[ "$os_type" == "Darwin" ]]; then
38 | echo "当前系统为 macOS"
39 | os="macos"
40 | RED_COLOR=$(printf '\033[31m')
41 | GREEN_COLOR=$(printf '\033[32m')
42 | YELLOW_COLOR=$(printf '\033[33m')
43 | BLUE_COLOR=$(printf '\033[1m')
44 | PINK_COLOR=$(printf '\033[35m')
45 | SHAN=$(printf '\033[5m')
46 | RES=$(printf '\033[0m')
47 | else
48 | echo -e "${RED_COLOR}系统未识别${RES}"
49 | exit 1
50 | fi
51 |
52 | clear
53 |
54 |
55 | # Get platform
56 | if command -v uname >/dev/null 2>&1; then
57 | platform=$(uname -m)
58 | else
59 | platform=$(arch)
60 | fi
61 |
62 | ARCH="UNKNOWN"
63 |
64 | if [ "$platform" = "x86_64" ]; then
65 | ARCH=amd64
66 | elif [ "$platform" = "aarch64" ]; then
67 | ARCH=arm64
68 | fi
69 |
70 | if [ "$UID" != "0" ]; then
71 | echo -e "\r\n${RED_COLOR}出错了,请使用 root 权限重试!${RES}\r\n" 1>&2
72 | exit 1
73 | elif [ "$ARCH" == "UNKNOWN" ]; then
74 | echo -e "\r\n${RED_COLOR}出错了${RES},一键安装目前仅支持 x86_64和arm64 平台。\r\n"
75 | exit 1
76 | elif ! command -v systemctl >/dev/null 2>&1; then
77 | if command -v opkg >/dev/null 2>&1; then
78 | if command -v docker >/dev/null 2>&1; then
79 | check_docker="exist"
80 | else
81 | if [ -e "/sbin/procd" ]; then
82 | check_procd="exist"
83 | else
84 | echo -e "\r\n${RED_COLOR}出错了,无法确定你当前的 Linux 发行版。${RES}\r\n"
85 | exit 1
86 | fi
87 | fi
88 | else
89 | echo -e "\r\n${RED_COLOR}出错了,无法确定你当前的 Linux 发行版。${RES}\r\n"
90 | exit 1
91 | fi
92 | else
93 | if command -v netstat >/dev/null 2>&1; then
94 | check_port=$(netstat -lnp | grep 19798 | awk '{print $7}' | awk -F/ '{print $1}')
95 | else
96 | echo -e "${GREEN_COLOR}端口检查 ... 不同Linux发行版如报错可忽略${RES}"
97 | if command -v yum >/dev/null 2>&1; then
98 | yum install net-tools -y >/dev/null 2>&1
99 | check_port=$(netstat -lnp | grep 19798 | awk '{print $7}' | awk -F/ '{print $1}')
100 | else
101 | apt-get update >/dev/null 2>&1
102 | apt-get install net-tools -y >/dev/null 2>&1
103 | check_port=$(netstat -lnp | grep 19798 | awk '{print $7}' | awk -F/ '{print $1}')
104 | fi
105 | fi
106 | fi
107 |
108 | CHECK() {
109 | if [ -f "$INSTALL_PATH/clouddrive" ]; then
110 | echo "此位置已经安装,请选择其他位置"
111 | exit 0
112 | fi
113 | if [ $check_port ]; then
114 | kill -9 $check_port
115 | fi
116 | if [ ! -d "$INSTALL_PATH/" ]; then
117 | mkdir -p $INSTALL_PATH
118 | else
119 | rm -rf $INSTALL_PATH && mkdir -p $INSTALL_PATH
120 | fi
121 | }
122 |
123 | INSTALL() {
124 | # Download macFUSE
125 | if [[ "$os_type" == "Darwin" ]]; then
126 | fuse_version=$(curl -s https://api.github.com/repos/osxfuse/osxfuse/releases/latest | grep -Eo '\s\"name\": \"macfuse-.+?\.dmg\"' | awk -F'"' '{print $4}')
127 | echo -e "\r\n${GREEN_COLOR}下载 macFUSE $VERSION ...${RES}"
128 | curl -L https://gh-proxy.com/https://github.com/osxfuse/osxfuse/releases/latest/download/$fuse_version -o /tmp/macfuse.dmg $CURL_BAR
129 | sudo spctl --master-disable
130 | if [ $? -eq 0 ]; then
131 | echo -e "macFUSE 下载完成"
132 | else
133 | echo -e "${RED_COLOR}网络中断,请检查网络${RES}"
134 | exit 1
135 | fi
136 | hdiutil mount /tmp/macfuse.dmg
137 | sudo installer -pkg "/Volumes/macFUSE/Install macFUSE.pkg" -target /
138 | hdiutil unmount /Volumes/macFUSE
139 | rm -rf /tmp/macfuse.dmg
140 | fi
141 | # Download clouddrive2
142 | clouddrive_version=$(curl -s https://api.github.com/repos/cloud-fs/cloud-fs.github.io/releases/latest | grep -Eo "\s\"name\": \"clouddrive-2-$os-$platform-.+?\.tgz\"" | awk -F'"' '{print $4}')
143 | echo -e "\r\n${GREEN_COLOR}下载 clouddrive2 $VERSION ...${RES}"
144 | curl -L https://gh-proxy.com/https://github.com/cloud-fs/cloud-fs.github.io/releases/latest/download/$clouddrive_version -o /tmp/clouddrive.tgz $CURL_BAR
145 | if [ $? -eq 0 ]; then
146 | echo -e "clouddrive 下载完成"
147 | else
148 | echo -e "${RED_COLOR}网络中断,请检查网络${RES}"
149 | exit 1
150 | fi
151 | tar zxf /tmp/clouddrive.tgz -C $INSTALL_PATH/
152 | mv $INSTALL_PATH/clouddrive-2*/* $INSTALL_PATH/ && rm -rf $INSTALL_PATH/clouddrive-2*
153 | if [ -f $INSTALL_PATH/clouddrive ]; then
154 | echo -e "${GREEN_COLOR}校验文件成功\r\n${RES}"
155 | else
156 | echo -e "${RED_COLOR}校验 clouddrive-2-$os-$platform.tgz 文件失败!${RES}"
157 | exit 1
158 | fi
159 | # remove temp
160 | rm -f /tmp/clouddrive*
161 | }
162 |
163 | DOCKER() {
164 | # check op
165 | if command -v opkg >/dev/null 2>&1; then
166 | if ! grep -q "mount --make-shared /" "/etc/rc.local"; then
167 | sed -i '/exit 0/i\mount --make-shared /' "/etc/rc.local"
168 | fi
169 | fi
170 | # run docker
171 | if [ "$check_docker" == "exist" ]; then
172 | mount --make-shared $(df -P / | tail -1 | awk '{ print $6 }')
173 | echo -e "${GREEN_COLOR}正在下载 clouddrive 镜像,请稍候...${RES}"
174 | docker pull cloudnas/clouddrive2:latest
175 | docker run -d \
176 | --name clouddrive \
177 | --restart unless-stopped \
178 | --env CLOUDDRIVE_HOME=/Config \
179 | -v /CloudNAS:/CloudNAS:shared \
180 | -v /Config:/Config \
181 | -v /media:/media:shared \
182 | --network host \
183 | --pid host \
184 | --privileged \
185 | --device /dev/fuse:/dev/fuse \
186 | cloudnas/clouddrive2:latest
187 | if [ $? -eq 0 ]; then
188 | echo "clouddrive 容器已成功运行"
189 | else
190 | echo -e "${RED_COLOR}clouddrive 容器未能成功运行${RES}"
191 | exit 1
192 | fi
193 | fi
194 | }
195 |
196 | get-local-ipv4-using-hostname() {
197 | hostname -I 2>&- | awk '{print $1}'
198 | }
199 |
200 | # iproute2
201 | get-local-ipv4-using-iproute2() {
202 | # OR ip route get 1.2.3.4 | awk '{print $7}'
203 | ip -4 route 2>&- | awk '{print $NF}' | grep -Eo --color=never '[0-9]+(\.[0-9]+){3}'
204 | }
205 |
206 | # net-tools
207 | get-local-ipv4-using-ifconfig() {
208 | ( ifconfig 2>&- || ip addr show 2>&- ) | grep -Eo '^\s+inet\s+\S+' | grep -Eo '[0-9]+(\.[0-9]+){3}' | grep -Ev '127\.0\.0\.1|0\.0\.0\.0'
209 | }
210 |
211 | # 获取本机 IPv4 地址
212 | get-local-ipv4() {
213 | set -o pipefail
214 | get-local-ipv4-using-hostname || get-local-ipv4-using-iproute2 || get-local-ipv4-using-ifconfig
215 | }
216 | get-local-ipv4-select() {
217 | local ips=$(get-local-ipv4)
218 | local retcode=$?
219 | if [ $retcode -ne 0 ]; then
220 | return $retcode
221 | fi
222 | grep -m 1 "^192\." <<<"$ips" || \
223 | grep -m 1 "^172\." <<<"$ips" || \
224 | grep -m 1 "^10\." <<<"$ips" || \
225 | head -n 1 <<<"$ips"
226 | }
227 |
228 | SESSIONS() {
229 | if [[ "$os_type" == "Linux" ]]; then
230 | if [[ "$check_procd" == "exist" ]]; then
231 | touch /etc/init.d/clouddrive
232 | cat > /etc/init.d/clouddrive << EOF
233 | #!/bin/sh /etc/rc.common
234 |
235 | USE_PROCD=1
236 |
237 | START=99
238 | STOP=99
239 |
240 | start_service() {
241 | procd_open_instance
242 | procd_set_param command $INSTALL_PATH/clouddrive
243 | procd_set_param respawn
244 | procd_set_param pidfile /var/run/clouddrive.pid
245 | procd_close_instance
246 | }
247 | EOF
248 | chmod +x /etc/init.d/clouddrive
249 | /etc/init.d/clouddrive start
250 | /etc/init.d/clouddrive enable
251 | else
252 | cat >/etc/systemd/system/clouddrive.service </dev/null 2>&1
269 | systemctl enable clouddrive >/dev/null 2>&1
270 | fi
271 | elif [[ "$os_type" == "Darwin" ]]; then
272 | cat >$HOME/Library/LaunchAgents/clouddrive.plist <
274 |
275 |
276 |
277 | Label
278 | clouddirve
279 | KeepAlive
280 |
281 | ProcessType
282 | Background
283 | RunAtLoad
284 |
285 | WorkingDirectory
286 | $INSTALL_PATH
287 | ProgramArguments
288 |
289 | $INSTALL_PATH/clouddrive
290 |
291 |
292 |
293 | EOF
294 | launchctl load $HOME/Library/LaunchAgents/clouddrive.plist
295 | launchctl start $HOME/Library/LaunchAgents/clouddrive.plist
296 | fi
297 | }
298 |
299 | SUCCESS() {
300 | clear
301 | echo -e "\xe8\xb4\xad\xe4\xb9\xb0\xe4\xbc\x9a\xe5\x91\x98\xe5\xa1\xab\xe6\x8e\
302 | \xa8\xe8\x8d\x90\xe7\xa0\x81\xe6\x9c\x80\xe9\xab\x98\xe4\xbc\x98\xe6\
303 | \x83\xa0${GREEN_COLOR}\x31\x30\x30\xe5\x85\x83${RES}"
304 | echo -e "\xe4\xbc\x98\xe6\x83\xa0\xe7\xa0\x81\xef\xbc\x9a${GREEN_COLOR}\x58\x6d\x33\x4b\x32\x35\x44\x33${RES}\r\n"
305 | echo -e "${GREEN_COLOR}clouddrive2 安装成功!${RES}"
306 | echo -e "访问地址:${GREEN_COLOR}http://$(get-local-ipv4-select):19798/${RES}\r\n"
307 | }
308 |
309 | UNINSTALL() {
310 | if [ "$check_docker" == "exist" ]; then
311 | if docker ps -a --format "{{.Names}}" | grep -q "clouddrive"; then
312 | docker stop clouddrive
313 | docker rm clouddrive
314 | echo "clouddrive 服务已停止并移除"
315 | docker images --format "{{.Repository}}:{{.Tag}}" | grep "cloudnas/clouddrive2" | xargs docker rmi
316 | echo "clouddrive 镜像已移除"
317 | fi
318 | else
319 | echo -e "\r\n${GREEN_COLOR}卸载 clouddrive2 ...${RES}\r\n"
320 | echo -e "${GREEN_COLOR}停止进程${RES}"
321 | if [[ "$os_type" == "Darwin" ]]; then
322 | launchctl unload $HOME/Library/LaunchAgents/clouddrive.plist >/dev/null 2>&1
323 | launchctl stop $HOME/Library/LaunchAgents/clouddrive.plist >/dev/null 2>&1
324 | echo -e "${GREEN_COLOR}清除残留文件${RES}"
325 | rm -rf $INSTALL_PATH $HOME/Library/LaunchAgents/clouddrive.plist
326 | launchctl load $HOME/Library/LaunchAgents/clouddrive.plist >/dev/null 2>&1
327 | else
328 | if [[ "$check_procd" == "exist" ]]; then
329 | /etc/init.d/clouddrive stop
330 | /etc/init.d/clouddrive disable
331 | rm -rf $INSTALL_PATH "/etc/init.d/clouddrive"
332 | else
333 | systemctl stop clouddrive >/dev/null 2>&1
334 | systemctl disable clouddrive >/dev/null 2>&1
335 | echo -e "${GREEN_COLOR}清除残留文件${RES}"
336 | rm -rf $INSTALL_PATH "/etc/systemd/system/clouddrive.service"
337 | systemctl daemon-reload
338 | fi
339 | fi
340 | fi
341 | echo -e "\r\n${GREEN_COLOR}clouddrive2 已在系统中移除!${RES}\r\n"
342 | }
343 |
344 |
345 | # CURL 进度显示
346 | if curl --help | grep progress-bar >/dev/null 2>&1; then # $CURL_BAR
347 | CURL_BAR="--progress-bar"
348 | fi
349 |
350 | # The temp directory must exist
351 | if [ ! -d "/tmp" ]; then
352 | mkdir -p /tmp
353 | fi
354 |
355 | # Fuck bt.cn (BT will use chattr to lock the php isolation config)
356 | chattr -i -R $INSTALL_PATH >/dev/null 2>&1
357 |
358 | if [ "$1" = "uninstall" ]; then
359 | UNINSTALL
360 | elif [ "$1" = "install" ]; then
361 | if [ "$check_docker" == "exist" ]; then
362 | DOCKER
363 | SUCCESS
364 | else
365 | CHECK
366 | INSTALL
367 | SESSIONS
368 | if [ -f "$INSTALL_PATH/clouddrive" ]; then
369 | SUCCESS
370 | else
371 | echo -e "${RED_COLOR} 安装失败${RES}"
372 | fi
373 | fi
374 | else
375 | echo -e "${RED_COLOR} 错误的命令${RES}"
376 | fi
377 |
--------------------------------------------------------------------------------
/images/mac1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cshczh/clouddrive2/6f57bee99d1d0ec6733377483696d480752de159/images/mac1.png
--------------------------------------------------------------------------------
/images/mac2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cshczh/clouddrive2/6f57bee99d1d0ec6733377483696d480752de159/images/mac2.png
--------------------------------------------------------------------------------
/images/op1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cshczh/clouddrive2/6f57bee99d1d0ec6733377483696d480752de159/images/op1.png
--------------------------------------------------------------------------------
/images/op2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cshczh/clouddrive2/6f57bee99d1d0ec6733377483696d480752de159/images/op2.png
--------------------------------------------------------------------------------
/images/termux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cshczh/clouddrive2/6f57bee99d1d0ec6733377483696d480752de159/images/termux.png
--------------------------------------------------------------------------------
/images/update1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cshczh/clouddrive2/6f57bee99d1d0ec6733377483696d480752de159/images/update1.png
--------------------------------------------------------------------------------
/images/update2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cshczh/clouddrive2/6f57bee99d1d0ec6733377483696d480752de159/images/update2.png
--------------------------------------------------------------------------------