[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-92647":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":8,"htmlUrl":8,"language":9,"languages":8,"totalLinesOfCode":8,"stars":10,"forks":11,"watchers":12,"openIssues":13,"contributorsCount":13,"subscribersCount":13,"size":13,"stars1d":13,"stars7d":13,"stars30d":14,"stars90d":13,"forks30d":13,"starsTrendScore":13,"compositeScore":15,"rankGlobal":8,"rankLanguage":8,"license":8,"archived":16,"fork":16,"defaultBranch":17,"hasWiki":18,"hasPages":16,"topics":19,"createdAt":8,"pushedAt":8,"updatedAt":20,"readmeContent":21,"aiSummary":22,"trendingCount":13,"starSnapshotCount":13,"syncStatus":23,"lastSyncTime":24,"discoverSource":25},92647,"3x-ui-Upgrade","x4gKing\u002F3x-ui-Upgrade","x4gKing",null,"Dockerfile",984,2000,144,0,679,57.9,false,"main",true,[],"2026-07-22 04:02:06","# Heimdall (3x-ui fork) روی Railway با یک پورت واحد\n\nاین ریپازیتوری، پنل Heimdall (نسخه‌ی بهبودیافته‌ی 3x-ui از sh7CBAC) را به همراه یک nginx reverse proxy اجرا می‌کند که پنل، ساب‌اسکریپشن و اینباند VLESS\u002FWebSocket را از طریق **یک پورت واحد** (همان پورتی که Railway اختصاص می‌دهد) در دسترس می‌گذارد — دقیقاً همون معماری که برای x4gKing\u002F3x-ui-Upgrade ساختیم و تست شد.\n\n## درباره‌ی دیتابیس\n\nHeimdall به‌صورت پیش‌فرض از **SQLite** استفاده می‌کند (نیازی به Postgres نیست، مگر بخواهید تعداد کاربر خیلی بالایی داشته باشید). این نسخه با همان تنظیم پیش‌فرض ساده (SQLite) پیکربندی شده.\n\n## مراحل دیپلوی\n\n### ۱. ریپازیتوری بسازید\nیک ریپازیتوری جدید در گیت‌هاب بسازید و این سه فایل را در ریشه‌ی آن قرار دهید:\n- `Dockerfile`\n- `nginx.conf.template`\n- `start.sh`\n\n### ۲. در Railway\n1. **New Project → Deploy from GitHub repo** و همین ریپازیتوری را انتخاب کنید\n2. Railway به‌طور خودکار `Dockerfile` را تشخیص و بیلد می‌کند (دانلود آخرین نسخه‌ی Heimdall از گیت‌هاب به‌صورت خودکار در زمان Build انجام می‌شود)\n3. بعد از اتمام دیپلوی، به **Settings → Networking** بروید و **Generate Domain** بزنید\n4. مطمئن شوید **Target Port روی 3000** تنظیم شده (چون nginx دقیقاً روی همین پورت گوش می‌دهد)\n\n### ۳. اولین ورود به پنل\n```\nhttps:\u002F\u002Fدامنه‌شما.up.railway.app\u002Fmanagepanel\u002F\n```\nیوزرنیم\u002Fپسورد پیش‌فرض `admin`\u002F`admin` را وارد کنید و بلافاصله از تنظیمات پنل تغییرش دهید.\n\n### ۴. ساخت Inbound\n\n| فیلد | مقدار |\n|---|---|\n| Protocol | VLESS |\n| **Listen Port** | **`8080`** (این عدد ثابت است) |\n| Listen IP | خالی یا `0.0.0.0` |\n| Network | ws |\n| Security | none |\n| Path | هر مسیر دلخواه، مثلاً `\u002Fcdn` |\n\n### ۵. ساخت لینک کلاینت\n\n```\nvless:\u002F\u002FUUID@دامنه‌شما.up.railway.app:443?encryption=none&security=tls&sni=دامنه‌شما.up.railway.app&fp=chrome&type=ws&host=دامنه‌شما.up.railway.app&path=%2Fcdn#MyConfig\n```\n\n### ۶. لینک ساب‌اسکریپشن\n\nمسیر ساب به‌صورت خودکار زیر همین دامنه در دسترس است:\n```\nhttps:\u002F\u002Fدامنه‌شما.up.railway.app\u002Fsub\u002FUSER_SUB_ID\n```\n\n## تست سریع\n\n```\nhttps:\u002F\u002Fدامنه‌شما.up.railway.app\u002Fmanagepanel\u002F   ← باید پنل را نشان دهد\nhttps:\u002F\u002Fدامنه‌شما.up.railway.app\u002Fcdn            ← باید \"Bad Request\" بدهد (یعنی به Xray رسیده)\n```\n\n## نکات مهم\n\n- تنظیمات پنل (کاربران، اینباندها) روی فایل‌سیستم موقت کانتینر ذخیره می‌شود. برای جلوگیری از پاک شدن با هر Redeploy، از بخش **Volumes** در Railway یک Volume به مسیر `\u002Fetc\u002Fx-ui` وصل کنید.\n- اگر خواستید بعداً به Postgres سوییچ کنید (برای تعداد کاربر بالا)، باید Dockerfile و start.sh را برای نصب\u002Fاتصال Postgres جداگانه اصلاح کنید — این نسخه فعلی فقط SQLite را پشتیبانی می‌کند.\n","这是一个基于 Heimdall（3x-ui 改进版）的轻量级代理管理面板部署方案，专为 Railway 平台优化，支持通过单一端口统一暴露管理界面、订阅链接及 VLESS\u002FWebSocket 入站服务。核心采用 Docker + nginx 反向代理架构，内置 SQLite 数据库，无需额外数据库依赖；支持自动构建、一键部署，并提供 Volume 持久化配置建议。适用于个人或小团队在免运维云平台（如 Railway）上快速搭建和管理 Xray\u002FV2Ray 代理服务，尤其适合资源受限但需多协议共存的场景。",2,"2026-07-10 02:30:03","CREATED_QUERY"]