mirror of
https://github.com/v2board/v2board.git
synced 2025-03-12 21:54:42 +08:00
Merge 982ec97361776418596ca6c4b6f4dada5dda6553 into 0ca47622a50116d0ddd7ffb316b157afb57d25e8
This commit is contained in:
commit
9d77b3d34f
24
app/Http/Controllers/Client/Protocols/Clash.php
Normal file → Executable file
24
app/Http/Controllers/Client/Protocols/Clash.php
Normal file → Executable file
@ -62,20 +62,22 @@ class Clash
|
||||
$config['proxies'] = array_merge($config['proxies'] ? $config['proxies'] : [], $proxy);
|
||||
foreach ($config['proxy-groups'] as $k => $v) {
|
||||
if (!is_array($config['proxy-groups'][$k]['proxies'])) $config['proxy-groups'][$k]['proxies'] = [];
|
||||
$isFilter = false;
|
||||
foreach ($config['proxy-groups'][$k]['proxies'] as $src) {
|
||||
foreach ($proxies as $dst) {
|
||||
if (!$this->isRegex($src)) continue;
|
||||
$isFilter = true;
|
||||
$config['proxy-groups'][$k]['proxies'] = array_values(array_diff($config['proxy-groups'][$k]['proxies'], [$src]));
|
||||
if ($this->isMatch($src, $dst)) {
|
||||
array_push($config['proxy-groups'][$k]['proxies'], $dst);
|
||||
$updatedProxies = [];
|
||||
foreach ($config['proxy-groups'][$k]['proxies'] as $index => $src) {
|
||||
if ($this->isRegex($src)) {
|
||||
foreach ($proxies as $dst) {
|
||||
if ($this->isMatch($src, $dst)) {
|
||||
$updatedProxies[] = $dst;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$updatedProxies[] = $src;
|
||||
}
|
||||
if ($isFilter) continue;
|
||||
}
|
||||
if ($isFilter) continue;
|
||||
$config['proxy-groups'][$k]['proxies'] = array_merge($config['proxy-groups'][$k]['proxies'], $proxies);
|
||||
if (empty($updatedProxies) && !empty($config['proxy-groups'][$k]['proxies'])) {
|
||||
$updatedProxies = array_merge($updatedProxies, $proxies);
|
||||
}
|
||||
$config['proxy-groups'][$k]['proxies'] = $updatedProxies;
|
||||
}
|
||||
|
||||
$config['proxy-groups'] = array_filter($config['proxy-groups'], function($group) {
|
||||
|
24
app/Http/Controllers/Client/Protocols/ClashMeta.php
Normal file → Executable file
24
app/Http/Controllers/Client/Protocols/ClashMeta.php
Normal file → Executable file
@ -53,20 +53,22 @@ class ClashMeta
|
||||
$config['proxies'] = array_merge($config['proxies'] ? $config['proxies'] : [], $proxy);
|
||||
foreach ($config['proxy-groups'] as $k => $v) {
|
||||
if (!is_array($config['proxy-groups'][$k]['proxies'])) $config['proxy-groups'][$k]['proxies'] = [];
|
||||
$isFilter = false;
|
||||
foreach ($config['proxy-groups'][$k]['proxies'] as $src) {
|
||||
foreach ($proxies as $dst) {
|
||||
if (!$this->isRegex($src)) continue;
|
||||
$isFilter = true;
|
||||
$config['proxy-groups'][$k]['proxies'] = array_values(array_diff($config['proxy-groups'][$k]['proxies'], [$src]));
|
||||
if ($this->isMatch($src, $dst)) {
|
||||
array_push($config['proxy-groups'][$k]['proxies'], $dst);
|
||||
$updatedProxies = [];
|
||||
foreach ($config['proxy-groups'][$k]['proxies'] as $index => $src) {
|
||||
if ($this->isRegex($src)) {
|
||||
foreach ($proxies as $dst) {
|
||||
if ($this->isMatch($src, $dst)) {
|
||||
$updatedProxies[] = $dst;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$updatedProxies[] = $src;
|
||||
}
|
||||
if ($isFilter) continue;
|
||||
}
|
||||
if ($isFilter) continue;
|
||||
$config['proxy-groups'][$k]['proxies'] = array_merge($config['proxy-groups'][$k]['proxies'], $proxies);
|
||||
if (empty($updatedProxies) && !empty($config['proxy-groups'][$k]['proxies'])) {
|
||||
$updatedProxies = array_merge($updatedProxies, $proxies);
|
||||
}
|
||||
$config['proxy-groups'][$k]['proxies'] = $updatedProxies;
|
||||
}
|
||||
$config['proxy-groups'] = array_filter($config['proxy-groups'], function($group) {
|
||||
return $group['proxies'];
|
||||
|
26
app/Http/Controllers/Client/Protocols/Stash.php
Normal file → Executable file
26
app/Http/Controllers/Client/Protocols/Stash.php
Normal file → Executable file
@ -59,21 +59,23 @@ class Stash
|
||||
|
||||
$config['proxies'] = array_merge($config['proxies'] ? $config['proxies'] : [], $proxy);
|
||||
foreach ($config['proxy-groups'] as $k => $v) {
|
||||
if (!is_array($config['proxy-groups'][$k]['proxies'])) continue;
|
||||
$isFilter = false;
|
||||
foreach ($config['proxy-groups'][$k]['proxies'] as $src) {
|
||||
foreach ($proxies as $dst) {
|
||||
if (!$this->isRegex($src)) continue;
|
||||
$isFilter = true;
|
||||
$config['proxy-groups'][$k]['proxies'] = array_values(array_diff($config['proxy-groups'][$k]['proxies'], [$src]));
|
||||
if ($this->isMatch($src, $dst)) {
|
||||
array_push($config['proxy-groups'][$k]['proxies'], $dst);
|
||||
if (!is_array($config['proxy-groups'][$k]['proxies'])) $config['proxy-groups'][$k]['proxies'] = [];
|
||||
$updatedProxies = [];
|
||||
foreach ($config['proxy-groups'][$k]['proxies'] as $index => $src) {
|
||||
if ($this->isRegex($src)) {
|
||||
foreach ($proxies as $dst) {
|
||||
if ($this->isMatch($src, $dst)) {
|
||||
$updatedProxies[] = $dst;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$updatedProxies[] = $src;
|
||||
}
|
||||
if ($isFilter) continue;
|
||||
}
|
||||
if ($isFilter) continue;
|
||||
$config['proxy-groups'][$k]['proxies'] = array_merge($config['proxy-groups'][$k]['proxies'], $proxies);
|
||||
if (empty($updatedProxies) && !empty($config['proxy-groups'][$k]['proxies'])) {
|
||||
$updatedProxies = array_merge($updatedProxies, $proxies);
|
||||
}
|
||||
$config['proxy-groups'][$k]['proxies'] = $updatedProxies;
|
||||
}
|
||||
$config['proxy-groups'] = array_filter($config['proxy-groups'], function($group) {
|
||||
return $group['proxies'];
|
||||
|
Loading…
x
Reference in New Issue
Block a user