|
|
c76808f03b
|
优化: 改为从Release下载预编译上传工具
- 不再需要服务器Python环境
- 支持从Gitee Release直接下载exe
- 自动检测操作系统下载对应版本
- 支持wget和curl两种下载方式
- 下载失败时友好提示,不影响部署
|
2025-11-12 00:42:44 +08:00 |
|
|
|
160201b942
|
功能: 部署时自动打包上传工具
- 添加build_upload_tool()函数自动打包上传工具
- 检测已存在的可执行文件,避免重复打包
- 打包失败时给出友好提示,不影响部署流程
- 支持Windows exe和Linux可执行文件自动打包
|
2025-11-12 00:38:01 +08:00 |
|
|
|
340e328b76
|
修复: install.sh自动配置PUBLIC_PORT环境变量
- 部署时自动添加PUBLIC_PORT到.env文件
- 值为nginx监听的HTTP端口(HTTP_PORT变量)
- 解决非标准端口部署时分享链接缺少端口号的问题
- 标准端口(80/443)不会在分享链接中显示端口号
|
2025-11-11 23:42:43 +08:00 |
|
|
|
2390b6c91c
|
优化: 改进repair模式的服务验证逻辑
1. 在repair_verify_services中添加3秒延迟等待服务启动
2. 修正数据库文件路径检查(ftp-manager.db而非database.db)
3. 避免因服务启动延迟导致的误报警告
|
2025-11-11 18:07:57 +08:00 |
|
|
|
be363f36b3
|
修复: 修复repair模式中的nginx配置备份逻辑
问题:
- 备份文件保存在sites-enabled目录导致nginx测试失败
- nginx会读取该目录下所有文件包括旧的错误备份
解决方案:
- 将备份文件保存到/root/目录而不是sites-enabled
- 在生成新配置前先清理旧的.backup.*文件
- 使用2>/dev/null || true避免清理不存在文件时报错
|
2025-11-11 17:50:41 +08:00 |
|
|
|
81738943d5
|
修复: Nginx配置中/s/路径的proxy_set_header变量转义问题
- 在configure_nginx_http()和configure_nginx_https()中
- 将$host、$remote_addr等Nginx变量正确转义
- 修复'invalid number of arguments'错误
|
2025-11-11 17:42:18 +08:00 |
|
|
|
f2ceaf68bf
|
修复: 将repair_main函数移至主执行流程之前以避免'command not found'错误
|
2025-11-11 17:32:28 +08:00 |
|
|
|
6504026eb6
|
修复: 更正交互式菜单中卸载选项的编号从[3]到[4]
|
2025-11-11 17:05:51 +08:00 |
|
|
|
8755a50d80
|
功能: 添加修复模式到install.sh
修复模式功能说明:
- 重新加载和应用所有配置
- 保留数据库和用户数据
- 重新生成nginx配置
- 重启后端服务和nginx
- 适用于配置更新、修复nginx问题等场景
使用方法:
bash install.sh --repair
bash install.sh --fix
bash install.sh repair
交互式菜单中添加第3个选项「修复/重新配置」
实现内容:
1. 模式检测: 支持 --repair, --fix, repair 参数
2. 交互式菜单: 添加修复选项到主菜单
3. 主执行流程: 添加repair模式路由到repair_main()
4. repair_main(): 主修复流程函数
- confirm_repair(): 确认修复操作
- repair_check_project(): 检查项目是否已安装
- repair_load_existing_config(): 读取现有.env和nginx配置
- repair_regenerate_nginx_config(): 重新生成nginx配置
- repair_restart_services(): 重启PM2和nginx
- repair_verify_services(): 验证服务状态
- print_repair_completion(): 显示完成信息
修复: 修正了之前提交的语法错误
- 使用sed命令精确修改,避免破坏文件结构
- 通过bash -n语法检查确保无错误
- 保持代码缩进和格式一致性
|
2025-11-11 16:59:34 +08:00 |
|
|
|
91fa2d4fa4
|
功能: 添加修复模式到install.sh
修复模式功能说明:
- 重新加载和应用所有配置
- 保留数据库和用户数据
- 重新生成nginx配置
- 重启后端服务和nginx
- 适用于配置更新、修复nginx问题等场景
使用方法:
bash install.sh --repair
bash install.sh --fix
bash install.sh repair
交互式菜单中添加第3个选项「修复/重新配置」
实现内容:
1. 模式检测: 支持 --repair, --fix, repair 参数
2. 交互式菜单: 添加修复选项到主菜单
3. 主执行流程: 添加repair模式路由到repair_main()
4. repair_main(): 主修复流程函数
- confirm_repair(): 确认修复操作
- repair_check_project(): 检查项目是否已安装
- repair_load_existing_config(): 读取现有.env和nginx配置
- repair_regenerate_nginx_config(): 重新生成nginx配置
- repair_restart_services(): 重启PM2和nginx
- repair_verify_services(): 验证服务状态
- print_repair_completion(): 显示完成信息
|
2025-11-11 16:45:16 +08:00 |
|
|
|
0373e199a2
|
修复: 修复分享链接404错误 - install.sh中的nginx配置错误
## 问题
分享链接访问时报404错误,例如 /s/OjTHZiPg 无法访问
## 原因分析
install.sh中nginx配置有误:
问题:
1. location /s 会匹配 /s 和 /s/xxx
2. 访问 /s/OjTHZiPg 时,nginx会查找文件 frontend/OjTHZiPg/share.html
3. 实际应该代理到后端 /s/:code 路由,让后端重定向到 /share.html?code=xxx
## 修复内容
将 location /s 改为代理到后端:
修复范围:
- HTTP配置(第1196-1200行)
- HTTPS配置(第1269-1273行)
## 部署说明
已部署用户需要:
1. 拉取最新代码
2. 重新运行安装脚本,或手动更新nginx配置
3. 重载nginx: systemctl reload nginx
影响:分享功能将恢复正常
|
2025-11-11 16:31:42 +08:00 |
|
WanWanYun
|
d604d8bc78
|
功能: 更新脚本增加数据库迁移逻辑
- 新增 update_migrate_database() 函数
- 自动检测旧的100MB上传限制并升级到10GB
- 在更新流程中自动执行数据库迁移
- 确保使用更新脚本时数据库配置也会同步更新
- 修复v1.2.5更新后仍保留旧配置的问题
版本: v1.2.6
|
2025-11-11 02:09:58 +08:00 |
|
WanWanYun
|
27f130388a
|
🔥紧急修复: 更新脚本导致数据库丢失的严重Bug v1.2.3
问题描述:
- 更新时 cp -r 命令会覆盖整个 backend 目录
- 导致备份的 data、storage、.env 被新的空文件覆盖
- 用户数据、数据库、配置全部丢失
修复内容:
- 改为分别更新 frontend、upload-tool、backend
- 更新 backend 时逐个文件复制,排除 data/storage/.env/node_modules
- 添加数据完整性检测,自动从备份恢复丢失的文件
- 添加详细的恢复提示信息
安全增强:
- 不再使用 cp -r 整个目录覆盖
- 使用 for 循环逐个文件处理
- 每个重要文件都有检测和恢复机制
影响范围:
- install.sh: update_pull_latest_code() 函数
⚠️ 重要: 已使用旧版更新脚本的用户,数据可能丢失!
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-11 01:07:12 +08:00 |
|
WanWanYun
|
dae4ec9cc5
|
优化: 提升上传大小限制到10GB并延长超时时间 v1.2.2
修改内容:
- client_max_body_size: 500M → 10G
- proxy_read_timeout: 300s → 3600s (1小时)
- proxy_send_timeout: 300s → 3600s (1小时)
- proxy_connect_timeout: 75s → 300s (5分钟)
适用场景:
- 支持上传大型视频文件
- 支持上传ISO镜像等大文件
- 提供更长的上传时间窗口
影响范围:
- install.sh: configure_nginx_http() 函数
- install.sh: configure_nginx_https() 函数
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-11 01:02:40 +08:00 |
|
WanWanYun
|
70e0d4ef04
|
修复: Nginx上传大小限制导致413错误 v1.2.1
问题描述:
- 上传大于6MB的文件时出现413错误
- Nginx默认client_max_body_size为1MB
修复内容:
- 添加 client_max_body_size 500M(支持500MB文件上传)
- 添加上传超时设置(proxy_read_timeout 300s)
- 添加发送超时设置(proxy_send_timeout 300s)
- 添加连接超时设置(proxy_connect_timeout 75s)
- 同时修复HTTP和HTTPS配置
影响范围:
- install.sh: configure_nginx_http() 函数
- install.sh: configure_nginx_https() 函数
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-11 01:00:51 +08:00 |
|
WanWanYun
|
2f44b98a53
|
新功能: 一键更新功能 v1.2.0
新增功能:
- 添加一键更新命令(--update 参数)
- 交互式菜单新增「更新/升级」选项
- 支持三种更新方式(curl/wget/本地脚本)
更新流程:
- 智能备份数据库和用户文件到临时目录
- 停止服务并拉取最新代码
- 保留重要文件(data/storage/.env)
- 自动更新后端依赖(npm install)
- 重启服务并进行健康检查
- 显示更新后的版本信息
安全保障:
- 更新前需用户确认
- 自动备份所有用户数据
- 保留配置文件和Nginx配置
- 更新失败时提供清晰的错误提示
文档更新:
- 一键部署命令.txt: 添加更新命令和v1.2.0说明
- INSTALL_GUIDE.md: 详细的更新指南和注意事项
版本: v1.2.0
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-11 00:57:34 +08:00 |
|
WanWanYun
|
2213547e3d
|
v1.1.5 修复: 支持管道执行时的模式选择
问题修复:
- 修复 curl | bash 执行时无法显示交互选择的问题
- 添加终端检测 (使用 -t 0 和 /dev/tty 检测)
- 管道执行时显示友好提示并自动进入安装模式
- 提示用户下载脚本后运行以使用交互选择
改进说明:
- 交互式终端: 显示选择界面 [1] 安装 [2] 卸载
- 管道执行: 显示提示信息并默认安装
- 提供卸载命令说明
技术细节:
- 使用 [[ -t 0 ]] 检测标准输入是否是终端
- 使用 [[ -c /dev/tty ]] 检测 /dev/tty 可用性
- 两个条件任一满足即可使用交互模式
|
2025-11-11 00:16:25 +08:00 |
|
WanWanYun
|
94cff001d8
|
v1.1.5: 添加交互式安装/卸载模式选择
主要更新:
- 在脚本启动时添加交互式选择界面
- 用户可以选择: [1] 安装/部署 或 [2] 卸载
- 保留原有命令行参数方式 (--uninstall)
- 改进用户体验,更直观易用
功能说明:
- 运行脚本后首先显示选择界面
- 选择安装模式 -> 继续安装流程
- 选择卸载模式 -> 直接跳转到卸载流程
- 通过命令行参数依然可以直接指定模式
使用方式:
1. 交互式: bash install.sh (显示选择菜单)
2. 命令行: bash install.sh --uninstall (直接卸载)
|
2025-11-11 00:05:19 +08:00 |
|
WanWanYun
|
84d2feffa2
|
更新版本号至 v1.1.4
|
2025-11-10 23:57:39 +08:00 |
|
WanWanYun
|
49e0f53cce
|
v1.1.4: 添加智能端口检测和自定义配置
主要更新:
- 自动检测端口占用(80, 443, 40001)
- 支持自定义HTTP/HTTPS/后端端口
- 端口冲突时智能提示并允许自定义
- 所有配置(Nginx、.env)自动使用自定义端口
- 完成提示中显示实际使用的端口
- 健康检查使用动态端口验证
功能特性:
- HTTP端口(默认80,可自定义如8080)
- HTTPS端口(默认443,可自定义如8443)
- 后端端口(默认40001,可自定义如40002)
- 使用netstat/ss检测端口占用
- 端口范围验证(1024-65535)
- 避免与现有项目冲突
更新内容:
- 全局变量: HTTP_PORT, HTTPS_PORT, BACKEND_PORT
- 新增: check_port_available() 检测端口
- 新增: configure_ports() 配置端口
- 修改: configure_nginx_http() 使用自定义端口
- 修改: configure_nginx_https() 使用自定义端口
- 修改: create_env_file() PORT使用BACKEND_PORT
- 修改: health_check() 检查自定义后端端口
- 修改: print_completion() 显示端口信息
- 新增: 一键部署命令.txt 到仓库
|
2025-11-10 23:57:16 +08:00 |
|
WanWanYun
|
9966719afa
|
v1.1.3: 集成卸载功能到主脚本
主要更新:
- 添加卸载模式: bash install.sh --uninstall
- 支持参数: --uninstall, -u, uninstall
- 双重确认机制防止误删
- 可选数据备份到 /root/wanwanyun-backup-*
- 完整清理: PM2进程、Nginx配置、SSL证书、项目目录
- 保留环境: Node.js、Nginx、PM2、编译工具
- 残留检查确保清理完整
使用方法:
- 安装: bash install.sh
- 卸载: bash install.sh --uninstall
功能特性:
- 智能备份询问
- 逐步状态显示
- 清理完成报告
- 环境保留列表
|
2025-11-10 23:48:32 +08:00 |
|
WanWanYun
|
8c7664a400
|
v1.1.2: 修复依赖安装问题
主要修复:
1. 降级 better-sqlite3: 12.4.1 → 11.8.1
- 兼容 Node.js 18.x
- 解决版本不匹配导致的安装失败
2. 添加编译工具依赖
- APT: build-essential, python3
- YUM/DNF: gcc-c++, make, python3
- Zypper: gcc-c++, make, python3
- 解决原生模块编译失败问题
问题分析:
- better-sqlite3@12+ 要求 Node.js 20+
- 编译原生模块需要 C++ 编译器和 Python
- 旧版本服务器可能缺少编译工具链
解决方案:
- 使用兼容 Node.js 18+ 的 better-sqlite3 版本
- 自动安装所有必需的编译工具
- 确保在所有支持的系统上都能正常编译
|
2025-11-10 23:35:33 +08:00 |
|
WanWanYun
|
1eb619a0b6
|
v1.1.1: 升级到 Node.js 20.x LTS
主要更新:
- 升级默认Node.js版本从18.x到20.x (LTS长期支持)
- 解决 NodeSource 弃用警告问题
- 更新所有Node.js版本检查逻辑使用变量而非硬编码
- 提高代码可维护性和未来兼容性
技术改进:
- NODE_VERSION: 18 → 20
- install_nodejs_apt/yum/dnf/zypper: 使用 $NODE_VERSION 变量检查
- 确保更长的官方支持周期(至2026年4月)
支持周期:
- Node.js 18.x: 支持到 2025-04-30
- Node.js 20.x: 支持到 2026-04-30 ✅
|
2025-11-10 23:29:43 +08:00 |
|
WanWanYun
|
47f04f4cb9
|
v1.1.0: 新增多系统支持和统一包管理器
主要更新:
- 新增支持 Rocky Linux、AlmaLinux、Fedora、openSUSE
- 实现统一包管理器检测机制 (APT/YUM/DNF/Zypper)
- 优化系统识别逻辑,增加自动检测后备方案
- 完善阿里云镜像源配置,支持更多Linux发行版
- 重构所有系统相关代码,使用PKG_MANAGER变量统一管理
- 添加 install_nodejs_dnf/zypper 和 install_nginx_dnf/zypper 函数
- 更新 deploy_certbot 函数支持所有包管理器
技术改进:
- detect_os(): 增强系统检测,自动识别包管理器类型
- configure_aliyun_mirror(): 支持8种主流Linux发行版镜像配置
- install_dependencies(): 统一使用PKG_MANAGER进行依赖安装
- 消除所有OS特定case语句,提高代码可维护性
支持的系统:
- Ubuntu/Debian (APT)
- CentOS 7/8, RHEL 7/8/9 (YUM/DNF)
- Rocky Linux 8/9 (DNF)
- AlmaLinux 8/9 (DNF)
- Fedora 35+ (DNF)
- openSUSE Leap (Zypper)
|
2025-11-10 23:25:44 +08:00 |
|
WanWanYun
|
650b926a0b
|
修复: Debian系统阿里云镜像源配置错误
- 分离Ubuntu和Debian的源配置逻辑
- Debian使用正确的组件: main, contrib, non-free, non-free-firmware
- Debian安全源使用debian-security仓库
- Ubuntu继续使用: main, restricted, universe, multiverse
- 修复apt更新时的组件缺失警告
|
2025-11-10 23:13:13 +08:00 |
|
WanWanYun
|
20d852027f
|
修复v2: 改进stdin重定向方式
- 移除全局 exec < /dev/tty,避免管道执行中断
- 在每个read命令中单独指定 < /dev/tty
- 兼容 curl|bash 和 bash <(...) 两种执行方式
- 版本号 v1.0.2
|
2025-11-10 23:05:01 +08:00 |
|
WanWanYun
|
9f2ae24772
|
修复: 解决管道执行脚本时无法读取用户输入的问题
- 添加 exec < /dev/tty 重定向标准输入到终端
- 修复 curl|bash 执行时 read 命令失效的问题
- 版本号更新为 v1.0.1
|
2025-11-10 23:01:57 +08:00 |
|
WanWanYun
|
4341e82c44
|
添加一键部署脚本
- 支持Ubuntu/Debian/CentOS系统自动检测
- 自动安装Node.js、Nginx、PM2等依赖
- 提供官方源和阿里云镜像源选择
- 支持域名/IP两种访问模式
- 6种SSL自动部署方案(Certbot、acme.sh等)
- 智能容错和重试机制
- 全程自动化部署,用户仅需选择和输入
|
2025-11-10 22:55:51 +08:00 |
|