diff --git a/app/Http/Controllers/V1/Admin/Server/VlessController.php b/app/Http/Controllers/V1/Admin/Server/VlessController.php index c0a403d8..ad0563d2 100644 --- a/app/Http/Controllers/V1/Admin/Server/VlessController.php +++ b/app/Http/Controllers/V1/Admin/Server/VlessController.php @@ -40,8 +40,11 @@ class VlessController extends Controller if (!isset($params['tls_settings']['private_key'])) { $params['tls_settings']['private_key'] = Helper::base64EncodeUrlSafe(SodiumCompat::crypto_box_secretkey($keyPair)); } - if (!isset($params['tls_settings']['shortId'])) { - $params['tls_settings']['shortId'] = substr(sha1($params['tls_settings']['private_key']), 0, 8); + if (!isset($params['tls_settings']['short_id'])) { + $params['tls_settings']['short_id'] = substr(sha1($params['tls_settings']['private_key']), 0, 8); + } + if (!isset($params['tls_settings']['server_port'])) { + $params['tls_settings']['server_port'] = "443"; } } diff --git a/app/Protocols/Clash.php b/app/Protocols/Clash.php index 46d35120..b07552cb 100644 --- a/app/Protocols/Clash.php +++ b/app/Protocols/Clash.php @@ -180,7 +180,7 @@ class Clash if ($server['tls'] == 2) { $array['reality-opts'] = []; $array['reality-opts']['public-key'] = $tlsSettings['public_key']; - $array['reality-opts']['short-id'] = $tlsSettings['shortId']; + $array['reality-opts']['short-id'] = $tlsSettings['short_id']; } } } diff --git a/app/Protocols/ClashMeta.php b/app/Protocols/ClashMeta.php index 7b1d0052..f0655ccb 100644 --- a/app/Protocols/ClashMeta.php +++ b/app/Protocols/ClashMeta.php @@ -185,7 +185,7 @@ class ClashMeta if ($server['tls'] == 2) { $array['reality-opts'] = []; $array['reality-opts']['public-key'] = $tlsSettings['public_key']; - $array['reality-opts']['short-id'] = $tlsSettings['shortId']; + $array['reality-opts']['short-id'] = $tlsSettings['short_id']; } } } diff --git a/app/Protocols/ClashVerge.php b/app/Protocols/ClashVerge.php index c1724ae2..7bd04b6a 100644 --- a/app/Protocols/ClashVerge.php +++ b/app/Protocols/ClashVerge.php @@ -185,7 +185,7 @@ class ClashVerge if ($server['tls'] == 2) { $array['reality-opts'] = []; $array['reality-opts']['public-key'] = $tlsSettings['public_key']; - $array['reality-opts']['short-id'] = $tlsSettings['shortId']; + $array['reality-opts']['short-id'] = $tlsSettings['short_id']; } } } diff --git a/app/Protocols/General.php b/app/Protocols/General.php index d864f9d7..3278b414 100644 --- a/app/Protocols/General.php +++ b/app/Protocols/General.php @@ -120,10 +120,10 @@ class General "pbk" => "", "sid" =>"", ]; - + $output = "vless://" . $uuid . "@" . $config['add'] . ":" . $config['port']; $output .= "?" . "type={$config['type']}" . "&encryption={$config['encryption']}" . "&security={$config['security']}"; - + if ($server['tls']) { if ($config['flow'] !="") $output .= "&flow={$config['flow']}"; if ($server['tls_settings']) { @@ -132,7 +132,7 @@ class General $output .= "&sni={$config['sni']}"; if ($server['tls'] == 2) { $config['pbk'] = $tlsSettings['public_key']; - $config['sid'] = $tlsSettings['shortId']; + $config['sid'] = $tlsSettings['short_id']; $output .= "&pbk={$config['pbk']}" . "&sid={$config['sid']}"; } } diff --git a/app/Protocols/Passwall.php b/app/Protocols/Passwall.php index 2faa81a1..b3938090 100644 --- a/app/Protocols/Passwall.php +++ b/app/Protocols/Passwall.php @@ -109,10 +109,10 @@ class Passwall "pbk" => "", "sid" =>"", ]; - + $output = "vless://" . $uuid . "@" . $config['add'] . ":" . $config['port']; $output .= "?" . "type={$config['type']}" . "&encryption={$config['encryption']}" . "&security={$config['security']}"; - + if ($server['tls']) { if ($config['flow'] !="") $output .= "&flow={$config['flow']}"; if ($server['tls_settings']) { @@ -121,7 +121,7 @@ class Passwall $output .= "&sni={$config['sni']}"; if ($server['tls'] == 2) { $config['pbk'] = $tlsSettings['public_key']; - $config['sid'] = $tlsSettings['shortId']; + $config['sid'] = $tlsSettings['short_id']; $output .= "&pbk={$config['pbk']}" . "&sid={$config['sid']}"; } } @@ -136,7 +136,7 @@ class Passwall if (isset($kcpSettings['header']['type'])) $config['headerType'] = $kcpSettings['header']['type']; if (isset($kcpSettings['seed'])) $config['path'] = Helper::encodeURIComponent($kcpSettings['seed']); $output .= "&headerType={$config['headerType']}" . "&seed={$config['path']}"; - } + } if ((string)$server['network'] === 'ws') { $wsSettings = $server['network_settings']; if (isset($wsSettings['path'])) $config['path'] = Helper::encodeURIComponent($wsSettings['path']); @@ -153,11 +153,11 @@ class Passwall $quicSettings = $server['network_settings']; if (isset($quicSettings['security'])) $config['quicSecurity'] = $quicSettings['security']; if (isset($quicSettings['header']['type'])) $config['headerType'] = $quicSettings['header']['type']; - + $output .= "&quicSecurity={$config['quicSecurity']}" . "&headerType={$config['headerType']}"; - + if ((string)$quicSettings['security'] !== 'none' && isset($quicSettings['key'])) $config['path'] = Helper::encodeURIComponent($quicSettings['key']); - + $output .= "&key={$config['path']}"; } if ((string)$server['network'] === 'grpc') { diff --git a/app/Protocols/SSRPlus.php b/app/Protocols/SSRPlus.php index 9003be18..9144a668 100644 --- a/app/Protocols/SSRPlus.php +++ b/app/Protocols/SSRPlus.php @@ -103,10 +103,10 @@ class SSRPlus "pbk" => "", "sid" =>"", ]; - + $output = "vless://" . $uuid . "@" . $config['add'] . ":" . $config['port']; $output .= "?" . "type={$config['type']}" . "&encryption={$config['encryption']}" . "&security={$config['security']}"; - + if ($server['tls']) { if ($config['flow'] !="") $output .= "&flow={$config['flow']}"; if ($server['tls_settings']) { @@ -115,7 +115,7 @@ class SSRPlus $output .= "&sni={$config['sni']}"; if ($server['tls'] == 2) { $config['pbk'] = $tlsSettings['public_key']; - $config['sid'] = $tlsSettings['shortId']; + $config['sid'] = $tlsSettings['short_id']; $output .= "&pbk={$config['pbk']}" . "&sid={$config['sid']}"; } } diff --git a/app/Protocols/SagerNet.php b/app/Protocols/SagerNet.php index 7f743414..73ad16c8 100644 --- a/app/Protocols/SagerNet.php +++ b/app/Protocols/SagerNet.php @@ -115,10 +115,10 @@ class SagerNet "pbk" => "", "sid" =>"", ]; - + $output = "vless://" . $uuid . "@" . $config['add'] . ":" . $config['port']; $output .= "?" . "type={$config['type']}" . "&encryption={$config['encryption']}" . "&security={$config['security']}"; - + if ($server['tls']) { if ($config['flow'] !="") $output .= "&flow={$config['flow']}"; if ($server['tls_settings']) { @@ -127,7 +127,7 @@ class SagerNet $output .= "&sni={$config['sni']}"; if ($server['tls'] == 2) { $config['pbk'] = $tlsSettings['public_key']; - $config['sid'] = $tlsSettings['shortId']; + $config['sid'] = $tlsSettings['short_id']; $output .= "&pbk={$config['pbk']}" . "&sid={$config['sid']}"; } } @@ -142,7 +142,7 @@ class SagerNet if (isset($kcpSettings['header']['type'])) $config['headerType'] = $kcpSettings['header']['type']; if (isset($kcpSettings['seed'])) $config['path'] = Helper::encodeURIComponent($kcpSettings['seed']); $output .= "&headerType={$config['headerType']}" . "&seed={$config['path']}"; - } + } if ((string)$server['network'] === 'ws') { $wsSettings = $server['network_settings']; if (isset($wsSettings['path'])) $config['path'] = Helper::encodeURIComponent($wsSettings['path']); @@ -159,11 +159,11 @@ class SagerNet $quicSettings = $server['network_settings']; if (isset($quicSettings['security'])) $config['quicSecurity'] = $quicSettings['security']; if (isset($quicSettings['header']['type'])) $config['headerType'] = $quicSettings['header']['type']; - + $output .= "&quicSecurity={$config['quicSecurity']}" . "&headerType={$config['headerType']}"; - + if ((string)$quicSettings['security'] !== 'none' && isset($quicSettings['key'])) $config['path'] = Helper::encodeURIComponent($quicSettings['key']); - + $output .= "&key={$config['path']}"; } if ((string)$server['network'] === 'grpc') { diff --git a/app/Protocols/Shadowrocket.php b/app/Protocols/Shadowrocket.php index 2062f16f..84b715b5 100644 --- a/app/Protocols/Shadowrocket.php +++ b/app/Protocols/Shadowrocket.php @@ -143,10 +143,10 @@ class Shadowrocket "pbk" => "", "sid" =>"", ]; - + $output = "vless://" . $uuid . "@" . $config['add'] . ":" . $config['port']; $output .= "?" . "type={$config['type']}" . "&encryption={$config['encryption']}" . "&security={$config['security']}"; - + if ($server['tls']) { if ($config['flow'] !="") $output .= "&flow={$config['flow']}"; if ($server['tls_settings']) { @@ -155,7 +155,7 @@ class Shadowrocket $output .= "&sni={$config['sni']}"; if ($server['tls'] == 2) { $config['pbk'] = $tlsSettings['public_key']; - $config['sid'] = $tlsSettings['shortId']; + $config['sid'] = $tlsSettings['short_id']; $output .= "&pbk={$config['pbk']}" . "&sid={$config['sid']}"; } } @@ -170,7 +170,7 @@ class Shadowrocket if (isset($kcpSettings['header']['type'])) $config['headerType'] = $kcpSettings['header']['type']; if (isset($kcpSettings['seed'])) $config['path'] = Helper::encodeURIComponent($kcpSettings['seed']); $output .= "&headerType={$config['headerType']}" . "&seed={$config['path']}"; - } + } if ((string)$server['network'] === 'ws') { $wsSettings = $server['network_settings']; if (isset($wsSettings['path'])) $config['path'] = Helper::encodeURIComponent($wsSettings['path']); @@ -187,11 +187,11 @@ class Shadowrocket $quicSettings = $server['network_settings']; if (isset($quicSettings['security'])) $config['quicSecurity'] = $quicSettings['security']; if (isset($quicSettings['header']['type'])) $config['headerType'] = $quicSettings['header']['type']; - + $output .= "&quicSecurity={$config['quicSecurity']}" . "&headerType={$config['headerType']}"; - + if ((string)$quicSettings['security'] !== 'none' && isset($quicSettings['key'])) $config['path'] = Helper::encodeURIComponent($quicSettings['key']); - + $output .= "&key={$config['path']}"; } if ((string)$server['network'] === 'grpc') { diff --git a/app/Protocols/Stash.php b/app/Protocols/Stash.php index 726d5ba9..f0d0414c 100644 --- a/app/Protocols/Stash.php +++ b/app/Protocols/Stash.php @@ -184,7 +184,7 @@ class Stash if ($server['tls'] == 2) { $array['reality-opts'] = []; $array['reality-opts']['public-key'] = $tlsSettings['public_key']; - $array['reality-opts']['short-id'] = $tlsSettings['shortId']; + $array['reality-opts']['short-id'] = $tlsSettings['short_id']; } } } diff --git a/app/Protocols/V2rayN.php b/app/Protocols/V2rayN.php index 1ed77193..c3ed422e 100644 --- a/app/Protocols/V2rayN.php +++ b/app/Protocols/V2rayN.php @@ -120,10 +120,10 @@ class V2rayN "pbk" => "", "sid" =>"", ]; - + $output = "vless://" . $uuid . "@" . $config['add'] . ":" . $config['port']; $output .= "?" . "type={$config['type']}" . "&encryption={$config['encryption']}" . "&security={$config['security']}"; - + if ($server['tls']) { if ($config['flow'] !="") $output .= "&flow={$config['flow']}"; if ($server['tls_settings']) { @@ -132,7 +132,7 @@ class V2rayN $output .= "&sni={$config['sni']}"; if ($server['tls'] == 2) { $config['pbk'] = $tlsSettings['public_key']; - $config['sid'] = $tlsSettings['shortId']; + $config['sid'] = $tlsSettings['short_id']; $output .= "&pbk={$config['pbk']}" . "&sid={$config['sid']}"; } } diff --git a/app/Protocols/V2rayNG.php b/app/Protocols/V2rayNG.php index aeebd1a5..a91deeb7 100644 --- a/app/Protocols/V2rayNG.php +++ b/app/Protocols/V2rayNG.php @@ -109,10 +109,10 @@ class V2rayNG "pbk" => "", "sid" =>"", ]; - + $output = "vless://" . $uuid . "@" . $config['add'] . ":" . $config['port']; $output .= "?" . "type={$config['type']}" . "&encryption={$config['encryption']}" . "&security={$config['security']}"; - + if ($server['tls']) { if ($config['flow'] !="") $output .= "&flow={$config['flow']}"; if ($server['tls_settings']) { @@ -121,7 +121,7 @@ class V2rayNG $output .= "&sni={$config['sni']}"; if ($server['tls'] == 2) { $config['pbk'] = $tlsSettings['public_key']; - $config['sid'] = $tlsSettings['shortId']; + $config['sid'] = $tlsSettings['short_id']; $output .= "&pbk={$config['pbk']}" . "&sid={$config['sid']}"; } } @@ -136,7 +136,7 @@ class V2rayNG if (isset($kcpSettings['header']['type'])) $config['headerType'] = $kcpSettings['header']['type']; if (isset($kcpSettings['seed'])) $config['path'] = Helper::encodeURIComponent($kcpSettings['seed']); $output .= "&headerType={$config['headerType']}" . "&seed={$config['path']}"; - } + } if ((string)$server['network'] === 'ws') { $wsSettings = $server['network_settings']; if (isset($wsSettings['path'])) $config['path'] = Helper::encodeURIComponent($wsSettings['path']); @@ -153,11 +153,11 @@ class V2rayNG $quicSettings = $server['network_settings']; if (isset($quicSettings['security'])) $config['quicSecurity'] = $quicSettings['security']; if (isset($quicSettings['header']['type'])) $config['headerType'] = $quicSettings['header']['type']; - + $output .= "&quicSecurity={$config['quicSecurity']}" . "&headerType={$config['headerType']}"; - + if ((string)$quicSettings['security'] !== 'none' && isset($quicSettings['key'])) $config['path'] = Helper::encodeURIComponent($quicSettings['key']); - + $output .= "&key={$config['path']}"; } if ((string)$server['network'] === 'grpc') { diff --git a/public/assets/admin/umi.js b/public/assets/admin/umi.js index b6ca942f..2114123f 100644 --- a/public/assets/admin/umi.js +++ b/public/assets/admin/umi.js @@ -102231,7 +102231,8 @@ , n = e.allow_insecure , pv = e.private_key , pb = e.public_key - , sd = e.shortId; + , sd = e.short_id + , pt = e.server_port; return y.a.createElement(y.a.Fragment, null, y.a.createElement("div", null, y.a.createElement("div", { className: "form-group" }, y.a.createElement("label", null, "Server Name"), y.a.createElement(s["a"], { @@ -102240,6 +102241,12 @@ placeholder: "REALITY\u5fc5\u586b\uff0c\u4e0e\u540e\u7aef\u4fdd\u6301\u4e00\u81f4" })), y.a.createElement("div", { className: "form-group" + }, y.a.createElement("label", null, "Server Port"), y.a.createElement(s["a"], { + value: pt, + onChange: e=>this.change("server_port", e.target.value), + placeholder: "REALITY\u76ee\u6807\u7aef\u53e3,\u9ed8\u8ba4443" + })), y.a.createElement("div", { + className: "form-group" }, y.a.createElement("label", null, "Private Key"), y.a.createElement(s["a"], { value: pv, onChange: e=>this.change("private_key", e.target.value), @@ -102254,7 +102261,7 @@ className: "form-group" }, y.a.createElement("label", null, "ShortId"), y.a.createElement(s["a"], { value: sd, - onChange: e=>this.change("shortId", e.target.value), + onChange: e=>this.change("short_id", e.target.value), placeholder: "\u7559\u7a7a\u81ea\u52a8\u751f\u6210" })), y.a.createElement("div", { className: "form-group"