Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 

Repository files navigation

Spider Panel Railway Installer Bot

ربات تلگرام برای نصب خودکار Spider Panel روی Railway با استفاده از اکانت خودتان.


پیش‌نیازها

مورد توضیح
Cloudflare Account برای اجرای Worker (رایگان)
Telegram Bot Token از @BotFather
Railway Account کاربر توکن خود را می‌دهد
Wrangler CLI npm install -g wrangler

تنظیم محیط (یک‌بار)

1. نصب Wrangler و لاگین

npm install -g wrangler
wrangler login

2. ایجاد KV Namespace برای ذخیره جلسه کاربران

wrangler kv namespace create USERS_KV

خروجی مثال:

Success! Created namespace with id = "a1b2c3d4e5f6..."
Add this to your wrangler.toml:
[[kv_namespaces]]
binding = "USERS_KV"
id = "a1b2c3d4e5f6..."

کپی کنید و در wrangler.toml جایگزین PASTE_YOUR_KV_NAMESPACE_ID_HERE کنید.

3. تنظیم Secrets (مهم: کد هاردکد نشده)

# توکن ربات تلگرام
wrangler secret put BOT_TOKEN
# > Enter secret value: 123456:ABC-DEF...

# توکن امنیتی وب‌هوک (رشته تصادفی)
wrangler secret put WEBHOOK_SECRET
# > Enter secret value: my-super-secret-123

دیپلوی

wrangler deploy

خروجی نشان می‌دهد URL Worker شما:

https://spider-panel-installer.your-subdomain.workers.dev

تنظیم وب‌هوک تلگرام

گزینه ۱: از مرورگر

https://your-worker.workers.dev/setup

گزینه ۲: از خط فرمان

curl -X POST https://your-worker.workers.dev/setup

باید {"ok":true} برگردد.


تست ربات

  1. در تلگرام به ربات خود /start بفرستید
  2. دو کانال عضویت کنید و «I Joined» بزنید
  3. منطقه را انتخاب کنید
  4. توکن Railway (شروع با railway_) بدهید
  5. نام سرویس (مثال: spider-panel) بدهید
  6. صبر کنید تا دیپلوی تمام شود
  7. لینک Spider Panel دریافت کنید

ساختار فایل

spider-panel-bot/
├── worker.js       # کل کد در یک فایل (Entry point)
├── wrangler.toml   # تنظیمات Cloudflare
├── package.json    # متادیتا
└── README.md       # این فایل

متغیرهای محیطی (تنظیم می‌شوند در Cloudflare Dashboard)

متغیر نوع توضیح
BOT_TOKEN Secret توکن ربات از @BotFather
WEBHOOK_SECRET Secret رشته تصادفی برای امنیت وب‌هوک
USERS_KV KV Binding namespace برای ذخیره state کاربران

هیچ توکنی در کد هاردکد نشده.


مناطق Railway پشتیبانی‌شده

شناسه نام مکان
us-west2 US West California
us-east4-eqdc4a US East Virginia
europe-west4-drams3a EU West Amsterdam
asia-southeast1-eqsg3a Southeast Asia Singapore

API Railway مورد استفاده

همه کوئری‌ها و میوتیشن‌ها از Railway GraphQL v2 رسمی استفاده می‌کنند:

  • projectCreate
  • serviceCreate (از GitHub repo)
  • serviceInstanceDeployV2
  • serviceInstanceUpdate (برای Region)
  • serviceDomainCreate (دریافت دامنه عمومی)
  • deployments / deployment (پالینگ وضعیت)

Endpoint: https://backboard.railway.com/graphql/v2


امنیت

  • توکن ربات فقط در Cloudflare Worker Variables ذخیره می‌شود
  • توکن Railway کاربر در KV با TTL ۱ ساعت نگهداری می‌شود (no logging)
  • وب‌هوک با WEBHOOK_SECRET محافظت شده
  • هیچ Express/Node server/Emoji/Markdown نیست

عیب‌یابی

خطا راه‌حل
Missing BOT_TOKEN wrangler secret put BOT_TOKEN فراموش شده
Unauthorized WEBHOOK_SECRET هم در داشبورد هم در wrangler secret put یکسان باشد
KV write failed USERS_KV binding در wrangler.toml ست نشده
Invalid Railway Token توکن باید با railway_ شروع شود
Deployment timeout لاگ‌های Railway را چک کنید (بعضی buildها طول می‌کشند)

لاگ‌ها

wrangler tail

نکات مهم

  • Repository: amirappleidfd-stack/spider--panel (branch: main)
  • آدرس نهایی: https://<railway-domain>/spider
  • پالینگ: هر ۵ ثانیه، حداکثر ۱۰ دقیقه
  • Retry: ۲ بار با backoff نمایی برای خطاهای شبکه
  • State: در KV ذخیره می‌شود، بعد از ۱ ساعت منقضی می‌شود

مجوز

MIT - توسعه‌دهنده: @g1ithub

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages