Skip to content

Commit

Permalink
[xray] fix: convert link to json
Browse files Browse the repository at this point in the history
Co-Authored-By: Alireza Ahmadi <[email protected]>
  • Loading branch information
MHSanaei and alireza0 committed Apr 1, 2024
1 parent 21d9881 commit 9d18e92
Showing 1 changed file with 16 additions and 14 deletions.
30 changes: 16 additions & 14 deletions web/assets/js/model/outbound.js
Original file line number Diff line number Diff line change
Expand Up @@ -645,7 +645,7 @@ class Outbound extends CommonClass {
json.path,
json.type ? json.type : 'none');
} else if (network === 'grpc') {
stream.grpc = new GrpcStreamSettings(json.path, json.type == 'multi');
stream.grpc = new GrpcStreamSettings(json.path, json.authority, json.type == 'multi');
} else if (network === 'httpupgrade') {
stream.httpupgrade = new HttpUpgradeStreamSettings(json.path,json.host);
}
Expand All @@ -658,20 +658,22 @@ class Outbound extends CommonClass {
json.allowInsecure);
}

return new Outbound(json.ps, Protocols.VMess, new Outbound.VmessSettings(json.add, json.port, json.id), stream);
const port = json.port * 1;

return new Outbound(json.ps, Protocols.VMess, new Outbound.VmessSettings(json.add, port, json.id), stream);
}

static fromParamLink(link){
const url = new URL(link);
let type = url.searchParams.get('type');
let type = url.searchParams.get('type') ?? 'tcp';
let security = url.searchParams.get('security') ?? 'none';
let stream = new StreamSettings(type, security);

let headerType = url.searchParams.get('headerType');
let host = url.searchParams.get('host');
let path = url.searchParams.get('path');
let headerType = url.searchParams.get('headerType') ?? undefined;
let host = url.searchParams.get('host') ?? undefined;
let path = url.searchParams.get('path') ?? undefined;

if (type === 'tcp') {
if (type === 'tcp' || type === 'none') {
stream.tcp = new TcpStreamSettings(headerType ?? 'none', host, path);
} else if (type === 'kcp') {
stream.kcp = new KcpStreamSettings();
Expand All @@ -686,9 +688,12 @@ class Outbound extends CommonClass {
url.searchParams.get('quicSecurity') ?? 'none',
url.searchParams.get('key') ?? '',
headerType ?? 'none');
} else if (type === 'grpc') {
stream.grpc = new GrpcStreamSettings(url.searchParams.get('serviceName') ?? '', url.searchParams.get('mode') == 'multi');
} else if (type === 'httpupgrade') {
} else if (type === 'grpc') {
stream.grpc = new GrpcStreamSettings(
url.searchParams.get('serviceName') ?? '',
url.searchParams.get('authority') ?? '',
url.searchParams.get('mode') == 'multi');
} else if (type === 'httpupgrade') {
stream.httpupgrade = new HttpUpgradeStreamSettings(path,host);
}

Expand All @@ -709,10 +714,7 @@ class Outbound extends CommonClass {
stream.reality = new RealityStreamSettings(pbk, fp, sni, sid, spx);
}

let data = link.split('?');
if(data.length != 2) return null;

const regex = /([^@]+):\/\/([^@]+)@(.+):(\d+)\?(.*)$/;
const regex = /([^@]+):\/\/([^@]+)@(.+):(\d+)(.*)$/;
const match = link.match(regex);

if (!match) return null;
Expand Down

0 comments on commit 9d18e92

Please sign in to comment.