surgio 2.10.3 → 2.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +61 -50
- package/build/index.js +6 -2
- package/build/provider/BlackSSLProvider.js +2 -2
- package/build/provider/ClashProvider.js +6 -43
- package/build/provider/CustomProvider.js +2 -2
- package/build/provider/Provider.d.ts +4 -0
- package/build/provider/Provider.js +33 -2
- package/build/provider/ShadowsocksJsonSubscribeProvider.js +2 -2
- package/build/provider/ShadowsocksSubscribeProvider.js +3 -19
- package/build/provider/ShadowsocksrSubscribeProvider.js +3 -18
- package/build/provider/SsdProvider.js +3 -19
- package/build/provider/TrojanProvider.d.ts +18 -0
- package/build/provider/TrojanProvider.js +78 -0
- package/build/provider/V2rayNSubscribeProvider.d.ts +3 -2
- package/build/provider/V2rayNSubscribeProvider.js +35 -18
- package/build/provider/index.js +4 -1
- package/build/types.d.ts +7 -1
- package/build/types.js +2 -1
- package/build/utils/config.js +2 -2
- package/build/utils/dns.js +3 -13
- package/build/utils/index.d.ts +1 -0
- package/build/utils/index.js +5 -2
- package/build/utils/trojan.d.ts +2 -0
- package/build/utils/trojan.js +33 -0
- package/hygen-template/provider/new/index.js +3 -0
- package/package.json +6 -8
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
# [2.11.0](https://github.com/geekdada/surgio/compare/v2.10.3...v2.11.0) (2022-01-01)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* parse shadowsocks in V2rayN subscription ([e26fe15](https://github.com/geekdada/surgio/commit/e26fe154f4f9276c767270e28932210eb643222c)), closes [#167](https://github.com/geekdada/surgio/issues/167)
|
|
7
|
+
* support trojan subscription ([e241f4b](https://github.com/geekdada/surgio/commit/e241f4b1679006f90c20ec17b755de27bd6a4cf3))
|
|
8
|
+
* support trojan subscription ([75a90c4](https://github.com/geekdada/surgio/commit/75a90c4fb8867a870d3dc22d8ca9832e7ab1c2df))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
1
12
|
## [2.10.3](https://github.com/geekdada/surgio/compare/v2.10.2...v2.10.3) (2021-11-24)
|
|
2
13
|
|
|
3
14
|
|
|
@@ -86,8 +97,8 @@
|
|
|
86
97
|
|
|
87
98
|
### Features
|
|
88
99
|
|
|
89
|
-
* 调整了 dns 解析的参数 ([b7aa7eb](https://github.com/geekdada/surgio/commit/b7aa7ebf7b0bd71c85395fea0fc4c1295bbd84bc))
|
|
90
100
|
* 在生成 surge 的 ssr 订阅时强制校验 startPort ([879080b](https://github.com/geekdada/surgio/commit/879080b333d89aa7d37ebe6e646d78f71aa69af7))
|
|
101
|
+
* 调整了 dns 解析的参数 ([b7aa7eb](https://github.com/geekdada/surgio/commit/b7aa7ebf7b0bd71c85395fea0fc4c1295bbd84bc))
|
|
91
102
|
|
|
92
103
|
|
|
93
104
|
|
|
@@ -201,9 +212,9 @@
|
|
|
201
212
|
|
|
202
213
|
### Features
|
|
203
214
|
|
|
204
|
-
* 清除缓存命令 ([4daaf1c](https://github.com/geekdada/surgio/commit/4daaf1cbd678ba65907e16dbfeb7c0aacf2d5cc2))
|
|
205
215
|
* 允许通过命令行开启远程片段缓存 ([128c9c5](https://github.com/geekdada/surgio/commit/128c9c5998dcc8db9d4c9472ce451ff40f4732ee))
|
|
206
216
|
* 支持自定义订阅请求转发的地址 ([3f4fb3b](https://github.com/geekdada/surgio/commit/3f4fb3b7450e3e63d89d26b4dfcba7dffd1e683e))
|
|
217
|
+
* 清除缓存命令 ([4daaf1c](https://github.com/geekdada/surgio/commit/4daaf1cbd678ba65907e16dbfeb7c0aacf2d5cc2))
|
|
207
218
|
|
|
208
219
|
|
|
209
220
|
|
|
@@ -328,13 +339,13 @@
|
|
|
328
339
|
|
|
329
340
|
### Features
|
|
330
341
|
|
|
331
|
-
* 内置协议过滤器更名 ([6aa6531](https://github.com/geekdada/surgio/commit/6aa653174fd856c1ccc69ba10f5b995391ef9c82))
|
|
332
|
-
* 修改默认网络请求超时时间和重试次数 ([7753d20](https://github.com/geekdada/surgio/commit/7753d20611be1a4066747b3281d1ceb99a687ec1))
|
|
333
342
|
* add support for ssd subscription ([46e5d2d](https://github.com/geekdada/surgio/commit/46e5d2d129b9b5470471594c432e8b5e2fc012ca))
|
|
334
343
|
* filter 行为修改 ([9e0ddf7](https://github.com/geekdada/surgio/commit/9e0ddf7118931009951dc1f21943d3340256885d))
|
|
335
344
|
* surgeconfig 默认值修改 ([7b004bd](https://github.com/geekdada/surgio/commit/7b004bd1cac6c490bd0dbb0c086f33ff85ac194e))
|
|
336
345
|
* udp-relay 改为强制布尔值 ([86a5dfc](https://github.com/geekdada/surgio/commit/86a5dfcb2343bff5dbfafd6cefe2057b2141c66e))
|
|
337
346
|
* Vmess 配置的 udp 改为 udp-relay ([9460bc8](https://github.com/geekdada/surgio/commit/9460bc8c1713a96fc61e4db271e599046d467830))
|
|
347
|
+
* 修改默认网络请求超时时间和重试次数 ([7753d20](https://github.com/geekdada/surgio/commit/7753d20611be1a4066747b3281d1ceb99a687ec1))
|
|
348
|
+
* 内置协议过滤器更名 ([6aa6531](https://github.com/geekdada/surgio/commit/6aa653174fd856c1ccc69ba10f5b995391ef9c82))
|
|
338
349
|
|
|
339
350
|
|
|
340
351
|
### BREAKING CHANGES
|
|
@@ -353,8 +364,8 @@
|
|
|
353
364
|
|
|
354
365
|
### Bug Fixes
|
|
355
366
|
|
|
356
|
-
* 配置 boolean 进行严格类型检查 ([1a42306](https://github.com/geekdada/surgio/commit/1a42306e5387b52b4a7f976b53b352c556607512))
|
|
357
367
|
* **utils:v2ray:** lack of transport settings ([4491e60](https://github.com/geekdada/surgio/commit/4491e60cb5e0709056d93c82d314d23ec482745a)), closes [#91](https://github.com/geekdada/surgio/issues/91)
|
|
368
|
+
* 配置 boolean 进行严格类型检查 ([1a42306](https://github.com/geekdada/surgio/commit/1a42306e5387b52b4a7f976b53b352c556607512))
|
|
358
369
|
|
|
359
370
|
|
|
360
371
|
### Features
|
|
@@ -445,16 +456,16 @@
|
|
|
445
456
|
|
|
446
457
|
### Bug Fixes
|
|
447
458
|
|
|
448
|
-
* 服务器地址为 ipv6 时触发解析 ([aa79c93](https://github.com/geekdada/surgio/commit/aa79c931bac1a81b2406e4c36180c62e064e0292))
|
|
449
459
|
* **command:new:** 生成 custom 类型 provider 报错 ([be83268](https://github.com/geekdada/surgio/commit/be832687b0cb1a5ceb96e6742eb451e9ed5e5903))
|
|
450
460
|
* SSR URI 中包含 ipv6 地址解析错误 ([1cd8436](https://github.com/geekdada/surgio/commit/1cd8436a6335a4f018fc96532f297502cec8ce3b))
|
|
461
|
+
* 服务器地址为 ipv6 时触发解析 ([aa79c93](https://github.com/geekdada/surgio/commit/aa79c931bac1a81b2406e4c36180c62e064e0292))
|
|
451
462
|
|
|
452
463
|
|
|
453
464
|
### Features
|
|
454
465
|
|
|
455
|
-
* 生成规则前进行 eslint 检查 ([a769458](https://github.com/geekdada/surgio/commit/a769458225905b228ef8903da593ded2c42ab49d))
|
|
456
466
|
* 支持解析 ipv6 地址 ([b96489b](https://github.com/geekdada/surgio/commit/b96489b6f92daa9e87f3863fb80e97b4af225fa6))
|
|
457
467
|
* 支持转换 surge ip-cidr6 至 quantumult x ip6-cidr ([c823677](https://github.com/geekdada/surgio/commit/c82367707e21ecd6856801a0e0d1758e58338a03))
|
|
468
|
+
* 生成规则前进行 eslint 检查 ([a769458](https://github.com/geekdada/surgio/commit/a769458225905b228ef8903da593ded2c42ab49d))
|
|
458
469
|
|
|
459
470
|
|
|
460
471
|
|
|
@@ -468,11 +479,11 @@
|
|
|
468
479
|
|
|
469
480
|
### Features
|
|
470
481
|
|
|
471
|
-
*
|
|
472
|
-
* 更新内置默认 UA ([640ee2c](https://github.com/geekdada/surgio/commit/640ee2cddd392a97b61b9c5511335075bdb1b0ca))
|
|
482
|
+
* useProviders 和 discardProviders 增加严格模式 ([bcd9fe9](https://github.com/geekdada/surgio/commit/bcd9fe942b9814ae453f4f13103245f8bf32384c))
|
|
473
483
|
* 优化未设置 binPath 的错误文案 ([f6d3e89](https://github.com/geekdada/surgio/commit/f6d3e895e783788c5f8b8bcf1622220f411b3e9a))
|
|
474
484
|
* 支持从 Clash 订阅中读取 v2ray-plugin mux 信息 ([f06f279](https://github.com/geekdada/surgio/commit/f06f2793af92f2a68aca51e461cad2c6b9165f5d))
|
|
475
|
-
*
|
|
485
|
+
* 更新内置默认 UA ([640ee2c](https://github.com/geekdada/surgio/commit/640ee2cddd392a97b61b9c5511335075bdb1b0ca))
|
|
486
|
+
* 错误信息补充 ([ef4946c](https://github.com/geekdada/surgio/commit/ef4946cac0eb9897586875118399624dbe44d8d9))
|
|
476
487
|
|
|
477
488
|
|
|
478
489
|
|
|
@@ -499,8 +510,8 @@
|
|
|
499
510
|
|
|
500
511
|
### Bug Fixes
|
|
501
512
|
|
|
502
|
-
* 无法识别外部资源的 EOL ([bee0c12](https://github.com/geekdada/surgio/commit/bee0c1224781330c35a27cbfee4549d338de65d2))
|
|
503
513
|
* should not enable proxy on now.sh and heroku ([3713850](https://github.com/geekdada/surgio/commit/37138507c126d7b2da900c833fea2af0bf153f4d))
|
|
514
|
+
* 无法识别外部资源的 EOL ([bee0c12](https://github.com/geekdada/surgio/commit/bee0c1224781330c35a27cbfee4549d338de65d2))
|
|
504
515
|
|
|
505
516
|
|
|
506
517
|
### Features
|
|
@@ -532,8 +543,8 @@
|
|
|
532
543
|
|
|
533
544
|
### Features
|
|
534
545
|
|
|
535
|
-
* 支持定义全局 customParams ([a8a092f](https://github.com/geekdada/surgio/commit/a8a092fc74c5fbb7fedaa3a00dbffe2f3e9e9432))
|
|
536
546
|
* add template method getUrl ([d02df8f](https://github.com/geekdada/surgio/commit/d02df8f2dbac0722381832944e06a11a3b0f3b40))
|
|
547
|
+
* 支持定义全局 customParams ([a8a092f](https://github.com/geekdada/surgio/commit/a8a092fc74c5fbb7fedaa3a00dbffe2f3e9e9432))
|
|
537
548
|
|
|
538
549
|
|
|
539
550
|
|
|
@@ -552,8 +563,8 @@
|
|
|
552
563
|
### Features
|
|
553
564
|
|
|
554
565
|
* `v2rayn_subscribe` 支持强制覆盖 `skipCertVerify` 和 `udpRelay` ([3a326d4](https://github.com/geekdada/surgio/commit/3a326d463f47bba6a000d299eb1dee19d790e29c))
|
|
555
|
-
* 支持从 Surge 配置中解析转换 Quantumult X 的以下几种脚本 ([066060d](https://github.com/geekdada/surgio/commit/066060d3d26b6f0172c568897fc492a77ccfcfb9))
|
|
556
566
|
* add support for quantumultx tls1.3 ([007db56](https://github.com/geekdada/surgio/commit/007db568c2a9ac7685bd0a344fa5093c22429e81))
|
|
567
|
+
* 支持从 Surge 配置中解析转换 Quantumult X 的以下几种脚本 ([066060d](https://github.com/geekdada/surgio/commit/066060d3d26b6f0172c568897fc492a77ccfcfb9))
|
|
557
568
|
|
|
558
569
|
|
|
559
570
|
|
|
@@ -585,8 +596,8 @@
|
|
|
585
596
|
|
|
586
597
|
### Features
|
|
587
598
|
|
|
588
|
-
* 更新模板生成工具 ([fd8eed0](https://github.com/geekdada/surgio/commit/fd8eed0b0f527698ec203f347d7bbdae397ee897))
|
|
589
599
|
* add a relay service for subscriptions ([4b789a8](https://github.com/geekdada/surgio/commit/4b789a89f1cf68ce978d0fecd58daaf82f4a039a))
|
|
600
|
+
* 更新模板生成工具 ([fd8eed0](https://github.com/geekdada/surgio/commit/fd8eed0b0f527698ec203f347d7bbdae397ee897))
|
|
590
601
|
|
|
591
602
|
|
|
592
603
|
|
|
@@ -645,9 +656,9 @@
|
|
|
645
656
|
|
|
646
657
|
### Features
|
|
647
658
|
|
|
659
|
+
* 支持为 mellow 输出 ss uri ([c26cdb5](https://github.com/geekdada/surgio/commit/c26cdb552a882cc7e29448cd0a1129c25a9bccc7))
|
|
648
660
|
* 支持加入自定义 trojan 节点 ([40b6714](https://github.com/geekdada/surgio/commit/40b67143fbf1f5e59cf5c4b08ef4eb62238f4678))
|
|
649
661
|
* 支持检查模板方法中无效的 filter ([9c2690b](https://github.com/geekdada/surgio/commit/9c2690b31d9266833e45c892fdad4daca6ce947e))
|
|
650
|
-
* 支持为 mellow 输出 ss uri ([c26cdb5](https://github.com/geekdada/surgio/commit/c26cdb552a882cc7e29448cd0a1129c25a9bccc7))
|
|
651
662
|
|
|
652
663
|
|
|
653
664
|
|
|
@@ -711,12 +722,12 @@
|
|
|
711
722
|
|
|
712
723
|
### Features
|
|
713
724
|
|
|
725
|
+
* Artifact 初始化后返回实例 ([7ca04cf](https://github.com/geekdada/surgio/commit/7ca04cfb07fa308abd90f475b1bd35ce58d183df))
|
|
714
726
|
* 为常用 Provider 类型增加订阅流量信息接口 ([ed68cab](https://github.com/geekdada/surgio/commit/ed68cab12a5417850229acbfa564a4436577e5cb))
|
|
715
727
|
* 修改 Artifact 初始化接口 ([4c3ac84](https://github.com/geekdada/surgio/commit/4c3ac847adae2bb492fa851e53b12213a6e379c7))
|
|
716
728
|
* 增加查询流量命令 ([a94eeab](https://github.com/geekdada/surgio/commit/a94eeab89b0a0c3432af2f9796d44e700084b93c))
|
|
717
729
|
* 支持从 SSR 订阅中读取剩余流量 ([fb2e886](https://github.com/geekdada/surgio/commit/fb2e886cac5428cdfac49bd6696a68e2494c2ea1))
|
|
718
730
|
* 支持在 Artifact 初始化时传入 Environment ([75ae51f](https://github.com/geekdada/surgio/commit/75ae51f3e9fafddade282d4348cbbcb9db774d36))
|
|
719
|
-
* Artifact 初始化后返回实例 ([7ca04cf](https://github.com/geekdada/surgio/commit/7ca04cfb07fa308abd90f475b1bd35ce58d183df))
|
|
720
731
|
|
|
721
732
|
|
|
722
733
|
|
|
@@ -725,8 +736,8 @@
|
|
|
725
736
|
|
|
726
737
|
### Bug Fixes
|
|
727
738
|
|
|
728
|
-
* 某些情况下 v2ray 配置 port 为字符串 ([b8af4d7](https://github.com/geekdada/surgio/commit/b8af4d799d70d02c5b4361954f38625afd891973)), closes [#59](https://github.com/geekdada/surgio/issues/59)
|
|
729
739
|
* external provider 的 addresses 参数只应该写 IP ([f7006d6](https://github.com/geekdada/surgio/commit/f7006d676317db5eb0b6aac66440f9a76f7d8db4))
|
|
740
|
+
* 某些情况下 v2ray 配置 port 为字符串 ([b8af4d7](https://github.com/geekdada/surgio/commit/b8af4d799d70d02c5b4361954f38625afd891973)), closes [#59](https://github.com/geekdada/surgio/issues/59)
|
|
730
741
|
|
|
731
742
|
|
|
732
743
|
### Features
|
|
@@ -801,9 +812,9 @@
|
|
|
801
812
|
|
|
802
813
|
### Features
|
|
803
814
|
|
|
815
|
+
* useProviders, discardProviders ([e11cb75](https://github.com/geekdada/surgio/commit/e11cb75d3d58189e9dacc2c4f699e514ab1a33c1)), closes [#51](https://github.com/geekdada/surgio/issues/51)
|
|
804
816
|
* 支持 Clash 的 Provider 片段 ([5c42328](https://github.com/geekdada/surgio/commit/5c4232809e60514121c1579deaa8ce9dbd151323))
|
|
805
817
|
* 支持新的 Clash 规则配置方法 ([48b90e1](https://github.com/geekdada/surgio/commit/48b90e142dcd5c200ddd1b1e4cae8b6e97d918bb))
|
|
806
|
-
* useProviders, discardProviders ([e11cb75](https://github.com/geekdada/surgio/commit/e11cb75d3d58189e9dacc2c4f699e514ab1a33c1)), closes [#51](https://github.com/geekdada/surgio/issues/51)
|
|
807
818
|
|
|
808
819
|
|
|
809
820
|
|
|
@@ -821,18 +832,18 @@
|
|
|
821
832
|
|
|
822
833
|
### Bug Fixes
|
|
823
834
|
|
|
824
|
-
* 在 external 中开启 tfo 和 mptcp 是没有意义的 ([8b0e6f0](https://github.com/geekdada/surgio/commit/8b0e6f07b35da4a6d0ab7164c1dd572e387b8b90))
|
|
825
835
|
* broken test ([25fcde6](https://github.com/geekdada/surgio/commit/25fcde69365ca66dfcce3fe260a1c6e2d0bd57b3))
|
|
826
836
|
* LRU 缓存可能会被污染 ([929f7bd](https://github.com/geekdada/surgio/commit/929f7bd3a32adc40eb23ec782eba1ce2978569d8))
|
|
827
837
|
* Provider 组合后生成结果排序错乱 ([d051b28](https://github.com/geekdada/surgio/commit/d051b2851ff401038587baa88f0e5ddc134471bc))
|
|
838
|
+
* 在 external 中开启 tfo 和 mptcp 是没有意义的 ([8b0e6f0](https://github.com/geekdada/surgio/commit/8b0e6f07b35da4a6d0ab7164c1dd572e387b8b90))
|
|
828
839
|
|
|
829
840
|
|
|
830
841
|
### Features
|
|
831
842
|
|
|
843
|
+
* v2ray-plugin 强制输出 mux: false ([ba635c5](https://github.com/geekdada/surgio/commit/ba635c599065a88d5ba9d0fcd94a1f4939140da1))
|
|
832
844
|
* 域名解析失败后跳过 ([66f5af8](https://github.com/geekdada/surgio/commit/66f5af8d31416591a29e28ac8ae03d978fa50862))
|
|
833
845
|
* 支持从 Clash 订阅中读取 skipCertVerify ([c856731](https://github.com/geekdada/surgio/commit/c856731cec14246b1ced594627daa5c50a2959cd))
|
|
834
846
|
* 支持配置 Provider 缓存 ([16dc8fc](https://github.com/geekdada/surgio/commit/16dc8fce9911fee2cae2e8c12e8649d3ede44dfa))
|
|
835
|
-
* v2ray-plugin 强制输出 mux: false ([ba635c5](https://github.com/geekdada/surgio/commit/ba635c599065a88d5ba9d0fcd94a1f4939140da1))
|
|
836
847
|
|
|
837
848
|
|
|
838
849
|
|
|
@@ -855,9 +866,9 @@
|
|
|
855
866
|
|
|
856
867
|
### Features
|
|
857
868
|
|
|
869
|
+
* 支持修改节点名 ([4437f0e](https://github.com/geekdada/surgio/commit/4437f0e628d13ae5f675b04aa0b7e44b66bc37a7))
|
|
858
870
|
* 更新 netflixFilter ([515cbe5](https://github.com/geekdada/surgio/commit/515cbe5a179f6a7a364dc4e0eba72f264fb82b57))
|
|
859
871
|
* 更新国旗数据库 ([18f22d2](https://github.com/geekdada/surgio/commit/18f22d213e90fc9f680323439cbe4082ea2b171b))
|
|
860
|
-
* 支持修改节点名 ([4437f0e](https://github.com/geekdada/surgio/commit/4437f0e628d13ae5f675b04aa0b7e44b66bc37a7))
|
|
861
872
|
|
|
862
873
|
|
|
863
874
|
|
|
@@ -875,8 +886,8 @@
|
|
|
875
886
|
|
|
876
887
|
### Bug Fixes
|
|
877
888
|
|
|
878
|
-
* 在某些情况下 Clash 的策略组中没输出 url 和 interval ([3884014](https://github.com/geekdada/surgio/commit/3884014c2296a59de90ae5f5e4803a3609f7893d))
|
|
879
889
|
* broken test ([794be85](https://github.com/geekdada/surgio/commit/794be85268811ab665351ab255f368bc4a6d0754))
|
|
890
|
+
* 在某些情况下 Clash 的策略组中没输出 url 和 interval ([3884014](https://github.com/geekdada/surgio/commit/3884014c2296a59de90ae5f5e4803a3609f7893d))
|
|
880
891
|
|
|
881
892
|
|
|
882
893
|
|
|
@@ -993,9 +1004,9 @@
|
|
|
993
1004
|
|
|
994
1005
|
### Features
|
|
995
1006
|
|
|
996
|
-
* 网关 get-artifact 支持直接输出 surge 和 qx 的节点列表 ([97f78c4](https://github.com/geekdada/surgio/commit/97f78c49ba3eeb050361807e2cbbfc44523f0804))
|
|
997
1007
|
* 优化 dns 解析 ([345790e](https://github.com/geekdada/surgio/commit/345790eecd6b2f4745b91999004d921f41b259bc))
|
|
998
1008
|
* 在模板中输出 proxyTestUrl ([b95cd8b](https://github.com/geekdada/surgio/commit/b95cd8b157e902a920699618cf1e61d1f615fd31))
|
|
1009
|
+
* 网关 get-artifact 支持直接输出 surge 和 qx 的节点列表 ([97f78c4](https://github.com/geekdada/surgio/commit/97f78c49ba3eeb050361807e2cbbfc44523f0804))
|
|
999
1010
|
|
|
1000
1011
|
|
|
1001
1012
|
|
|
@@ -1004,16 +1015,16 @@
|
|
|
1004
1015
|
|
|
1005
1016
|
### Bug Fixes
|
|
1006
1017
|
|
|
1007
|
-
* 空文件不会返回 404 ([271c398](https://github.com/geekdada/surgio/commit/271c398df29e8e3da2f4f22d6aa2d78aa49f122c))
|
|
1008
1018
|
* 某些情况下 clash 配置没有输出 interval 和 url ([1978429](https://github.com/geekdada/surgio/commit/197842956a96fd35b91afd77cf358c1697ac7097))
|
|
1019
|
+
* 空文件不会返回 404 ([271c398](https://github.com/geekdada/surgio/commit/271c398df29e8e3da2f4f22d6aa2d78aa49f122c))
|
|
1009
1020
|
|
|
1010
1021
|
|
|
1011
1022
|
### Features
|
|
1012
1023
|
|
|
1024
|
+
* nodeFilter 也支持过滤排序 ([6dd7f66](https://github.com/geekdada/surgio/commit/6dd7f665d26ad427f026786d5add8c578084f816))
|
|
1013
1025
|
* 增加规则过滤关键词 ([128f648](https://github.com/geekdada/surgio/commit/128f64835ccde09b4b0dda54e4075dc0218fbc10))
|
|
1014
|
-
* 支持排序类型的过滤器 ([db69447](https://github.com/geekdada/surgio/commit/db694473b1b88e44811971fbc0cd8761d0fcf4e3))
|
|
1015
1026
|
* 支持在输出 external 时解析域名 ([1f78f44](https://github.com/geekdada/surgio/commit/1f78f44dde2949e384184d8fa59f566a45ed2d64))
|
|
1016
|
-
*
|
|
1027
|
+
* 支持排序类型的过滤器 ([db69447](https://github.com/geekdada/surgio/commit/db694473b1b88e44811971fbc0cd8761d0fcf4e3))
|
|
1017
1028
|
|
|
1018
1029
|
|
|
1019
1030
|
|
|
@@ -1031,8 +1042,8 @@
|
|
|
1031
1042
|
|
|
1032
1043
|
### Features
|
|
1033
1044
|
|
|
1034
|
-
* 优化远程片段获取的并发请求 ([7552fa0](https://github.com/geekdada/surgio/commit/7552fa05b073871aa6a50472f2386bfa4fa9421d))
|
|
1035
1045
|
* Provider 处理改为并发 ([8bf2738](https://github.com/geekdada/surgio/commit/8bf2738f14f9d30b9bfbf6999fbbdf91a5993469))
|
|
1046
|
+
* 优化远程片段获取的并发请求 ([7552fa0](https://github.com/geekdada/surgio/commit/7552fa05b073871aa6a50472f2386bfa4fa9421d))
|
|
1036
1047
|
|
|
1037
1048
|
|
|
1038
1049
|
|
|
@@ -1050,8 +1061,8 @@
|
|
|
1050
1061
|
|
|
1051
1062
|
### Bug Fixes
|
|
1052
1063
|
|
|
1053
|
-
* 由于 mellow 对 shadowsocks 支持有限,忽略该类型节点 ([8ae0561](https://github.com/geekdada/surgio/commit/8ae056194b938014eee4c0bebfb38ecf3de7cb10))
|
|
1054
1064
|
* Close [#35](https://github.com/geekdada/surgio/issues/35) ([491b655](https://github.com/geekdada/surgio/commit/491b655bc8061ed120ab119bd5e4ac57859ea095))
|
|
1065
|
+
* 由于 mellow 对 shadowsocks 支持有限,忽略该类型节点 ([8ae0561](https://github.com/geekdada/surgio/commit/8ae056194b938014eee4c0bebfb38ecf3de7cb10))
|
|
1055
1066
|
|
|
1056
1067
|
|
|
1057
1068
|
### Features
|
|
@@ -1060,8 +1071,8 @@
|
|
|
1060
1071
|
* 增加 mellow 规则处理方法 ([b646199](https://github.com/geekdada/surgio/commit/b646199507d7558bd00daa89f4877501391e2605))
|
|
1061
1072
|
* 支持 Clash 的 'fallback-auto', 'load-balance' 策略 ([18f106f](https://github.com/geekdada/surgio/commit/18f106fee8c94c01bbf8a4a34fadfcd9557fdd2b)), closes [#34](https://github.com/geekdada/surgio/issues/34)
|
|
1062
1073
|
* 支持单独定义某个 artifact 的输出目录 ([bef00c7](https://github.com/geekdada/surgio/commit/bef00c7d9894476c695229a6e96f1d3f47fd91b1))
|
|
1063
|
-
* 支持导出 Mellow 节点 ([9a72ca2](https://github.com/geekdada/surgio/commit/9a72ca2ac7b9b59ee3c1b61180fd8fe915330ad8))
|
|
1064
1074
|
* 支持在 surgio.conf.js 中定义全局 customFilters ([1701b85](https://github.com/geekdada/surgio/commit/1701b85d68e487b52fb529243d8826ee4b5a99a8))
|
|
1075
|
+
* 支持导出 Mellow 节点 ([9a72ca2](https://github.com/geekdada/surgio/commit/9a72ca2ac7b9b59ee3c1b61180fd8fe915330ad8))
|
|
1065
1076
|
|
|
1066
1077
|
|
|
1067
1078
|
|
|
@@ -1098,8 +1109,8 @@
|
|
|
1098
1109
|
|
|
1099
1110
|
### Features
|
|
1100
1111
|
|
|
1101
|
-
* 面板增加添加 Clash 的按钮 ([b66e5f3](https://github.com/geekdada/surgio/commit/b66e5f31dae975ccac83742666ea7385a6e023e0))
|
|
1102
1112
|
* check command ([2db635f](https://github.com/geekdada/surgio/commit/2db635ff91cd786daa6852abdd82896ab213f3ab))
|
|
1113
|
+
* 面板增加添加 Clash 的按钮 ([b66e5f3](https://github.com/geekdada/surgio/commit/b66e5f31dae975ccac83742666ea7385a6e023e0))
|
|
1103
1114
|
|
|
1104
1115
|
|
|
1105
1116
|
|
|
@@ -1108,8 +1119,8 @@
|
|
|
1108
1119
|
|
|
1109
1120
|
### Features
|
|
1110
1121
|
|
|
1111
|
-
* youtubePremiumFilter 增加香港 ([821bf3c](https://github.com/geekdada/surgio/commit/821bf3c653767490bf093e0980be091b28f3501d))
|
|
1112
1122
|
* youtubePremiumFilter 增加新加坡 ([7b32873](https://github.com/geekdada/surgio/commit/7b32873ff906156208ae7a03ea8002534a794c57))
|
|
1123
|
+
* youtubePremiumFilter 增加香港 ([821bf3c](https://github.com/geekdada/surgio/commit/821bf3c653767490bf093e0980be091b28f3501d))
|
|
1113
1124
|
|
|
1114
1125
|
|
|
1115
1126
|
|
|
@@ -1145,10 +1156,10 @@
|
|
|
1145
1156
|
|
|
1146
1157
|
### Features
|
|
1147
1158
|
|
|
1148
|
-
*
|
|
1159
|
+
* udp-relay 的值改为布尔类型,兼容字符串类型 ([f3eaaed](https://github.com/geekdada/surgio/commit/f3eaaed03727de525e12a454a8a966fd923f8d89))
|
|
1149
1160
|
* 仅支持读取 ws 和 tcp 类型的 vmess 节点 ([de5bb35](https://github.com/geekdada/surgio/commit/de5bb35fcc3b4b4e6bb1bb12a6cc6f53bd6de2c8))
|
|
1150
1161
|
* 新增 getQuantumultXNodes ([d284d04](https://github.com/geekdada/surgio/commit/d284d0415e9524dffebd73d6085d1e11ceef3621))
|
|
1151
|
-
*
|
|
1162
|
+
* 节点增加 tfo 参数 ([a820b89](https://github.com/geekdada/surgio/commit/a820b89590ac3379ccf109539000783b0d7b803a))
|
|
1152
1163
|
|
|
1153
1164
|
|
|
1154
1165
|
|
|
@@ -1166,18 +1177,18 @@
|
|
|
1166
1177
|
|
|
1167
1178
|
### Bug Fixes
|
|
1168
1179
|
|
|
1169
|
-
* 加国旗正确识别中转节点了 ([3751dbf](https://github.com/geekdada/surgio/commit/3751dbf0f7f0d8619cfa28b2ec2cc8c24c4494a7))
|
|
1170
1180
|
* protoparam 和 obfsparam 中不能有空格 ([6cdb978](https://github.com/geekdada/surgio/commit/6cdb97880913a594115a59d49bfebcf90c555f7f))
|
|
1181
|
+
* 加国旗正确识别中转节点了 ([3751dbf](https://github.com/geekdada/surgio/commit/3751dbf0f7f0d8619cfa28b2ec2cc8c24c4494a7))
|
|
1171
1182
|
|
|
1172
1183
|
|
|
1173
1184
|
### Features
|
|
1174
1185
|
|
|
1186
|
+
* proxyGroupModifier 支持 filter 和 proxies 组合 ([ba0f0c6](https://github.com/geekdada/surgio/commit/ba0f0c6bee8a14490c0124a7ff0773e636fd27e4))
|
|
1175
1187
|
* 不合法 yaml 文件识别 ([1654534](https://github.com/geekdada/surgio/commit/16545347613026a57bac46eb286e52f894384c11))
|
|
1176
|
-
* 兼容v2rayn 订阅格式 ([8ba4625](https://github.com/geekdada/surgio/commit/8ba4625955bfb068028303a56148ac20e109e6e3))
|
|
1177
1188
|
* 允许用户覆盖 clash 订阅的 udp 转发支持 ([bb58c50](https://github.com/geekdada/surgio/commit/bb58c50aa5334ea9ce1ee4c323aa531dcbb32e79))
|
|
1189
|
+
* 兼容v2rayn 订阅格式 ([8ba4625](https://github.com/geekdada/surgio/commit/8ba4625955bfb068028303a56148ac20e109e6e3))
|
|
1178
1190
|
* 增加 netflixFilter 规则 ([5cc52f1](https://github.com/geekdada/surgio/commit/5cc52f1c237b9c4fcf2dee56ea3c0caaf82695ad))
|
|
1179
1191
|
* 支持读取 Clash 订阅 ([45ef59f](https://github.com/geekdada/surgio/commit/45ef59f359e21e37f5dac242a33888c74ec1afbc))
|
|
1180
|
-
* proxyGroupModifier 支持 filter 和 proxies 组合 ([ba0f0c6](https://github.com/geekdada/surgio/commit/ba0f0c6bee8a14490c0124a7ff0773e636fd27e4))
|
|
1181
1192
|
|
|
1182
1193
|
|
|
1183
1194
|
|
|
@@ -1186,10 +1197,10 @@
|
|
|
1186
1197
|
|
|
1187
1198
|
### Features
|
|
1188
1199
|
|
|
1189
|
-
* 新增过滤器 discardKeywords ([b9f0ecb](https://github.com/geekdada/surgio/commit/b9f0ecb97366835a71862cd8f032048322266336))
|
|
1190
1200
|
* better error message ([26fcaa3](https://github.com/geekdada/surgio/commit/26fcaa3310046fbd886cff2370a8bf31be96dcca))
|
|
1191
1201
|
* gateway request log ([891168b](https://github.com/geekdada/surgio/commit/891168b6a702a0440b5d0475a25d11345d594f52))
|
|
1192
1202
|
* quick editing from list-artifact ([2d1d605](https://github.com/geekdada/surgio/commit/2d1d605fe5dd36332a8f04476d397cb7a14b6684))
|
|
1203
|
+
* 新增过滤器 discardKeywords ([b9f0ecb](https://github.com/geekdada/surgio/commit/b9f0ecb97366835a71862cd8f032048322266336))
|
|
1193
1204
|
|
|
1194
1205
|
|
|
1195
1206
|
|
|
@@ -1253,10 +1264,10 @@
|
|
|
1253
1264
|
|
|
1254
1265
|
### Features
|
|
1255
1266
|
|
|
1256
|
-
* 合并 Provider 接口定义 ([f197e19](https://github.com/geekdada/surgio/commit/f197e198aaf826b91af6896d02046c15976e4962))
|
|
1257
1267
|
* getNodeNames 和 getClashNodeNames 不再过滤 nodeType ([6571511](https://github.com/geekdada/surgio/commit/6571511f3d30aa3a283a69b81afb9aa548031b18))
|
|
1258
1268
|
* schema validation for config ([9f11254](https://github.com/geekdada/surgio/commit/9f11254d2bc7107e2299e1146553b03da1e9849f))
|
|
1259
1269
|
* schema validation for provider ([d738e0f](https://github.com/geekdada/surgio/commit/d738e0f999c91f577deb14793889210620757f36))
|
|
1270
|
+
* 合并 Provider 接口定义 ([f197e19](https://github.com/geekdada/surgio/commit/f197e198aaf826b91af6896d02046c15976e4962))
|
|
1260
1271
|
|
|
1261
1272
|
|
|
1262
1273
|
|
|
@@ -1373,8 +1384,8 @@
|
|
|
1373
1384
|
|
|
1374
1385
|
### Features
|
|
1375
1386
|
|
|
1376
|
-
* 增加错误文案方便调试 ([ff28793](https://github.com/geekdada/surgio/commit/ff287933e17cb0f7d8f9b7d4a454124420e7610c))
|
|
1377
1387
|
* 增加了 Flag 识别字段 ([86c1489](https://github.com/geekdada/surgio/commit/86c14898001ab54b6a5387bf533c34d5917b4cbb))
|
|
1388
|
+
* 增加错误文案方便调试 ([ff28793](https://github.com/geekdada/surgio/commit/ff287933e17cb0f7d8f9b7d4a454124420e7610c))
|
|
1378
1389
|
|
|
1379
1390
|
|
|
1380
1391
|
|
|
@@ -1383,8 +1394,8 @@
|
|
|
1383
1394
|
|
|
1384
1395
|
### Bug Fixes
|
|
1385
1396
|
|
|
1386
|
-
* 不需要 sort ([51f560f](https://github.com/geekdada/surgio/commit/51f560fc86b24c1b4319a83637c90e5449023520))
|
|
1387
1397
|
* SSR URI 识别问题 ([46184fb](https://github.com/geekdada/surgio/commit/46184fbfdcd1583658db157123902862881413f5))
|
|
1398
|
+
* 不需要 sort ([51f560f](https://github.com/geekdada/surgio/commit/51f560fc86b24c1b4319a83637c90e5449023520))
|
|
1388
1399
|
|
|
1389
1400
|
|
|
1390
1401
|
|
|
@@ -1393,9 +1404,9 @@
|
|
|
1393
1404
|
|
|
1394
1405
|
### Bug Fixes
|
|
1395
1406
|
|
|
1407
|
+
* clash 规则不输出 ssr 节点名 ([7360c7b](https://github.com/geekdada/surgio/commit/7360c7b86a6f8adb151ba6270193e7c42a1f2069))
|
|
1396
1408
|
* 不手动指定不使用代理 ([d89198a](https://github.com/geekdada/surgio/commit/d89198a23cff4fe345f5597ab507b8680ac34b54))
|
|
1397
1409
|
* 文件名在 win 上取值错误 ([310518b](https://github.com/geekdada/surgio/commit/310518bd7cc37c2110dbcb50bdb1d5571bdb68cc))
|
|
1398
|
-
* clash 规则不输出 ssr 节点名 ([7360c7b](https://github.com/geekdada/surgio/commit/7360c7b86a6f8adb151ba6270193e7c42a1f2069))
|
|
1399
1410
|
|
|
1400
1411
|
|
|
1401
1412
|
|
|
@@ -1413,8 +1424,8 @@
|
|
|
1413
1424
|
|
|
1414
1425
|
### Features
|
|
1415
1426
|
|
|
1416
|
-
* 远程片段支持读取原始内容 ([a1f9e0f](https://github.com/geekdada/surgio/commit/a1f9e0ff7f55b33f98934619a2e90c33ba0c8d20))
|
|
1417
1427
|
* add support for clashr ([43c4862](https://github.com/geekdada/surgio/commit/43c486277bdff42999f18a71a4627585461e4762))
|
|
1428
|
+
* 远程片段支持读取原始内容 ([a1f9e0f](https://github.com/geekdada/surgio/commit/a1f9e0ff7f55b33f98934619a2e90c33ba0c8d20))
|
|
1418
1429
|
|
|
1419
1430
|
|
|
1420
1431
|
|
|
@@ -1428,10 +1439,10 @@
|
|
|
1428
1439
|
|
|
1429
1440
|
### Features
|
|
1430
1441
|
|
|
1431
|
-
* 节点名补充国旗 Emoji ([dc1f34e](https://github.com/geekdada/surgio/commit/dc1f34e3616e924acc2773dc7024a5e968981d53))
|
|
1432
|
-
* 增加国别判断字段 ([ce6828c](https://github.com/geekdada/surgio/commit/ce6828cdf80bd433d55ad788fac1529ef9b32fc6))
|
|
1433
1442
|
* add error message ([69b6bff](https://github.com/geekdada/surgio/commit/69b6bfffdca29c1d01cc77cf63730a12f7390822))
|
|
1434
1443
|
* custom filters ([d5ee8bc](https://github.com/geekdada/surgio/commit/d5ee8bc6b0066eb0d30699191fdcae6262bd4f1a))
|
|
1444
|
+
* 增加国别判断字段 ([ce6828c](https://github.com/geekdada/surgio/commit/ce6828cdf80bd433d55ad788fac1529ef9b32fc6))
|
|
1445
|
+
* 节点名补充国旗 Emoji ([dc1f34e](https://github.com/geekdada/surgio/commit/dc1f34e3616e924acc2773dc7024a5e968981d53))
|
|
1435
1446
|
|
|
1436
1447
|
|
|
1437
1448
|
|
|
@@ -1534,12 +1545,12 @@
|
|
|
1534
1545
|
|
|
1535
1546
|
### Features
|
|
1536
1547
|
|
|
1537
|
-
* 生成 quan 订阅 scheme ([afe0a21](https://github.com/geekdada/surgio/commit/afe0a2120b0eeb048deab09c24964d7bd3e14a60))
|
|
1538
|
-
* 生成 v2rayn scheme ([981e6d7](https://github.com/geekdada/surgio/commit/981e6d77517771da9510cc79c7e0cd8c7276d119))
|
|
1539
|
-
* 支持导出 Quantumult 的 HTTPS, Shadowsocksr 节点 ([dd728e0](https://github.com/geekdada/surgio/commit/dd728e02345669751b31227327abb20034dc5554))
|
|
1540
1548
|
* add shadowsocks subscribe support ([e993d1b](https://github.com/geekdada/surgio/commit/e993d1bfa1ab4a50464ca37f647e22cd7c0bee68))
|
|
1541
1549
|
* add v2rayn subscribe support ([067ad43](https://github.com/geekdada/surgio/commit/067ad4318b456f5ceaf47ad78b79d206544da72e))
|
|
1542
1550
|
* clash 输出 vmess ([05cc557](https://github.com/geekdada/surgio/commit/05cc5570762d34a3465e71d14fbf78e8a30a1f34))
|
|
1551
|
+
* 支持导出 Quantumult 的 HTTPS, Shadowsocksr 节点 ([dd728e0](https://github.com/geekdada/surgio/commit/dd728e02345669751b31227327abb20034dc5554))
|
|
1552
|
+
* 生成 quan 订阅 scheme ([afe0a21](https://github.com/geekdada/surgio/commit/afe0a2120b0eeb048deab09c24964d7bd3e14a60))
|
|
1553
|
+
* 生成 v2rayn scheme ([981e6d7](https://github.com/geekdada/surgio/commit/981e6d77517771da9510cc79c7e0cd8c7276d119))
|
|
1543
1554
|
|
|
1544
1555
|
|
|
1545
1556
|
|
|
@@ -1548,8 +1559,8 @@
|
|
|
1548
1559
|
|
|
1549
1560
|
### Features
|
|
1550
1561
|
|
|
1551
|
-
* 初始化配置时使用 defaultsDeep ([ab8f695](https://github.com/geekdada/surgio/commit/ab8f695a79bbf92248a193805032c81fc2e31434))
|
|
1552
1562
|
* remote rule set ([a820cdb](https://github.com/geekdada/surgio/commit/a820cdb192daeb1f0a321e75ed447290b4e4207a)), closes [#5](https://github.com/geekdada/surgio/issues/5)
|
|
1563
|
+
* 初始化配置时使用 defaultsDeep ([ab8f695](https://github.com/geekdada/surgio/commit/ab8f695a79bbf92248a193805032c81fc2e31434))
|
|
1553
1564
|
|
|
1554
1565
|
|
|
1555
1566
|
|
|
@@ -1564,8 +1575,8 @@
|
|
|
1564
1575
|
|
|
1565
1576
|
### Features
|
|
1566
1577
|
|
|
1567
|
-
* 模板 base64 filter ([3d45a23](https://github.com/geekdada/surgio/commit/3d45a23102cf642495e0920c91f2ed94de27a4e2))
|
|
1568
1578
|
* add cli update support ([2f2d340](https://github.com/geekdada/surgio/commit/2f2d340b0c4f65a1a601f62c2986c5384af6fd76))
|
|
1579
|
+
* 模板 base64 filter ([3d45a23](https://github.com/geekdada/surgio/commit/3d45a23102cf642495e0920c91f2ed94de27a4e2))
|
|
1569
1580
|
|
|
1570
1581
|
|
|
1571
1582
|
|
|
@@ -1579,8 +1590,8 @@
|
|
|
1579
1590
|
|
|
1580
1591
|
### Features
|
|
1581
1592
|
|
|
1582
|
-
* 属性判空 ([13eb455](https://github.com/geekdada/surgio/commit/13eb455d3258f0067a244117a50688817bdb1433))
|
|
1583
1593
|
* 在模板中暴露 nodeList 变量 ([c2eeb29](https://github.com/geekdada/surgio/commit/c2eeb295ff2ca7dc0407a2b67f8d1332aa26be60))
|
|
1594
|
+
* 属性判空 ([13eb455](https://github.com/geekdada/surgio/commit/13eb455d3258f0067a244117a50688817bdb1433))
|
|
1584
1595
|
* 支持从 gui-config.json 中解析混淆配置 ([bc135a7](https://github.com/geekdada/surgio/commit/bc135a78c8eb0572ebc67b17ab9d7c6a9b4acf22))
|
|
1585
1596
|
|
|
1586
1597
|
|
package/build/index.js
CHANGED
|
@@ -37,7 +37,11 @@ const filter = __importStar(require("./utils/filter"));
|
|
|
37
37
|
const error_helper_1 = require("./utils/error-helper");
|
|
38
38
|
const constant_1 = require("./utils/constant");
|
|
39
39
|
// istanbul ignore next
|
|
40
|
-
if (!(0, utils_1.isNow)() &&
|
|
40
|
+
if (!(0, utils_1.isNow)() &&
|
|
41
|
+
!(0, utils_1.isHeroku)() &&
|
|
42
|
+
!(0, utils_1.isGitHubActions)() &&
|
|
43
|
+
!(0, utils_1.isGitLabCI)() &&
|
|
44
|
+
!(0, utils_1.isRailway)()) {
|
|
41
45
|
// Global proxy
|
|
42
46
|
(0, global_agent_1.bootstrap)();
|
|
43
47
|
}
|
|
@@ -79,4 +83,4 @@ exports.utils = Object.assign(Object.assign({}, filter), { isHeroku: utils_1.isH
|
|
|
79
83
|
isGitHubActions: utils_1.isGitHubActions,
|
|
80
84
|
isGitLabCI: utils_1.isGitLabCI });
|
|
81
85
|
exports.categories = Object.assign({}, constant_1.CATEGORIES);
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVDQUFxQztBQUNyQywrQkFBNkI7QUFFN0IsK0NBQXlDO0FBQ3pDLDREQUFpQztBQUNqQyx3REFBMEI7QUFDMUIsZ0RBQXdCO0FBQ3hCLCtCQUFxQztBQUVyQyxzRUFBNkM7QUFDN0MsMkNBQTRDO0FBRTVDLG1DQU1pQjtBQUNqQix1REFBeUM7QUFDekMsdURBQW9EO0FBQ3BELCtDQUE4QztBQUU5Qyx1QkFBdUI7QUFDdkIsSUFDRSxDQUFDLElBQUEsYUFBSyxHQUFFO0lBQ1IsQ0FBQyxJQUFBLGdCQUFRLEdBQUU7SUFDWCxDQUFDLElBQUEsdUJBQWUsR0FBRTtJQUNsQixDQUFDLElBQUEsa0JBQVUsR0FBRTtJQUNiLENBQUMsSUFBQSxpQkFBUyxHQUFFLEVBQ1o7SUFDQSxlQUFlO0lBQ2YsSUFBQSx3QkFBUyxHQUFFLENBQUM7Q0FDYjtBQUVELE1BQU0sT0FBTyxHQUFHLElBQUEsY0FBTyxFQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUNqRCxNQUFNLEdBQUcsR0FBRyxrQkFBRSxDQUFDLFlBQVksQ0FBQyxJQUFBLFdBQUksRUFBQyxTQUFTLEVBQUUsaUJBQWlCLENBQUMsQ0FBZ0IsQ0FBQztBQW1EdEUsa0JBQUc7QUFqRFosTUFBYSxhQUFjLFNBQVEsb0JBQU87SUFDeEMsWUFBWSxPQUFrQjtRQUM1QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZix1QkFBdUI7UUFDdkIsSUFBSSxrQkFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUMxQixJQUFBLGNBQUksRUFBQyxPQUFPLENBQUMsQ0FBQztTQUNmO1FBRUQsSUFBQSx5QkFBYyxFQUFDLEVBQUUsR0FBRyxFQUFFLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUU3RCxJQUFJLENBQUMsS0FBSyxHQUFHLGtDQUFrQyxDQUFDO1FBRWhELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBQSxXQUFJLEVBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFFeEMsSUFBSSxDQUFDLE9BQU8sR0FBRztZQUNiLENBQUMsRUFBRTtnQkFDRCxLQUFLLEVBQUUsU0FBUztnQkFDaEIsWUFBWSxFQUFFLEtBQUs7Z0JBQ25CLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixJQUFJLEVBQUUsU0FBUzthQUNoQjtTQUNGLENBQUM7UUFDRixtREFBbUQ7UUFDbkQsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdkIsdUJBQXVCO1FBQ3ZCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQzNCLG1CQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUM7U0FDcEM7SUFDSCxDQUFDO0lBRU0sWUFBWSxDQUFDLEdBQUc7UUFDckIsMkJBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7Q0FDRjtBQW5DRCxzQ0FtQ0M7QUFFWSxRQUFBLEtBQUssbUNBQ2IsTUFBTSxLQUNULFFBQVEsRUFBUixnQkFBUTtJQUNSLEtBQUssRUFBTCxhQUFLO0lBQ0wsZUFBZSxFQUFmLHVCQUFlO0lBQ2YsVUFBVSxFQUFWLGtCQUFVLElBQ1Y7QUFFVyxRQUFBLFVBQVUscUJBQ2xCLHFCQUFVLEVBQ2IifQ==
|
|
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
5
|
};
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
const joi_1 = __importDefault(require("
|
|
7
|
+
const joi_1 = __importDefault(require("joi"));
|
|
8
8
|
const assert_1 = __importDefault(require("assert"));
|
|
9
9
|
const types_1 = require("../types");
|
|
10
10
|
const cache_1 = require("../utils/cache");
|
|
@@ -76,4 +76,4 @@ class BlackSSLProvider extends Provider_1.default {
|
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
78
|
exports.default = BlackSSLProvider;
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmxhY2tTU0xQcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9wcm92aWRlci9CbGFja1NTTFByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSx1QkFBdUI7Ozs7O0FBRXZCLDhDQUFzQjtBQUN0QixvREFBNEI7QUFFNUIsb0NBS2tCO0FBQ2xCLDBDQUE2QztBQUM3Qyx1RUFBOEM7QUFDOUMsMERBQWtDO0FBRWxDLE1BQXFCLGdCQUFpQixTQUFRLGtCQUFRO0lBSXBELFlBQVksSUFBWSxFQUFFLE1BQThCO1FBQ3RELEtBQUssQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFcEIsTUFBTSxNQUFNLEdBQUcsYUFBRyxDQUFDLE1BQU0sQ0FBQztZQUN4QixRQUFRLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtZQUNqQyxRQUFRLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtTQUNsQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFYixNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUxQyx1QkFBdUI7UUFDdkIsSUFBSSxLQUFLLEVBQUU7WUFDVCxNQUFNLEtBQUssQ0FBQztTQUNiO1FBRUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQztRQUNoQyxJQUFJLENBQUMsOEJBQThCLEdBQUcsSUFBSSxDQUFDO0lBQzdDLENBQUM7SUFFTSxLQUFLLENBQUMsdUJBQXVCO1FBR2xDLE1BQU0sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUMzRCxJQUFJLENBQUMsUUFBUSxFQUNiLElBQUksQ0FBQyxRQUFRLENBQ2QsQ0FBQztRQUVGLElBQUksb0JBQW9CLEVBQUU7WUFDeEIsT0FBTyxvQkFBb0IsQ0FBQztTQUM3QjtRQUNELE9BQU8sS0FBSyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVNLEtBQUssQ0FBQyxXQUFXO1FBQ3RCLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FDL0MsSUFBSSxDQUFDLFFBQVEsRUFDYixJQUFJLENBQUMsUUFBUSxDQUNkLENBQUM7UUFDRixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsdUJBQXVCO0lBQ2YsS0FBSyxDQUFDLGlCQUFpQixDQUM3QixRQUFnQixFQUNoQixRQUFnQjtRQUtoQixJQUFBLGdCQUFNLEVBQUMsUUFBUSxFQUFFLHdCQUF3QixDQUFDLENBQUM7UUFDM0MsSUFBQSxnQkFBTSxFQUFDLFFBQVEsRUFBRSx3QkFBd0IsQ0FBQyxDQUFDO1FBRTNDLE1BQU0sR0FBRyxHQUFHLFlBQVksUUFBUSxFQUFFLENBQUM7UUFFbkMsTUFBTSxRQUFRLEdBQUcsbUJBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDO1lBQ25DLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLG1CQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBVyxDQUFDO1lBQzVDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUU7Z0JBQ2hCLE1BQU0sR0FBRyxHQUFHLE1BQU0scUJBQVUsQ0FBQyxHQUFHLENBQzlCLDZDQUE2QyxFQUM3QztvQkFDRSxZQUFZLEVBQUU7d0JBQ1osUUFBUTt3QkFDUixRQUFRO3FCQUNUO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZLEVBQ1YscURBQXFEO3FCQUN4RDtpQkFDRixDQUNGLENBQUM7Z0JBRUYsbUJBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFFL0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM5QixDQUFDLENBQUMsRUFBRSxDQUFDO1FBRVQsT0FBTztZQUNMLFFBQVEsRUFBRyxRQUFRLENBQUMsU0FBNEIsQ0FBQyxHQUFHLENBQ2xELENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUNULFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSTtnQkFDbkIsSUFBSSxFQUFFLG9CQUFZLENBQUMsS0FBSztnQkFDeEIsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNO2dCQUNyQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0JBQ2YsUUFBUTtnQkFDUixRQUFRO2FBQ1QsQ0FBQyxDQUNIO1lBQ0Qsb0JBQW9CLEVBQUU7Z0JBQ3BCLE1BQU0sRUFBRSxDQUFDO2dCQUNULFFBQVEsRUFBRSxRQUFRLENBQUMsYUFBYTtnQkFDaEMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxlQUFlO2dCQUMvQixNQUFNLEVBQUUsUUFBUSxDQUFDLFVBQVU7YUFDNUI7U0FDRixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBcEdELG1DQW9HQyJ9
|
|
@@ -1,39 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
13
|
-
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
4
|
};
|
|
24
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
6
|
exports.parseClashConfig = exports.getClashSubscription = void 0;
|
|
26
|
-
const joi_1 = __importDefault(require("
|
|
7
|
+
const joi_1 = __importDefault(require("joi"));
|
|
27
8
|
const assert_1 = __importDefault(require("assert"));
|
|
28
9
|
const yaml_1 = __importDefault(require("yaml"));
|
|
29
10
|
const lodash_1 = __importDefault(require("lodash"));
|
|
30
11
|
const logger_1 = require("@surgio/logger");
|
|
31
12
|
const types_1 = require("../types");
|
|
32
13
|
const utils_1 = require("../utils");
|
|
33
|
-
const http_client_1 =
|
|
14
|
+
const http_client_1 = require("../utils/http-client");
|
|
34
15
|
const relayable_url_1 = __importDefault(require("../utils/relayable-url"));
|
|
35
|
-
const subscription_1 = require("../utils/subscription");
|
|
36
|
-
const cache_1 = require("../utils/cache");
|
|
37
16
|
const constant_1 = require("../utils/constant");
|
|
38
17
|
const Provider_1 = __importDefault(require("./Provider"));
|
|
39
18
|
const logger = (0, logger_1.createLogger)({
|
|
@@ -80,25 +59,9 @@ class ClashProvider extends Provider_1.default {
|
|
|
80
59
|
exports.default = ClashProvider;
|
|
81
60
|
const getClashSubscription = async (url, udpRelay, tls13) => {
|
|
82
61
|
(0, assert_1.default)(url, '未指定订阅地址 url');
|
|
83
|
-
const response =
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
const res = await http_client_1.default.get(url, {
|
|
87
|
-
responseType: 'text',
|
|
88
|
-
headers: {
|
|
89
|
-
'user-agent': (0, http_client_1.getUserAgent)(constant_1.NETWORK_CLASH_UA),
|
|
90
|
-
},
|
|
91
|
-
});
|
|
92
|
-
const subsciptionCacheItem = {
|
|
93
|
-
body: res.body,
|
|
94
|
-
};
|
|
95
|
-
if (res.headers['subscription-userinfo']) {
|
|
96
|
-
subsciptionCacheItem.subscriptionUserinfo = (0, subscription_1.parseSubscriptionUserInfo)(res.headers['subscription-userinfo']);
|
|
97
|
-
logger.debug('%s received subscription userinfo - raw: %s | parsed: %j', url, res.headers['subscription-userinfo'], subsciptionCacheItem.subscriptionUserinfo);
|
|
98
|
-
}
|
|
99
|
-
cache_1.SubscriptionCache.set(url, subsciptionCacheItem);
|
|
100
|
-
return subsciptionCacheItem;
|
|
101
|
-
})();
|
|
62
|
+
const response = await Provider_1.default.requestCacheableResource(url, {
|
|
63
|
+
requestUserAgent: (0, http_client_1.getUserAgent)(constant_1.NETWORK_CLASH_UA),
|
|
64
|
+
});
|
|
102
65
|
let clashConfig;
|
|
103
66
|
try {
|
|
104
67
|
// eslint-disable-next-line prefer-const
|
|
@@ -241,4 +204,4 @@ function resolveUdpRelay(val, defaultVal = false) {
|
|
|
241
204
|
}
|
|
242
205
|
return defaultVal;
|
|
243
206
|
}
|
|
244
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xhc2hQcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9wcm92aWRlci9DbGFzaFByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsb0RBQTRCO0FBQzVCLGdEQUF3QjtBQUN4QixvREFBdUI7QUFDdkIsMkNBQThDO0FBRTlDLG9DQVdrQjtBQUNsQixvQ0FBK0M7QUFDL0Msb0VBQWdFO0FBQ2hFLDJFQUFrRDtBQUNsRCx3REFBa0U7QUFDbEUsMENBQXlFO0FBQ3pFLGdEQUFxRDtBQUNyRCwwREFBa0M7QUFXbEMsTUFBTSxNQUFNLEdBQUcsSUFBQSxxQkFBWSxFQUFDO0lBQzFCLE9BQU8sRUFBRSxzQkFBc0I7Q0FDaEMsQ0FBQyxDQUFDO0FBRUgsTUFBcUIsYUFBYyxTQUFRLGtCQUFRO0lBS2pELFlBQVksSUFBWSxFQUFFLE1BQTJCO1FBQ25ELEtBQUssQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFcEIsTUFBTSxNQUFNLEdBQUcsYUFBRyxDQUFDLE1BQU0sQ0FBQztZQUN4QixHQUFHLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRTtpQkFDZCxHQUFHLENBQUM7Z0JBQ0gsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDO2FBQ25CLENBQUM7aUJBQ0QsUUFBUSxFQUFFO1lBQ2IsUUFBUSxFQUFFLGFBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUU7WUFDN0IsS0FBSyxFQUFFLGFBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUU7U0FDM0IsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRWIsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFMUMsdUJBQXVCO1FBQ3ZCLElBQUksS0FBSyxFQUFFO1lBQ1QsTUFBTSxLQUFLLENBQUM7U0FDYjtR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
|
|
207
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xhc2hQcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9wcm92aWRlci9DbGFzaFByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDhDQUFzQjtBQUN0QixvREFBNEI7QUFDNUIsZ0RBQXdCO0FBQ3hCLG9EQUF1QjtBQUN2QiwyQ0FBOEM7QUFFOUMsb0NBV2tCO0FBQ2xCLG9DQUErQztBQUMvQyxzREFBb0Q7QUFDcEQsMkVBQWtEO0FBQ2xELGdEQUFxRDtBQUNyRCwwREFBa0M7QUFXbEMsTUFBTSxNQUFNLEdBQUcsSUFBQSxxQkFBWSxFQUFDO0lBQzFCLE9BQU8sRUFBRSxzQkFBc0I7Q0FDaEMsQ0FBQyxDQUFDO0FBRUgsTUFBcUIsYUFBYyxTQUFRLGtCQUFRO0lBS2pELFlBQVksSUFBWSxFQUFFLE1BQTJCO1FBQ25ELEtBQUssQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFcEIsTUFBTSxNQUFNLEdBQUcsYUFBRyxDQUFDLE1BQU0sQ0FBQztZQUN4QixHQUFHLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRTtpQkFDZCxHQUFHLENBQUM7Z0JBQ0gsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDO2FBQ25CLENBQUM7aUJBQ0QsUUFBUSxFQUFFO1lBQ2IsUUFBUSxFQUFFLGFBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUU7WUFDN0IsS0FBSyxFQUFFLGFBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUU7U0FDM0IsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRWIsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFMUMsdUJBQXVCO1FBQ3ZCLElBQUksS0FBSyxFQUFFO1lBQ1QsTUFBTSxLQUFLLENBQUM7U0FDYjtRQUVELElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQztRQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDaEMsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyw4QkFBOEIsR0FBRyxJQUFJLENBQUM7SUFDN0MsQ0FBQztJQUVELHVCQUF1QjtJQUN2QixJQUFXLEdBQUc7UUFDWixPQUFPLElBQUEsdUJBQVksRUFBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRU0sS0FBSyxDQUFDLHVCQUF1QjtRQUdsQyxNQUFNLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxNQUFNLElBQUEsNEJBQW9CLEVBQ3pELElBQUksQ0FBQyxHQUFHLEVBQ1IsSUFBSSxDQUFDLFFBQVEsRUFDYixJQUFJLENBQUMsS0FBSyxDQUNYLENBQUM7UUFFRixJQUFJLG9CQUFvQixFQUFFO1lBQ3hCLE9BQU8sb0JBQW9CLENBQUM7U0FDN0I7UUFDRCxPQUFPLEtBQUssQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFTSxLQUFLLENBQUMsV0FBVztRQUN0QixNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsTUFBTSxJQUFBLDRCQUFvQixFQUM3QyxJQUFJLENBQUMsR0FBRyxFQUNSLElBQUksQ0FBQyxRQUFRLEVBQ2IsSUFBSSxDQUFDLEtBQUssQ0FDWCxDQUFDO1FBRUYsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztDQUNGO0FBNURELGdDQTREQztBQUVNLE1BQU0sb0JBQW9CLEdBQUcsS0FBSyxFQUN2QyxHQUFXLEVBQ1gsUUFBa0IsRUFDbEIsS0FBZSxFQUlkLEVBQUU7SUFDSCxJQUFBLGdCQUFNLEVBQUMsR0FBRyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBRTNCLE1BQU0sUUFBUSxHQUFHLE1BQU0sa0JBQVEsQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHLEVBQUU7UUFDNUQsZ0JBQWdCLEVBQUUsSUFBQSwwQkFBWSxFQUFDLDJCQUFnQixDQUFDO0tBQ2pELENBQUMsQ0FBQztJQUNILElBQUksV0FBVyxDQUFDO0lBRWhCLElBQUk7UUFDRix3Q0FBd0M7UUFDeEMsV0FBVyxHQUFHLGNBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3pDO0lBQUMsT0FBTyxHQUFHLEVBQUUsMEJBQTBCLENBQUM7UUFDdkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLEdBQUcsa0JBQWtCLENBQUMsQ0FBQztLQUMzQztJQUVELElBQ0UsQ0FBQyxnQkFBQyxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLElBQUksV0FBVyxDQUFDLENBQUMsRUFDMUQ7UUFDQSxNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDO0tBQ3pDO0lBRUQsTUFBTSxTQUFTLEdBQVUsV0FBVyxDQUFDLEtBQUssSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDO0lBRWxFLHVCQUF1QjtJQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRTtRQUM3QixNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDO0tBQ3pDO0lBRUQsT0FBTztRQUNMLFFBQVEsRUFBRSxJQUFBLHdCQUFnQixFQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDO1FBQ3RELG9CQUFvQixFQUFFLFFBQVEsQ0FBQyxvQkFBb0I7S0FDcEQsQ0FBQztBQUNKLENBQUMsQ0FBQztBQXhDVyxRQUFBLG9CQUFvQix3QkF3Qy9CO0FBRUssTUFBTSxnQkFBZ0IsR0FBRyxDQUM5QixTQUE2QixFQUM3QixRQUFrQixFQUNsQixLQUFlLEVBQ29CLEVBQUU7SUFDckMsTUFBTSxRQUFRLEdBQWtELFNBQVMsQ0FBQyxHQUFHLENBQzNFLENBQUMsSUFBSSxFQUFFLEVBQUU7O1FBQ1AsUUFBUSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2pCLEtBQUssSUFBSSxDQUFDLENBQUM7Z0JBQ1QsdUJBQXVCO2dCQUN2QixJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO29CQUNsRSxNQUFNLENBQUMsSUFBSSxDQUNULG9CQUFvQixJQUFJLENBQUMsTUFBTSwwQkFBMEIsSUFBSSxDQUFDLElBQUksT0FBTyxDQUMxRSxDQUFDO29CQUNGLE9BQU8sS0FBSyxDQUFDLENBQUM7aUJBQ2Y7Z0JBQ0QsdUJBQXVCO2dCQUN2QixJQUNFLElBQUksQ0FBQyxNQUFNLEtBQUssY0FBYztvQkFDOUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxNQUFNLEVBQ2pEO29CQUNBLE1BQU0sQ0FBQyxJQUFJLENBQ1QsK0NBQStDLElBQUksQ0FBQyxJQUFJLE9BQU8sQ0FDaEUsQ0FBQztvQkFDRixPQUFPLEtBQUssQ0FBQyxDQUFDO2lCQUNmO2dCQUVELE1BQU0sU0FBUyxHQUFHLElBQUEsMkJBQW1CLEVBQ25DLGdCQUFDLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxxQkFBcUIsRUFBRSxFQUFFLENBQUMsQ0FDdkMsQ0FBQztnQkFFRixPQUFPLDRDQUNMLElBQUksRUFBRSxvQkFBWSxDQUFDLFdBQVcsRUFDOUIsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQ25CLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUNyQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFDZixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFDbkIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQ3ZCLFdBQVcsRUFBRSxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsSUFHN0MsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssTUFBTTtvQkFDdkMsQ0FBQyxDQUFDO3dCQUNFLElBQUksRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSTt3QkFDOUIsV0FBVyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLElBQUksY0FBYztxQkFDeEQ7b0JBQ0gsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUdOLENBQUMsSUFBSSxDQUFDLElBQUk7b0JBQ1gsQ0FBQyxDQUFDO3dCQUNFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTt3QkFDZixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLGNBQWM7cUJBQ2pEO29CQUNILENBQUMsQ0FBQyxJQUFJLENBQUMsR0FHTixDQUFDLElBQUksQ0FBQyxNQUFNO29CQUNmLElBQUksQ0FBQyxNQUFNLEtBQUssY0FBYztvQkFDOUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksS0FBSyxXQUFXO29CQUN0QyxDQUFDLCtCQUNHLElBQUksRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQ3JELFdBQVcsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQ3BELFVBQVUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxJQUFJLEdBQUcsRUFDM0MsU0FBUyxJQUNOLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsS0FBSyxJQUFJO3dCQUNsQyxDQUFDLENBQUM7NEJBQ0UsY0FBYyxFQUNaLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLElBQUk7NEJBQ2xELEtBQUssRUFBRSxLQUFLLGFBQUwsS0FBSyxjQUFMLEtBQUssR0FBSSxLQUFLO3lCQUN0Qjt3QkFDSCxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQ04sQ0FBQyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxHQUFHLEtBQUssU0FBUzt3QkFDOUMsQ0FBQyxDQUFDOzRCQUNFLEdBQUcsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsR0FBRzt5QkFDN0I7d0JBQ0gsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUViLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FDZSxDQUFDO2FBQzVCO1lBRUQsS0FBSyxPQUFPLENBQUMsQ0FBQztnQkFDWix1QkFBdUI7Z0JBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtvQkFDOUMsTUFBTSxDQUFDLElBQUksQ0FDVCxnQ0FBZ0MsSUFBSSxDQUFDLE9BQU8sa0JBQWtCLElBQUksQ0FBQyxJQUFJLE9BQU8sQ0FDL0UsQ0FBQztvQkFDRixPQUFPLEtBQUssQ0FBQyxDQUFDO2lCQUNmO2dCQUVELE1BQU0sU0FBUyxHQUFHLElBQUEsMkJBQW1CLEVBQUMsZ0JBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUVyRSxPQUFPLDhCQUNMLElBQUksRUFBRSxvQkFBWSxDQUFDLEtBQUssRUFDeEIsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQ25CLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUNyQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFDZixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFDZixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFDL0MsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLElBQUksTUFBTSxFQUM3QixXQUFXLEVBQUUsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLEVBQ2hELEdBQUcsRUFBRSxNQUFBLElBQUksQ0FBQyxHQUFHLG1DQUFJLEtBQUssRUFDdEIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLElBQUksS0FBSyxJQUMzQixDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssSUFBSTtvQkFDdkIsQ0FBQyxDQUFDO3dCQUNFLElBQUksRUFBRSxnQkFBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsQ0FBQzt3QkFDakMsSUFBSSxFQUFFLGdCQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQzt3QkFDM0MsU0FBUztxQkFDVjtvQkFDSCxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQ04sQ0FBQyxJQUFJLENBQUMsR0FBRztvQkFDVixDQUFDLENBQUM7d0JBQ0UsY0FBYyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLElBQUk7d0JBQ2pELEtBQUssRUFBRSxLQUFLLGFBQUwsS0FBSyxjQUFMLEtBQUssR0FBSSxLQUFLO3FCQUN0QjtvQkFDSCxDQUFDLENBQUMsSUFBSSxDQUFDLENBQ1MsQ0FBQzthQUN0QjtZQUVELEtBQUssTUFBTTtnQkFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtvQkFDYixPQUFPO3dCQUNMLElBQUksRUFBRSxvQkFBWSxDQUFDLElBQUk7d0JBQ3ZCLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSTt3QkFDbkIsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNO3dCQUNyQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7d0JBQ2YsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsMEJBQTBCLElBQUksRUFBRTt3QkFDeEQsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsMEJBQTBCLElBQUksRUFBRTtxQkFDdkMsQ0FBQztpQkFDckI7Z0JBRUQsT0FBTztvQkFDTCxJQUFJLEVBQUUsb0JBQVksQ0FBQyxLQUFLO29CQUN4QixRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUk7b0JBQ25CLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTTtvQkFDckIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO29CQUNmLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUU7b0JBQzdCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUU7b0JBQzdCLEtBQUssRUFBRSxLQUFLLGFBQUwsS0FBSyxjQUFMLEtBQUssR0FBSSxLQUFLO29CQUNyQixjQUFjLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssSUFBSTtpQkFDL0IsQ0FBQztZQUV2QixLQUFLLE9BQU87Z0JBQ1YsT0FBTyw4QkFDTCxJQUFJLEVBQUUsb0JBQVksQ0FBQyxLQUFLLEVBQ3hCLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUNuQixRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFDckIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQ2YsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQ2IsSUFBSSxFQUFFLGdCQUFDLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsSUFDeEMsQ0FBQyxPQUFPLENBQUEsTUFBQSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUcsV0FBVyxDQUFDLDBDQUFFLElBQUksQ0FBQSxLQUFLLFdBQVc7b0JBQ2xELENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxFQUFFO29CQUN6QyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQ04sQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUN2QyxDQUFDO1lBRXZCLHVCQUF1QjtZQUN2QixLQUFLLEtBQUs7Z0JBQ1IsT0FBTztvQkFDTCxJQUFJLEVBQUUsb0JBQVksQ0FBQyxZQUFZO29CQUMvQixRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUk7b0JBQ25CLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTTtvQkFDckIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO29CQUNmLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtvQkFDdkIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO29CQUNmLFNBQVMsRUFBRSxNQUFBLElBQUksQ0FBQyxZQUFZLENBQUMsbUNBQUksSUFBSSxDQUFDLFNBQVM7b0JBQy9DLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtvQkFDdkIsVUFBVSxFQUFFLE1BQUEsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG1DQUFJLElBQUksQ0FBQyxhQUFhO29CQUN4RCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07b0JBQ25CLFdBQVcsRUFBRSxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUM7aUJBQ3ZCLENBQUM7WUFFOUIsS0FBSyxRQUFRO2dCQUNYLE9BQU8sMERBQ0wsSUFBSSxFQUFFLG9CQUFZLENBQUMsTUFBTSxFQUN6QixRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUksRUFDbkIsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQ3JCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUNmLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxJQUNwQixDQUFDLGtCQUFrQixJQUFJLElBQUk7b0JBQzVCLENBQUMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxJQUFJLEVBQUU7b0JBQ3ZELENBQUMsQ0FBQyxJQUFJLENBQUMsR0FDTixDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQzdDLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FDN0MsV0FBVyxFQUFFLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxFQUNoRCxLQUFLLEVBQUUsS0FBSyxhQUFMLEtBQUssY0FBTCxLQUFLLEdBQUksS0FBSyxHQUNGLENBQUM7WUFFeEI7Z0JBQ0UsTUFBTSxDQUFDLElBQUksQ0FDVCxvQkFBb0IsSUFBSSxDQUFDLElBQUksV0FBVyxJQUFJLENBQUMsSUFBSSxPQUFPLENBQ3pELENBQUM7Z0JBQ0YsT0FBTyxLQUFLLENBQUMsQ0FBQztTQUNqQjtJQUNILENBQUMsQ0FDRixDQUFDO0lBRUYsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUNwQixDQUFDLElBQUksRUFBOEIsRUFBRSxDQUFDLElBQUksS0FBSyxTQUFTLENBQ3pELENBQUM7QUFDSixDQUFDLENBQUM7QUF6TVcsUUFBQSxnQkFBZ0Isb0JBeU0zQjtBQUVGLFNBQVMsZUFBZSxDQUFDLEdBQWEsRUFBRSxVQUFVLEdBQUcsS0FBSztJQUN4RCxJQUFJLEdBQUcsS0FBSyxLQUFLLENBQUMsRUFBRTtRQUNsQixPQUFPLEdBQUcsQ0FBQztLQUNaO0lBQ0QsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQyJ9
|