داشبورد وب برای مدیریت کورهای GooseRelayVPN و FlowDriver. ساخت، پیکربندی، شروع/توقف و مانیتور چندین تونل core از یک تب مرورگر — بدون نیاز به ترمینال.
موتورهای پشتیبانیشده:
- GooseRelayVPN — VPN بر پایه SOCKS5 از طریق Google Apps Script
- FlowDriver — VPN بر پایه SOCKS5 از طریق Google Drive API (با OAuth2 داخلی)
- 🖥️ رابط وب — مدیریت همه کورها از مرورگر
▶️ شروع / توقف / ریستارت با یک کلیک- 📋 لاگ زنده — خروجی بلادرنگ از طریق SSE
- 📊 آمار مصرف — شمارنده درخواست روزانه و کلی برای هر core
- 🔑 چندین script key با load balancing خودکار (GooseRelayVPN)
- 🌊 پشتیبانی FlowDriver — فلوی OAuth2 داخلی، آپلود credentials.json، تونلینگ از طریق Google Drive API (FlowDriver)
- 🔒 ورود امن — جلسه JWT با بررسی timing-safe
- 📦 بسته آفلاین — آرشیو آماده با Node.js تعبیهشده (بدون نیاز به نصب چیزی)
- 🐳 پشتیبانی Docker — راهاندازی با یک دستور با Docker Compose
روی دستگاه مقصد به Node.js، npm یا اینترنت نیازی ندارید.
# بسته مناسب پلتفرم خود را از صفحه Releases دانلود کنید
tar xzf ggoose-ui-vX.Y.Z-linux-x64.tar.gz
cd ggoose-ui-vX.Y.Z-linux-x64
./install-offline.sh # اولین راهاندازی (تنظیم اعتبارنامه، مقداردهی DB)
./start.sh # شروع سرورمرورگر را باز کنید: http://آدرس-سرور:3000
- فایل
.zipرا از صفحه Releases دانلود و اکسترکت کنید - روی
install.batدوبار کلیک کنید (اولین راهاندازی) - روی
start.batدوبار کلیک کنید تا سرور شروع شود
مرورگر را باز کنید: http://localhost:3000
بسته از پیش شامل باینری
goose-clientاست — نیازی به دانلود دستی نیست.
به Docker و Docker Compose نیاز دارد (اولین بار اینترنت لازم است).
git clone https://github.com/RevocGG/GGoose-ui.git
cd GGoose-ui
cp .env.example .env
# فایل .env را ویرایش کنید — ADMIN_USERNAME، ADMIN_PASSWORD و AUTH_SECRET را تنظیم کنید
docker compose up -dمرورگر: http://localhost:3000
برای بهروزرسانی:
docker compose pull
docker compose up -dبه Node.js نسخه ۲۰ به بالا و npm نیاز دارد.
git clone https://github.com/RevocGG/GGoose-ui.git
cd GGoose-ui
npm install
npx prisma generate
cp .env.example .env # اعتبارنامه را تنظیم کنید
node scripts/setup.js # مقداردهی اولیه DB
npm run build
node .next/standalone/server.jsفایل .env.example را به .env کپی کرده و موارد زیر را تنظیم کنید:
| متغیر | اجباری | توضیح |
|---|---|---|
ADMIN_USERNAME |
✅ | نام کاربری ورود |
ADMIN_PASSWORD |
✅ | رمز عبور ورود |
AUTH_SECRET |
✅ | هگز تصادفی ۶۴ کاراکتری — امضای توکن JWT. با openssl rand -hex 32 بسازید |
PORT |
— | پورت HTTP (پیشفرض 3000) |
DATABASE_URL |
— | مسیر SQLite (پیشفرض file:./data/goose.db) |
CORES_DIR |
— | پوشه باینریهای core (پیشفرض data/cores) |
- داشبورد → Cores → New Core → GooseRelayVPN
- پر کردن فرم:
- Name — نام نمایشی
- Binary — نام فایل باینری
goose-clientدر پوشهdata/cores/ - SOCKS port — پورت محلی (مثلاً
1080) - Script keys — Deployment ID های Google Apps Script
- Tunnel key — کلید AES هگز ۶۴ کاراکتری (باید با پیکربندی سرور VPS یکسان باشد)
- روی Create کلیک کنید، سپس Start
کور FlowDriver 🌊 (FlowDriver)
- داشبورد → Cores → New Core → FlowDriver
- پر کردن فرم:
- Name — نام نمایشی
- Binary — نام فایل باینری FlowDriver در پوشه
data/cores/ - Listen Address — آدرس SOCKS5 محلی (مثلاً
127.0.0.1:1080) - credentials.json — فایل OAuth2 گوگل را آپلود کنید (از Google Cloud Console) یا مسیر مطلق وارد کنید
- روی Create کلیک کنید، سپس Start
- در اولین راهاندازی، یک دیالوگ احراز هویت OAuth2 ظاهر میشود — فلوی مرورگر را در تب Logs تکمیل کنید
- پس از اولین احراز هویت، فایل
.tokenذخیره میشود — راهاندازیهای بعدی خاموش هستند
| پلتفرم | بسته آفلاین | Docker |
|---|---|---|
| Linux x64 | ✅ | ✅ |
| Linux arm64 | ✅ | ✅ |
| macOS x64 (Intel) | ✅ | — |
| macOS arm64 (Apple Silicon) | ✅ | — |
| Windows x64 | ✅ | — |
با push یک تگ vX.Y.Z فرآیند ریلیز فعال میشود:
git tag v1.0.0
git push origin v1.0.0این workflow:
- بسته standalone Next.js را میسازد
- باینری
goose-clientرا برای هر پلتفرم از ریلیزهای GooseRelayVPN دانلود میکند - باینری Node.js 22 را تعبیه میکند
- آرشیو پلتفرمها را میسازد و GitHub Release منتشر میکند
GGoose-ui/
├── src/
│ ├── app/ # صفحات و API routes مبتنی بر App Router
│ ├── components/ # کامپوننتهای UI (cores، dashboard، auth)
│ └── lib/ # process-manager، db، config-writer، auth
├── scripts/
│ ├── setup.js # مقداردهی اولیه DB (بدون Prisma CLI)
│ ├── install-offline.sh # راهاندازی اولیه برای بستههای آفلاین
│ ├── start.sh # اسکریپت راهانداز (لینوکس/مک)
│ ├── install.bat # راهاندازی اولیه (ویندوز)
│ └── start.bat # اسکریپت راهانداز (ویندوز)
├── data/
│ ├── cores/ # باینری goose-client اینجا قرار میگیرد
│ └── configs/ # کانفیگهای JSON تولیدشده برای هر core
├── prisma/ # اسکیما و مایگریشنهای Prisma
├── Dockerfile
├── docker-compose.yml
└── .github/workflows/
└── release.yml # Workflow بیلد و ریلیز
اگر این پروژه برایتان مفید بوده، میتوانید از توسعه آن حمایت کنید:
| شبکه | آدرس |
|---|---|
| TON | UQBW_LoEhcYPIzZL_dzp-OMsqI5uAwv8p6dXy8wzzkPU-CQQ |
| BNB / USDT (BEP-20) | 0x951acaf8d4b61a000d3b5c697abcabf52973d0cf |
| TRX | TL4Kej6DjJmT9gQ5ghmQcvsEUHPdnNNPyj |
| SOL | 45kAfGyh13bcyYTdbNLkVfBGtMgq4WMijLgdBK9G9ugN |
- GooseRelayVPN — VPN SOCKS5 از طریق Google Apps Script (کلاینت + سرور + Apps Script)
- FlowDriver — VPN SOCKS5 از طریق Google Drive API
- MasterHttpRelayVPN — پروژهای که GooseRelayVPN از آن الهام گرفته
MIT
