5
5
6
6
namespace Cesxhin . AnimeManga . Modules . Proxy
7
7
{
8
- public static class ProxyManagement
8
+ public class ProxyManagement
9
9
{
10
- private static List < string > GetList ( string name )
11
- {
12
- var env = Environment . GetEnvironmentVariable ( name ) ;
13
- List < string > listEnv = new ( ) ;
14
-
15
- if ( ! string . IsNullOrEmpty ( env ) )
16
- listEnv . AddRange ( env . Split ( ',' ) ) ;
17
-
18
- return listEnv ;
19
- }
20
-
21
- private static JObject GetBlackList ( )
22
- {
23
- var blackList = Environment . GetEnvironmentVariable ( "BLACK_LIST_PROXY" ) ;
24
- var jsonBlackList = new JObject ( ) ;
25
-
26
- if ( blackList != null )
27
- jsonBlackList = JObject . Parse ( blackList ) ;
10
+ private string blackList = "" ;
11
+ private List < string > listProxy = new ( ) ;
28
12
29
- return jsonBlackList ;
30
- }
31
- public static void InitProxy ( )
13
+ public void InitProxy ( )
32
14
{
33
15
var enableProxy = Environment . GetEnvironmentVariable ( "PROXY_ENABLE" ) ?? "false" ;
34
16
35
17
if ( enableProxy == "true" )
36
18
{
37
- var listProxy = System . IO . File . ReadAllText ( "proxy.txt" ) ;
38
-
39
- Environment . SetEnvironmentVariable ( "LIST_PROXY" , listProxy ) ;
19
+ listProxy = System . IO . File . ReadAllText ( "proxy.txt" ) . Split ( "," ) . ToList ( ) ;
40
20
}
41
21
}
42
22
43
- public static List < string > GetAllIP ( )
23
+ public List < string > GetAllIP ( )
44
24
{
45
- return GetList ( "LIST_PROXY" ) ;
25
+ return listProxy ;
46
26
}
47
27
48
- public static string GetIp ( string id )
28
+ public string GetIp ( )
49
29
{
50
- var enableProxy = Environment . GetEnvironmentVariable ( "PROXY_ENABLE" ) ?? "false" ;
51
-
52
- if ( enableProxy == "true" )
30
+ if ( EnableProxy ( ) )
53
31
{
54
- var listProxy = GetList ( "LIST_PROXY" ) ;
55
- var blackProxyJson = GetBlackList ( ) ;
32
+ var listBlackProxy = blackList . Split ( "," ) . ToList ( ) ;
56
33
57
- if ( blackProxyJson . ContainsKey ( id ) )
34
+ foreach ( var blackProxy in listBlackProxy )
58
35
{
59
- var listBlackProxy = ( ( string ) blackProxyJson [ id ] ) . Split ( "," ) . ToList ( ) ;
60
-
61
- foreach ( var blackProxy in listBlackProxy )
62
- {
63
- listProxy = listProxy . Where ( e => e != blackProxy ) . ToList ( ) ;
64
- }
36
+ listProxy = listProxy . Where ( e => e != blackProxy ) . ToList ( ) ;
65
37
}
66
38
67
39
if ( listProxy . Count > 0 )
@@ -73,25 +45,21 @@ public static string GetIp(string id)
73
45
return null ;
74
46
}
75
47
76
- public static bool EnableProxy ( )
48
+ public bool EnableProxy ( )
77
49
{
78
50
var enableProxy = Environment . GetEnvironmentVariable ( "PROXY_ENABLE" ) ?? "false" ;
79
51
return enableProxy == "true" ;
80
52
}
81
53
82
- public static void BlackListAdd ( string ip , string id )
54
+ public void BlackListAdd ( string ip )
83
55
{
84
- var jsonBlackList = GetBlackList ( ) ;
85
- if ( jsonBlackList . ContainsKey ( id ) )
56
+ var list = blackList . Split ( "," ) . ToList ( ) ;
57
+
58
+ if ( list . Find ( e => e == ip ) == null )
86
59
{
87
- var list = ( ( string ) jsonBlackList [ id ] ) . Split ( "," ) . ToList ( ) ;
88
60
list . Add ( ip ) ;
89
- jsonBlackList [ id ] = string . Join ( "," , list ) ;
61
+ blackList = string . Join ( "," , list ) ;
90
62
}
91
- else
92
- jsonBlackList [ id ] = ip ;
93
-
94
- Environment . SetEnvironmentVariable ( "BLACK_LIST_PROXY" , jsonBlackList . ToString ( ) ) ;
95
63
}
96
64
}
97
65
}
0 commit comments