Skip to content

Commit

Permalink
new - acceptProxyProtocol for H2 and gRPC #581
Browse files Browse the repository at this point in the history
  • Loading branch information
MHSanaei committed Jun 9, 2023
1 parent 9063336 commit dea61b8
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 7 deletions.
22 changes: 17 additions & 5 deletions web/assets/js/model/xray.js
Original file line number Diff line number Diff line change
Expand Up @@ -378,10 +378,15 @@ class WsStreamSettings extends XrayCommonClass {
}

class HttpStreamSettings extends XrayCommonClass {
constructor(path='/', host=['']) {
constructor(
path='/',
host=[''],
sockopt={acceptProxyProtocol: false}
) {
super();
this.path = path;
this.host = host.length === 0 ? [''] : host;
this.sockopt = sockopt;
}

addHost(host) {
Expand All @@ -393,7 +398,7 @@ class HttpStreamSettings extends XrayCommonClass {
}

static fromJson(json={}) {
return new HttpStreamSettings(json.path, json.host);
return new HttpStreamSettings(json.path, json.host, json.sockopt);
}

toJson() {
Expand All @@ -406,10 +411,12 @@ class HttpStreamSettings extends XrayCommonClass {
return {
path: this.path,
host: host,
sockopt: this.sockopt,
}
}
}


class QuicStreamSettings extends XrayCommonClass {
constructor(security=VmessMethods.NONE,
key='', type='none') {
Expand Down Expand Up @@ -441,28 +448,33 @@ class QuicStreamSettings extends XrayCommonClass {
class GrpcStreamSettings extends XrayCommonClass {
constructor(
serviceName="",
multiMode=false
multiMode=false,
sockopt={acceptProxyProtocol: false}
) {
super();
this.serviceName = serviceName;
this.multiMode = multiMode;
this.sockopt = sockopt;
}

static fromJson(json={}) {
return new GrpcStreamSettings(
json.serviceName,
json.multiMode
json.multiMode,
json.sockopt
);
}

toJson() {
return {
serviceName: this.serviceName,
multiMode: this.multiMode
multiMode: this.multiMode,
sockopt: this.sockopt
}
}
}


class TlsStreamSettings extends XrayCommonClass {
constructor(serverName='',
minVersion = TLS_VERSION_OPTION.TLS12,
Expand Down
4 changes: 4 additions & 0 deletions web/html/xui/form/stream/stream_grpc.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
{{define "form/streamGRPC"}}
<a-form layout="inline">
<a-form-item label="AcceptProxyProtocol">
<a-switch v-model="inbound.stream.grpc.sockopt.acceptProxyProtocol"></a-switch>
</a-form-item>
<br>
<a-form-item label="ServiceName">
<a-input v-model.trim="inbound.stream.grpc.serviceName"></a-input>
</a-form-item>
Expand Down
4 changes: 4 additions & 0 deletions web/html/xui/form/stream/stream_http.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
{{define "form/streamHTTP"}}
<a-form layout="inline">
<a-form-item label="AcceptProxyProtocol">
<a-switch v-model="inbound.stream.http.sockopt.acceptProxyProtocol"></a-switch>
</a-form-item>
<br>
<a-form-item label='{{ i18n "path" }}'>
<a-input v-model.trim="inbound.stream.http.path"></a-input>
</a-form-item>
Expand Down
3 changes: 1 addition & 2 deletions web/html/xui/form/stream/stream_ws.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@
<a-form-item label="AcceptProxyProtocol">
<a-switch v-model="inbound.stream.ws.acceptProxyProtocol"></a-switch>
</a-form-item>
</a-form>
<a-form layout="inline">
<br>
<a-form-item label='{{ i18n "path" }}'>
<a-input v-model.trim="inbound.stream.ws.path"></a-input>
</a-form-item>
Expand Down

0 comments on commit dea61b8

Please sign in to comment.