修改文件管理器端口为38080,在飞牛OS开机信息追加文件管理器地址和端口号信息

This commit is contained in:
悟空的日常镜像仓库 2024-09-30 16:47:07 +08:00
parent 0c4fb3b954
commit 16dc42a6fd
1 changed files with 71 additions and 17 deletions

View File

@ -51,7 +51,7 @@ commands=(
["更新脚本"]="update_scripts"
)
update_e20c_kernel(){
update_e20c_kernel() {
sudo armbian-update -k 6.1
}
@ -84,7 +84,15 @@ install_docker() {
# 安装QEMU/KVM虚拟机管理器
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 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虚拟机管理器
uninstall_virt_manager() {
@ -114,7 +122,6 @@ uninstall_cockpit() {
sudo nft delete table ip filter
}
# 允许虚拟机通过指定的桥接网卡收发数据
add_nft_rules_for_bridge() {
apt install nftables -y
@ -202,7 +209,7 @@ install_filemanager() {
green "Aborted, unsupported or unknown OS: $uname"
return 6
fi
green "Downloading File Browser for $filemanager_os/$filemanager_arch..."
green "正在下载文件管理器($filemanager_os/$filemanager_arch) 请稍等..."
if type -p curl >/dev/null 2>&1; then
net_getter="curl -fsSL"
elif type -p wget >/dev/null 2>&1; then
@ -213,21 +220,18 @@ install_filemanager() {
fi
filemanager_file="${filemanager_os}-$filemanager_arch-filebrowser$filemanager_dl_ext"
filemanager_url="https://cafe.cpolar.cn/wkdaily/filebrowser/raw/branch/main/$filemanager_file"
echo "$filemanager_url"
# Use $PREFIX for compatibility with Termux on Android
rm -rf "$PREFIX/tmp/$filemanager_file"
${net_getter} "$filemanager_url" >"$PREFIX/tmp/$filemanager_file"
green "Extracting..."
green "下载完成 正在解压..."
case "$filemanager_file" in
*.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" ;;
esac
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"
if setcap_cmd=$(PATH+=$PATH:/sbin type -p setcap); then
$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"
if type -p $filemanager_bin >/dev/null 2>&1; then
green "Successfully installed"
green "安装成功,现在您可以执行第3项开启文件管理并设置自启动"
light_magenta "不依赖于docker的 文件管理器安装成功"
trap ERR
start_filemanager
return 0
@ -255,11 +258,32 @@ start_filemanager() {
return 1
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 文件管理器
echo "启动 filebrowser 文件管理器..."
green "启动 filebrowser 文件管理器..."
# 使用 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 是否成功启动
if [ $? -ne 0 ]; then
@ -268,15 +292,46 @@ start_filemanager() {
fi
local host_ip
host_ip=$(hostname -I | awk '{print $1}')
green "filebrowser 文件管理器已启动,可以通过 http://${host_ip}:8080 访问"
green "filebrowser 文件管理器已启动,可以通过 http://${host_ip}:${desired_port} 访问"
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 systemctl daemon-reload # 重新加载systemd配置
sudo systemctl start filebrowser.service # 启动服务
sudo systemctl enable filebrowser.service # 设置开机启动
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面板
@ -310,20 +365,19 @@ update_scripts() {
exit 0
}
show_menu() {
clear
greenline "————————————————————————————————————————————————————"
echo '
*********** QEMU/KVM 虚拟机管理助手 **********
环境: (Ubuntu/Debian/Armbian/RaspberryPiOS etc)
环境: (Ubuntu/Debian/Armbian/RaspberryPiOS/fnOS etc)
平台: arm64/x86-64
'
echo -e " https://github.com/wukongdaily/e20c/"
greenline "————————————————————————————————————————————————————"
echo "请选择操作:"
# 特殊处理的项数组
special_items=("安装QEMU/KVM虚拟机管理器" "安装Cockpit虚拟机Web管理工具")
special_items=("安装QEMU/KVM虚拟机管理器" "安装Cockpit虚拟机Web管理工具" "安装文件管理器FileBrowser")
for i in "${!menu_options[@]}"; do
if [[ " ${special_items[*]} " =~ " ${menu_options[i]} " ]]; then
# 如果当前项在特殊处理项数组中,使用特殊颜色