diff --git a/README.md b/README.md index 8b8d4a9..b50de34 100644 --- a/README.md +++ b/README.md @@ -10,23 +10,25 @@ 遇到Bug,返回问题,请到 [Telegram群组](https://t.me/+4fdo0quY87o4Mjhh) +### 一键脚本 + 一键安装并启动(macOS / Linux): ```bash -chmod +x ./setup.sh && ./setup.sh +curl -fsSL https://github.com/discountry/ritmex-bot/raw/refs/heads/main/setup.sh | bash ``` 脚本会自动安装 Bun、安装依赖、引导输入 API Key/Secret,生成 `.env` 并启动程序。 Windows 使用 WSL(推荐): 1. 先安装并启用 WSL,参考微软官方文档:[在 Windows 上安装 WSL](https://learn.microsoft.com/zh-cn/windows/wsl/install) -2. 在 Microsoft Store 安装 Ubuntu(或其他 Linux 发行版),打开 “Ubuntu” 终端。 +2. 在命令行或者 PowerShell 输入 `wsl` 并按下回车打开 WSL。 3. 在 WSL 中运行一键脚本: ```bash - git clone https://github.com/discountry/ritmex-bot.git - cd ritmex-bot - chmod +x ./setup.sh && ./setup.sh + curl -fsSL https://github.com/discountry/ritmex-bot/raw/refs/heads/main/setup.sh | bash ``` 按提示输入 ASTER_API_KEY / ASTER_API_SECRET,脚本将自动安装 Bun、依赖并启动程序。 +## 手动安装 + 1. **下载代码** - 如果会使用 Git:`git clone https://github.com/discountry/ritmex-bot.git` - 如果不会使用 Git:点击仓库页面的 `Code` → `Download ZIP`,将压缩包解压到如 `桌面/ritmex-bot` 的目录。 diff --git a/setup.sh b/setup.sh index 49bd73a..4fd6638 100644 --- a/setup.sh +++ b/setup.sh @@ -11,6 +11,8 @@ set -euo pipefail main() { require_unix + ensure_repo + cd "$PROJECT_DIR" ensure_bun install_deps prompt_env @@ -52,6 +54,37 @@ ensure_bun() { echo "✔ Bun installed: $(bun --version)" } +ensure_repo() { + # Detect if running inside project root already + if [ -f "package.json" ] && grep -q '"name"\s*:\s*"ritmex-bot"' package.json 2>/dev/null; then + PROJECT_DIR="$PWD" + echo "✔ Project detected in current directory: $PROJECT_DIR" + return + fi + + local REPO_URL="https://github.com/discountry/ritmex-bot.git" + local TAR_URL="https://github.com/discountry/ritmex-bot/archive/refs/heads/main.tar.gz" + local TARGET_DIR="${RITMEX_DIR:-ritmex-bot}" + + if [ -d "$TARGET_DIR" ] && [ -f "$TARGET_DIR/package.json" ]; then + PROJECT_DIR="$TARGET_DIR" + echo "✔ Project directory found: $PROJECT_DIR" + return + fi + + echo "Fetching ritmex-bot sources..." + if command -v git >/dev/null 2>&1; then + git clone --depth=1 "$REPO_URL" "$TARGET_DIR" + else + echo "ℹ git not found; downloading tarball..." + curl -fsSL "$TAR_URL" -o /tmp/ritmex-bot.tar.gz + mkdir -p "$TARGET_DIR" + tar -xzf /tmp/ritmex-bot.tar.gz --strip-components=1 -C "$TARGET_DIR" + rm -f /tmp/ritmex-bot.tar.gz + fi + PROJECT_DIR="$TARGET_DIR" +} + install_deps() { echo "Installing dependencies with Bun..." bun install