From 2585c09ad9429388920c99f102f1461c6a957e37 Mon Sep 17 00:00:00 2001 From: zeaslity Date: Thu, 9 Feb 2023 11:52:13 +0800 Subject: [PATCH] =?UTF-8?q?[=20server]=20[=20func.xray=20]=20-=20=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0Config=20JSON=20=E7=9A=84Bean=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/io/wdd/func/xray/beans/Account.java | 14 +++++ .../java/io/wdd/func/xray/beans/Client.java | 11 ++++ .../java/io/wdd/func/xray/beans/Order.java | 13 +++++ .../java/io/wdd/func/xray/beans/User.java | 14 +++++ .../io/wdd/func/xray/beans/XrayConfig.java | 23 ++++++++ .../wdd/func/xray/beans/xray/ApiObject.java | 13 +++++ .../wdd/func/xray/beans/xray/DnsObject.java | 32 +++++++++++ .../func/xray/beans/xray/InboundObject.java | 42 ++++++++++++++ .../wdd/func/xray/beans/xray/LogObject.java | 12 ++++ .../func/xray/beans/xray/OutboundObject.java | 29 ++++++++++ .../func/xray/beans/xray/PolicyObject.java | 36 ++++++++++++ .../func/xray/beans/xray/ReverseObject.java | 4 ++ .../func/xray/beans/xray/RoutingObject.java | 41 ++++++++++++++ .../wdd/func/xray/beans/xray/StatsObject.java | 4 ++ .../xray/beans/xray/StreamSettingsObject.java | 55 +++++++++++++++++++ .../func/xray/beans/xray/TransportObject.java | 46 ++++++++++++++++ .../xray/protocol/inbound/DokodemoDoor.java | 6 ++ .../protocol/inbound/vless/ClientObject.java | 12 ++++ .../inbound/vless/FallbackObject.java | 14 +++++ .../xray/protocol/inbound/vless/VLESS.java | 10 ++++ .../protocol/inbound/vless/VlessConfig.java | 14 +++++ .../protocol/inbound/vmess/ClientObject.java | 11 ++++ .../protocol/inbound/vmess/DefaultObject.java | 9 +++ .../protocol/inbound/vmess/DetourObject.java | 8 +++ .../xray/protocol/inbound/vmess/VMESS.java | 10 ++++ .../protocol/inbound/vmess/VmessConfig.java | 16 ++++++ .../xray/protocol/outbound/Blackhole.java | 15 +++++ .../beans/xray/protocol/outbound/DNS.java | 5 ++ .../beans/xray/protocol/outbound/Freedom.java | 12 ++++ .../outbound/OutboundConfigurationObject.java | 4 ++ .../beans/xray/protocol/outbound/VLESS.java | 10 ++++ .../beans/xray/protocol/outbound/VMESS.java | 9 +++ 32 files changed, 554 insertions(+) create mode 100644 server/src/main/java/io/wdd/func/xray/beans/Account.java create mode 100644 server/src/main/java/io/wdd/func/xray/beans/Client.java create mode 100644 server/src/main/java/io/wdd/func/xray/beans/Order.java create mode 100644 server/src/main/java/io/wdd/func/xray/beans/User.java create mode 100644 server/src/main/java/io/wdd/func/xray/beans/XrayConfig.java create mode 100644 server/src/main/java/io/wdd/func/xray/beans/xray/ApiObject.java create mode 100644 server/src/main/java/io/wdd/func/xray/beans/xray/DnsObject.java create mode 100644 server/src/main/java/io/wdd/func/xray/beans/xray/InboundObject.java create mode 100644 server/src/main/java/io/wdd/func/xray/beans/xray/LogObject.java create mode 100644 server/src/main/java/io/wdd/func/xray/beans/xray/OutboundObject.java create mode 100644 server/src/main/java/io/wdd/func/xray/beans/xray/PolicyObject.java create mode 100644 server/src/main/java/io/wdd/func/xray/beans/xray/ReverseObject.java create mode 100644 server/src/main/java/io/wdd/func/xray/beans/xray/RoutingObject.java create mode 100644 server/src/main/java/io/wdd/func/xray/beans/xray/StatsObject.java create mode 100644 server/src/main/java/io/wdd/func/xray/beans/xray/StreamSettingsObject.java create mode 100644 server/src/main/java/io/wdd/func/xray/beans/xray/TransportObject.java create mode 100644 server/src/main/java/io/wdd/func/xray/beans/xray/protocol/inbound/DokodemoDoor.java create mode 100644 server/src/main/java/io/wdd/func/xray/beans/xray/protocol/inbound/vless/ClientObject.java create mode 100644 server/src/main/java/io/wdd/func/xray/beans/xray/protocol/inbound/vless/FallbackObject.java create mode 100644 server/src/main/java/io/wdd/func/xray/beans/xray/protocol/inbound/vless/VLESS.java create mode 100644 server/src/main/java/io/wdd/func/xray/beans/xray/protocol/inbound/vless/VlessConfig.java create mode 100644 server/src/main/java/io/wdd/func/xray/beans/xray/protocol/inbound/vmess/ClientObject.java create mode 100644 server/src/main/java/io/wdd/func/xray/beans/xray/protocol/inbound/vmess/DefaultObject.java create mode 100644 server/src/main/java/io/wdd/func/xray/beans/xray/protocol/inbound/vmess/DetourObject.java create mode 100644 server/src/main/java/io/wdd/func/xray/beans/xray/protocol/inbound/vmess/VMESS.java create mode 100644 server/src/main/java/io/wdd/func/xray/beans/xray/protocol/inbound/vmess/VmessConfig.java create mode 100644 server/src/main/java/io/wdd/func/xray/beans/xray/protocol/outbound/Blackhole.java create mode 100644 server/src/main/java/io/wdd/func/xray/beans/xray/protocol/outbound/DNS.java create mode 100644 server/src/main/java/io/wdd/func/xray/beans/xray/protocol/outbound/Freedom.java create mode 100644 server/src/main/java/io/wdd/func/xray/beans/xray/protocol/outbound/OutboundConfigurationObject.java create mode 100644 server/src/main/java/io/wdd/func/xray/beans/xray/protocol/outbound/VLESS.java create mode 100644 server/src/main/java/io/wdd/func/xray/beans/xray/protocol/outbound/VMESS.java diff --git a/server/src/main/java/io/wdd/func/xray/beans/Account.java b/server/src/main/java/io/wdd/func/xray/beans/Account.java new file mode 100644 index 0000000..bd3f599 --- /dev/null +++ b/server/src/main/java/io/wdd/func/xray/beans/Account.java @@ -0,0 +1,14 @@ +package io.wdd.func.xray.beans; + +import lombok.Data; + +import java.sql.Date; + +@Data +public class Account extends User { + + private String aid; + private Date activationDate; + private Date expireDate; + +} diff --git a/server/src/main/java/io/wdd/func/xray/beans/Client.java b/server/src/main/java/io/wdd/func/xray/beans/Client.java new file mode 100644 index 0000000..71661e6 --- /dev/null +++ b/server/src/main/java/io/wdd/func/xray/beans/Client.java @@ -0,0 +1,11 @@ +package io.wdd.func.xray.beans; + +import lombok.Data; + +@Data +public class Client { + + private String id; + private String email; + +} diff --git a/server/src/main/java/io/wdd/func/xray/beans/Order.java b/server/src/main/java/io/wdd/func/xray/beans/Order.java new file mode 100644 index 0000000..78803c6 --- /dev/null +++ b/server/src/main/java/io/wdd/func/xray/beans/Order.java @@ -0,0 +1,13 @@ +package io.wdd.func.xray.beans; + +import lombok.Data; + + +@Data +public class Order extends User{ + + private String oid; + private Integer days; + private Boolean isActivated; + +} diff --git a/server/src/main/java/io/wdd/func/xray/beans/User.java b/server/src/main/java/io/wdd/func/xray/beans/User.java new file mode 100644 index 0000000..ad71d37 --- /dev/null +++ b/server/src/main/java/io/wdd/func/xray/beans/User.java @@ -0,0 +1,14 @@ +package io.wdd.func.xray.beans; + +import lombok.Data; + +@Data +public class User { + + private Integer uid; + private String username; + private String email; + private String password; + private Boolean isAdmin; + +} diff --git a/server/src/main/java/io/wdd/func/xray/beans/XrayConfig.java b/server/src/main/java/io/wdd/func/xray/beans/XrayConfig.java new file mode 100644 index 0000000..083eeb0 --- /dev/null +++ b/server/src/main/java/io/wdd/func/xray/beans/XrayConfig.java @@ -0,0 +1,23 @@ +package io.wdd.func.xray.beans; + + +import io.wdd.func.xray.beans.xray.*; + +import java.util.List; + +/** + * https://github.com/LarryZeta/xray-manager/blob/master/src/main/java/cc/larryzeta/manager/entity/XrayConfig.java + */ +public class XrayConfig { + + private LogObject log; + private ApiObject api; + private DnsObject dns; + private PolicyObject policy; + private List inbounds; + private List outbounds; + private TransportObject transport; + private RoutingObject routing; + private ReverseObject reverse; + +} diff --git a/server/src/main/java/io/wdd/func/xray/beans/xray/ApiObject.java b/server/src/main/java/io/wdd/func/xray/beans/xray/ApiObject.java new file mode 100644 index 0000000..3c4484d --- /dev/null +++ b/server/src/main/java/io/wdd/func/xray/beans/xray/ApiObject.java @@ -0,0 +1,13 @@ +package io.wdd.func.xray.beans.xray; + +import lombok.Data; + +import java.util.List; + +@Data +public class ApiObject { + + private String tag; + private List services; + +} diff --git a/server/src/main/java/io/wdd/func/xray/beans/xray/DnsObject.java b/server/src/main/java/io/wdd/func/xray/beans/xray/DnsObject.java new file mode 100644 index 0000000..fa8cb0a --- /dev/null +++ b/server/src/main/java/io/wdd/func/xray/beans/xray/DnsObject.java @@ -0,0 +1,32 @@ +package io.wdd.func.xray.beans.xray; + +import lombok.Data; + +import java.util.List; +import java.util.Map; + +@Data +public class DnsObject { + + /** + * string, ip address + */ + private Map hosts; + + private List servers; + + private String clientIp; + + private String tag; + +} + +@Data +class ServerObject { + + private String address; + private Integer port; + private List domains; + private List expectIPs; + +} diff --git a/server/src/main/java/io/wdd/func/xray/beans/xray/InboundObject.java b/server/src/main/java/io/wdd/func/xray/beans/xray/InboundObject.java new file mode 100644 index 0000000..292f6e9 --- /dev/null +++ b/server/src/main/java/io/wdd/func/xray/beans/xray/InboundObject.java @@ -0,0 +1,42 @@ +package io.wdd.func.xray.beans.xray; + +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import io.wdd.func.xray.beans.xray.protocol.inbound.vless.VLESS; +import io.wdd.func.xray.beans.xray.protocol.inbound.vmess.VMESS; +import lombok.Data; + +@Data +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "protocol") +@JsonSubTypes(value = { + @JsonSubTypes.Type(value = VLESS.class, name = "vless"), + @JsonSubTypes.Type(value = VMESS.class, name = "vmess"), +}) +public abstract class InboundObject { + + private String listen; + private Integer port; + private String protocol; + private StreamSettingsObject streamSettings; + private String tag; + private SniffingObject sniffing; + private AllocateObject allocate; + +} + +@Data +class SniffingObject { + + private Boolean enabled; + private String destOverride; + +} + +@Data +class AllocateObject { + + private String strategy; + private Integer refresh; + private Integer concurrency; + +} \ No newline at end of file diff --git a/server/src/main/java/io/wdd/func/xray/beans/xray/LogObject.java b/server/src/main/java/io/wdd/func/xray/beans/xray/LogObject.java new file mode 100644 index 0000000..c23d8e9 --- /dev/null +++ b/server/src/main/java/io/wdd/func/xray/beans/xray/LogObject.java @@ -0,0 +1,12 @@ +package io.wdd.func.xray.beans.xray; + +import lombok.Data; + +@Data +public class LogObject { + + private String access; + private String error; + private String loglevel; + +} diff --git a/server/src/main/java/io/wdd/func/xray/beans/xray/OutboundObject.java b/server/src/main/java/io/wdd/func/xray/beans/xray/OutboundObject.java new file mode 100644 index 0000000..80bdb13 --- /dev/null +++ b/server/src/main/java/io/wdd/func/xray/beans/xray/OutboundObject.java @@ -0,0 +1,29 @@ +package io.wdd.func.xray.beans.xray; + +import lombok.Data; + +@Data +public class OutboundObject { + + private String sendThrough; + private String protocol; + private Object settings; + private String tag; + private StreamSettingsObject streamSettings; + private ProxySettingsObject proxySettings; + private MuxObject mux; + +} + +@Data +class ProxySettingsObject { + private String tag; +} + +@Data +class MuxObject { + + private Boolean enabled; + private Integer concurrency; + +} \ No newline at end of file diff --git a/server/src/main/java/io/wdd/func/xray/beans/xray/PolicyObject.java b/server/src/main/java/io/wdd/func/xray/beans/xray/PolicyObject.java new file mode 100644 index 0000000..5e71c62 --- /dev/null +++ b/server/src/main/java/io/wdd/func/xray/beans/xray/PolicyObject.java @@ -0,0 +1,36 @@ +package io.wdd.func.xray.beans.xray; + +import lombok.Data; + +import java.util.Map; + +@Data +public class PolicyObject { + + private Map level; + private SystemPolicyObject system; + +} + +@Data +class LevelPolicyObject { + + private Integer handshake; + private Integer connIdle; + private Integer uplinkOnly; + private Integer downlinkOnly; + private Boolean statsUserUplink; + private Boolean statsUserDownlink; + private Integer bufferSize; + +} + +@Data +class SystemPolicyObject { + + private Boolean statsInboundUplink; + private Boolean statsInboundDownlink; + private Boolean statsOutboundUplink; + private Boolean statsOutboundDownlink; + +} \ No newline at end of file diff --git a/server/src/main/java/io/wdd/func/xray/beans/xray/ReverseObject.java b/server/src/main/java/io/wdd/func/xray/beans/xray/ReverseObject.java new file mode 100644 index 0000000..e47fb97 --- /dev/null +++ b/server/src/main/java/io/wdd/func/xray/beans/xray/ReverseObject.java @@ -0,0 +1,4 @@ +package io.wdd.func.xray.beans.xray; + +public class ReverseObject { +} diff --git a/server/src/main/java/io/wdd/func/xray/beans/xray/RoutingObject.java b/server/src/main/java/io/wdd/func/xray/beans/xray/RoutingObject.java new file mode 100644 index 0000000..c11f03b --- /dev/null +++ b/server/src/main/java/io/wdd/func/xray/beans/xray/RoutingObject.java @@ -0,0 +1,41 @@ +package io.wdd.func.xray.beans.xray; + +import lombok.Data; + +import java.util.List; + +@Data +public class RoutingObject { + + private String domainStrategy; + private List rules; + private List balancerObjects; + +} + +@Data +class RuleObject { + + private String type; + private List domain; + private List ip; + private String port; + private String sourcePort; + private String network; + private List source; + private List user; + private List inboundTag; + private String protocol; + private String attrs; + private String outboundTag; + private String balancerTag; + +} + +@Data +class BalancerObject { + + private String tag; + private List selector; + +} \ No newline at end of file diff --git a/server/src/main/java/io/wdd/func/xray/beans/xray/StatsObject.java b/server/src/main/java/io/wdd/func/xray/beans/xray/StatsObject.java new file mode 100644 index 0000000..3a26fc6 --- /dev/null +++ b/server/src/main/java/io/wdd/func/xray/beans/xray/StatsObject.java @@ -0,0 +1,4 @@ +package io.wdd.func.xray.beans.xray; + +public class StatsObject { +} diff --git a/server/src/main/java/io/wdd/func/xray/beans/xray/StreamSettingsObject.java b/server/src/main/java/io/wdd/func/xray/beans/xray/StreamSettingsObject.java new file mode 100644 index 0000000..453adc0 --- /dev/null +++ b/server/src/main/java/io/wdd/func/xray/beans/xray/StreamSettingsObject.java @@ -0,0 +1,55 @@ +package io.wdd.func.xray.beans.xray; + +import lombok.Data; + +import java.util.List; + +@Data +public class StreamSettingsObject extends TransportObject{ + + private String network; + private String security; + private TLSObject tlsSettings; + private XTLSObject xtlsSettings; + private SockoptObject sockopt; + +} + +@Data +class TLSObject { + private String serverName; + private List alpn; + private String minVersion; + private String maxVersion; + private Boolean preferServerCipherSuites; + private String cipherSuites; + private Boolean allowInsecure; + private Boolean disableSystemRoot; + private Boolean enableSessionResumption; + private List certificates; +} + +@Data +class XTLSObject extends TLSObject{ +} + +@Data +class CertificateObject { + + private Integer ocspStapling; + private String usage; + private String certificateFile; + private List certificate; + private String keyFile; + private List key; + +} + +@Data +class SockoptObject { + + private Integer mark; + private Boolean tcpFastOpen; + private String tproxy; + +} \ No newline at end of file diff --git a/server/src/main/java/io/wdd/func/xray/beans/xray/TransportObject.java b/server/src/main/java/io/wdd/func/xray/beans/xray/TransportObject.java new file mode 100644 index 0000000..c22d451 --- /dev/null +++ b/server/src/main/java/io/wdd/func/xray/beans/xray/TransportObject.java @@ -0,0 +1,46 @@ +package io.wdd.func.xray.beans.xray; + +import lombok.Data; + +import java.util.Map; + +@Data +public class TransportObject { + + private TcpObject tcpSettings; + private KcpObject kcpSettings; + private WebSocketObject wsSettings; + private HttpObject httpSettings; + private QuicObject quicSettings; + private DomainSocketObject dsSettings; + +} + +class TcpObject { + +} + +class KcpObject { + +} + +@Data +class WebSocketObject { + + private Boolean acceptProxyProtocol; + private String path; + private Map headers; + +} + +class HttpObject { + +} + +class QuicObject { + +} + +class DomainSocketObject { + +} \ No newline at end of file diff --git a/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/inbound/DokodemoDoor.java b/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/inbound/DokodemoDoor.java new file mode 100644 index 0000000..7789ce3 --- /dev/null +++ b/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/inbound/DokodemoDoor.java @@ -0,0 +1,6 @@ +package io.wdd.func.xray.beans.xray.protocol.inbound; + +import cc.larryzeta.manager.entity.xray.InboundObject; + +public class DokodemoDoor extends InboundObject { +} diff --git a/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/inbound/vless/ClientObject.java b/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/inbound/vless/ClientObject.java new file mode 100644 index 0000000..b24476e --- /dev/null +++ b/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/inbound/vless/ClientObject.java @@ -0,0 +1,12 @@ +package io.wdd.func.xray.beans.xray.protocol.inbound.vless; + +import cc.larryzeta.manager.entity.Client; +import lombok.Data; + +@Data +public class ClientObject extends Client { + + private Integer level; + private String flow; + +} diff --git a/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/inbound/vless/FallbackObject.java b/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/inbound/vless/FallbackObject.java new file mode 100644 index 0000000..77424a4 --- /dev/null +++ b/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/inbound/vless/FallbackObject.java @@ -0,0 +1,14 @@ +package io.wdd.func.xray.beans.xray.protocol.inbound.vless; + +import lombok.Data; + +@Data +public class FallbackObject { + + private String name; + private String alpn; + private String path; + private Object dest; + private Integer xver; + +} diff --git a/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/inbound/vless/VLESS.java b/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/inbound/vless/VLESS.java new file mode 100644 index 0000000..0b381aa --- /dev/null +++ b/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/inbound/vless/VLESS.java @@ -0,0 +1,10 @@ +package io.wdd.func.xray.beans.xray.protocol.inbound.vless; + +import cc.larryzeta.manager.entity.xray.InboundObject; +import lombok.Data; + +@Data +public class VLESS extends InboundObject { + private VlessConfig settings; +} + diff --git a/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/inbound/vless/VlessConfig.java b/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/inbound/vless/VlessConfig.java new file mode 100644 index 0000000..a697f1f --- /dev/null +++ b/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/inbound/vless/VlessConfig.java @@ -0,0 +1,14 @@ +package io.wdd.func.xray.beans.xray.protocol.inbound.vless; + +import lombok.Data; + +import java.util.List; + +@Data +public class VlessConfig { + + private List clients; + private String decryption; + private List fallbacks; + +} diff --git a/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/inbound/vmess/ClientObject.java b/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/inbound/vmess/ClientObject.java new file mode 100644 index 0000000..a5ca23a --- /dev/null +++ b/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/inbound/vmess/ClientObject.java @@ -0,0 +1,11 @@ +package io.wdd.func.xray.beans.xray.protocol.inbound.vmess; + +import lombok.Data; + +@Data +public class ClientObject extends Client { + + private Integer level; + private Integer alterId; + +} diff --git a/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/inbound/vmess/DefaultObject.java b/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/inbound/vmess/DefaultObject.java new file mode 100644 index 0000000..7214f9b --- /dev/null +++ b/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/inbound/vmess/DefaultObject.java @@ -0,0 +1,9 @@ +package io.wdd.func.xray.beans.xray.protocol.inbound.vmess; + +import lombok.Data; + +@Data +public class DefaultObject { + private Integer level; + private Integer alterId; +} diff --git a/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/inbound/vmess/DetourObject.java b/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/inbound/vmess/DetourObject.java new file mode 100644 index 0000000..3dd7d7b --- /dev/null +++ b/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/inbound/vmess/DetourObject.java @@ -0,0 +1,8 @@ +package io.wdd.func.xray.beans.xray.protocol.inbound.vmess; + +import lombok.Data; + +@Data +public class DetourObject { + private String to; +} diff --git a/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/inbound/vmess/VMESS.java b/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/inbound/vmess/VMESS.java new file mode 100644 index 0000000..156b3ca --- /dev/null +++ b/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/inbound/vmess/VMESS.java @@ -0,0 +1,10 @@ +package io.wdd.func.xray.beans.xray.protocol.inbound.vmess; + +import io.wdd.func.xray.beans.xray.InboundObject; +import lombok.Data; + +@Data +public class VMESS extends InboundObject { + private VmessConfig settings; +} + diff --git a/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/inbound/vmess/VmessConfig.java b/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/inbound/vmess/VmessConfig.java new file mode 100644 index 0000000..c5436d7 --- /dev/null +++ b/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/inbound/vmess/VmessConfig.java @@ -0,0 +1,16 @@ +package io.wdd.func.xray.beans.xray.protocol.inbound.vmess; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; + +import java.util.List; + +@Data +public class VmessConfig { + + private List clients; + private DetourObject detour; + @JsonProperty("default") + private DefaultObject _default; + +} diff --git a/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/outbound/Blackhole.java b/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/outbound/Blackhole.java new file mode 100644 index 0000000..213c403 --- /dev/null +++ b/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/outbound/Blackhole.java @@ -0,0 +1,15 @@ +package io.wdd.func.xray.beans.xray.protocol.outbound; + +import lombok.Data; + +@Data +public class Blackhole extends OutboundConfigurationObject{ + + private ResponseObject response; + +} + +@Data +class ResponseObject { + private String type; +} \ No newline at end of file diff --git a/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/outbound/DNS.java b/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/outbound/DNS.java new file mode 100644 index 0000000..5a61605 --- /dev/null +++ b/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/outbound/DNS.java @@ -0,0 +1,5 @@ +package io.wdd.func.xray.beans.xray.protocol.outbound; + + +public class DNS extends OutboundConfigurationObject{ +} diff --git a/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/outbound/Freedom.java b/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/outbound/Freedom.java new file mode 100644 index 0000000..e9ca3f8 --- /dev/null +++ b/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/outbound/Freedom.java @@ -0,0 +1,12 @@ +package io.wdd.func.xray.beans.xray.protocol.outbound; + +import lombok.Data; + +@Data +public class Freedom extends OutboundConfigurationObject{ + + private String domainStrategy; + private String redirect; + private Integer userLevel; + +} diff --git a/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/outbound/OutboundConfigurationObject.java b/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/outbound/OutboundConfigurationObject.java new file mode 100644 index 0000000..ddbbf86 --- /dev/null +++ b/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/outbound/OutboundConfigurationObject.java @@ -0,0 +1,4 @@ +package io.wdd.func.xray.beans.xray.protocol.outbound; + +public abstract class OutboundConfigurationObject { +} diff --git a/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/outbound/VLESS.java b/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/outbound/VLESS.java new file mode 100644 index 0000000..e47d781 --- /dev/null +++ b/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/outbound/VLESS.java @@ -0,0 +1,10 @@ +package io.wdd.func.xray.beans.xray.protocol.outbound; + +import lombok.Data; + +@Data +public class VLESS extends OutboundConfigurationObject { + + + +} \ No newline at end of file diff --git a/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/outbound/VMESS.java b/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/outbound/VMESS.java new file mode 100644 index 0000000..3d99bd6 --- /dev/null +++ b/server/src/main/java/io/wdd/func/xray/beans/xray/protocol/outbound/VMESS.java @@ -0,0 +1,9 @@ +package io.wdd.func.xray.beans.xray.protocol.outbound; + +import lombok.Data; + +@Data +public class VMESS extends OutboundConfigurationObject { + + +}