main
1{
2 flake.modules.nixos."services/mihomo" = _: let
3 FilterHK = "^(?=.*((?i)๐ญ๐ฐ|้ฆๆธฏ|\\b(HK|Hong)(\\d+)?\\b))(?!.*((?i)ๅๅฝ|ๆ กๅญ|็ฝ็ซ|ๅฐๅ|ๅฉไฝ|่ฟๆ|ๆถ้ด|ๆๆ|็ฝๅ|็ฆๆญข|้ฎ็ฎฑ|ๅๅธ|ๅฎขๆ|่ฎข้
|่็น)).*$";
4 FilterTW = "^(?=.*((?i)๐น๐ผ|ๅฐๆนพ|\\b(TW|Tai|Taiwan)(\\d+)?\\b))(?!.*((?i)ๅๅฝ|ๆ กๅญ|็ฝ็ซ|ๅฐๅ|ๅฉไฝ|่ฟๆ|ๆถ้ด|ๆๆ|็ฝๅ|็ฆๆญข|้ฎ็ฎฑ|ๅๅธ|ๅฎขๆ|่ฎข้
|่็น)).*$";
5 FilterJP = "^(?=.*((?i)๐ฏ๐ต|ๆฅๆฌ|ๅทๆฅ|ไธไบฌ|ๅคง้ช|ๆณๆฅ|ๅผ็|\\b(JP|Japan)(\\d+)?\\b))(?!.*((?i)ๅๅฝ|ๆ กๅญ|็ฝ็ซ|ๅฐๅ|ๅฉไฝ|่ฟๆ|ๆถ้ด|ๆๆ|็ฝๅ|็ฆๆญข|้ฎ็ฎฑ|ๅๅธ|ๅฎขๆ|่ฎข้
|่็น)).*$";
6 FilterKR = "^(?=.*((?i)๐ฐ๐ท|้ฉๅฝ|้|้ฆๅฐ|\\b(KR|Korea)(\\d+)?\\b))(?!.*((?i)ๅๅฝ|ๆ กๅญ|็ฝ็ซ|ๅฐๅ|ๅฉไฝ|่ฟๆ|ๆถ้ด|ๆๆ|็ฝๅ|็ฆๆญข|้ฎ็ฎฑ|ๅๅธ|ๅฎขๆ|่ฎข้
|่็น)).*$";
7 FilterSG = "^(?=.*((?i)๐ธ๐ฌ|ๆฐๅ ๅก|็ฎ|\\b(SG|Singapore)(\\d+)?\\b))(?!.*((?i)ๅๅฝ|ๆ กๅญ|็ฝ็ซ|ๅฐๅ|ๅฉไฝ|่ฟๆ|ๆถ้ด|ๆๆ|็ฝๅ|็ฆๆญข|้ฎ็ฎฑ|ๅๅธ|ๅฎขๆ|่ฎข้
|่็น)).*$";
8 FilterUS = "^(?=.*((?i)๐บ๐ธ|็พๅฝ|ๆณข็นๅ
ฐ|่พพๆๆฏ|ไฟๅๅ|ๅคๅฐๅ|่ดนๅฉ่|็ก
่ฐท|ๆๆฏ็ปดๅ ๆฏ|ๆดๆ็ถ|ๅฃไฝๅก|ๅฃๅ
ๆๆ|่ฅฟ้
ๅพ|่ๅ ๅฅ|\\b(US|United States)(\\d+)?\\b))(?!.*((?i)ๅๅฝ|ๆ กๅญ|็ฝ็ซ|ๅฐๅ|ๅฉไฝ|่ฟๆ|ๆถ้ด|ๆๆ|็ฝๅ|็ฆๆญข|้ฎ็ฎฑ|ๅๅธ|ๅฎขๆ|่ฎข้
|่็น)).*$";
9 FilterUK = "^(?=.*((?i)๐ฌ๐ง|่ฑๅฝ|ไผฆๆฆ|\\b(UK|United Kingdom)(\\d+)?\\b))(?!.*((?i)ๅๅฝ|ๆ กๅญ|็ฝ็ซ|ๅฐๅ|ๅฉไฝ|่ฟๆ|ๆถ้ด|ๆๆ|็ฝๅ|็ฆๆญข|้ฎ็ฎฑ|ๅๅธ|ๅฎขๆ|่ฎข้
|่็น)).*$";
10 FilterFR = "^(?=.*((?i)๐ซ๐ท|ๆณๅฝ|\\b(FR|France)(\\d+)?\\b))(?!.*((?i)ๅๅฝ|ๆ กๅญ|็ฝ็ซ|ๅฐๅ|ๅฉไฝ|่ฟๆ|ๆถ้ด|ๆๆ|็ฝๅ|็ฆๆญข|้ฎ็ฎฑ|ๅๅธ|ๅฎขๆ|่ฎข้
|่็น)).*$";
11 FilterDE = "^(?=.*((?i)๐ฉ๐ช|ๅพทๅฝ|\\b(DE|Germany)(\\d+)?\\b))(?!.*((?i)ๅๅฝ|ๆ กๅญ|็ฝ็ซ|ๅฐๅ|ๅฉไฝ|่ฟๆ|ๆถ้ด|ๆๆ|็ฝๅ|็ฆๆญข|้ฎ็ฎฑ|ๅๅธ|ๅฎขๆ|่ฎข้
|่็น)).*$";
12 FilterOthers = "^(?!.*(๐ญ๐ฐ|HK|Hong|้ฆๆธฏ|๐น๐ผ|TW|Taiwan|Wan|๐ฏ๐ต|JP|Japan|ๆฅๆฌ|๐ธ๐ฌ|SG|Singapore|็ฎๅ|๐บ๐ธ|US|United States|America|็พๅฝ|๐ฉ๐ช|DE|Germany|ๅพทๅฝ|๐ฌ๐ง|UK|United Kingdom|่ฑๅฝ|๐ฐ๐ท|KR|Korea|้ฉๅฝ|้|๐ซ๐ท|FR|France|ๆณๅฝ)).*$";
13 FilterAll = "^(?=.*(.))(?!.*((?i)็พค|้่ฏท|่ฟๅฉ|ๅพช็ฏ|ๅฎ็ฝ|ๅฎขๆ|็ฝ็ซ|็ฝๅ|่ทๅ|่ฎข้
|ๆต้|ๅฐๆ|ๆบๅบ|ไธๆฌก|็ๆฌ|ๅฎๅ|ๅค็จ|่ฟๆ|ๅทฒ็จ|่็ณป|้ฎ็ฎฑ|ๅทฅๅ|่ดฉๅ|้็ฅ|ๅๅ|้ฒๆญข|ๅฝๅ
|ๅฐๅ|้ข้|ๆ ๆณ|่ฏดๆ|ไฝฟ็จ|ๆ็คบ|็นๅซ|่ฎฟ้ฎ|ๆฏๆ|ๆ็จ|ๅ
ณๆณจ|ๆดๆฐ|ไฝ่
|ๅ ๅ
ฅ|(\\b(USE|USED|TOTAL|EXPIRE|EMAIL|Panel|Channel|Author)\\b|(\\d{4}-\\d{2}-\\d{2}|\\d+G)))).*$";
14
15 Select = {
16 type = "select";
17 url = "http://connectivitycheck.platform.hicloud.com/generate_204";
18 disable-udp = false;
19 hidden = false;
20 include-all = true;
21 };
22 Auto = {
23 type = "url-test";
24 url = "http://connectivitycheck.platform.hicloud.com/generate_204";
25 interval = 300;
26 tolerance = 50;
27 disable-udp = false;
28 hidden = true;
29 include-all = true;
30 };
31 in {
32 services.mihomo.config.proxy-groups =
33 [
34 # ไธป้ๆฉ็ป
35 {
36 name = "๐ฏ ่็น้ๆฉ";
37 type = "select";
38 proxies = ["่ชๅจ้ๆฉ" "ๆๅจ้ๆฉ" "DIRECT"];
39 url = "http://connectivitycheck.platform.hicloud.com/generate_204";
40 icon = "https://raw.githubusercontent.com/Orz-3/mini/master/Color/Static.png";
41 }
42 # ๆๅจ/่ชๅจ
43 {
44 name = "ๆๅจ้ๆฉ";
45 type = "select";
46 proxies = [
47 "๐ญ๐ฐ - ๆๅจ้ๆฉ"
48 "๐ฏ๐ต - ๆๅจ้ๆฉ"
49 "๐ฐ๐ท - ๆๅจ้ๆฉ"
50 "๐ธ๐ฌ - ๆๅจ้ๆฉ"
51 "๐บ๐ธ - ๆๅจ้ๆฉ"
52 "๐ฌ๐ง - ๆๅจ้ๆฉ"
53 "๐ซ๐ท - ๆๅจ้ๆฉ"
54 "๐ฉ๐ช - ๆๅจ้ๆฉ"
55 "๐น๐ผ - ๆๅจ้ๆฉ"
56 "Others - ๆๅจ้ๆฉ"
57 ];
58 url = "http://connectivitycheck.platform.hicloud.com/generate_204";
59 icon = "https://raw.githubusercontent.com/Orz-3/mini/master/Color/Cylink.png";
60 }
61 {
62 name = "่ชๅจ้ๆฉ";
63 type = "select";
64 proxies = [
65 "๐ญ๐ฐ - ่ชๅจ้ๆฉ"
66 "๐ฏ๐ต - ่ชๅจ้ๆฉ"
67 "๐ฐ๐ท - ่ชๅจ้ๆฉ"
68 "๐ธ๐ฌ - ่ชๅจ้ๆฉ"
69 "๐บ๐ธ - ่ชๅจ้ๆฉ"
70 "๐ฌ๐ง - ่ชๅจ้ๆฉ"
71 "๐ซ๐ท - ่ชๅจ้ๆฉ"
72 "๐ฉ๐ช - ่ชๅจ้ๆฉ"
73 "๐น๐ผ - ่ชๅจ้ๆฉ"
74 ];
75 url = "http://connectivitycheck.platform.hicloud.com/generate_204";
76 icon = "https://raw.githubusercontent.com/Orz-3/mini/master/Color/Urltest.png";
77 }
78 # ๅบ็จๅ็ป
79 {
80 name = "โ๏ธ ็ตๆฅไฟกๆฏ";
81 type = "select";
82 proxies = [
83 "๐ฏ ่็น้ๆฉ"
84 "๐ญ๐ฐ - ่ชๅจ้ๆฉ"
85 "๐ฏ๐ต - ่ชๅจ้ๆฉ"
86 "๐ธ๐ฌ - ่ชๅจ้ๆฉ"
87 "๐บ๐ธ - ่ชๅจ้ๆฉ"
88 ];
89 icon = "https://raw.githubusercontent.com/Orz-3/mini/master/Color/Telegram.png";
90 }
91 {
92 name = "๐ค AIGC";
93 type = "select";
94 proxies = [
95 "๐บ๐ธ - ่ชๅจ้ๆฉ"
96 "๐ฏ ่็น้ๆฉ"
97 "๐ญ๐ฐ - ่ชๅจ้ๆฉ"
98 "๐ฏ๐ต - ่ชๅจ้ๆฉ"
99 "๐ธ๐ฌ - ่ชๅจ้ๆฉ"
100 ];
101 icon = "https://raw.githubusercontent.com/Orz-3/mini/master/Color/OpenAI.png";
102 }
103 {
104 name = "๐ ่นๆๆๅก";
105 type = "select";
106 proxies = ["DIRECT" "๐ฏ ่็น้ๆฉ" "๐ญ๐ฐ - ่ชๅจ้ๆฉ" "๐บ๐ธ - ่ชๅจ้ๆฉ"];
107 icon = "https://raw.githubusercontent.com/Orz-3/mini/master/Color/Apple.png";
108 }
109 {
110 name = "โ๏ธ ๅพฎ่ฝฏๆๅก";
111 type = "select";
112 proxies = ["DIRECT" "๐ฏ ่็น้ๆฉ" "๐ญ๐ฐ - ่ชๅจ้ๆฉ" "๐บ๐ธ - ่ชๅจ้ๆฉ"];
113 icon = "https://raw.githubusercontent.com/Orz-3/mini/master/Color/Microsoft.png";
114 }
115 ]
116 ++ (map (x: Auto // x) [
117 # ่ชๅจ้ๆฉ - ๆๅฐๅบ
118 {
119 name = "๐ญ๐ฐ - ่ชๅจ้ๆฉ";
120 filter = FilterHK;
121 }
122 {
123 name = "๐ฏ๐ต - ่ชๅจ้ๆฉ";
124 filter = FilterJP;
125 }
126 {
127 name = "๐ฐ๐ท - ่ชๅจ้ๆฉ";
128 filter = FilterKR;
129 }
130 {
131 name = "๐ธ๐ฌ - ่ชๅจ้ๆฉ";
132 filter = FilterSG;
133 }
134 {
135 name = "๐บ๐ธ - ่ชๅจ้ๆฉ";
136 filter = FilterUS;
137 }
138 {
139 name = "๐ฌ๐ง - ่ชๅจ้ๆฉ";
140 filter = FilterUK;
141 }
142 {
143 name = "๐ซ๐ท - ่ชๅจ้ๆฉ";
144 filter = FilterFR;
145 }
146 {
147 name = "๐ฉ๐ช - ่ชๅจ้ๆฉ";
148 filter = FilterDE;
149 }
150 {
151 name = "๐น๐ผ - ่ชๅจ้ๆฉ";
152 filter = FilterTW;
153 }
154 ])
155 ++ (map (x: Select // x) [
156 # ๆๅจ้ๆฉ - ๆๅฐๅบ
157 {
158 name = "๐ญ๐ฐ - ๆๅจ้ๆฉ";
159 filter = FilterHK;
160 }
161 {
162 name = "๐ฏ๐ต - ๆๅจ้ๆฉ";
163 filter = FilterJP;
164 }
165 {
166 name = "๐ฐ๐ท - ๆๅจ้ๆฉ";
167 filter = FilterKR;
168 }
169 {
170 name = "๐ธ๐ฌ - ๆๅจ้ๆฉ";
171 filter = FilterSG;
172 }
173 {
174 name = "๐บ๐ธ - ๆๅจ้ๆฉ";
175 filter = FilterUS;
176 }
177 {
178 name = "๐ฌ๐ง - ๆๅจ้ๆฉ";
179 filter = FilterUK;
180 }
181 {
182 name = "๐ซ๐ท - ๆๅจ้ๆฉ";
183 filter = FilterFR;
184 }
185 {
186 name = "๐ฉ๐ช - ๆๅจ้ๆฉ";
187 filter = FilterDE;
188 }
189 {
190 name = "๐น๐ผ - ๆๅจ้ๆฉ";
191 filter = FilterTW;
192 }
193 {
194 name = "Others - ๆๅจ้ๆฉ";
195 filter = FilterOthers;
196 }
197 ])
198 ++ [
199 # ๅ
จ้จ่็น
200 (Select
201 // {
202 name = "AllIn - ๆๅจ้ๆฉ";
203 filter = FilterAll;
204 })
205 (Auto
206 // {
207 name = "AllIn - ่ชๅจ้ๆฉ";
208 filter = FilterAll;
209 })
210 ];
211 };
212}