diff --git a/frontend/src/lib/xray/outbound-defaults.ts b/frontend/src/lib/xray/outbound-defaults.ts
index 9b4a35b06..1bd010468 100644
--- a/frontend/src/lib/xray/outbound-defaults.ts
+++ b/frontend/src/lib/xray/outbound-defaults.ts
@@ -111,7 +111,6 @@ export function createDefaultWireguardOutboundSettings(
mtu: 1420,
secretKey,
address: [],
- workers: 2,
peers: [{
publicKey: '',
allowedIPs: ['0.0.0.0/0', '::/0'],
diff --git a/frontend/src/lib/xray/outbound-form-adapter.ts b/frontend/src/lib/xray/outbound-form-adapter.ts
index ca501716e..e048d7300 100644
--- a/frontend/src/lib/xray/outbound-form-adapter.ts
+++ b/frontend/src/lib/xray/outbound-form-adapter.ts
@@ -205,7 +205,6 @@ function wireguardFromWire(raw: Raw): WireguardOutboundFormSettings {
secretKey,
pubKey,
address: addressArr.join(','),
- workers: asNumber(raw.workers, 2),
domainStrategy: ((): WireguardOutboundFormSettings['domainStrategy'] => {
const allowed = ['ForceIP', 'ForceIPv4', 'ForceIPv4v6', 'ForceIPv6', 'ForceIPv6v4'];
const s = asString(raw.domainStrategy);
@@ -495,7 +494,6 @@ function wireguardToWire(s: WireguardOutboundFormSettings) {
mtu: s.mtu || undefined,
secretKey: s.secretKey,
address: s.address ? s.address.split(',').map((x) => x.trim()).filter(Boolean) : [],
- workers: s.workers || undefined,
domainStrategy: s.domainStrategy || undefined,
reserved: s.reserved
? s.reserved.split(',').map((x) => Number(x.trim())).filter((n) => Number.isFinite(n))
diff --git a/frontend/src/pages/inbounds/form/protocols/wireguard.tsx b/frontend/src/pages/inbounds/form/protocols/wireguard.tsx
index cdf4aa597..e14cef35c 100644
--- a/frontend/src/pages/inbounds/form/protocols/wireguard.tsx
+++ b/frontend/src/pages/inbounds/form/protocols/wireguard.tsx
@@ -62,9 +62,6 @@ export default function WireguardFields({ wgPubKey, regenInboundWg, regenWgPeerK
>
-
-
-
-
-
-
;
diff --git a/frontend/src/schemas/protocols/outbound/wireguard.ts b/frontend/src/schemas/protocols/outbound/wireguard.ts
index 2207908d3..d3a50a7b7 100644
--- a/frontend/src/schemas/protocols/outbound/wireguard.ts
+++ b/frontend/src/schemas/protocols/outbound/wireguard.ts
@@ -22,7 +22,6 @@ export const WireguardOutboundSettingsSchema = z.object({
mtu: z.number().int().min(1).optional(),
secretKey: z.string().min(1),
address: z.array(z.string()).default([]),
- workers: z.number().int().min(1).optional(),
domainStrategy: WireguardDomainStrategySchema.optional(),
reserved: z.array(z.number().int()).optional(),
peers: z.array(WireguardOutboundPeerSchema).min(1),
diff --git a/frontend/src/test/outbound-defaults.test.ts b/frontend/src/test/outbound-defaults.test.ts
index f5c5313d9..d5838bd5a 100644
--- a/frontend/src/test/outbound-defaults.test.ts
+++ b/frontend/src/test/outbound-defaults.test.ts
@@ -111,7 +111,6 @@ describe('outbound default factories: shape snapshots', () => {
const out = createDefaultWireguardOutboundSettings({ secretKey: SAMPLE_SECRET });
expect(out.secretKey).toBe(SAMPLE_SECRET);
expect(out.mtu).toBe(1420);
- expect(out.workers).toBe(2);
expect(out.address).toEqual([]);
expect(out.noKernelTun).toBe(false);
expect(out.peers).toEqual([{
diff --git a/frontend/src/test/outbound-form-adapter.test.ts b/frontend/src/test/outbound-form-adapter.test.ts
index f28a54611..ca0169435 100644
--- a/frontend/src/test/outbound-form-adapter.test.ts
+++ b/frontend/src/test/outbound-form-adapter.test.ts
@@ -182,7 +182,6 @@ describe('outbound-form-adapter: round-trip', () => {
mtu: 1420,
secretKey: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',
address: ['10.0.0.1', 'fd00::1'],
- workers: 2,
peers: [{ publicKey: 'pk', allowedIPs: ['0.0.0.0/0'], endpoint: 'e:51820', preSharedKey: 'psk' }],
reserved: [1, 2, 3],
noKernelTun: false,
diff --git a/internal/web/translation/ar-EG.json b/internal/web/translation/ar-EG.json
index 5691e5856..04ff7a4ef 100644
--- a/internal/web/translation/ar-EG.json
+++ b/internal/web/translation/ar-EG.json
@@ -1489,7 +1489,6 @@
"overrideXrayPrivateIp": "تجاوز حظر IP الخاص الافتراضي في Xray",
"blockDelay": "تأخير الحظر (ms)",
"reverseSniffing": "Sniffing عكسي",
- "workers": "Workers",
"reserved": "محجوز",
"minUploadInterval": "أدنى فاصل رفع (ms)",
"maxUploadSizeBytes": "حجم الرفع الأقصى (بايت)",
diff --git a/internal/web/translation/en-US.json b/internal/web/translation/en-US.json
index 3e0ef33b5..87bed42df 100644
--- a/internal/web/translation/en-US.json
+++ b/internal/web/translation/en-US.json
@@ -1597,7 +1597,6 @@
"overrideXrayPrivateIp": "Override Xray's default private-IP block",
"blockDelay": "Block delay (ms)",
"reverseSniffing": "Reverse Sniffing",
- "workers": "Workers",
"reserved": "Reserved",
"minUploadInterval": "Min upload interval (ms)",
"maxUploadSizeBytes": "Max upload size (bytes)",
diff --git a/internal/web/translation/es-ES.json b/internal/web/translation/es-ES.json
index ab821029a..e795a7633 100644
--- a/internal/web/translation/es-ES.json
+++ b/internal/web/translation/es-ES.json
@@ -1489,7 +1489,6 @@
"overrideXrayPrivateIp": "Sobrescribir el bloqueo de IP privada por defecto de Xray",
"blockDelay": "Retraso de bloqueo (ms)",
"reverseSniffing": "Sniffing inverso",
- "workers": "Workers",
"reserved": "Reservado",
"minUploadInterval": "Intervalo mín. de subida (ms)",
"maxUploadSizeBytes": "Tamaño máx. de subida (bytes)",
diff --git a/internal/web/translation/fa-IR.json b/internal/web/translation/fa-IR.json
index 363bf0dc8..b617c7d4f 100644
--- a/internal/web/translation/fa-IR.json
+++ b/internal/web/translation/fa-IR.json
@@ -1489,7 +1489,6 @@
"overrideXrayPrivateIp": "override بلاک پیشفرض IP خصوصی Xray",
"blockDelay": "تأخیر بلاک (ms)",
"reverseSniffing": "Sniffing معکوس",
- "workers": "Workerها",
"reserved": "رزرو شده",
"minUploadInterval": "حداقل بازه آپلود (ms)",
"maxUploadSizeBytes": "حداکثر اندازه آپلود (بایت)",
diff --git a/internal/web/translation/id-ID.json b/internal/web/translation/id-ID.json
index fa91cf8cd..a393725a0 100644
--- a/internal/web/translation/id-ID.json
+++ b/internal/web/translation/id-ID.json
@@ -1489,7 +1489,6 @@
"overrideXrayPrivateIp": "Timpa blok IP privat default Xray",
"blockDelay": "Penundaan blokir (ms)",
"reverseSniffing": "Sniffing terbalik",
- "workers": "Workers",
"reserved": "Dicadangkan",
"minUploadInterval": "Min. interval upload (ms)",
"maxUploadSizeBytes": "Ukuran upload maks. (byte)",
diff --git a/internal/web/translation/ja-JP.json b/internal/web/translation/ja-JP.json
index 1a38e0e41..db8a7bd17 100644
--- a/internal/web/translation/ja-JP.json
+++ b/internal/web/translation/ja-JP.json
@@ -1489,7 +1489,6 @@
"overrideXrayPrivateIp": "Xray のデフォルトプライベート IP ブロックを上書き",
"blockDelay": "ブロック遅延 (ms)",
"reverseSniffing": "逆 sniffing",
- "workers": "Workers",
"reserved": "予約",
"minUploadInterval": "最小アップロード間隔 (ms)",
"maxUploadSizeBytes": "最大アップロードサイズ (バイト)",
diff --git a/internal/web/translation/pt-BR.json b/internal/web/translation/pt-BR.json
index 68c880db8..c8ef0106f 100644
--- a/internal/web/translation/pt-BR.json
+++ b/internal/web/translation/pt-BR.json
@@ -1489,7 +1489,6 @@
"overrideXrayPrivateIp": "Sobrescrever o bloqueio de IP privado padrão do Xray",
"blockDelay": "Atraso do bloqueio (ms)",
"reverseSniffing": "Sniffing reverso",
- "workers": "Workers",
"reserved": "Reservado",
"minUploadInterval": "Intervalo mín. de upload (ms)",
"maxUploadSizeBytes": "Tamanho máx. de upload (bytes)",
diff --git a/internal/web/translation/ru-RU.json b/internal/web/translation/ru-RU.json
index 3b30e77f5..d5863435e 100644
--- a/internal/web/translation/ru-RU.json
+++ b/internal/web/translation/ru-RU.json
@@ -1489,7 +1489,6 @@
"overrideXrayPrivateIp": "Переопределить дефолтный блок частных IP в Xray",
"blockDelay": "Задержка блока (мс)",
"reverseSniffing": "Обратный sniffing",
- "workers": "Воркеры",
"reserved": "Зарезервировано",
"minUploadInterval": "Мин. интервал загрузки (мс)",
"maxUploadSizeBytes": "Макс. размер загрузки (байт)",
diff --git a/internal/web/translation/tr-TR.json b/internal/web/translation/tr-TR.json
index 649cc843a..11368d03c 100644
--- a/internal/web/translation/tr-TR.json
+++ b/internal/web/translation/tr-TR.json
@@ -1489,7 +1489,6 @@
"overrideXrayPrivateIp": "Xray'in varsayılan özel IP bloğunu geçersiz kıl",
"blockDelay": "Engelleme Gecikmesi (ms)",
"reverseSniffing": "Ters Sniffing",
- "workers": "Workers",
"reserved": "Ayrılmış",
"minUploadInterval": "Min. Yükleme Aralığı (ms)",
"maxUploadSizeBytes": "Maks. Yükleme Boyutu (bayt)",
diff --git a/internal/web/translation/uk-UA.json b/internal/web/translation/uk-UA.json
index 19a8c220a..ef40d17bb 100644
--- a/internal/web/translation/uk-UA.json
+++ b/internal/web/translation/uk-UA.json
@@ -1489,7 +1489,6 @@
"overrideXrayPrivateIp": "Перевизначити дефолтний блок приватних IP у Xray",
"blockDelay": "Затримка блоку (мс)",
"reverseSniffing": "Зворотний sniffing",
- "workers": "Воркери",
"reserved": "Зарезервовано",
"minUploadInterval": "Мін. інтервал завантаження (мс)",
"maxUploadSizeBytes": "Макс. розмір завантаження (байт)",
diff --git a/internal/web/translation/vi-VN.json b/internal/web/translation/vi-VN.json
index e9ede2805..42661dbf0 100644
--- a/internal/web/translation/vi-VN.json
+++ b/internal/web/translation/vi-VN.json
@@ -1489,7 +1489,6 @@
"overrideXrayPrivateIp": "Ghi đè chặn IP riêng mặc định của Xray",
"blockDelay": "Trễ chặn (ms)",
"reverseSniffing": "Sniffing ngược",
- "workers": "Workers",
"reserved": "Đã đặt trước",
"minUploadInterval": "Khoảng upload tối thiểu (ms)",
"maxUploadSizeBytes": "Kích thước upload tối đa (byte)",
diff --git a/internal/web/translation/zh-CN.json b/internal/web/translation/zh-CN.json
index b40a542e8..95ec3d2a4 100644
--- a/internal/web/translation/zh-CN.json
+++ b/internal/web/translation/zh-CN.json
@@ -1489,7 +1489,6 @@
"overrideXrayPrivateIp": "覆盖 Xray 默认的私有 IP 阻止",
"blockDelay": "阻塞延迟 (ms)",
"reverseSniffing": "反向 sniffing",
- "workers": "Workers",
"reserved": "保留",
"minUploadInterval": "最小上传间隔 (ms)",
"maxUploadSizeBytes": "最大上传大小 (字节)",
diff --git a/internal/web/translation/zh-TW.json b/internal/web/translation/zh-TW.json
index e54584b1f..03a970dca 100644
--- a/internal/web/translation/zh-TW.json
+++ b/internal/web/translation/zh-TW.json
@@ -1489,7 +1489,6 @@
"overrideXrayPrivateIp": "覆寫 Xray 預設的私有 IP 封鎖",
"blockDelay": "阻斷延遲 (ms)",
"reverseSniffing": "反向 sniffing",
- "workers": "Workers",
"reserved": "保留",
"minUploadInterval": "最小上傳間隔 (ms)",
"maxUploadSizeBytes": "最大上傳大小 (位元組)",