Add load balancer marker for inbound country flag
Reserved CountryCode "XX" (Inbound.BalancerCountryCode) marks an inbound behind a load balancer whose exit country is unknown: the site shows a Shuffle icon with a tooltip instead of a flag, the bot shows 🔀. Admin can pick it in the publish dialog. Fits the existing column, no migration. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
81562b5c56
commit
e979adca57
9 files changed
+48
-6
No files matched your search
@@ -83,7 +83,7 @@ AppUser
|
||||
| `IsAvailable` | `bool` | Существует ли инбаунд на панели по последней синхронизации (см. ниже) |
|
||||
| `AllowedRoleIds` | `Guid[]` | Id ролей, которым разрешено создавать конфиги (native PostgreSQL `uuid[]`; не навигация на `AppRole` — тот в Infrastructure/Identity, Domain на него не ссылается) |
|
||||
| `DisplayName` | `string?` | Витринное имя для пользователя, напр. «Германия (Trojan)» |
|
||||
| `CountryCode` | `string?` | ISO 3166-1 alpha-2 (`DE`) — флаг перед именем у пользователя; задаётся при публикации, только отображение |
|
||||
| `CountryCode` | `string?` | ISO 3166-1 alpha-2 (`DE`) — флаг перед именем у пользователя; задаётся при публикации, только отображение. Зарезервированный `XX` (`Inbound.BalancerCountryCode`) — инбаунд за балансировщиком, страна выхода неизвестна: вместо флага значок балансира (на сайте — иконка `Shuffle` с подсказкой, в боте — 🔀) |
|
||||
| `LastSyncAt` | `DateTimeOffset?` | |
|
||||
|
||||
Инварианты: конфиг можно создать только если `IsPublished && Node.IsEnabled`, и **роль пользователя
|
||||
|
||||
+2
-1
@@ -91,7 +91,8 @@ frontend/
|
||||
неактивированного — `ActivationGate` вместо дашборда.
|
||||
- **Создание конфига**: диалог — выбор инбаунда (по `displayName`, с флагом страны) + метка. Флаги —
|
||||
SVG из `country-flag-icons` (курируемый список в `shared/lib/countries.ts`; emoji-флаги Windows не рисует),
|
||||
в Telegram-боте — emoji. У каждой локации — загрузка её ноды: «светофор» + % от `Node.Capacity`
|
||||
в Telegram-боте — emoji. Код `XX` (`BALANCER_COUNTRY_CODE`) — инбаунд за балансировщиком: вместо флага
|
||||
иконка `Shuffle` с подсказкой «страна выхода может меняться» (в боте — 🔀). У каждой локации — загрузка её ноды: «светофор» + % от `Node.Capacity`
|
||||
(<50 / <80 / ≥80), либо число конфигов на сервере, если ёмкость не задана; порядок — с сервера,
|
||||
от менее загруженных. Лимит одновременных IP
|
||||
(`limitIp` в 3x-ui) выставляется автоматически по квоте роли пользователя (`AppRole.MaxIpLimit`) —
|
||||
|
||||
Reference in new issue
Block a user