# script **Repository Path**: jun-wan/script ## Basic Information - **Project Name**: script - **Description**: 一些脚本 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-28 - **Last Updated**: 2025-12-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: Bash, Powershell ## README # 脚本集合 本仓库包含多个实用脚本,帮助简化 Linux 系统管理和配置工作。 ## 目录 - [脚本集合](#脚本集合) - [目录](#目录) - [1. KWRT 软件源配置脚本](#1-kwrt-软件源配置脚本) - [在线直接执行](#在线直接执行) - [注意事项](#注意事项) - [2. Wi-Fi 限速管理脚本](#2-wi-fi-限速管理脚本) - [脚本菜单说明](#脚本菜单说明) - [3. Swap 分区自动配置脚本](#3-swap-分区自动配置脚本) - [在线直接执行](#在线直接执行-1) - [4. Docker 完全清理脚本](#4-docker-完全清理脚本) - [Linux 版本](#linux-版本) - [在线直接执行(推荐)](#在线直接执行推荐) - [本地执行](#本地执行) - [Windows 版本](#windows-版本) - [在线直接执行(推荐)](#在线直接执行推荐-1) - [本地执行](#本地执行-1) - [脚本功能](#脚本功能) - [脚本特点](#脚本特点) - [执行示例](#执行示例) - [注意事项](#注意事项-1) - [使用参数](#使用参数) - [5. AstrBot 一键部署脚本](#5-astrbot-一键部署脚本) - [Windows 版本](#windows-版本-1) - [在线直接执行(推荐)](#在线直接执行推荐-2) - [本地执行](#本地执行-2) - [Linux/macOS 版本](#linuxmacos-版本) - [在线直接执行(推荐)](#在线直接执行推荐-3) - [本地执行](#本地执行-3) - [脚本功能](#脚本功能-1) - [脚本特点](#脚本特点-1) - [6. 玩客云 Armbian 初始化脚本](#6-玩客云-armbian-初始化脚本) - [在线直接执行](#在线直接执行-2) - [注意事项](#注意事项-2) --- ## 1. KWRT 软件源配置脚本 自动配置 KWRT OpenWrt 官方软件源,适用于 24.10 版本(MediaTek Filogic / aarch64_cortex-a53)。 ### 在线直接执行 ```bash curl -fsSL https://gitee.com/jun-wan/script/raw/master/kwrt/update_opkg_feeds.sh | bash ``` 脚本会自动执行以下操作: 1. 自动备份现有的 `/etc/opkg/distfeeds.conf` 配置文件(带时间戳) 2. 将软件源更新为 KWRT 官方镜像源 (dl.openwrt.ai) 3. 配置以下软件源: - kwrt_core (核心系统包) - kwrt_base (基础软件包) - kwrt_packages (扩展软件包) - kwrt_luci (LuCI 界面) - kwrt_routing (路由相关) - kwrt_kiddin9 (第三方软件包) 4. 可选择是否立即更新软件包列表 ### 注意事项 - 需要使用 root 权限运行 - 原配置文件会自动备份到 `/etc/opkg/distfeeds.conf.bak.时间戳` - 执行后可使用 `opkg update` 更新软件包列表 --- ## 2. Wi-Fi 限速管理脚本 先下载脚本再执行,避免管道执行导致的交互问题: ```bash wget -O wifi_ip_limit.sh https://gitee.com/jun-wan/script/raw/master/ip-limit/wifi_ip_limit.sh ``` 授权执行权限: ```shell chmod +x wifi_ip_limit.sh ``` 执行脚本: ``` ./wifi_ip_limit.sh ``` 脚本会自动检查: - `ip` 命令是否存在,如果没有,会提示安装 `ip-full`。 - `tc` 命令是否存在,如果没有,会提示是否安装 `tc-full` 并自动安装。 ### 脚本菜单说明 执行脚本后,会看到菜单: ``` ----------------------------- KWRT Wi-Fi 限速管理 1) 添加限速 2) 删除所有限速 3) 查看限速规则 4) 退出 ----------------------------- ``` --- ## 3. Swap 分区自动配置脚本 一键创建 512MB swap,开机自动启用,并配置 swappiness 参数为 10。 ### 在线直接执行 ```bash curl -fsSL https://gitee.com/jun-wan/script/raw/master/swap/auto_setup_swap.sh | sudo bash ``` 执行脚本后,您将看到如下输出: ``` root@4G-wifi:/# curl -fsSL https://gitee.com/jun-wan/script/raw/master/swap/auto_setup_swap.sh | sudo bash [1/10] 停用已有 swap(如果有) [2/10] 删除已有 swap 文件(如果存在) [3/10] 创建 512M swap 文件 [4/10] 设置权限 [5/10] 格式化 swap Setting up swapspace version 1, size = 512 MiB (536866816 bytes) no label, UUID=8a600c4b-e9e6-4cc4-bb14-389761db33d0 [6/10] 启用 swap [7/10] 配置开机自动挂载 [8/10] 设置 swappiness 为 10 vm.swappiness = 10 [9/10] 查看当前 swap 状态 total used free shared buff/cache available 内存: 371Mi 145Mi 5.7Mi 1.3Mi 230Mi 225Mi 交换: 511Mi 0B 511Mi Filename Type Size Used Priority /swapfile file 524284 0 -2 [10/10] 验证 swappiness 设置是否生效 10 [10/10] 完成!系统已配置 512MB swap,开机自动启用,并设置 swappiness=10。 root@4G-wifi:/# ``` --- ## 4. Docker 完全清理脚本 一键清空所有 Docker 数据,将 Docker 恢复到初始状态。包括删除所有容器、镜像、网络和卷。 ### Linux 版本 #### 在线直接执行(推荐) ```bash curl -fsSL https://gitee.com/jun-wan/script/raw/master/linux-docker-clean/docker_clean_all.sh | bash -s -- -y ``` > **注意**:通过管道执行时必须加 `-y` 参数跳过交互式确认。 #### 本地执行 下载脚本: ```bash wget https://gitee.com/jun-wan/script/raw/master/linux-docker-clean/docker_clean_all.sh chmod +x docker_clean_all.sh ``` 交互式执行(会要求输入 yes 确认): ```bash ./docker_clean_all.sh ``` 或跳过确认直接执行: ```bash ./docker_clean_all.sh -y ``` ### Windows 版本 #### 在线直接执行(推荐) 在 PowerShell 中执行: ```powershell irm https://gitee.com/jun-wan/script/raw/master/windows-docker-clean/docker_clean_all.ps1 | iex ``` #### 本地执行 下载脚本: ```powershell Invoke-WebRequest -Uri https://gitee.com/jun-wan/script/raw/master/windows-docker-clean/docker_clean_all.ps1 -OutFile docker_clean_all.ps1 ``` 执行脚本: ```powershell .\docker_clean_all.ps1 ``` 查看帮助信息: ```powershell .\docker_clean_all.ps1 -Help ``` ### 脚本功能 脚本会按顺序执行以下操作: 1. **停止并删除所有容器** - 包括运行中和已停止的容器 2. **删除所有镜像** - 清空所有已下载的 Docker 镜像 3. **清理未使用的网络** - 删除自定义网络,保留默认网络 4. **删除所有卷** - 清空所有数据卷 5. **执行系统级清理** - 清理 Docker 系统缓存 ### 脚本特点 - ✨ **中文界面** - 所有提示和日志均为中文 - ✨ **安全确认** - 交互模式需要输入 `yes` 确认 - ✨ **彩色输出** - 清晰区分不同类型的信息 - ✨ **详细统计** - 显示清理前后的资源数量和磁盘使用情况 - ✨ **管道支持** - 支持通过 curl 管道直接执行(需加 `-y` 参数) ### 执行示例 ```bash root@server:~# curl -fsSL https://gitee.com/jun-wan/script/raw/master/linux-docker-clean/docker_clean_all.sh | bash -s -- -y ╔════════════════════════════════════════════════════════╗ ║ ║ ║ Docker 完全清理脚本 v1.0 ║ ║ ║ ║ 本脚本将执行以下操作: ║ ║ [1] 停止并删除所有容器(运行中 + 停止的) ║ ║ [2] 删除所有镜像 ║ ║ [3] 清理未使用的网络 ║ ║ [4] 删除所有卷 ║ ║ ║ ║ ⚠️ 警告:此操作不可逆,将清空所有 Docker 数据! ║ ║ ║ ╚════════════════════════════════════════════════════════╝ ✓ Docker 已安装 检测到 -y 参数,跳过确认直接执行 开始清理 Docker... [步骤 1/4] 正在处理容器... → 发现 5 个容器 → 正在停止所有运行中的容器... → 正在删除所有容器... ✓ 已删除 5 个容器 [步骤 2/4] 正在处理镜像... → 发现 10 个镜像 → 正在删除所有镜像... ✓ 已删除 10 个镜像 [步骤 3/4] 正在清理网络... → 正在清理未使用的网络... ✓ 网络清理完成 [步骤 4/4] 正在处理卷... → 发现 3 个卷 → 正在删除所有卷... ✓ 已删除 3 个卷 [额外清理] 正在执行系统级清理... ✓ 系统清理完成 ╔════════════════════════════════════════╗ ║ ║ ║ 🎉 Docker 清理完成! ║ ║ ║ ║ Docker 已恢复到初始状态 ║ ║ ║ ╚════════════════════════════════════════╝ ``` ### 注意事项 - ⚠️ **警告**:此脚本会删除所有 Docker 数据,执行前请确保已备份重要数据 - 🔒 建议使用 root 权限或 sudo 执行 - 🌐 通过管道执行时必须添加 `-y` 参数 - 📊 清理后可以查看磁盘空间释放情况 ### 使用参数 **Linux 版本:** ```bash ./docker_clean_all.sh -h # 显示帮助信息 ./docker_clean_all.sh -y # 跳过确认直接执行 ``` **Windows 版本:** ```powershell .\docker_clean_all.ps1 -Help # 显示帮助信息 ``` --- ## 5. AstrBot 一键部署脚本 跨平台的 AstrBot Docker 容器一键部署脚本,自动完成目录创建、配置文件下载和容器启动。 ### Windows 版本 #### 在线直接执行(推荐) 在 PowerShell 中执行: ```powershell irm https://gitee.com/jun-wan/script/raw/master/astrbot/deploy_astrbot.ps1 | iex ``` #### 本地执行 下载脚本: ```powershell Invoke-WebRequest -Uri https://gitee.com/jun-wan/script/raw/master/astrbot/deploy_astrbot.ps1 -OutFile deploy_astrbot.ps1 ``` 执行脚本: ```powershell .\deploy_astrbot.ps1 ``` ### Linux/macOS 版本 #### 在线直接执行(推荐) ```bash curl -fsSL https://gitee.com/jun-wan/script/raw/master/astrbot/deploy_astrbot.sh | bash ``` #### 本地执行 下载脚本: ```bash wget https://gitee.com/jun-wan/script/raw/master/astrbot/deploy_astrbot.sh chmod +x deploy_astrbot.sh ``` 执行脚本: ```bash ./deploy_astrbot.sh ``` ### 脚本功能 脚本会自动执行以下操作: 1. **检查依赖工具** - 自动检测 Docker 和下载工具(wget/curl) 2. **创建部署目录** - 自动创建 `astrbot` 目录 3. **下载配置文件** - 从 GitHub 下载 `astrbot.yml` 配置文件 4. **权限检测** - Linux 版本自动判断是否需要 sudo 权限 5. **启动容器** - 使用 Docker Compose 启动 AstrBot 服务 6. **操作提示** - 完成后提供查看状态、日志、停止服务等命令提示 ### 脚本特点 - ✨ **跨平台支持** - 同时支持 Windows、Linux 和 macOS - ✨ **自动检测** - 智能检测操作系统和所需工具 - ✨ **中文界面** - 所有提示信息均为中文 - ✨ **彩色输出** - 清晰的步骤提示和状态显示 - ✨ **完整错误处理** - 每个步骤都有错误检测和提示 - ✨ **智能权限** - Linux 版本自动判断是否需要 sudo --- ## 6. 玩客云 Armbian 初始化脚本 一键初始化玩客云 Armbian 系统,自动配置时区、国内镜像源并更新系统。 适用于 [armbian-onecloud](https://github.com/hzyitc/armbian-onecloud) 项目刷入的 Armbian Bookworm 系统。 ### 在线直接执行 ```bash curl -fsSL https://gitee.com/jun-wan/script/raw/master/onecloud/armbian_init.sh | bash ``` 脚本会自动执行以下操作: 1. 显示当前系统信息(主机名、CPU架构、内存、磁盘、IP等) 2. 设置时区为 `Asia/Shanghai` 3. 自动备份原有镜像源配置(带时间戳) 4. 配置国内镜像源(清华大学源) 5. 更新系统软件包 ### 注意事项 - 需要使用 root 权限运行 - 默认登录信息:用户名 `root`,密码 `1234` - 原配置文件会自动备份到 `/etc/apt/sources.list.bak.时间戳`