diff --git a/README.md b/README.md index 7ea9317..8b8d4a9 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,23 @@ 遇到Bug,返回问题,请到 [Telegram群组](https://t.me/+4fdo0quY87o4Mjhh) +一键安装并启动(macOS / Linux): +```bash +chmod +x ./setup.sh && ./setup.sh +``` +脚本会自动安装 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” 终端。 +3. 在 WSL 中运行一键脚本: + ```bash + git clone https://github.com/discountry/ritmex-bot.git + cd ritmex-bot + chmod +x ./setup.sh && ./setup.sh + ``` + 按提示输入 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 new file mode 100644 index 0000000..49bd73a --- /dev/null +++ b/setup.sh @@ -0,0 +1,109 @@ +#!/usr/bin/env bash + +set -euo pipefail + +# One-click setup for ritmex-bot (Linux/macOS) +# - Ensures Bun is installed +# - Installs dependencies +# - Prompts for API credentials +# - Generates .env +# - Starts the bot + +main() { + require_unix + ensure_bun + install_deps + prompt_env + write_env + echo + echo "✅ Setup complete. Starting ritmex-bot..." + echo + start_bot +} + +require_unix() { + case "$(uname -s)" in + Linux|Darwin) ;; + *) echo "This script supports only Linux and macOS." >&2; exit 1 ;; + esac +} + +ensure_bun() { + if command -v bun >/dev/null 2>&1; then + echo "✔ Bun found: $(bun --version)" + return + fi + echo "ℹ Bun not found. Installing Bun..." + if [ "$(uname -s)" = "Darwin" ] && command -v brew >/dev/null 2>&1; then + brew install bun + else + # Non-interactive install via official script + curl -fsSL https://bun.sh/install | bash + # shellcheck disable=SC1090 + if [ -f "$HOME/.bun/bun" ] || [ -d "$HOME/.bun" ]; then + export BUN_INSTALL="$HOME/.bun" + export PATH="$BUN_INSTALL/bin:$PATH" + fi + fi + if ! command -v bun >/dev/null 2>&1; then + echo "❌ Failed to install Bun. Please install it manually from https://bun.sh" >&2 + exit 1 + fi + echo "✔ Bun installed: $(bun --version)" +} + +install_deps() { + echo "Installing dependencies with Bun..." + bun install +} + +prompt_env() { + echo + echo "Please enter your AsterDex API credentials." + read -r -p "ASTER_API_KEY: " ASTER_API_KEY + read -r -s -p "ASTER_API_SECRET (input hidden): " ASTER_API_SECRET + echo + read -r -p "TRADE_SYMBOL (default BTCUSDT): " TRADE_SYMBOL || true + TRADE_SYMBOL=${TRADE_SYMBOL:-BTCUSDT} + + # Optional trading parameters + read -r -p "TRADE_AMOUNT (default 0.001): " TRADE_AMOUNT || true + TRADE_AMOUNT=${TRADE_AMOUNT:-0.001} + read -r -p "LOSS_LIMIT (default 0.03): " LOSS_LIMIT || true + LOSS_LIMIT=${LOSS_LIMIT:-0.03} + read -r -p "KLINE_INTERVAL (default 1m): " KLINE_INTERVAL || true + KLINE_INTERVAL=${KLINE_INTERVAL:-1m} +} + +write_env() { + local env_file=".env" + echo "Writing ${env_file}..." + cat > "${env_file}" <