修改文件管理器端口为38080,在飞牛OS开机信息追加文件管理器地址和端口号信息
This commit is contained in:
parent
0c4fb3b954
commit
16dc42a6fd
84
e20c/kvm.sh
84
e20c/kvm.sh
@ -85,6 +85,14 @@ install_docker() {
|
|||||||
install_virt_manager() {
|
install_virt_manager() {
|
||||||
sudo apt-get install -y gconf2 qemu-system-arm qemu-utils qemu-efi ipxe-qemu libvirt-daemon-system libvirt-clients bridge-utils virtinst virt-manager seabios vgabios gir1.2-spiceclientgtk-3.0 xauth fonts-wqy-microhei
|
sudo apt-get install -y gconf2 qemu-system-arm qemu-utils qemu-efi ipxe-qemu libvirt-daemon-system libvirt-clients bridge-utils virtinst virt-manager seabios vgabios gir1.2-spiceclientgtk-3.0 xauth fonts-wqy-microhei
|
||||||
sudo apt install qemu-kvm -y
|
sudo apt install qemu-kvm -y
|
||||||
|
check_kvm
|
||||||
|
}
|
||||||
|
check_kvm() {
|
||||||
|
if [ -c /dev/kvm ]; then
|
||||||
|
green "KVM is installed successfully."
|
||||||
|
else
|
||||||
|
red "KVM is not installed. Your system may not support KVM virtualization."
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
# 卸载QEMU/KVM虚拟机管理器
|
# 卸载QEMU/KVM虚拟机管理器
|
||||||
uninstall_virt_manager() {
|
uninstall_virt_manager() {
|
||||||
@ -114,7 +122,6 @@ uninstall_cockpit() {
|
|||||||
sudo nft delete table ip filter
|
sudo nft delete table ip filter
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# 允许虚拟机通过指定的桥接网卡收发数据
|
# 允许虚拟机通过指定的桥接网卡收发数据
|
||||||
add_nft_rules_for_bridge() {
|
add_nft_rules_for_bridge() {
|
||||||
apt install nftables -y
|
apt install nftables -y
|
||||||
@ -202,7 +209,7 @@ install_filemanager() {
|
|||||||
green "Aborted, unsupported or unknown OS: $uname"
|
green "Aborted, unsupported or unknown OS: $uname"
|
||||||
return 6
|
return 6
|
||||||
fi
|
fi
|
||||||
green "Downloading File Browser for $filemanager_os/$filemanager_arch..."
|
green "正在下载文件管理器($filemanager_os/$filemanager_arch) 请稍等..."
|
||||||
if type -p curl >/dev/null 2>&1; then
|
if type -p curl >/dev/null 2>&1; then
|
||||||
net_getter="curl -fsSL"
|
net_getter="curl -fsSL"
|
||||||
elif type -p wget >/dev/null 2>&1; then
|
elif type -p wget >/dev/null 2>&1; then
|
||||||
@ -213,21 +220,18 @@ install_filemanager() {
|
|||||||
fi
|
fi
|
||||||
filemanager_file="${filemanager_os}-$filemanager_arch-filebrowser$filemanager_dl_ext"
|
filemanager_file="${filemanager_os}-$filemanager_arch-filebrowser$filemanager_dl_ext"
|
||||||
filemanager_url="https://cafe.cpolar.cn/wkdaily/filebrowser/raw/branch/main/$filemanager_file"
|
filemanager_url="https://cafe.cpolar.cn/wkdaily/filebrowser/raw/branch/main/$filemanager_file"
|
||||||
echo "$filemanager_url"
|
|
||||||
|
|
||||||
# Use $PREFIX for compatibility with Termux on Android
|
# Use $PREFIX for compatibility with Termux on Android
|
||||||
rm -rf "$PREFIX/tmp/$filemanager_file"
|
rm -rf "$PREFIX/tmp/$filemanager_file"
|
||||||
|
|
||||||
${net_getter} "$filemanager_url" >"$PREFIX/tmp/$filemanager_file"
|
${net_getter} "$filemanager_url" >"$PREFIX/tmp/$filemanager_file"
|
||||||
|
|
||||||
green "Extracting..."
|
green "下载完成 正在解压..."
|
||||||
case "$filemanager_file" in
|
case "$filemanager_file" in
|
||||||
*.zip) unzip -o "$PREFIX/tmp/$filemanager_file" "$filemanager_bin" -d "$PREFIX/tmp/" ;;
|
*.zip) unzip -o "$PREFIX/tmp/$filemanager_file" "$filemanager_bin" -d "$PREFIX/tmp/" ;;
|
||||||
*.tar.gz) tar -xzf "$PREFIX/tmp/$filemanager_file" -C "$PREFIX/tmp/" "$filemanager_bin" ;;
|
*.tar.gz) tar -xzf "$PREFIX/tmp/$filemanager_file" -C "$PREFIX/tmp/" "$filemanager_bin" ;;
|
||||||
esac
|
esac
|
||||||
chmod +x "$PREFIX/tmp/$filemanager_bin"
|
chmod +x "$PREFIX/tmp/$filemanager_bin"
|
||||||
|
|
||||||
green "Putting filemanager in $install_path (may require password)"
|
|
||||||
$sudo_cmd mv "$PREFIX/tmp/$filemanager_bin" "$install_path/$filemanager_bin"
|
$sudo_cmd mv "$PREFIX/tmp/$filemanager_bin" "$install_path/$filemanager_bin"
|
||||||
if setcap_cmd=$(PATH+=$PATH:/sbin type -p setcap); then
|
if setcap_cmd=$(PATH+=$PATH:/sbin type -p setcap); then
|
||||||
$sudo_cmd $setcap_cmd cap_net_bind_service=+ep "$install_path/$filemanager_bin"
|
$sudo_cmd $setcap_cmd cap_net_bind_service=+ep "$install_path/$filemanager_bin"
|
||||||
@ -235,8 +239,7 @@ install_filemanager() {
|
|||||||
$sudo_cmd rm -- "$PREFIX/tmp/$filemanager_file"
|
$sudo_cmd rm -- "$PREFIX/tmp/$filemanager_file"
|
||||||
|
|
||||||
if type -p $filemanager_bin >/dev/null 2>&1; then
|
if type -p $filemanager_bin >/dev/null 2>&1; then
|
||||||
green "Successfully installed"
|
light_magenta "不依赖于docker的 文件管理器安装成功"
|
||||||
green "安装成功,现在您可以执行第3项开启文件管理并设置自启动"
|
|
||||||
trap ERR
|
trap ERR
|
||||||
start_filemanager
|
start_filemanager
|
||||||
return 0
|
return 0
|
||||||
@ -255,11 +258,32 @@ start_filemanager() {
|
|||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Add configuration file generation and editing
|
||||||
|
$sudo_cmd mkdir -p /etc/filebrowser
|
||||||
|
$sudo_cmd touch /etc/filebrowser/.filebrowser.json
|
||||||
|
$sudo_cmd chown $(id -u):$(id -g) /etc/filebrowser/.filebrowser.json
|
||||||
|
|
||||||
|
# Set the desired port
|
||||||
|
desired_port="38080"
|
||||||
|
cat >/etc/filebrowser/.filebrowser.json <<EOF
|
||||||
|
{
|
||||||
|
"port": "$desired_port",
|
||||||
|
"root": "/etc/filebrowser",
|
||||||
|
"database": "/etc/filebrowser/filebrowser.db",
|
||||||
|
"auth": {
|
||||||
|
"username": "admin",
|
||||||
|
"password": "admin"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
green "设置文件管理器的端口为: $desired_port"
|
||||||
|
|
||||||
# 启动 filebrowser 文件管理器
|
# 启动 filebrowser 文件管理器
|
||||||
echo "启动 filebrowser 文件管理器..."
|
green "启动 filebrowser 文件管理器..."
|
||||||
|
|
||||||
# 使用 nohup 和输出重定向,记录启动日志到 filebrowser.log 文件中
|
# 使用 nohup 和输出重定向,记录启动日志到 filebrowser.log 文件中
|
||||||
nohup sudo filebrowser -r / --address 0.0.0.0 --port 8080 >filebrowser.log 2>&1 &
|
nohup sudo filebrowser -r / --address 0.0.0.0 --port $desired_port >filebrowser.log 2>&1 &
|
||||||
|
|
||||||
# 检查 filebrowser 是否成功启动
|
# 检查 filebrowser 是否成功启动
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
@ -268,15 +292,46 @@ start_filemanager() {
|
|||||||
fi
|
fi
|
||||||
local host_ip
|
local host_ip
|
||||||
host_ip=$(hostname -I | awk '{print $1}')
|
host_ip=$(hostname -I | awk '{print $1}')
|
||||||
green "filebrowser 文件管理器已启动,可以通过 http://${host_ip}:8080 访问"
|
green "filebrowser 文件管理器已启动,可以通过 http://${host_ip}:${desired_port} 访问"
|
||||||
green "登录用户名:admin"
|
green "登录用户名:admin"
|
||||||
green "默认密码:admin(请尽快修改密码)"
|
green "默认密码:admin(请尽快修改密码)"
|
||||||
sudo wget -O /etc/systemd/system/filebrowser.service "https://cafe.cpolar.cn/wkdaily/zero3/raw/branch/main/filebrowser.service"
|
# 创建 Systemd 服务文件
|
||||||
|
cat >/etc/systemd/system/filebrowser.service <<EOF
|
||||||
|
[Unit]
|
||||||
|
Description=File Browser Service
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
User=root
|
||||||
|
ExecStart=/usr/local/bin/filebrowser -r / --address 0.0.0.0 --port ${desired_port}
|
||||||
|
Restart=always
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
EOF
|
||||||
|
|
||||||
sudo chmod +x /etc/systemd/system/filebrowser.service
|
sudo chmod +x /etc/systemd/system/filebrowser.service
|
||||||
sudo systemctl daemon-reload # 重新加载systemd配置
|
sudo systemctl daemon-reload # 重新加载systemd配置
|
||||||
sudo systemctl start filebrowser.service # 启动服务
|
sudo systemctl start filebrowser.service # 启动服务
|
||||||
sudo systemctl enable filebrowser.service # 设置开机启动
|
sudo systemctl enable filebrowser.service # 设置开机启动
|
||||||
yellow "已设置文件管理器开机自启动,下次开机可直接访问文件管理器"
|
yellow "已设置文件管理器开机自启动,下次开机可直接访问文件管理器"
|
||||||
|
|
||||||
|
SCRIPT_PATH="/usr/trim/bin/show_startup_info.sh"
|
||||||
|
# 判断脚本是否存在
|
||||||
|
if [ ! -f "$SCRIPT_PATH" ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
HOST_NAME=$(hostname)
|
||||||
|
cp "$SCRIPT_PATH" "${SCRIPT_PATH}.bak"
|
||||||
|
# 在飞牛OS开机命令行界面插入Filebrowser地址和端口信息
|
||||||
|
INSERT_INFO="Filebrowser Web console: http://$HOST_NAME:$desired_port or http://${host_ip}:${desired_port}"
|
||||||
|
sed -i "/^Filebrowser Web console/d" "$SCRIPT_PATH"
|
||||||
|
sed -i "/INFO_CONTENT=/a $INSERT_INFO" "$SCRIPT_PATH"
|
||||||
|
light_magenta "文件管理器的访问地址和端口 已追加到飞牛OS开机命令行界面 预览如下"
|
||||||
|
bash "$SCRIPT_PATH"
|
||||||
|
cat /etc/issue
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# 安装1panel面板
|
# 安装1panel面板
|
||||||
@ -310,20 +365,19 @@ update_scripts() {
|
|||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
show_menu() {
|
show_menu() {
|
||||||
clear
|
clear
|
||||||
greenline "————————————————————————————————————————————————————"
|
greenline "————————————————————————————————————————————————————"
|
||||||
echo '
|
echo '
|
||||||
*********** QEMU/KVM 虚拟机管理助手 **********
|
*********** QEMU/KVM 虚拟机管理助手 **********
|
||||||
环境: (Ubuntu/Debian/Armbian/RaspberryPiOS etc)
|
环境: (Ubuntu/Debian/Armbian/RaspberryPiOS/fnOS etc)
|
||||||
平台: arm64/x86-64
|
平台: arm64/x86-64
|
||||||
'
|
'
|
||||||
echo -e " https://github.com/wukongdaily/e20c/"
|
echo -e " https://github.com/wukongdaily/e20c/"
|
||||||
greenline "————————————————————————————————————————————————————"
|
greenline "————————————————————————————————————————————————————"
|
||||||
echo "请选择操作:"
|
echo "请选择操作:"
|
||||||
# 特殊处理的项数组
|
# 特殊处理的项数组
|
||||||
special_items=("安装QEMU/KVM虚拟机管理器" "安装Cockpit虚拟机Web管理工具")
|
special_items=("安装QEMU/KVM虚拟机管理器" "安装Cockpit虚拟机Web管理工具" "安装文件管理器FileBrowser")
|
||||||
for i in "${!menu_options[@]}"; do
|
for i in "${!menu_options[@]}"; do
|
||||||
if [[ " ${special_items[*]} " =~ " ${menu_options[i]} " ]]; then
|
if [[ " ${special_items[*]} " =~ " ${menu_options[i]} " ]]; then
|
||||||
# 如果当前项在特殊处理项数组中,使用特殊颜色
|
# 如果当前项在特殊处理项数组中,使用特殊颜色
|
||||||
|
Loading…
Reference in New Issue
Block a user