den
  1{
  2  den.aspects.services.provides.mihomo.nixos = 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}