mirror of
https://github.com/lkddi/Xboard.git
synced 2026-04-03 18:40:52 +08:00
Merge pull request #832 from Dlphine/fix/raw-array-access-data-get
fix: replace raw array access with data_get() to prevent Undefined array key
This commit is contained in:
@@ -61,7 +61,7 @@ class General extends AbstractProtocol
|
||||
$str = str_replace(
|
||||
['+', '/', '='],
|
||||
['-', '_', ''],
|
||||
base64_encode("{$protocol_settings['cipher']}:{$password}")
|
||||
base64_encode(data_get($protocol_settings, 'cipher') . ":{$password}")
|
||||
);
|
||||
$addr = Helper::wrapIPv6($server['host']);
|
||||
$plugin = data_get($protocol_settings, 'plugin');
|
||||
@@ -84,11 +84,11 @@ class General extends AbstractProtocol
|
||||
"port" => (string) $server['port'],
|
||||
"id" => $uuid,
|
||||
"aid" => '0',
|
||||
"net" => $server['protocol_settings']['network'],
|
||||
"net" => data_get($server, 'protocol_settings.network'),
|
||||
"type" => "none",
|
||||
"host" => "",
|
||||
"path" => "",
|
||||
"tls" => $protocol_settings['tls'] ? "tls" : "",
|
||||
"tls" => data_get($protocol_settings, 'tls') ? "tls" : "",
|
||||
];
|
||||
if ($serverName = data_get($protocol_settings, 'tls_settings.server_name')) {
|
||||
$config['sni'] = $serverName;
|
||||
@@ -97,7 +97,7 @@ class General extends AbstractProtocol
|
||||
$config['fp'] = $fp;
|
||||
}
|
||||
|
||||
switch ($protocol_settings['network']) {
|
||||
switch (data_get($protocol_settings, 'network')) {
|
||||
case 'tcp':
|
||||
if (data_get($protocol_settings, 'network_settings.header.type', 'none') !== 'none') {
|
||||
$config['type'] = data_get($protocol_settings, 'network_settings.header.type', 'http');
|
||||
@@ -152,11 +152,11 @@ class General extends AbstractProtocol
|
||||
'mode' => 'multi', //grpc传输模式
|
||||
'security' => '', //传输层安全 tls/reality
|
||||
'encryption' => 'none', //加密方式
|
||||
'type' => $server['protocol_settings']['network'], //传输协议
|
||||
'type' => data_get($server, 'protocol_settings.network'), //传输协议
|
||||
'flow' => data_get($protocol_settings, 'flow'),
|
||||
];
|
||||
// 处理TLS
|
||||
switch ($server['protocol_settings']['tls']) {
|
||||
switch (data_get($server, 'protocol_settings.tls')) {
|
||||
case 1:
|
||||
$config['security'] = "tls";
|
||||
if ($fp = Helper::getTlsFingerprint(data_get($protocol_settings, 'utls'))) {
|
||||
@@ -184,7 +184,7 @@ class General extends AbstractProtocol
|
||||
break;
|
||||
}
|
||||
// 处理传输协议
|
||||
switch ($server['protocol_settings']['network']) {
|
||||
switch (data_get($server, 'protocol_settings.network')) {
|
||||
case 'ws':
|
||||
if ($path = data_get($protocol_settings, 'network_settings.path'))
|
||||
$config['path'] = $path;
|
||||
@@ -256,7 +256,7 @@ class General extends AbstractProtocol
|
||||
break;
|
||||
}
|
||||
|
||||
switch ($server['protocol_settings']['network']) {
|
||||
switch (data_get($server, 'protocol_settings.network')) {
|
||||
case 'ws':
|
||||
$array['type'] = 'ws';
|
||||
if ($path = data_get($protocol_settings, 'network_settings.path'))
|
||||
|
||||
@@ -46,7 +46,7 @@ class QuantumultX extends AbstractProtocol
|
||||
$addr = Helper::wrapIPv6($server['host']);
|
||||
$config = [
|
||||
"shadowsocks={$addr}:{$server['port']}",
|
||||
"method={$protocol_settings['cipher']}",
|
||||
"method=" . data_get($protocol_settings, 'cipher'),
|
||||
"password={$password}",
|
||||
];
|
||||
|
||||
|
||||
@@ -76,7 +76,7 @@ class Shadowrocket extends AbstractProtocol
|
||||
$str = str_replace(
|
||||
['+', '/', '='],
|
||||
['-', '_', ''],
|
||||
base64_encode("{$protocol_settings['cipher']}:{$password}")
|
||||
base64_encode(data_get($protocol_settings, 'cipher') . ":{$password}")
|
||||
);
|
||||
$addr = Helper::wrapIPv6($server['host']);
|
||||
|
||||
@@ -98,7 +98,7 @@ class Shadowrocket extends AbstractProtocol
|
||||
'remark' => $server['name'],
|
||||
'alterId' => 0
|
||||
];
|
||||
if ($protocol_settings['tls']) {
|
||||
if (data_get($protocol_settings, 'tls')) {
|
||||
$config['tls'] = 1;
|
||||
if (data_get($protocol_settings, 'tls_settings')) {
|
||||
if (!!data_get($protocol_settings, 'tls_settings.allow_insecure'))
|
||||
@@ -352,7 +352,7 @@ class Shadowrocket extends AbstractProtocol
|
||||
}
|
||||
$params['insecure'] = data_get($protocol_settings, 'tls.allow_insecure');
|
||||
if (isset($protocol_settings['hop_interval'])) {
|
||||
$params['keepalive'] = $protocol_settings['hop_interval'];
|
||||
$params['keepalive'] = data_get($protocol_settings, 'hop_interval');
|
||||
}
|
||||
if (isset($server['ports'])) {
|
||||
$params['mport'] = $server['ports'];
|
||||
|
||||
@@ -434,8 +434,8 @@ class SingBox extends AbstractProtocol
|
||||
$array['flow'] = $flow;
|
||||
}
|
||||
|
||||
if ($protocol_settings['tls']) {
|
||||
$tlsMode = (int) $protocol_settings['tls'];
|
||||
if (data_get($protocol_settings, 'tls')) {
|
||||
$tlsMode = (int) data_get($protocol_settings, 'tls', 0);
|
||||
$tlsConfig = [
|
||||
'enabled' => true,
|
||||
'insecure' => $tlsMode === 2
|
||||
|
||||
@@ -89,7 +89,7 @@ class Surfboard extends AbstractProtocol
|
||||
"{$server['name']}=ss",
|
||||
"{$server['host']}",
|
||||
"{$server['port']}",
|
||||
"encrypt-method={$protocol_settings['cipher']}",
|
||||
"encrypt-method=" . data_get($protocol_settings, 'cipher'),
|
||||
"password={$password}",
|
||||
'tfo=true',
|
||||
'udp-relay=true'
|
||||
|
||||
Reference in New Issue
Block a user