From b2403b29c4be1ad41b54fdaa89deb743f83b160c Mon Sep 17 00:00:00 2001 From: yyhuni Date: Mon, 29 Dec 2025 20:08:40 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4update.sh?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 11 ++- docker/scripts/init-data.sh | 2 +- docker/server/start.sh | 2 +- install.sh | 1 - update.sh | 135 ------------------------------------ 5 files changed, 10 insertions(+), 141 deletions(-) delete mode 100755 update.sh diff --git a/README.md b/README.md index 427d2bba..80e92723 100644 --- a/README.md +++ b/README.md @@ -177,8 +177,16 @@ cd xingrin # 安装并启动(生产模式) sudo ./install.sh + +# 🇨🇳 中国大陆用户推荐使用镜像加速 +sudo ./install.sh --mirror ``` +> **💡 --mirror 参数说明** +> - 自动配置 Docker 镜像加速(国内镜像源) +> - 加速 Git 仓库克隆(Nuclei 模板等) +> - 大幅提升安装速度,避免网络超时 + ### 访问服务 - **Web 界面**: `https://ip:8083` @@ -197,9 +205,6 @@ sudo ./restart.sh # 卸载 sudo ./uninstall.sh - -# 更新 -sudo ./update.sh ``` ## 🤝 反馈与贡献 diff --git a/docker/scripts/init-data.sh b/docker/scripts/init-data.sh index e0b03d1f..bd86139a 100755 --- a/docker/scripts/init-data.sh +++ b/docker/scripts/init-data.sh @@ -164,7 +164,7 @@ main() { init_engine_config init_wordlists - init_fingerprints + # init_fingerprints init_nuclei_templates init_admin_user diff --git a/docker/server/start.sh b/docker/server/start.sh index 1aad7a3d..fff713d3 100644 --- a/docker/server/start.sh +++ b/docker/server/start.sh @@ -23,7 +23,7 @@ echo " ✓ 默认目录字典已就绪" echo " [1.4/3] 初始化默认指纹库..." -python manage.py init_fingerprints +# python manage.py init_fingerprints echo " ✓ 默认指纹库已就绪" # 2. 启动 Django uvicorn 服务 (ASGI) diff --git a/install.sh b/install.sh index 6000dd26..ec8f693e 100755 --- a/install.sh +++ b/install.sh @@ -317,7 +317,6 @@ show_summary() { echo -e " ./start.sh # 启动所有服务" echo -e " ./start.sh --no-frontend # 只启动后端" echo -e " ./stop.sh # 停止所有服务" - echo -e " ./update.sh # 更新系统" echo fi diff --git a/update.sh b/update.sh deleted file mode 100755 index dc9fbbce..00000000 --- a/update.sh +++ /dev/null @@ -1,135 +0,0 @@ -#!/bin/bash -# ============================================ -# XingRin 系统更新脚本 -# 用途:更新代码 + 同步版本 + 重启服务 -# ============================================ -# -# 版本同步流程: -# 1. git pull 拉取最新代码(包含新的 VERSION 文件) -# 2. 读取 VERSION 文件,更新 .env 的 IMAGE_TAG -# 3. 重启服务,server 使用新代码 + 新镜像版本 -# 4. 分发任务时,远程 Worker 自动拉取新版本镜像 -# -# 用法: -# ./update.sh 生产模式更新(拉取 Docker Hub 镜像) -# ./update.sh --dev 开发模式更新(本地构建镜像) -# ./update.sh --no-frontend 更新后只启动后端 -# ./update.sh --dev --no-frontend 开发环境更新后只启动后端 - -cd "$(dirname "$0")" - -# 跨平台 sed -i(兼容 macOS 和 Linux) -sed_inplace() { - if [[ "$OSTYPE" == "darwin"* ]]; then - sed -i '' "$@" - else - sed -i "$@" - fi -} - -# 解析参数判断模式 -DEV_MODE=false -for arg in "$@"; do - case $arg in - --dev) DEV_MODE=true ;; - esac -done - -# 颜色定义 -GREEN='\033[0;32m' -YELLOW='\033[1;33m' -BLUE='\033[0;34m' -CYAN='\033[0;36m' -BOLD='\033[1m' -NC='\033[0m' - -# 合并 .env 新配置项(保留用户已有值) -merge_env_config() { - local example_file="docker/.env.example" - local env_file="docker/.env" - - if [ ! -f "$example_file" ] || [ ! -f "$env_file" ]; then - return - fi - - local new_keys=0 - - while IFS= read -r line || [ -n "$line" ]; do - [[ -z "$line" || "$line" =~ ^# ]] && continue - local key="${line%%=*}" - [[ -z "$key" || "$key" == "$line" ]] && continue - - if ! grep -q "^${key}=" "$env_file"; then - echo "$line" >> "$env_file" - echo -e " ${GREEN}+${NC} 新增: $key" - ((new_keys++)) - fi - done < "$example_file" - - if [ $new_keys -gt 0 ]; then - echo -e " ${GREEN}OK${NC} 已添加 $new_keys 个新配置项" - else - echo -e " ${GREEN}OK${NC} 配置已是最新" - fi -} - -echo "" -echo -e "${BOLD}${BLUE}╔════════════════════════════════════════╗${NC}" -if [ "$DEV_MODE" = true ]; then - echo -e "${BOLD}${BLUE}║ 开发环境更新(本地构建) ║${NC}" -else - echo -e "${BOLD}${BLUE}║ 生产环境更新(Docker Hub) ║${NC}" -fi -echo -e "${BOLD}${BLUE}╚════════════════════════════════════════╝${NC}" -echo "" - -# 测试性功能警告 -echo -e "${BOLD}${YELLOW}[!] 警告:此功能为测试性功能,可能会导致升级失败${NC}" -echo -e "${YELLOW} 建议运行 ./uninstall.sh 后重新执行 ./install.sh 进行全新安装${NC}" -echo "" -echo -n -e "${YELLOW}是否继续更新?(y/N) ${NC}" -read -r ans_continue -ans_continue=${ans_continue:-N} - -if [[ ! $ans_continue =~ ^[Yy]$ ]]; then - echo -e "${CYAN}已取消更新。${NC}" - exit 0 -fi -echo "" - -echo -e "${CYAN}[1/4]${NC} 停止服务..." -./stop.sh 2>&1 | sed 's/^/ /' - -echo "" -echo -e "${CYAN}[2/4]${NC} 拉取代码..." -git pull --rebase 2>&1 | sed 's/^/ /' - -echo "" -echo -e "${CYAN}[3/4]${NC} 检查配置更新..." -merge_env_config - -# 版本同步:从 VERSION 文件更新 IMAGE_TAG -# 确保 server 代码和 worker 镜像版本一致 -if [ -f "VERSION" ]; then - NEW_VERSION=$(cat VERSION | tr -d '[:space:]') - if [ -n "$NEW_VERSION" ]; then - # 更新 .env 中的 IMAGE_TAG(所有节点将使用此版本的镜像) - if grep -q "^IMAGE_TAG=" "docker/.env"; then - sed_inplace "s/^IMAGE_TAG=.*/IMAGE_TAG=$NEW_VERSION/" "docker/.env" - echo -e " ${GREEN}+${NC} 版本同步: IMAGE_TAG=$NEW_VERSION" - else - echo "IMAGE_TAG=$NEW_VERSION" >> "docker/.env" - echo -e " ${GREEN}+${NC} 新增版本: IMAGE_TAG=$NEW_VERSION" - fi - fi -fi - -echo "" -echo -e "${CYAN}[4/4]${NC} 启动服务..." -./start.sh "$@" - -echo "" -echo -e "${BOLD}${GREEN}════════════════════════════════════════${NC}" -echo -e "${BOLD}${GREEN} 更新完成!${NC}" -echo -e "${BOLD}${GREEN}════════════════════════════════════════${NC}" -echo ""