@@ -16,6 +16,7 @@ import { ClashAPIConfig } from 'src/types';
16
16
17
17
import * as connAPI from '../api/connections' ;
18
18
import * as proxiesAPI from '../api/proxies' ;
19
+ import { fetchVersion } from 'src/api/version' ; // 导入 fetchVersion
19
20
import { getAutoCloseOldConns , getLatencyTestUrl } from './app' ;
20
21
21
22
export const initialState : StateProxies = {
@@ -67,6 +68,8 @@ function mapLatency(names: string[], getProxy: (name: string) => { history: Late
67
68
68
69
export function fetchProxies ( apiConfig : ClashAPIConfig ) {
69
70
return async ( dispatch : any , getState : any ) => {
71
+ const { meta, premium } = await fetchVersion ( '/version' , apiConfig ) ;
72
+
70
73
const [ proxiesData , providersData ] = await Promise . all ( [
71
74
proxiesAPI . fetchProxies ( apiConfig ) ,
72
75
proxiesAPI . fetchProviderProxies ( apiConfig ) ,
@@ -75,7 +78,7 @@ export function fetchProxies(apiConfig: ClashAPIConfig) {
75
78
const { proxyProviders, providerProxyRecord } = formatProxyProviders ( providersData . providers ) ;
76
79
77
80
const proxies = { ...providerProxyRecord , ...proxiesData . proxies } ;
78
- const [ groupNames , proxyNames ] = retrieveGroupNamesFrom ( proxies ) ;
81
+ const [ groupNames , proxyNames ] = retrieveGroupNamesFrom ( proxies , { meta , premium } ) ;
79
82
80
83
const delayNext = {
81
84
...getDelay ( getState ( ) ) ,
@@ -357,13 +360,19 @@ export function requestDelayAll(apiConfig: ClashAPIConfig) {
357
360
} ;
358
361
}
359
362
360
- function retrieveGroupNamesFrom ( proxies : Record < string , ProxyItem > ) {
363
+ function retrieveGroupNamesFrom (
364
+ proxies : Record < string , ProxyItem > ,
365
+ version : { meta : boolean ; premium : boolean }
366
+ ) {
361
367
let groupNames = [ ] ;
362
368
let globalAll : string [ ] ;
363
369
const proxyNames = [ ] ;
364
370
for ( const prop in proxies ) {
365
371
const p = proxies [ prop ] ;
366
372
if ( p . all && Array . isArray ( p . all ) ) {
373
+ if ( prop === 'GLOBAL' && version . meta && version . premium ) {
374
+ continue ;
375
+ }
367
376
groupNames . push ( prop ) ;
368
377
if ( prop === 'GLOBAL' ) {
369
378
globalAll = Array . from ( p . all ) ;
0 commit comments