mirror of
https://github.com/kejilion/sh.git
synced 2025-10-03 23:34:20 +08:00
Compare commits
4 commits
b4a3c9a160
...
5227c71078
Author | SHA1 | Date | |
---|---|---|---|
|
5227c71078 | ||
|
a472c0f133 | ||
|
a550ee3be7 | ||
|
ba842d73dd |
7 changed files with 5750 additions and 4531 deletions
|
@ -1,5 +1,5 @@
|
|||
#!/bin/bash
|
||||
sh_v="4.0.9"
|
||||
sh_v="4.0.10"
|
||||
|
||||
|
||||
gl_hui='\e[37m'
|
||||
|
@ -8536,6 +8536,8 @@ while true; do
|
|||
echo -e "${gl_kjlan}87. ${color87}SyncTV一起看片神器 ${gl_kjlan}88. ${color88}Owncast自托管直播平台"
|
||||
echo -e "${gl_kjlan}89. ${color89}FileCodeBox文件快递 ${gl_kjlan}90. ${color90}matrix去中心化聊天协议"
|
||||
echo -e "${gl_kjlan}------------------------"
|
||||
echo -e "${gl_kjlan}91. ${color91}gitea私有代码仓库 ${gl_kjlan}92. ${color92}FileBrowser文件管理器"
|
||||
echo -e "${gl_kjlan}------------------------"
|
||||
echo -e "${gl_kjlan}b. ${gl_bai}备份全部应用数据 ${gl_kjlan}r. ${gl_bai}还原全部应用数据"
|
||||
echo -e "${gl_kjlan}------------------------"
|
||||
echo -e "${gl_kjlan}0. ${gl_bai}返回主菜单"
|
||||
|
@ -11251,6 +11253,84 @@ while true; do
|
|||
|
||||
|
||||
|
||||
91|gitea)
|
||||
|
||||
local app_id="91"
|
||||
|
||||
local app_name="gitea私有代码仓库"
|
||||
local app_text="免费新一代的代码托管平台,提供接近 GitHub 的使用体验。"
|
||||
local app_url="视频介绍: https://github.com/go-gitea/gitea"
|
||||
local docker_name="gitea"
|
||||
local docker_port="8091"
|
||||
local app_size="2"
|
||||
|
||||
docker_app_install() {
|
||||
|
||||
mkdir -p /home/docker/gitea
|
||||
mkdir -p /home/docker/gitea/gitea
|
||||
mkdir -p /home/docker/gitea/data
|
||||
mkdir -p /home/docker/gitea/postgres
|
||||
cd /home/docker/gitea
|
||||
|
||||
curl -o /home/docker/gitea/docker-compose.yml ${gh_proxy}raw.githubusercontent.com/kejilion/docker/main/gitea-docker-compose.yml
|
||||
sed -i "s/3000:3000/${docker_port}:3000/g" /home/docker/gitea/docker-compose.yml
|
||||
cd /home/docker/gitea/
|
||||
docker compose up -d
|
||||
clear
|
||||
echo "已经安装完成"
|
||||
check_docker_app_ip
|
||||
}
|
||||
|
||||
|
||||
docker_app_update() {
|
||||
cd /home/docker/gitea/ && docker compose down --rmi all
|
||||
cd /home/docker/gitea/ && docker compose up -d
|
||||
}
|
||||
|
||||
|
||||
docker_app_uninstall() {
|
||||
cd /home/docker/gitea/ && docker compose down --rmi all
|
||||
rm -rf /home/docker/gitea
|
||||
echo "应用已卸载"
|
||||
}
|
||||
|
||||
docker_app_plus
|
||||
|
||||
;;
|
||||
|
||||
|
||||
|
||||
|
||||
92|filebrowser)
|
||||
|
||||
local app_id="92"
|
||||
local docker_name="filebrowser"
|
||||
local docker_img="hurlenko/filebrowser"
|
||||
local docker_port=8092
|
||||
|
||||
docker_rum() {
|
||||
|
||||
docker run -d \
|
||||
--name filebrowser \
|
||||
--restart unless-stopped \
|
||||
-p ${docker_port}:8080 \
|
||||
-v /home/docker/filebrowser/data:/data \
|
||||
-v /home/docker/filebrowser/config:/config \
|
||||
-e FB_BASEURL=/filebrowser \
|
||||
hurlenko/filebrowser
|
||||
|
||||
}
|
||||
|
||||
local docker_describe="是一个基于Web的文件管理器"
|
||||
local docker_url="官网介绍: https://filebrowser.org/"
|
||||
local docker_use="docker logs filebrowser"
|
||||
local docker_passwd=""
|
||||
local app_size="1"
|
||||
docker_app
|
||||
|
||||
;;
|
||||
|
||||
|
||||
|
||||
b)
|
||||
clear
|
||||
|
|
342
en/kejilion.sh
342
en/kejilion.sh
|
@ -1,5 +1,5 @@
|
|||
#!/bin/bash
|
||||
sh_v="4.0.8"
|
||||
sh_v="4.0.10"
|
||||
|
||||
|
||||
gl_hui='\e[37m'
|
||||
|
@ -2121,7 +2121,7 @@ web_security() {
|
|||
|
||||
22)
|
||||
send_stats "High load on 5 seconds shield"
|
||||
echo -e "${gl_huang}The website automatically detects every 5 minutes. When high load is detected, the shield will be automatically turned on, and low load will be automatically turned off for 5 seconds.${gl_bai}"
|
||||
echo -e "${gl_huang}The website automatically detects every 5 minutes. When it reaches the detection of a high load, the shield will be automatically turned on, and the low load will be automatically turned off for 5 seconds.${gl_bai}"
|
||||
echo "--------------"
|
||||
echo "Get CF parameters:"
|
||||
echo -e "Go to the upper right corner of the cf background, select the API token on the left, and obtain it${gl_huang}Global API Key${gl_bai}"
|
||||
|
@ -7924,7 +7924,7 @@ linux_ldnmp() {
|
|||
;;
|
||||
2)
|
||||
echo "The database backup must be a .gz-end compressed package. Please put it in the /home/ directory to support the import of backup data of Pagoda/1panel."
|
||||
read -e -p "You can also enter the download link to remotely download the backup data. Directly press Enter will skip remote download:" url_download_db
|
||||
read -e -p "You can also enter the download link to remotely download the backup data. Directly press Enter to skip remote download:" url_download_db
|
||||
|
||||
cd /home/
|
||||
if [ -n "$url_download_db" ]; then
|
||||
|
@ -8497,7 +8497,7 @@ while true; do
|
|||
echo -e "${gl_kjlan}21. ${color21}VScode web version${gl_kjlan}22. ${color22}UptimeKuma monitoring tool"
|
||||
echo -e "${gl_kjlan}23. ${color23}Memos web page memo${gl_kjlan}24. ${color24}Webtop Remote Desktop Web Edition${gl_huang}★${gl_bai}"
|
||||
echo -e "${gl_kjlan}25. ${color25}Nextcloud network disk${gl_kjlan}26. ${color26}QD-Today timing task management framework"
|
||||
echo -e "${gl_kjlan}27. ${color27}Dockge Container Stack Management Panel${gl_kjlan}28. ${color28}LibreSpeed Speed Test Tool"
|
||||
echo -e "${gl_kjlan}27. ${color27}Dockge Container Stack Management Panel${gl_kjlan}28. ${color28}LibreSpeed Speed Test Tool"
|
||||
echo -e "${gl_kjlan}29. ${color29}searxng aggregation search site${gl_huang}★${gl_bai} ${gl_kjlan}30. ${color30}PhotoPrism Private Album System"
|
||||
echo -e "${gl_kjlan}------------------------"
|
||||
echo -e "${gl_kjlan}31. ${color31}StirlingPDF tool collection${gl_kjlan}32. ${color32}drawio free online charting software${gl_huang}★${gl_bai}"
|
||||
|
@ -8534,6 +8534,11 @@ while true; do
|
|||
echo -e "${gl_kjlan}83. ${color83}komari server monitoring tool${gl_kjlan}84. ${color84}Wallos personal financial management tools"
|
||||
echo -e "${gl_kjlan}85. ${color85}immich picture video manager${gl_kjlan}86. ${color86}jellyfin media management system"
|
||||
echo -e "${gl_kjlan}87. ${color87}SyncTV movie watching artifact${gl_kjlan}88. ${color88}Owncast self-hosted live broadcast platform"
|
||||
echo -e "${gl_kjlan}89. ${color89}FileCodeBox file express${gl_kjlan}90. ${color90}matrix decentralized chat protocol"
|
||||
echo -e "${gl_kjlan}------------------------"
|
||||
echo -e "${gl_kjlan}91. ${color91}gitea private code repository${gl_kjlan}92. ${color92}FileBrowser File Manager"
|
||||
echo -e "${gl_kjlan}------------------------"
|
||||
echo -e "${gl_kjlan}b. ${gl_bai}Back up all application data${gl_kjlan}r. ${gl_bai}Restore all application data"
|
||||
echo -e "${gl_kjlan}------------------------"
|
||||
echo -e "${gl_kjlan}0. ${gl_bai}Return to main menu"
|
||||
echo -e "${gl_kjlan}------------------------${gl_bai}"
|
||||
|
@ -8687,7 +8692,8 @@ while true; do
|
|||
|
||||
docker_rum() {
|
||||
|
||||
|
||||
read -e -p "Set login username:" admin
|
||||
read -e -p "Set the login user password:" admin_password
|
||||
docker run -d \
|
||||
--name=webtop-ubuntu \
|
||||
--security-opt seccomp=unconfined \
|
||||
|
@ -8696,8 +8702,8 @@ while true; do
|
|||
-e TZ=Etc/UTC \
|
||||
-e SUBFOLDER=/ \
|
||||
-e TITLE=Webtop \
|
||||
-e CUSTOM_USER=ubuntu-abc \
|
||||
-e PASSWORD=ubuntuABC123 \
|
||||
-e CUSTOM_USER=${admin} \
|
||||
-e PASSWORD=${admin_password} \
|
||||
-p ${docker_port}:3000 \
|
||||
-v /home/docker/webtop/data:/config \
|
||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||
|
@ -8711,8 +8717,8 @@ while true; do
|
|||
|
||||
local docker_describe="webtop基于Ubuntu的容器。若IP无法访问,请添加域名访问。"
|
||||
local docker_url="官网介绍: https://docs.linuxserver.io/images/docker-webtop/"
|
||||
local docker_use="echo \"用户名: ubuntu-abc\""
|
||||
local docker_passwd="echo \"密码: ubuntuABC123\""
|
||||
local docker_use=""
|
||||
local docker_passwd=""
|
||||
local app_size="2"
|
||||
docker_app
|
||||
|
||||
|
@ -9383,7 +9389,8 @@ while true; do
|
|||
|
||||
docker_rum() {
|
||||
|
||||
|
||||
read -e -p "Set login username:" admin
|
||||
read -e -p "Set the login user password:" admin_password
|
||||
docker run -d \
|
||||
--name=webtop \
|
||||
--security-opt seccomp=unconfined \
|
||||
|
@ -9392,8 +9399,8 @@ while true; do
|
|||
-e TZ=Etc/UTC \
|
||||
-e SUBFOLDER=/ \
|
||||
-e TITLE=Webtop \
|
||||
-e CUSTOM_USER=webtop-abc \
|
||||
-e PASSWORD=webtopABC123 \
|
||||
-e CUSTOM_USER=${admin} \
|
||||
-e PASSWORD=${admin_password} \
|
||||
-e LC_ALL=zh_CN.UTF-8 \
|
||||
-e DOCKER_MODS=linuxserver/mods:universal-package-install \
|
||||
-e INSTALL_PACKAGES=font-noto-cjk \
|
||||
|
@ -9404,14 +9411,13 @@ while true; do
|
|||
--restart unless-stopped \
|
||||
lscr.io/linuxserver/webtop:latest
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
local docker_describe="webtop基于Alpine的中文版容器。若IP无法访问,请添加域名访问。"
|
||||
local docker_url="官网介绍: https://docs.linuxserver.io/images/docker-webtop/"
|
||||
local docker_use="echo \"用户名: webtop-abc\""
|
||||
local docker_passwd="echo \"密码: webtopABC123\""
|
||||
local docker_use=""
|
||||
local docker_passwd=""
|
||||
local app_size="2"
|
||||
docker_app
|
||||
;;
|
||||
|
@ -10607,32 +10613,55 @@ while true; do
|
|||
;;
|
||||
|
||||
|
||||
|
||||
74|moontv)
|
||||
|
||||
local app_id="74"
|
||||
local docker_name="moontv"
|
||||
local docker_img="ghcr.io/senshinya/moontv:latest"
|
||||
local docker_port=8074
|
||||
|
||||
docker_rum() {
|
||||
local app_name="moontv私有影视"
|
||||
local app_text="免费在线视频搜索与观看平台"
|
||||
local app_url="视频介绍: https://github.com/MoonTechLab/LunaTV"
|
||||
local docker_name="moontv-core"
|
||||
local docker_port="8074"
|
||||
local app_size="2"
|
||||
|
||||
read -e -p "Set the MoonTV login password:" app_passwd
|
||||
docker_app_install() {
|
||||
read -e -p "Set login username:" admin
|
||||
read -e -p "Set the login user password:" admin_password
|
||||
read -e -p "Enter the authorization code:" shouquanma
|
||||
|
||||
docker run -d \
|
||||
--name moontv \
|
||||
--restart unless-stopped \
|
||||
-p ${docker_port}:3000 \
|
||||
-e PASSWORD=${app_passwd} \
|
||||
ghcr.io/senshinya/moontv:latest
|
||||
|
||||
mkdir -p /home/docker/moontv
|
||||
mkdir -p /home/docker/moontv/config
|
||||
mkdir -p /home/docker/moontv/data
|
||||
cd /home/docker/moontv
|
||||
|
||||
curl -o /home/docker/moontv/docker-compose.yml ${gh_proxy}raw.githubusercontent.com/kejilion/docker/main/moontv-docker-compose.yml
|
||||
sed -i "s/3000:3000/${docker_port}:3000/g" /home/docker/moontv/docker-compose.yml
|
||||
sed -i "s/admin/${admin}/g" /home/docker/moontv/docker-compose.yml
|
||||
sed -i "s/admin_password/${admin_password}/g" /home/docker/moontv/docker-compose.yml
|
||||
sed -i "s/shouquanma/${shouquanma}/g" /home/docker/moontv/docker-compose.yml
|
||||
cd /home/docker/moontv/
|
||||
docker compose up -d
|
||||
clear
|
||||
echo "Installed"
|
||||
check_docker_app_ip
|
||||
}
|
||||
|
||||
local docker_describe="免费在线视频搜索与观看平台"
|
||||
local docker_url="官网介绍: https://github.com/senshinya/MoonTV"
|
||||
local docker_use=""
|
||||
local docker_passwd=""
|
||||
local app_size="1"
|
||||
docker_app
|
||||
|
||||
docker_app_update() {
|
||||
cd /home/docker/moontv/ && docker compose down --rmi all
|
||||
cd /home/docker/moontv/ && docker compose up -d
|
||||
}
|
||||
|
||||
|
||||
docker_app_uninstall() {
|
||||
cd /home/docker/moontv/ && docker compose down --rmi all
|
||||
rm -rf /home/docker/moontv
|
||||
echo "The app has been uninstalled"
|
||||
}
|
||||
|
||||
docker_app_plus
|
||||
|
||||
;;
|
||||
|
||||
|
@ -10702,8 +10731,8 @@ while true; do
|
|||
|
||||
docker_rum() {
|
||||
|
||||
read -e -p "set up${docker_name}Login username:" app_use
|
||||
read -e -p "set up${docker_name}Login password:" app_passwd
|
||||
read -e -p "Set login username:" app_use
|
||||
read -e -p "Set login password:" app_passwd
|
||||
|
||||
docker run -d \
|
||||
--name xunlei \
|
||||
|
@ -10918,10 +10947,12 @@ while true; do
|
|||
|
||||
docker_rum() {
|
||||
|
||||
read -e -p "set up${docker_name}The login key (sk-staring letters and numbers combinations) such as: sk-159kejilionyyds163:" app_passwd
|
||||
|
||||
mkdir -p /home/docker/gpt-load && \
|
||||
docker run -d --name gpt-load \
|
||||
-p ${docker_port}:3001 \
|
||||
-e AUTH_KEY=sk-123456 \
|
||||
-e AUTH_KEY=${app_passwd} \
|
||||
-v "/home/docker/gpt-load/data":/app/data \
|
||||
tbphp/gpt-load:latest
|
||||
|
||||
|
@ -10929,7 +10960,7 @@ while true; do
|
|||
|
||||
local docker_describe="高性能AI接口透明代理服务"
|
||||
local docker_url="官网介绍: https://www.gpt-load.com/"
|
||||
local docker_use="echo \"默认管理密钥: sk-123456\""
|
||||
local docker_use=""
|
||||
local docker_passwd=""
|
||||
local app_size="1"
|
||||
docker_app
|
||||
|
@ -11136,6 +11167,239 @@ while true; do
|
|||
;;
|
||||
|
||||
|
||||
|
||||
89|file-code-box)
|
||||
|
||||
local app_id="89"
|
||||
local docker_name="file-code-box"
|
||||
local docker_img="lanol/filecodebox:latest"
|
||||
local docker_port=8089
|
||||
|
||||
docker_rum() {
|
||||
|
||||
docker run -d \
|
||||
--name file-code-box \
|
||||
-p ${docker_port}:12345 \
|
||||
-v /home/docker/file-code-box/data:/app/data \
|
||||
--restart unless-stopped \
|
||||
lanol/filecodebox:latest
|
||||
|
||||
}
|
||||
|
||||
local docker_describe="匿名口令分享文本和文件,像拿快递一样取文件"
|
||||
local docker_url="官网介绍: https://github.com/vastsa/FileCodeBox"
|
||||
local docker_use=""
|
||||
local docker_passwd=""
|
||||
local app_size="1"
|
||||
docker_app
|
||||
|
||||
;;
|
||||
|
||||
|
||||
|
||||
|
||||
90|matrix)
|
||||
|
||||
local app_id="90"
|
||||
local docker_name="matrix"
|
||||
local docker_img="matrixdotorg/synapse:latest"
|
||||
local docker_port=8090
|
||||
|
||||
docker_rum() {
|
||||
|
||||
add_yuming
|
||||
|
||||
if [ ! -d /home/docker/matrix/data ]; then
|
||||
docker run -it --rm \
|
||||
-v /home/docker/matrix/data:/data \
|
||||
-e SYNAPSE_SERVER_NAME=${yuming} \
|
||||
-e SYNAPSE_REPORT_STATS=yes \
|
||||
--name matrix \
|
||||
matrixdotorg/synapse:latest generate
|
||||
fi
|
||||
|
||||
docker run -d \
|
||||
--name matrix \
|
||||
-v /home/docker/matrix/data:/data \
|
||||
-p ${docker_port}:8008 \
|
||||
--restart unless-stopped \
|
||||
matrixdotorg/synapse:latest
|
||||
|
||||
echo "Create an initial user or administrator. Please set the following username and password and whether you are an administrator."
|
||||
docker exec -it matrix register_new_matrix_user \
|
||||
http://localhost:8008 \
|
||||
-c /data/homeserver.yaml
|
||||
|
||||
sed -i '/^enable_registration:/d' /home/docker/matrix/data/homeserver.yaml
|
||||
sed -i '/^# vim:ft=yaml/i enable_registration: true' /home/docker/matrix/data/homeserver.yaml
|
||||
sed -i '/^enable_registration_without_verification:/d' /home/docker/matrix/data/homeserver.yaml
|
||||
sed -i '/^# vim:ft=yaml/i enable_registration_without_verification: true' /home/docker/matrix/data/homeserver.yaml
|
||||
|
||||
docker restart matrix
|
||||
|
||||
ldnmp_Proxy ${yuming} 127.0.0.1 ${docker_port}
|
||||
block_container_port "$docker_name" "$ipv4_address"
|
||||
|
||||
}
|
||||
|
||||
local docker_describe="Matrix是一个去中心化的聊天协议"
|
||||
local docker_url="官网介绍: https://matrix.org/"
|
||||
local docker_use=""
|
||||
local docker_passwd=""
|
||||
local app_size="1"
|
||||
docker_app
|
||||
|
||||
;;
|
||||
|
||||
|
||||
|
||||
91|gitea)
|
||||
|
||||
local app_id="91"
|
||||
|
||||
local app_name="gitea私有代码仓库"
|
||||
local app_text="免费新一代的代码托管平台,提供接近 GitHub 的使用体验。"
|
||||
local app_url="视频介绍: https://github.com/go-gitea/gitea"
|
||||
local docker_name="gitea"
|
||||
local docker_port="8091"
|
||||
local app_size="2"
|
||||
|
||||
docker_app_install() {
|
||||
|
||||
mkdir -p /home/docker/gitea
|
||||
mkdir -p /home/docker/gitea/gitea
|
||||
mkdir -p /home/docker/gitea/data
|
||||
mkdir -p /home/docker/gitea/postgres
|
||||
cd /home/docker/gitea
|
||||
|
||||
curl -o /home/docker/gitea/docker-compose.yml ${gh_proxy}raw.githubusercontent.com/kejilion/docker/main/gitea-docker-compose.yml
|
||||
sed -i "s/3000:3000/${docker_port}:3000/g" /home/docker/gitea/docker-compose.yml
|
||||
cd /home/docker/gitea/
|
||||
docker compose up -d
|
||||
clear
|
||||
echo "Installed"
|
||||
check_docker_app_ip
|
||||
}
|
||||
|
||||
|
||||
docker_app_update() {
|
||||
cd /home/docker/gitea/ && docker compose down --rmi all
|
||||
cd /home/docker/gitea/ && docker compose up -d
|
||||
}
|
||||
|
||||
|
||||
docker_app_uninstall() {
|
||||
cd /home/docker/gitea/ && docker compose down --rmi all
|
||||
rm -rf /home/docker/gitea
|
||||
echo "The app has been uninstalled"
|
||||
}
|
||||
|
||||
docker_app_plus
|
||||
|
||||
;;
|
||||
|
||||
|
||||
|
||||
|
||||
92|filebrowser)
|
||||
|
||||
local app_id="92"
|
||||
local docker_name="filebrowser"
|
||||
local docker_img="hurlenko/filebrowser"
|
||||
local docker_port=8092
|
||||
|
||||
docker_rum() {
|
||||
|
||||
docker run -d \
|
||||
--name filebrowser \
|
||||
--restart unless-stopped \
|
||||
-p ${docker_port}:8080 \
|
||||
-v /home/docker/filebrowser/data:/data \
|
||||
-v /home/docker/filebrowser/config:/config \
|
||||
-e FB_BASEURL=/filebrowser \
|
||||
hurlenko/filebrowser
|
||||
|
||||
}
|
||||
|
||||
local docker_describe="是一个基于Web的文件管理器"
|
||||
local docker_url="官网介绍: https://filebrowser.org/"
|
||||
local docker_use="docker logs filebrowser"
|
||||
local docker_passwd=""
|
||||
local app_size="1"
|
||||
docker_app
|
||||
|
||||
;;
|
||||
|
||||
|
||||
|
||||
b)
|
||||
clear
|
||||
send_stats "All applications backup"
|
||||
|
||||
local backup_filename="app_$(date +"%Y%m%d%H%M%S").tar.gz"
|
||||
echo -e "${gl_huang}Backing up$backup_filename ...${gl_bai}"
|
||||
cd / && tar czvf "$backup_filename" home
|
||||
|
||||
while true; do
|
||||
clear
|
||||
echo "The backup file has been created: /$backup_filename"
|
||||
read -e -p "Do you want to transfer backup data to a remote server? (Y/N):" choice
|
||||
case "$choice" in
|
||||
[Yy])
|
||||
read -e -p "Please enter the remote server IP:" remote_ip
|
||||
if [ -z "$remote_ip" ]; then
|
||||
echo "Error: Please enter the remote server IP."
|
||||
continue
|
||||
fi
|
||||
local latest_tar=$(ls -t /app*.tar.gz | head -1)
|
||||
if [ -n "$latest_tar" ]; then
|
||||
ssh-keygen -f "/root/.ssh/known_hosts" -R "$remote_ip"
|
||||
sleep 2 # 添加等待时间
|
||||
scp -o StrictHostKeyChecking=no "$latest_tar" "root@$remote_ip:/"
|
||||
echo "The file has been transferred to the remote server/root directory."
|
||||
else
|
||||
echo "The file to be transferred was not found."
|
||||
fi
|
||||
break
|
||||
;;
|
||||
*)
|
||||
echo "Note: Currently, the backup only includes docker projects, and does not include data backup of website building panels such as Pagoda and 1panel."
|
||||
break
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
;;
|
||||
|
||||
r)
|
||||
root_use
|
||||
send_stats "All applications restore"
|
||||
echo "Available app backups"
|
||||
echo "-------------------------"
|
||||
ls -lt /app*.gz | awk '{print $NF}'
|
||||
echo ""
|
||||
read -e -p "Enter to restore the latest backup, enter the backup file name to restore the specified backup, enter 0 to exit:" filename
|
||||
|
||||
if [ "$filename" == "0" ]; then
|
||||
break_end
|
||||
linux_panel
|
||||
fi
|
||||
|
||||
# If the user does not enter the file name, use the latest compressed package
|
||||
if [ -z "$filename" ]; then
|
||||
local filename=$(ls -t /app*.tar.gz | head -1)
|
||||
fi
|
||||
|
||||
if [ -n "$filename" ]; then
|
||||
echo -e "${gl_huang}Decompression is being done$filename ...${gl_bai}"
|
||||
cd / && tar -xzf "$filename"
|
||||
echo "The application data has been restored. Please manually enter the specified application menu and update the application to restore the application."
|
||||
else
|
||||
echo "No compression package was found."
|
||||
fi
|
||||
|
||||
;;
|
||||
|
||||
0)
|
||||
kejilion
|
||||
;;
|
||||
|
@ -11832,7 +12096,7 @@ EOF
|
|||
echo "3. Tokyo time in Japan 4. Seoul time in South Korea"
|
||||
echo "5. Singapore time 6. Kolkata time in India"
|
||||
echo "7. Dubai time in the UAE 8. Sydney time in Australia"
|
||||
echo "9. Time in Bangkok, Thailand"
|
||||
echo "9. Bangkok Time, Thailand"
|
||||
echo "------------------------"
|
||||
echo "Europe"
|
||||
echo "11. London time in the UK 12. Paris time in France"
|
||||
|
@ -12058,7 +12322,7 @@ EOF
|
|||
|
||||
;;
|
||||
2)
|
||||
read -e -p "Please enter the keywords of parsing content that need to be deleted:" delhost
|
||||
read -e -p "Please enter the keywords for parsing content that need to be deleted:" delhost
|
||||
sed -i "/$delhost/d" /etc/hosts
|
||||
send_stats "Local host parsing and deletion"
|
||||
;;
|
||||
|
@ -12495,7 +12759,7 @@ EOF
|
|||
|
||||
echo "Privacy and Security"
|
||||
echo "The script will collect data on user functions, optimize the script experience, and create more fun and useful functions."
|
||||
echo "Will collect the script version number, usage time, system version, CPU architecture, country of the machine and the name of the functions used,"
|
||||
echo "Will collect the script version number, usage time, system version, CPU architecture, country of the machine and the name of the function used,"
|
||||
echo "------------------------------------------------"
|
||||
echo -e "Current status:$status_message"
|
||||
echo "--------------------"
|
||||
|
|
4746
jp/kejilion.sh
4746
jp/kejilion.sh
File diff suppressed because it is too large
Load diff
82
kejilion.sh
82
kejilion.sh
|
@ -1,5 +1,5 @@
|
|||
#!/bin/bash
|
||||
sh_v="4.0.9"
|
||||
sh_v="4.0.10"
|
||||
|
||||
|
||||
gl_hui='\e[37m'
|
||||
|
@ -8536,6 +8536,8 @@ while true; do
|
|||
echo -e "${gl_kjlan}87. ${color87}SyncTV一起看片神器 ${gl_kjlan}88. ${color88}Owncast自托管直播平台"
|
||||
echo -e "${gl_kjlan}89. ${color89}FileCodeBox文件快递 ${gl_kjlan}90. ${color90}matrix去中心化聊天协议"
|
||||
echo -e "${gl_kjlan}------------------------"
|
||||
echo -e "${gl_kjlan}91. ${color91}gitea私有代码仓库 ${gl_kjlan}92. ${color92}FileBrowser文件管理器"
|
||||
echo -e "${gl_kjlan}------------------------"
|
||||
echo -e "${gl_kjlan}b. ${gl_bai}备份全部应用数据 ${gl_kjlan}r. ${gl_bai}还原全部应用数据"
|
||||
echo -e "${gl_kjlan}------------------------"
|
||||
echo -e "${gl_kjlan}0. ${gl_bai}返回主菜单"
|
||||
|
@ -11251,6 +11253,84 @@ while true; do
|
|||
|
||||
|
||||
|
||||
91|gitea)
|
||||
|
||||
local app_id="91"
|
||||
|
||||
local app_name="gitea私有代码仓库"
|
||||
local app_text="免费新一代的代码托管平台,提供接近 GitHub 的使用体验。"
|
||||
local app_url="视频介绍: https://github.com/go-gitea/gitea"
|
||||
local docker_name="gitea"
|
||||
local docker_port="8091"
|
||||
local app_size="2"
|
||||
|
||||
docker_app_install() {
|
||||
|
||||
mkdir -p /home/docker/gitea
|
||||
mkdir -p /home/docker/gitea/gitea
|
||||
mkdir -p /home/docker/gitea/data
|
||||
mkdir -p /home/docker/gitea/postgres
|
||||
cd /home/docker/gitea
|
||||
|
||||
curl -o /home/docker/gitea/docker-compose.yml ${gh_proxy}raw.githubusercontent.com/kejilion/docker/main/gitea-docker-compose.yml
|
||||
sed -i "s/3000:3000/${docker_port}:3000/g" /home/docker/gitea/docker-compose.yml
|
||||
cd /home/docker/gitea/
|
||||
docker compose up -d
|
||||
clear
|
||||
echo "已经安装完成"
|
||||
check_docker_app_ip
|
||||
}
|
||||
|
||||
|
||||
docker_app_update() {
|
||||
cd /home/docker/gitea/ && docker compose down --rmi all
|
||||
cd /home/docker/gitea/ && docker compose up -d
|
||||
}
|
||||
|
||||
|
||||
docker_app_uninstall() {
|
||||
cd /home/docker/gitea/ && docker compose down --rmi all
|
||||
rm -rf /home/docker/gitea
|
||||
echo "应用已卸载"
|
||||
}
|
||||
|
||||
docker_app_plus
|
||||
|
||||
;;
|
||||
|
||||
|
||||
|
||||
|
||||
92|filebrowser)
|
||||
|
||||
local app_id="92"
|
||||
local docker_name="filebrowser"
|
||||
local docker_img="hurlenko/filebrowser"
|
||||
local docker_port=8092
|
||||
|
||||
docker_rum() {
|
||||
|
||||
docker run -d \
|
||||
--name filebrowser \
|
||||
--restart unless-stopped \
|
||||
-p ${docker_port}:8080 \
|
||||
-v /home/docker/filebrowser/data:/data \
|
||||
-v /home/docker/filebrowser/config:/config \
|
||||
-e FB_BASEURL=/filebrowser \
|
||||
hurlenko/filebrowser
|
||||
|
||||
}
|
||||
|
||||
local docker_describe="是一个基于Web的文件管理器"
|
||||
local docker_url="官网介绍: https://filebrowser.org/"
|
||||
local docker_use="docker logs filebrowser"
|
||||
local docker_passwd=""
|
||||
local app_size="1"
|
||||
docker_app
|
||||
|
||||
;;
|
||||
|
||||
|
||||
|
||||
b)
|
||||
clear
|
||||
|
|
|
@ -1275,4 +1275,7 @@ LDNMP建站flarum论坛安装时增加插件市场的安装,后期可以在后
|
|||
应用市场重构moontv,采用全新架构安装及使用。
|
||||
应用市场Ubuntu等远程桌面程序允许自定义用户名和密码进行安装及使用。
|
||||
------------------------
|
||||
|
||||
2025-08-21 v4.0.10
|
||||
应用市场新增gitea私有代码仓库的安装及使用,
|
||||
应用市场新增filebrowser文件管理器的安装及使用,
|
||||
------------------------
|
||||
|
|
4690
kr/kejilion.sh
4690
kr/kejilion.sh
File diff suppressed because it is too large
Load diff
334
tw/kejilion.sh
334
tw/kejilion.sh
|
@ -1,5 +1,5 @@
|
|||
#!/bin/bash
|
||||
sh_v="4.0.8"
|
||||
sh_v="4.0.10"
|
||||
|
||||
|
||||
gl_hui='\e[37m'
|
||||
|
@ -3682,7 +3682,7 @@ add_forwarding_service() {
|
|||
send_stats "添加frp內網服務"
|
||||
# 提示用戶輸入服務名稱和轉發信息
|
||||
read -e -p "請輸入服務名稱:" service_name
|
||||
read -e -p "請輸入轉發類型 (tcp/udp) [回車默認tcp]:" service_type
|
||||
read -e -p "請輸入轉發類型 (tcp/udp) [回車默認tcp]:" service_type
|
||||
local service_type=${service_type:-tcp}
|
||||
read -e -p "請輸入內網IP [回車默認127.0.0.1]:" local_ip
|
||||
local local_ip=${local_ip:-127.0.0.1}
|
||||
|
@ -8534,6 +8534,11 @@ while true; do
|
|||
echo -e "${gl_kjlan}83. ${color83}komari服務器監控工具${gl_kjlan}84. ${color84}Wallos個人財務管理工具"
|
||||
echo -e "${gl_kjlan}85. ${color85}immich圖片視頻管理器${gl_kjlan}86. ${color86}jellyfin媒體管理系統"
|
||||
echo -e "${gl_kjlan}87. ${color87}SyncTV一起看片神器${gl_kjlan}88. ${color88}Owncast自託管直播平台"
|
||||
echo -e "${gl_kjlan}89. ${color89}FileCodeBox文件快遞${gl_kjlan}90. ${color90}matrix去中心化聊天協議"
|
||||
echo -e "${gl_kjlan}------------------------"
|
||||
echo -e "${gl_kjlan}91. ${color91}gitea私有代碼倉庫${gl_kjlan}92. ${color92}FileBrowser文件管理器"
|
||||
echo -e "${gl_kjlan}------------------------"
|
||||
echo -e "${gl_kjlan}b. ${gl_bai}備份全部應用數據${gl_kjlan}r. ${gl_bai}還原全部應用數據"
|
||||
echo -e "${gl_kjlan}------------------------"
|
||||
echo -e "${gl_kjlan}0. ${gl_bai}返回主菜單"
|
||||
echo -e "${gl_kjlan}------------------------${gl_bai}"
|
||||
|
@ -8687,7 +8692,8 @@ while true; do
|
|||
|
||||
docker_rum() {
|
||||
|
||||
|
||||
read -e -p "設置登錄用戶名:" admin
|
||||
read -e -p "設置登錄用戶密碼:" admin_password
|
||||
docker run -d \
|
||||
--name=webtop-ubuntu \
|
||||
--security-opt seccomp=unconfined \
|
||||
|
@ -8696,8 +8702,8 @@ while true; do
|
|||
-e TZ=Etc/UTC \
|
||||
-e SUBFOLDER=/ \
|
||||
-e TITLE=Webtop \
|
||||
-e CUSTOM_USER=ubuntu-abc \
|
||||
-e PASSWORD=ubuntuABC123 \
|
||||
-e CUSTOM_USER=${admin} \
|
||||
-e PASSWORD=${admin_password} \
|
||||
-p ${docker_port}:3000 \
|
||||
-v /home/docker/webtop/data:/config \
|
||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||
|
@ -8711,8 +8717,8 @@ while true; do
|
|||
|
||||
local docker_describe="webtop基于Ubuntu的容器。若IP无法访问,请添加域名访问。"
|
||||
local docker_url="官网介绍: https://docs.linuxserver.io/images/docker-webtop/"
|
||||
local docker_use="echo \"用户名: ubuntu-abc\""
|
||||
local docker_passwd="echo \"密码: ubuntuABC123\""
|
||||
local docker_use=""
|
||||
local docker_passwd=""
|
||||
local app_size="2"
|
||||
docker_app
|
||||
|
||||
|
@ -9383,7 +9389,8 @@ while true; do
|
|||
|
||||
docker_rum() {
|
||||
|
||||
|
||||
read -e -p "設置登錄用戶名:" admin
|
||||
read -e -p "設置登錄用戶密碼:" admin_password
|
||||
docker run -d \
|
||||
--name=webtop \
|
||||
--security-opt seccomp=unconfined \
|
||||
|
@ -9392,8 +9399,8 @@ while true; do
|
|||
-e TZ=Etc/UTC \
|
||||
-e SUBFOLDER=/ \
|
||||
-e TITLE=Webtop \
|
||||
-e CUSTOM_USER=webtop-abc \
|
||||
-e PASSWORD=webtopABC123 \
|
||||
-e CUSTOM_USER=${admin} \
|
||||
-e PASSWORD=${admin_password} \
|
||||
-e LC_ALL=zh_CN.UTF-8 \
|
||||
-e DOCKER_MODS=linuxserver/mods:universal-package-install \
|
||||
-e INSTALL_PACKAGES=font-noto-cjk \
|
||||
|
@ -9404,14 +9411,13 @@ while true; do
|
|||
--restart unless-stopped \
|
||||
lscr.io/linuxserver/webtop:latest
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
local docker_describe="webtop基于Alpine的中文版容器。若IP无法访问,请添加域名访问。"
|
||||
local docker_url="官网介绍: https://docs.linuxserver.io/images/docker-webtop/"
|
||||
local docker_use="echo \"用户名: webtop-abc\""
|
||||
local docker_passwd="echo \"密码: webtopABC123\""
|
||||
local docker_use=""
|
||||
local docker_passwd=""
|
||||
local app_size="2"
|
||||
docker_app
|
||||
;;
|
||||
|
@ -10607,32 +10613,55 @@ while true; do
|
|||
;;
|
||||
|
||||
|
||||
|
||||
74|moontv)
|
||||
|
||||
local app_id="74"
|
||||
local docker_name="moontv"
|
||||
local docker_img="ghcr.io/senshinya/moontv:latest"
|
||||
local docker_port=8074
|
||||
|
||||
docker_rum() {
|
||||
local app_name="moontv私有影视"
|
||||
local app_text="免费在线视频搜索与观看平台"
|
||||
local app_url="视频介绍: https://github.com/MoonTechLab/LunaTV"
|
||||
local docker_name="moontv-core"
|
||||
local docker_port="8074"
|
||||
local app_size="2"
|
||||
|
||||
read -e -p "設置MoonTV的登錄密碼:" app_passwd
|
||||
docker_app_install() {
|
||||
read -e -p "設置登錄用戶名:" admin
|
||||
read -e -p "設置登錄用戶密碼:" admin_password
|
||||
read -e -p "輸入授權碼:" shouquanma
|
||||
|
||||
docker run -d \
|
||||
--name moontv \
|
||||
--restart unless-stopped \
|
||||
-p ${docker_port}:3000 \
|
||||
-e PASSWORD=${app_passwd} \
|
||||
ghcr.io/senshinya/moontv:latest
|
||||
|
||||
mkdir -p /home/docker/moontv
|
||||
mkdir -p /home/docker/moontv/config
|
||||
mkdir -p /home/docker/moontv/data
|
||||
cd /home/docker/moontv
|
||||
|
||||
curl -o /home/docker/moontv/docker-compose.yml ${gh_proxy}raw.githubusercontent.com/kejilion/docker/main/moontv-docker-compose.yml
|
||||
sed -i "s/3000:3000/${docker_port}:3000/g" /home/docker/moontv/docker-compose.yml
|
||||
sed -i "s/admin/${admin}/g" /home/docker/moontv/docker-compose.yml
|
||||
sed -i "s/admin_password/${admin_password}/g" /home/docker/moontv/docker-compose.yml
|
||||
sed -i "s/shouquanma/${shouquanma}/g" /home/docker/moontv/docker-compose.yml
|
||||
cd /home/docker/moontv/
|
||||
docker compose up -d
|
||||
clear
|
||||
echo "已經安裝完成"
|
||||
check_docker_app_ip
|
||||
}
|
||||
|
||||
local docker_describe="免费在线视频搜索与观看平台"
|
||||
local docker_url="官网介绍: https://github.com/senshinya/MoonTV"
|
||||
local docker_use=""
|
||||
local docker_passwd=""
|
||||
local app_size="1"
|
||||
docker_app
|
||||
|
||||
docker_app_update() {
|
||||
cd /home/docker/moontv/ && docker compose down --rmi all
|
||||
cd /home/docker/moontv/ && docker compose up -d
|
||||
}
|
||||
|
||||
|
||||
docker_app_uninstall() {
|
||||
cd /home/docker/moontv/ && docker compose down --rmi all
|
||||
rm -rf /home/docker/moontv
|
||||
echo "應用已卸載"
|
||||
}
|
||||
|
||||
docker_app_plus
|
||||
|
||||
;;
|
||||
|
||||
|
@ -10702,8 +10731,8 @@ while true; do
|
|||
|
||||
docker_rum() {
|
||||
|
||||
read -e -p "設定${docker_name}的登錄用戶名:" app_use
|
||||
read -e -p "設定${docker_name}的登錄密碼:" app_passwd
|
||||
read -e -p "設置登錄用戶名:" app_use
|
||||
read -e -p "設置登錄密碼:" app_passwd
|
||||
|
||||
docker run -d \
|
||||
--name xunlei \
|
||||
|
@ -10918,10 +10947,12 @@ while true; do
|
|||
|
||||
docker_rum() {
|
||||
|
||||
read -e -p "設定${docker_name}的登錄密鑰(sk-開頭字母和數字組合)如: sk-159kejilionyyds163:" app_passwd
|
||||
|
||||
mkdir -p /home/docker/gpt-load && \
|
||||
docker run -d --name gpt-load \
|
||||
-p ${docker_port}:3001 \
|
||||
-e AUTH_KEY=sk-123456 \
|
||||
-e AUTH_KEY=${app_passwd} \
|
||||
-v "/home/docker/gpt-load/data":/app/data \
|
||||
tbphp/gpt-load:latest
|
||||
|
||||
|
@ -10929,7 +10960,7 @@ while true; do
|
|||
|
||||
local docker_describe="高性能AI接口透明代理服务"
|
||||
local docker_url="官网介绍: https://www.gpt-load.com/"
|
||||
local docker_use="echo \"默认管理密钥: sk-123456\""
|
||||
local docker_use=""
|
||||
local docker_passwd=""
|
||||
local app_size="1"
|
||||
docker_app
|
||||
|
@ -11136,6 +11167,239 @@ while true; do
|
|||
;;
|
||||
|
||||
|
||||
|
||||
89|file-code-box)
|
||||
|
||||
local app_id="89"
|
||||
local docker_name="file-code-box"
|
||||
local docker_img="lanol/filecodebox:latest"
|
||||
local docker_port=8089
|
||||
|
||||
docker_rum() {
|
||||
|
||||
docker run -d \
|
||||
--name file-code-box \
|
||||
-p ${docker_port}:12345 \
|
||||
-v /home/docker/file-code-box/data:/app/data \
|
||||
--restart unless-stopped \
|
||||
lanol/filecodebox:latest
|
||||
|
||||
}
|
||||
|
||||
local docker_describe="匿名口令分享文本和文件,像拿快递一样取文件"
|
||||
local docker_url="官网介绍: https://github.com/vastsa/FileCodeBox"
|
||||
local docker_use=""
|
||||
local docker_passwd=""
|
||||
local app_size="1"
|
||||
docker_app
|
||||
|
||||
;;
|
||||
|
||||
|
||||
|
||||
|
||||
90|matrix)
|
||||
|
||||
local app_id="90"
|
||||
local docker_name="matrix"
|
||||
local docker_img="matrixdotorg/synapse:latest"
|
||||
local docker_port=8090
|
||||
|
||||
docker_rum() {
|
||||
|
||||
add_yuming
|
||||
|
||||
if [ ! -d /home/docker/matrix/data ]; then
|
||||
docker run -it --rm \
|
||||
-v /home/docker/matrix/data:/data \
|
||||
-e SYNAPSE_SERVER_NAME=${yuming} \
|
||||
-e SYNAPSE_REPORT_STATS=yes \
|
||||
--name matrix \
|
||||
matrixdotorg/synapse:latest generate
|
||||
fi
|
||||
|
||||
docker run -d \
|
||||
--name matrix \
|
||||
-v /home/docker/matrix/data:/data \
|
||||
-p ${docker_port}:8008 \
|
||||
--restart unless-stopped \
|
||||
matrixdotorg/synapse:latest
|
||||
|
||||
echo "創建初始用戶或管理員。請設置以下內容用戶名和密碼以及是否為管理員。"
|
||||
docker exec -it matrix register_new_matrix_user \
|
||||
http://localhost:8008 \
|
||||
-c /data/homeserver.yaml
|
||||
|
||||
sed -i '/^enable_registration:/d' /home/docker/matrix/data/homeserver.yaml
|
||||
sed -i '/^# vim:ft=yaml/i enable_registration: true' /home/docker/matrix/data/homeserver.yaml
|
||||
sed -i '/^enable_registration_without_verification:/d' /home/docker/matrix/data/homeserver.yaml
|
||||
sed -i '/^# vim:ft=yaml/i enable_registration_without_verification: true' /home/docker/matrix/data/homeserver.yaml
|
||||
|
||||
docker restart matrix
|
||||
|
||||
ldnmp_Proxy ${yuming} 127.0.0.1 ${docker_port}
|
||||
block_container_port "$docker_name" "$ipv4_address"
|
||||
|
||||
}
|
||||
|
||||
local docker_describe="Matrix是一个去中心化的聊天协议"
|
||||
local docker_url="官网介绍: https://matrix.org/"
|
||||
local docker_use=""
|
||||
local docker_passwd=""
|
||||
local app_size="1"
|
||||
docker_app
|
||||
|
||||
;;
|
||||
|
||||
|
||||
|
||||
91|gitea)
|
||||
|
||||
local app_id="91"
|
||||
|
||||
local app_name="gitea私有代码仓库"
|
||||
local app_text="免费新一代的代码托管平台,提供接近 GitHub 的使用体验。"
|
||||
local app_url="视频介绍: https://github.com/go-gitea/gitea"
|
||||
local docker_name="gitea"
|
||||
local docker_port="8091"
|
||||
local app_size="2"
|
||||
|
||||
docker_app_install() {
|
||||
|
||||
mkdir -p /home/docker/gitea
|
||||
mkdir -p /home/docker/gitea/gitea
|
||||
mkdir -p /home/docker/gitea/data
|
||||
mkdir -p /home/docker/gitea/postgres
|
||||
cd /home/docker/gitea
|
||||
|
||||
curl -o /home/docker/gitea/docker-compose.yml ${gh_proxy}raw.githubusercontent.com/kejilion/docker/main/gitea-docker-compose.yml
|
||||
sed -i "s/3000:3000/${docker_port}:3000/g" /home/docker/gitea/docker-compose.yml
|
||||
cd /home/docker/gitea/
|
||||
docker compose up -d
|
||||
clear
|
||||
echo "已經安裝完成"
|
||||
check_docker_app_ip
|
||||
}
|
||||
|
||||
|
||||
docker_app_update() {
|
||||
cd /home/docker/gitea/ && docker compose down --rmi all
|
||||
cd /home/docker/gitea/ && docker compose up -d
|
||||
}
|
||||
|
||||
|
||||
docker_app_uninstall() {
|
||||
cd /home/docker/gitea/ && docker compose down --rmi all
|
||||
rm -rf /home/docker/gitea
|
||||
echo "應用已卸載"
|
||||
}
|
||||
|
||||
docker_app_plus
|
||||
|
||||
;;
|
||||
|
||||
|
||||
|
||||
|
||||
92|filebrowser)
|
||||
|
||||
local app_id="92"
|
||||
local docker_name="filebrowser"
|
||||
local docker_img="hurlenko/filebrowser"
|
||||
local docker_port=8092
|
||||
|
||||
docker_rum() {
|
||||
|
||||
docker run -d \
|
||||
--name filebrowser \
|
||||
--restart unless-stopped \
|
||||
-p ${docker_port}:8080 \
|
||||
-v /home/docker/filebrowser/data:/data \
|
||||
-v /home/docker/filebrowser/config:/config \
|
||||
-e FB_BASEURL=/filebrowser \
|
||||
hurlenko/filebrowser
|
||||
|
||||
}
|
||||
|
||||
local docker_describe="是一个基于Web的文件管理器"
|
||||
local docker_url="官网介绍: https://filebrowser.org/"
|
||||
local docker_use="docker logs filebrowser"
|
||||
local docker_passwd=""
|
||||
local app_size="1"
|
||||
docker_app
|
||||
|
||||
;;
|
||||
|
||||
|
||||
|
||||
b)
|
||||
clear
|
||||
send_stats "全部應用備份"
|
||||
|
||||
local backup_filename="app_$(date +"%Y%m%d%H%M%S").tar.gz"
|
||||
echo -e "${gl_huang}正在備份$backup_filename ...${gl_bai}"
|
||||
cd / && tar czvf "$backup_filename" home
|
||||
|
||||
while true; do
|
||||
clear
|
||||
echo "備份文件已創建: /$backup_filename"
|
||||
read -e -p "要傳送備份數據到遠程服務器嗎? (Y/N):" choice
|
||||
case "$choice" in
|
||||
[Yy])
|
||||
read -e -p "請輸入遠端服務器IP:" remote_ip
|
||||
if [ -z "$remote_ip" ]; then
|
||||
echo "錯誤: 請輸入遠端服務器IP。"
|
||||
continue
|
||||
fi
|
||||
local latest_tar=$(ls -t /app*.tar.gz | head -1)
|
||||
if [ -n "$latest_tar" ]; then
|
||||
ssh-keygen -f "/root/.ssh/known_hosts" -R "$remote_ip"
|
||||
sleep 2 # 添加等待时间
|
||||
scp -o StrictHostKeyChecking=no "$latest_tar" "root@$remote_ip:/"
|
||||
echo "文件已傳送至遠程服務器/根目錄。"
|
||||
else
|
||||
echo "未找到要傳送的文件。"
|
||||
fi
|
||||
break
|
||||
;;
|
||||
*)
|
||||
echo "注意: 目前備份僅包含docker項目,不包含寶塔,1panel等建站面板的數據備份。"
|
||||
break
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
;;
|
||||
|
||||
r)
|
||||
root_use
|
||||
send_stats "全部應用還原"
|
||||
echo "可用的應用備份"
|
||||
echo "-------------------------"
|
||||
ls -lt /app*.gz | awk '{print $NF}'
|
||||
echo ""
|
||||
read -e -p "回車鍵還原最新的備份,輸入備份文件名還原指定的備份,輸入0退出:" filename
|
||||
|
||||
if [ "$filename" == "0" ]; then
|
||||
break_end
|
||||
linux_panel
|
||||
fi
|
||||
|
||||
# 如果用戶沒有輸入文件名,使用最新的壓縮包
|
||||
if [ -z "$filename" ]; then
|
||||
local filename=$(ls -t /app*.tar.gz | head -1)
|
||||
fi
|
||||
|
||||
if [ -n "$filename" ]; then
|
||||
echo -e "${gl_huang}正在解壓$filename ...${gl_bai}"
|
||||
cd / && tar -xzf "$filename"
|
||||
echo "應用數據已還原,目前請手動進入指定應用菜單,更新應用,即可還原應用。"
|
||||
else
|
||||
echo "沒有找到壓縮包。"
|
||||
fi
|
||||
|
||||
;;
|
||||
|
||||
0)
|
||||
kejilion
|
||||
;;
|
||||
|
@ -11295,7 +11559,7 @@ linux_work() {
|
|||
;;
|
||||
|
||||
22)
|
||||
read -e -p "請輸入你創建或進入的工作區名稱,如1001 kj001 work1:" SESSION_NAME
|
||||
read -e -p "請輸入你創建或進入的工作區名稱,如1001 kj001 work1:" SESSION_NAME
|
||||
tmux_run
|
||||
send_stats "自定義工作區"
|
||||
;;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue