feat: support Xray XDRIVE object storage relay transport (#10546)

This commit is contained in:
youugiuhiuh
2026-11-08 20:02:40 +08:00
committed by GitHub
parent 968beb4432
commit 0f71c46d3b
20 changed files with 1156 additions and 76 deletions
@@ -321,6 +321,7 @@ public class StreamSettings4Ray
public HysteriaSettings4Ray? hysteriaSettings { get; set; }
public MasqueSettings4Ray? masqueSettings { get; set; }
public XdriveSettings4Ray? xdriveSettings { get; set; }
public JsonObject? finalmask { get; set; }
@@ -462,6 +463,28 @@ public class MasqueWarpSettings4Ray
public List<string>? address { get; set; }
}
public class XdriveSettings4Ray
{
public string? service { get; set; }
public string? remoteFolder { get; set; }
public List<string>? secrets { get; set; }
public S3Settings4Ray? s3 { get; set; }
public int? segmentBytes { get; set; }
public int? flushIntervalMs { get; set; }
public int? pollIntervalMs { get; set; }
public int? maxPollIntervalMs { get; set; }
public int? eagerWindowMs { get; set; }
public int? concurrency { get; set; }
}
public class S3Settings4Ray
{
public string? endpoint { get; set; }
public string? region { get; set; }
public string? bucket { get; set; }
public bool? pathStyle { get; set; }
}
public class Finalmask4Ray
{
public List<Mask4Ray>? tcp { get; set; }
@@ -16,4 +16,13 @@ public record TransportExtraItem
public string? KcpHeaderType { get; init; }
public string? KcpSeed { get; init; }
public int? KcpMtu { get; init; }
public string? XdriveService { get; init; }
public string? XdriveRemoteFolder { get; init; }
public string? XdriveSecrets { get; init; }
public string? XdriveS3Endpoint { get; init; }
public string? XdriveS3Region { get; init; }
public string? XdriveS3Bucket { get; init; }
public bool? XdriveS3PathStyle { get; init; }
public string? XdriveExtra { get; init; }
}