mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-11-14 00:55:01 +03:00
feat(xray): add the XDRIVE transport
xray-core v26.10.10 tunnels a stream through files in shared cloud
storage ("network": "xdrive"): Google Drive, a local folder, or any HTTP
storage API described by a template. The panel could not select it, and
the stream schema rejected a pasted xdrive stream outright.
The inbound and outbound forms now offer XDRIVE with one shared editor:
service, folder, the three Google Drive secrets in the order the core
reads them, a template JSON editor with its {secretN} values, the
optional domain front (the stream-level address/port the storage client
dials), and the core's tuning knobs with their defaults as placeholders.
Switching an inbound to XDRIVE resets security to none, because the
core would otherwise read the inbound's TLS/REALITY as the storage API's
client TLS.
XDRIVE has no share-link format, and a link carrying the storage
secrets would print them into every QR code, so both link generators
emit none for it; the JSON subscription already passes the stream
through intact, and Clash drops the unknown transport.
This commit is contained in:
@@ -694,7 +694,31 @@
|
||||
"bytesPerSecTip": "Eşik aşıldıktan sonra fallback trafiğine uygulanan hız sınırı (bayt/sn); böylece sondalar sunucunuzu hedefe ücretsiz bant genişliği olarak kullanamaz. 0 = sınır yok (bu yönü devre dışı bırakır).",
|
||||
"burstBytesPerSec": "Saniye Başına Patlama Baytı",
|
||||
"burstBytesPerSecTip": "Sabit hızın üzerindeki kısa patlamalar için pay (token-bucket boyutu). Saniye Başına Bayt değerinden düşükse ona eşitlenecek şekilde yükseltilir.",
|
||||
"autoFill": "Otomatik Doldur"
|
||||
"autoFill": "Otomatik Doldur",
|
||||
"xdrive": {
|
||||
"service": "Depolama hizmeti",
|
||||
"serviceLocal": "Yerel klasör",
|
||||
"serviceTemplate": "Özel şablon",
|
||||
"remoteFolder": "Uzak klasör",
|
||||
"clientId": "Client ID",
|
||||
"clientSecret": "Client Secret",
|
||||
"refreshToken": "Refresh Token",
|
||||
"secrets": "Gizli değerler",
|
||||
"secretsDesc": "Şablonun {secret0}, {secret1}, … olarak okuduğu değerler",
|
||||
"template": "Depolama şablonu",
|
||||
"templateInvalid": "Bir JSON nesnesi olmalı",
|
||||
"front": "Fronting adresi",
|
||||
"frontDesc": "Depolama API'sine bağlanmak için isteğe bağlı ana makine veya IP (domain fronting).",
|
||||
"frontPort": "Fronting portu",
|
||||
"segmentBytes": "Segment boyutu (bayt)",
|
||||
"flushInterval": "Gönderim aralığı (ms)",
|
||||
"pollInterval": "Yoklama aralığı (ms)",
|
||||
"maxPollInterval": "Maks. yoklama aralığı (ms)",
|
||||
"eagerWindow": "Erken gönderim penceresi (ms)",
|
||||
"holeTimeout": "Eksik segment zaman aşımı (ms)",
|
||||
"sessionTtl": "Oturum TTL (s)",
|
||||
"concurrency": "Eşzamanlılık"
|
||||
}
|
||||
},
|
||||
"info": {
|
||||
"mode": "Mod",
|
||||
|
||||
Reference in New Issue
Block a user