P7: restore agent node type, agent heartbeat expiry, build-version injection, remove log/history/xray-metrics modules, optional sub port
- nodes: port node-type (traditional/agent) picker back from web-src into the embedded frontend; backend annotates NodeView.nodeType from agent_nodes bindings; fix agent-node update path (skip reachability probe and apiToken requirement for agent-managed nodes); restore i18n keys in all 13 locales; install command now uses the Gitea mirror - jobs: expire agent-bound nodes whose agent_nodes.last_seen is older than max(3x heartbeat interval, 120s) = 180s; last_seen=0 (never registered) is left untouched; transitions reuse UpdateHeartbeat + node event broadcast - config: GetBaseVersion honors ldflags-injected buildVersion; release builds inject 3.7.0-agent.1 so the panel no longer reports a phantom update against the Gitea release tag - logger/server: remove the three log viewers (panel/xray/amneziawg), their API endpoints and the 10240-entry in-memory log buffer; file logging via lumberjack unchanged; tests assert via a new optional logger hook instead of the removed buffer - server: remove system history and xray metrics modules end to end (endpoints, sampling appends in RefreshStatus, per-minute persist cron, gob snapshot/restore, XrayMetricsService); realtime status and per-node history are untouched - settings: subPort may be 0/unset - subscription links are generated without a port while the subscription service keeps binding the default 2096; the settings form declares the cleared state via onNumber's new onClear option instead of snapping back to 1
This commit is contained in:
@@ -136,45 +136,6 @@
|
||||
"currentCommit": "کامیت فعلی",
|
||||
"latestCommit": "آخرین کامیت",
|
||||
"updateChannelChanged": "کانال بهروزرسانی تغییر کرد",
|
||||
"systemHistoryTitle": "تاریخچه سیستم",
|
||||
"historyTitleCpu": "مصرف پردازنده",
|
||||
"historyTitleMem": "مصرف حافظه",
|
||||
"historyTitleNetwork": "پهنای باند شبکه",
|
||||
"historyTitlePackets": "بستههای شبکه",
|
||||
"historyTitleDisk": "ورودی/خروجی دیسک",
|
||||
"historyTitleOnline": "کاربران آنلاین",
|
||||
"historyTitleLoad": "میانگین بار سیستم (۱ / ۵ / ۱۵ دقیقه)",
|
||||
"historyTitleConnections": "اتصالات فعال (TCP / UDP)",
|
||||
"historyTitleDiskUsage": "مصرف فضای دیسک",
|
||||
"historyTabBandwidth": "پهنای باند",
|
||||
"historyTabPackets": "بستهها",
|
||||
"historyTabDisk": "دیسک I/O",
|
||||
"historyTabOnline": "آنلاین",
|
||||
"historyTabLoad": "بار",
|
||||
"historyTabConnections": "اتصالات",
|
||||
"historyTabDiskUsage": "مصرف دیسک",
|
||||
"xrayMetricsTitle": "متریکهای Xray",
|
||||
"xrayTitleHeap": "حافظهی Heap تخصیصیافته",
|
||||
"xrayTitleSys": "حافظهی رزروشده از سیستمعامل",
|
||||
"xrayTitleObjects": "اشیای زندهی Heap",
|
||||
"xrayTitleGcCount": "چرخههای کاملشدهی GC",
|
||||
"xrayTitleGcPause": "مدت مکث GC",
|
||||
"xrayTitleObservatory": "سلامت اتصال خروجی",
|
||||
"xrayTabHeap": "Heap",
|
||||
"xrayTabSys": "Sys",
|
||||
"xrayTabObjects": "اشیا",
|
||||
"xrayTabGcCount": "تعداد GC",
|
||||
"xrayTabGcPause": "مکث GC",
|
||||
"xrayTabObservatory": "رصدخانه",
|
||||
"xrayMetricsDisabled": "نقطه پایانی متریکهای Xray پیکربندی نشده",
|
||||
"xrayMetricsHint": "یک بلاک metrics در سطح بالای پیکربندی xray با tag برابر metrics_out و listen برابر 127.0.0.1:11111 اضافه کنید، سپس xray را راهاندازی مجدد کنید.",
|
||||
"xrayObservatoryEmpty": "هنوز دادهای از Observatory دریافت نشده",
|
||||
"xrayObservatoryHint": "یک بلاک observatory در پیکربندی xray اضافه کنید و outbound tagهایی که میخواهید بررسی شوند را لیست کنید، سپس xray را راهاندازی مجدد کنید.",
|
||||
"xrayObservatoryTagPlaceholder": "انتخاب outbound",
|
||||
"xrayObservatoryAlive": "فعال",
|
||||
"xrayObservatoryDead": "غیرفعال",
|
||||
"xrayObservatoryLastSeen": "آخرین مشاهده",
|
||||
"xrayObservatoryLastTry": "آخرین تلاش",
|
||||
"connectionCount": "تعداد کانکشن ها",
|
||||
"ipAddresses": "آدرسهای IP",
|
||||
"toggleIpVisibility": "تغییر وضعیت نمایش IP",
|
||||
@@ -191,18 +152,6 @@
|
||||
"panelUpdateUnknownTitle": "تأیید نشد که بهروزرسانی به پایان رسیده باشد",
|
||||
"panelUpdateUnknownDesc": "پنل بهموقع نتیجهای گزارش نکرد. صفحه را بارگذاری مجدد کنید تا نسخه فعلی را بررسی کنید یا گزارشهای سرور را بررسی کنید.",
|
||||
"dontRefresh": "در حال نصب، لطفا صفحه را رفرش نکنید",
|
||||
"logs": "لاگها",
|
||||
"accessLogs": "لاگهای دسترسی",
|
||||
"autoUpdate": "بهروزرسانی خودکار",
|
||||
"amneziawgLogs": "لاگهای AmneziaWG",
|
||||
"amneziawgHandshake": "آخرین دستدهی",
|
||||
"amneziawgInterface": "رابط شبکه",
|
||||
"amneziawgInbound": "ورودی",
|
||||
"amneziawgEndpoint": "نقطه اتصال",
|
||||
"amneziawgIdle": "بیکار",
|
||||
"amneziawgEvents": "رویدادها",
|
||||
"amneziawgNoPeers": "هیچ پیر فعالی برای AmneziaWG وجود ندارد",
|
||||
"amneziawgNoEvents": "هنوز رویدادی برای AmneziaWG ثبت نشده است",
|
||||
"config": "پیکربندی",
|
||||
"backupTitle": "پشتیبانگیری و بازیابی",
|
||||
"exportDatabase": "پشتیبانگیری",
|
||||
@@ -219,25 +168,14 @@
|
||||
"importDatabasePgDesc": "برای انتخاب و بارگذاری یک پشتیبان PostgreSQL (.dump)، پایگاهدادهٔ SQLite (.db) یا فایل مهاجرت SQLite جهت بازیابی پایگاه داده کلیک کنید. این کار همه دادههای فعلی را جایگزین میکند.",
|
||||
"migrationDownload": "دانلود فایل مهاجرت",
|
||||
"migrationDownloadPgDesc": "برای دانلود یک پایگاهدادهٔ SQLite با پسوند .db که از دادههای PostgreSQL شما ساخته میشود کلیک کنید؛ آمادهٔ اجرای این پنل روی SQLite.",
|
||||
"avg": "میانگین",
|
||||
"peak": "اوج",
|
||||
"free": "آزاد",
|
||||
"openSockets": "اتصال باز",
|
||||
"throughputSub": "کل اینترفیس",
|
||||
"avgWindow": "میانگین بازه",
|
||||
"healthWarm": "{list} — رو به گرم شدن",
|
||||
"healthCritical": "{list} — بحرانی",
|
||||
"panel": "پنل",
|
||||
"threads": "نخها",
|
||||
"uptime": "مدت کارکرد",
|
||||
"logLevelDebug": "Debug",
|
||||
"logLevelInfo": "Info",
|
||||
"logLevelNotice": "Notice",
|
||||
"logLevelWarning": "Warning",
|
||||
"logLevelError": "Error",
|
||||
"accessDirect": "DIRECT",
|
||||
"accessBlocked": "BLOCKED",
|
||||
"accessProxy": "PROXY",
|
||||
"importKeepHostSettings": "حفظ تنظیمات این دستگاه",
|
||||
"importKeepHostSettingsDesc": "آدرسها و پورتهای شنود، مسیر پایه، گواهیها و هویت نودِ همین پنل را نگه میدارد و آنها را از فایل بارگذاریشده نمیگیرد."
|
||||
},
|
||||
@@ -970,7 +908,19 @@
|
||||
"pinnedCertPlaceholder": "SHA-256 بهصورت base64 یا hex",
|
||||
"fetchPin": "دریافت",
|
||||
"pinFetched": "گواهیِ فعلیِ نود دریافت شد",
|
||||
"pinFetchFailed": "دریافت گواهی ممکن نشد"
|
||||
"pinFetchFailed": "دریافت گواهی ممکن نشد",
|
||||
"nodeType": "Node Type",
|
||||
"nodeTypeTraditional": "Traditional Panel Node",
|
||||
"nodeTypeAgent": "Agent Lightweight Node",
|
||||
"agentHint": "Agent nodes connect out to the master; no address, port or API token needed. An install command is generated on creation.",
|
||||
"agentTokenTitle": "Agent Node Setup",
|
||||
"agentTokenCreated": "Node {{name}} created successfully",
|
||||
"agentTokenHint": "Copy the command below and run it on the node machine. This token is shown only once!",
|
||||
"agentTokenInstructions": "The command downloads the installer, configures the master URL and token. The node comes online in ~30s.",
|
||||
"agentTokenCopied": "Install command copied",
|
||||
"agentTokenCopyFailed": "Copy failed, please copy manually",
|
||||
"copyToken": "Copy Install Command",
|
||||
"agentMasterUrlHint": "Master URL (used by agent to reach the master; change to public address if behind proxy):"
|
||||
},
|
||||
"settings": {
|
||||
"defaultTag": "پیشفرض",
|
||||
@@ -1725,4 +1675,4 @@
|
||||
"noIpRecord": "❗ رکورد آی پی وجود ندارد!"
|
||||
},
|
||||
"email": {}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user