@tocha688/browser 0.0.1 → 1.0.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.
@@ -1,215 +1,215 @@
1
- import fontList from 'font-list';
2
- import { rInt } from '@tocha688/utils';
3
-
4
- export const PcScreen = [
5
- "750 × 1334",
6
- "800 x 600",
7
- "1024 x 600",
8
- "1024 x 640",
9
- "1024 x 768",
10
- "1152 x 864",
11
- "1280 x 720",
12
- "1280 x 768",
13
- "1280 x 800",
14
- "1280 x 960",
15
- "1280 x 1024",
16
- "1360 x 768",
17
- "808 × 1792",
18
- "828 × 1792",
19
- "1080 x 2340",
20
- "1125 x 2436",
21
- "1242 x 2208",
22
- "1170 × 2532",
23
- "1284 x 2778",
24
- "1366 x 768",
25
- "1400 x 1050",
26
- "1400 x 900",
27
- "1440 x 900",
28
- "1536 x 864",
29
- "1600 x 900",
30
- "1600 x 1200",
31
- "1680 x 1050",
32
- "1920 x 1080",
33
- "1920 x 1200",
34
- "2048 x 1152",
35
- "2304 x 1440",
36
- "2560 x 1440",
37
- "2560 x 1600",
38
- "2880 x 1800",
39
- "4096 x 2304",
40
- "5120 x 2880"
41
- ];
42
-
43
- // cpu
44
- export const Cpus = [
45
- "2",
46
- "3",
47
- "4",
48
- "6",
49
- "8",
50
- "10",
51
- "12",
52
- "16",
53
- "20",
54
- "24",
55
- "32",
56
- "64"
57
- ]
58
-
59
- export const Memorys = [
60
- "2",
61
- "4",
62
- "6",
63
- "8",
64
- "16",
65
- "32",
66
- "64",
67
- "128"
68
- ]
69
-
70
-
71
- export const LinuxWebGL = [
72
- {
73
- name: "Google Inc. (AMD)",
74
- values: [
75
- "ANGLE (AMD, RENOIR(renoir LLVM 15.0.7), OpenGL 4.6)",
76
- ]
77
- },
78
- {
79
- name: "Google Inc. (Intel)",
80
- values: [
81
- "ANGLE (Intel, Mesa Intel(R) Graphics (RPL-S), OpenGL 4.6)",
82
- "ANGLE (Intel, Mesa Intel(R) Graphics (RPL-P), OpenGL 4.6)",
83
- "ANGLE (Intel, Mesa Intel(R) Xe Graphics (TGL GT2), OpenGL 4.6)",
84
- ]
85
- }
86
- ]
87
-
88
- export const WindowsWebGL = [
89
- {
90
- name: "Google Inc. (NVIDIA)",
91
- vendor: "nvidia",
92
- values: [
93
- "ANGLE (NVIDIA, NVIDIA GeForce GTX 1660 SUPER (0x000021C4) Direct3D11 vs_5_0 ps_5_0, D3D11-27.21.14.6647)",
94
- "ANGLE (NVIDIA, NVIDIA GeForce GTX 750 Ti (0x00001380) Direct3D11 vs_5_0 ps_5_0, D3D11-27.21.14.6647)",
95
- "ANGLE (NVIDIA, NVIDIA GeForce GTX 650 (0x00002504) Direct3D11 vs_5_0 ps_5_0, D3D11-27.21.14.6140)",
96
- "ANGLE (NVIDIA, NVIDIA GeForce GTX 1050 Ti (0x00001C8C) Direct3D9Ex vs_3_0 ps_3_0, D3D9Ex)",
97
- "ANGLE (NVIDIA, NVIDIA GeForce GT 635M (0x00002504) Direct3D11 vs_5_0 ps_5_0, D3D11-10.18.13.6472)",
98
- "ANGLE (NVIDIA, NVIDIA GeForce GT 710 (0x0000128B) Direct3D11 vs_5_0 ps_5_0, D3D11-26.21.14.3160)",
99
- "ANGLE (NVIDIA, NVIDIA GeForce 410M (0x00001055) Direct3D11 vs_5_0 ps_5_0, D3D11)",
100
- "ANGLE (NVIDIA, NVIDIA GeForce RTX 2060 (0x00001F51) Direct3D11 vs_5_0 ps_5_0, D3D11-27.21.14.6093)",
101
- "ANGLE (NVIDIA, NVIDIA GeForce GTX 1060 (0x00001C20) Direct3D11 vs_5_0 ps_5_0, D3D11-27.21.14.5148)",
102
- "ANGLE (NVIDIA, NVIDIA GeForce GTX 1660 (0x00002184) Direct3D11 vs_5_0 ps_5_0, D3D11-27.21.14.5751)",
103
- "ANGLE (NVIDIA, NVIDIA GeForce RTX 2070 SUPER (0x00001E84) Direct3D11 vs_5_0 ps_5_0, D3D11)",
104
- "ANGLE (NVIDIA, NVIDIA GeForce GTX 750 Ti (0x00001380) Direct3D9Ex vs_3_0 ps_3_0, nvd3dumx.dll-26.21.14.4219)",
105
- "ANGLE (NVIDIA, NVIDIA GeForce GT 730 (0x00001287) Direct3D11 vs_5_0 ps_5_0, D3D11-27.21.14.5671)",
106
- "ANGLE (NVIDIA, NVIDIA GeForce GTX 1650 (0x00001F9D) Direct3D11 vs_5_0 ps_5_0, D3D11-27.21.14.5751)",
107
- "ANGLE (NVIDIA, NVIDIA GeForce GTX 1050 (0x00001C91) Direct3D11 vs_5_0 ps_5_0, D3D11-22.21.13.8476)",
108
- "ANGLE (NVIDIA, NVIDIA GeForce GTX 950 (0x00001402) Direct3D11 vs_5_0 ps_5_0, D3D11-26.21.14.4187)",
109
- "ANGLE (NVIDIA, NVIDIA GeForce GTX 960 (0x00001401) Direct3D11 vs_5_0 ps_5_0, D3D11)",
110
- "ANGLE (NVIDIA, NVIDIA GeForce RTX 3070 (0x00002484) Direct3D11 vs_5_0 ps_5_0, D3D11-27.21.14.6611)",
111
- "ANGLE (NVIDIA, NVIDIA GeForce RTX 2060 (0x00001F51) Direct3D11 vs_5_0 ps_5_0, D3D11-27.21.14.5256)",
112
- "ANGLE (NVIDIA, NVIDIA GeForce GTX 660 (0x000011C0) Direct3D11 vs_5_0 ps_5_0, D3D11-27.21.14.5671)",
113
- "ANGLE (NVIDIA, NVIDIA GeForce GTX 970 (0x000013C2) Direct3D11 vs_5_0 ps_5_0, D3D11-27.21.14.5671)",
114
- "ANGLE (NVIDIA, NVIDIA GeForce GTX 1650 (0x00001F9D) Direct3D11 vs_5_0 ps_5_0, D3D11-27.21.14.5256)",
115
- "ANGLE (NVIDIA, NVIDIA GeForce 205 (0x00002504) Direct3D11 vs_4_1 ps_4_1, D3D11)",
116
- "ANGLE (NVIDIA, NVIDIA GeForce GTX 1070 (0x00001BA1) Direct3D11 vs_5_0 ps_5_0, D3D11)",
117
- "ANGLE (NVIDIA, NVIDIA Quadro K620 (0x00002504) Direct3D11 vs_5_0 ps_5_0, D3D11)",
118
- "ANGLE (NVIDIA, NVIDIA GeForce GTX 1060 3GB (0x00001C02) Direct3D9Ex vs_3_0 ps_3_0, D3D9Ex)",
119
- "ANGLE (NVIDIA, NVIDIA GeForce GT 635M (0x00002504) Direct3D11 vs_5_0 ps_5_0, D3D11-23.21.13.9124)",
120
- "ANGLE (NVIDIA, NVIDIA GeForce GTX 1050 (0x00001C91) Direct3D11 vs_5_0 ps_5_0, D3D11-26.21.14.3630)",
121
- "ANGLE (NVIDIA, NVIDIA GeForce RTX 2060 (0x00001F51) Direct3D11 vs_5_0 ps_5_0, D3D11-26.21.14.4250)",
122
- "ANGLE (NVIDIA, NVIDIA GeForce RTX 2060 SUPER (0x00001F47) Direct3D11 vs_5_0 ps_5_0, D3D11-27.21.14.5167)",
123
- "ANGLE (NVIDIA, NVIDIA Quadro P600 (0x00001CB2) Direct3D11 vs_5_0 ps_5_0, D3D11-27.21.14.5239)",
124
- "ANGLE (NVIDIA, NVIDIA Quadro M1000M (0x00002504) Direct3D11 vs_5_0 ps_5_0, D3D11)",
125
- "ANGLE (NVIDIA, NVIDIA GeForce GTX 550 Ti (0x00001244) Direct3D11 vs_5_0 ps_5_0, D3D11)",
126
- "ANGLE (NVIDIA, NVIDIA GeForce 210 (0x00000A65) Direct3D11 vs_4_0 ps_4_0, D3D11)",
127
- "ANGLE (NVIDIA, NVIDIA GeForce GTX 1650 SUPER (0x00002187) Direct3D11 vs_5_0 ps_5_0, D3D11-26.21.14.4120)",
128
- "ANGLE (NVIDIA, NVIDIA GeForce GTX 1660 Ti (0x00002191) Direct3D11 vs_5_0 ps_5_0, D3D11)",
129
- "ANGLE (NVIDIA, NVIDIA GeForce GT 1030 (0x00001D01) Direct3D11 vs_5_0 ps_5_0, D3D11-27.21.14.5671)",
130
- "ANGLE (NVIDIA, NVIDIA GeForce GTX 970 (0x000013C2) Direct3D11 vs_5_0 ps_5_0, D3D11)",
131
- "ANGLE (NVIDIA, NVIDIA GeForce GTX 1070 (0x00001BA1) Direct3D11 vs_5_0 ps_5_0, D3D11-23.21.13.8813)",
132
- "ANGLE (NVIDIA, NVIDIA GeForce GT 730 (0x00001287) Direct3D11 vs_5_0 ps_5_0, D3D11-9.18.13.4411)"
133
- ]
134
- },
135
- {
136
- name: "Google Inc. (AMD)",
137
- vendor: "amd",
138
- values: [
139
- "ANGLE (AMD, AMD Radeon(TM) RX 560 Series (0x00001636) Direct3D11 vs_5_0 ps_5_0, D3D11)",
140
- "ANGLE (AMD, AMD Radeon(TM) Vega 8 Mobile Graphics (0x000015DD) Direct3D9Ex vs_3_0 ps_3_0, D3D11)",
141
- "ANGLE (AMD, Radeon RX RX550/550 Series (0x00001636) Direct3D11 vs_5_0 ps_5_0, D3D11)",
142
- "ANGLE (AMD, AMD Radeon R7 350 Series (0x00001636) Direct3D11 vs_5_0 ps_5_0, D3D11-26.20.15029.27017)",
143
- "ANGLE (AMD, AMD Radeon(TM) R7 Graphics (0x0000130F) Direct3D11 vs_5_0 ps_5_0, D3D11-27.20.1034.6)",
144
- "ANGLE (AMD, Radeon RX 560 Series (0x000067EF) Direct3D11 vs_5_0 ps_5_0, D3D11-26.20.15029.27017)",
145
- "ANGLE (AMD, AMD Radeon HD 7800 Series (0x00006819) Direct3D9Ex vs_3_0 ps_3_0, aticfx64.dll-26.20.15029.15007)",
146
- "ANGLE (AMD, AMD Radeon RX 580 2048SP (0x00006FDF) Direct3D11 vs_5_0 ps_5_0, D3D11-27.20.15003.5017)",
147
- "ANGLE (AMD, AMD Radeon(TM) Vega 8 Graphics (0x000015DD) Direct3D11 vs_5_0 ps_5_0, D3D11-27.20.14501.18003)",
148
- "ANGLE (AMD, AMD Radeon(TM) Graphics (0x0000164E) Direct3D11 vs_5_0 ps_5_0, D3D11-27.20.14044.2001)",
149
- "ANGLE (AMD, AMD Radeon Series (0x00001636) Direct3D9Ex vs_3_0 ps_3_0, aticfx32.dll-23.20.15002.11)",
150
- "ANGLE (AMD, Radeon (TM) RX 470 Graphics (0x00001636) Direct3D11 vs_5_0 ps_5_0, D3D11-26.20.13031.18002)",
151
- "ANGLE (AMD, AMD Radeon HD 6530D (0x00001636) Direct3D11 vs_5_0 ps_5_0, D3D11)",
152
- "ANGLE (AMD, Radeon RX 580 Series (0x000067DF) Direct3D11 vs_5_0 ps_5_0, D3D11-27.20.14534.2)",
153
- "ANGLE (AMD, AMD Radeon(TM) RX Vega 10 Graphics (0x000015DD) Direct3D11 vs_5_0 ps_5_0, D3D11-25.20.14132.2002)",
154
- "ANGLE (AMD, AMD Radeon R7 430 (0x00006611) Direct3D11 vs_5_0 ps_5_0, D3D11)",
155
- "ANGLE (AMD, AMD Radeon (TM) R9 200 Series (0x00006811) Direct3D11 vs_5_0 ps_5_0, D3D11-27.20.1034.6)",
156
- "ANGLE (AMD, AMD Radeon(TM) Vega 8 Graphics (0x000015DD) Direct3D11 vs_5_0 ps_5_0, D3D11-26.20.11008.3003)",
157
- "ANGLE (AMD, AMD Radeon(TM) RX Vega 10 Graphics (0x000015DD) Direct3D11 vs_5_0 ps_5_0, D3D11-27.20.1028.1)",
158
- "ANGLE (AMD, AMD Radeon(TM) Graphics (0x0000164E) Direct3D11 vs_5_0 ps_5_0, D3D11-27.20.1020.2002)",
159
- "ANGLE (AMD, AMD Radeon(TM) Vega 8 Graphics (0x000015DD) Direct3D11 vs_5_0 ps_5_0, D3D11)",
160
- "ANGLE (AMD, AMD Radeon R7 200 Series (0x00006658) Direct3D11 vs_5_0 ps_5_0, D3D11)"
161
- ]
162
- },
163
- {
164
- name: "Google Inc. (Intel)",
165
- vendor: "Intel",
166
- values: [
167
- "ANGLE (Intel, Intel(R) UHD Graphics 630 (0x00003E98) Direct3D11 vs_5_0 ps_5_0, D3D11-25.20.100.6617)",
168
- "ANGLE (Intel, Intel(R) UHD Graphics 620 (0x00003EA0) Direct3D11 vs_5_0 ps_5_0, D3D11-24.20.100.6346)",
169
- "ANGLE (Intel, Intel(R) UHD Graphics 630 (0x00003E98) Direct3D11 vs_5_0 ps_5_0, D3D11-26.20.100.7637)",
170
- "ANGLE (Intel, Intel(R) UHD Graphics 630 (0x00003E98) Direct3D11 vs_5_0 ps_5_0, D3D11-27.20.100.8682)",
171
- "ANGLE (Intel, Intel(R) HD Graphics Family (0x00000A16) Direct3D9Ex vs_3_0 ps_3_0, igdumdim64.dll-10.18.10.3907)",
172
- "ANGLE (Intel, Intel(R) HD Graphics 4000 (0x00000162) Direct3D11 vs_5_0 ps_5_0, D3D11-10.18.10.4252)",
173
- "ANGLE (Intel, Intel(R) HD Graphics 530 (0x0000191B) Direct3D11 vs_5_0 ps_5_0, D3D11-20.19.15.4364)",
174
- "ANGLE (Intel, Intel(R) UHD Graphics 620 (0x00003EA0) Direct3D11 vs_5_0 ps_5_0, D3D11-27.20.100.9126)",
175
- "ANGLE (Intel, Intel(R) UHD Graphics (0x00009BA4) Direct3D11 vs_5_0 ps_5_0, D3D11-26.20.100.7985)",
176
- "ANGLE (Intel, Intel(R) HD Graphics Family (0x00000A16) Direct3D11 vs_5_0 ps_5_0, D3D11-20.19.15.5058)",
177
- "ANGLE (Intel, Intel(R) UHD Graphics 610 (0x00003EA1) Direct3D11 vs_5_0 ps_5_0, D3D11-25.20.100.6471)",
178
- "ANGLE (Intel, Intel(R) HD Graphics 4600 (0x00000416) Direct3D11 vs_5_0 ps_5_0, D3D11-10.18.14.5067)",
179
- "ANGLE (Intel, Intel(R) HD Graphics (0x000022B0) Direct3D11 vs_5_0 ps_5_0, D3D11-10.18.10.5100)ANGLE (Intel, Intel(R) HD Graphics (0x000022B0) Direct3D11 vs_5_0 ps_5_0, D3D11-10.18.10.5100)",
180
- "ANGLE (Intel, Intel(R) HD Graphics (0x000022B0) Direct3D11 vs_5_0 ps_5_0, D3D11-10.18.10.5100)",
181
- "ANGLE (Intel, Intel(R) UHD Graphics 630 (0x00003E98) Direct3D11 vs_5_0 ps_5_0, D3D11-27.20.100.9466)",
182
- "ANGLE (Intel, Intel(R) HD Graphics 4400 (0x0000041E) Direct3D11 vs_5_0 ps_5_0, D3D11-10.18.10.3412)",
183
- "ANGLE (Intel, Intel(R) Iris(TM) Graphics 6100 (0x00007DD5) Direct3D11 vs_5_0 ps_5_0, D3D11)",
184
- "ANGLE (Intel, Intel(R) Iris(R) Plus Graphics (0x00008A5A) Direct3D11 vs_5_0 ps_5_0, D3D11-27.20.100.8853)",
185
- "ANGLE (Intel, Intel(R) HD Graphics 520 (0x00001921) Direct3D11 vs_5_0 ps_5_0, D3D11-21.20.16.4727)",
186
- "ANGLE (Intel, Intel(R) Iris(R) Plus Graphics (0x00008A5A) Direct3D9Ex vs_3_0 ps_3_0, D3D9Ex)",
187
- "ANGLE (Intel, Intel(R) HD Graphics (0x000022B0) Direct3D11 vs_5_0 ps_5_0, D3D11-10.18.10.5059)",
188
- "ANGLE (Intel, Intel(R) HD Graphics 5300 (0x00007DD5) Direct3D11 vs_5_0 ps_5_0, D3D11-20.19.15.4531)",
189
- "ANGLE (Intel, Intel(R) HD Graphics 4000 (0x00000162) Direct3D9Ex vs_3_0 ps_3_0, igdumd64.dll-9.17.10.2849)"
190
- ]
191
- }
192
- ]
193
-
194
- /** 获取系统字体,并且随机返回一些字体(不重复,排除中文字体) */
195
- export async function rSysFonts(): Promise<string[]> {
196
- const fonts = await fontList.getFonts();
197
-
198
- // 过滤掉包含中文字符的字体
199
- const nonChineseFonts = fonts.filter(font => !/[\u4e00-\u9fa5]/.test(font));
200
-
201
- const count = rInt(5, Math.min(50, nonChineseFonts.length)); // 确保不超过可用字体数量
202
-
203
- // 使用 Fisher-Yates 洗牌算法来随机选择不重复的字体
204
- const shuffled = [...nonChineseFonts];
205
- for (let i = shuffled.length - 1; i > 0; i--) {
206
- const j = rInt(0, i);
207
- // 交换元素
208
- const temp = shuffled[i];
209
- shuffled[i] = shuffled[j]!;
210
- shuffled[j] = temp!;
211
- }
212
-
213
- // 返回前 count 个字体
214
- return shuffled.slice(0, count);
1
+ import fontList from 'font-list';
2
+ import { rInt } from '@tocha688/utils';
3
+
4
+ export const PcScreen = [
5
+ "750 × 1334",
6
+ "800 x 600",
7
+ "1024 x 600",
8
+ "1024 x 640",
9
+ "1024 x 768",
10
+ "1152 x 864",
11
+ "1280 x 720",
12
+ "1280 x 768",
13
+ "1280 x 800",
14
+ "1280 x 960",
15
+ "1280 x 1024",
16
+ "1360 x 768",
17
+ "808 × 1792",
18
+ "828 × 1792",
19
+ "1080 x 2340",
20
+ "1125 x 2436",
21
+ "1242 x 2208",
22
+ "1170 × 2532",
23
+ "1284 x 2778",
24
+ "1366 x 768",
25
+ "1400 x 1050",
26
+ "1400 x 900",
27
+ "1440 x 900",
28
+ "1536 x 864",
29
+ "1600 x 900",
30
+ "1600 x 1200",
31
+ "1680 x 1050",
32
+ "1920 x 1080",
33
+ "1920 x 1200",
34
+ "2048 x 1152",
35
+ "2304 x 1440",
36
+ "2560 x 1440",
37
+ "2560 x 1600",
38
+ "2880 x 1800",
39
+ "4096 x 2304",
40
+ "5120 x 2880"
41
+ ];
42
+
43
+ // cpu
44
+ export const Cpus = [
45
+ "2",
46
+ "3",
47
+ "4",
48
+ "6",
49
+ "8",
50
+ "10",
51
+ "12",
52
+ "16",
53
+ "20",
54
+ "24",
55
+ "32",
56
+ "64"
57
+ ]
58
+
59
+ export const Memorys = [
60
+ "2",
61
+ "4",
62
+ "6",
63
+ "8",
64
+ "16",
65
+ "32",
66
+ "64",
67
+ "128"
68
+ ]
69
+
70
+
71
+ export const LinuxWebGL = [
72
+ {
73
+ name: "Google Inc. (AMD)",
74
+ values: [
75
+ "ANGLE (AMD, RENOIR(renoir LLVM 15.0.7), OpenGL 4.6)",
76
+ ]
77
+ },
78
+ {
79
+ name: "Google Inc. (Intel)",
80
+ values: [
81
+ "ANGLE (Intel, Mesa Intel(R) Graphics (RPL-S), OpenGL 4.6)",
82
+ "ANGLE (Intel, Mesa Intel(R) Graphics (RPL-P), OpenGL 4.6)",
83
+ "ANGLE (Intel, Mesa Intel(R) Xe Graphics (TGL GT2), OpenGL 4.6)",
84
+ ]
85
+ }
86
+ ]
87
+
88
+ export const WindowsWebGL = [
89
+ {
90
+ name: "Google Inc. (NVIDIA)",
91
+ vendor: "nvidia",
92
+ values: [
93
+ "ANGLE (NVIDIA, NVIDIA GeForce GTX 1660 SUPER (0x000021C4) Direct3D11 vs_5_0 ps_5_0, D3D11-27.21.14.6647)",
94
+ "ANGLE (NVIDIA, NVIDIA GeForce GTX 750 Ti (0x00001380) Direct3D11 vs_5_0 ps_5_0, D3D11-27.21.14.6647)",
95
+ "ANGLE (NVIDIA, NVIDIA GeForce GTX 650 (0x00002504) Direct3D11 vs_5_0 ps_5_0, D3D11-27.21.14.6140)",
96
+ "ANGLE (NVIDIA, NVIDIA GeForce GTX 1050 Ti (0x00001C8C) Direct3D9Ex vs_3_0 ps_3_0, D3D9Ex)",
97
+ "ANGLE (NVIDIA, NVIDIA GeForce GT 635M (0x00002504) Direct3D11 vs_5_0 ps_5_0, D3D11-10.18.13.6472)",
98
+ "ANGLE (NVIDIA, NVIDIA GeForce GT 710 (0x0000128B) Direct3D11 vs_5_0 ps_5_0, D3D11-26.21.14.3160)",
99
+ "ANGLE (NVIDIA, NVIDIA GeForce 410M (0x00001055) Direct3D11 vs_5_0 ps_5_0, D3D11)",
100
+ "ANGLE (NVIDIA, NVIDIA GeForce RTX 2060 (0x00001F51) Direct3D11 vs_5_0 ps_5_0, D3D11-27.21.14.6093)",
101
+ "ANGLE (NVIDIA, NVIDIA GeForce GTX 1060 (0x00001C20) Direct3D11 vs_5_0 ps_5_0, D3D11-27.21.14.5148)",
102
+ "ANGLE (NVIDIA, NVIDIA GeForce GTX 1660 (0x00002184) Direct3D11 vs_5_0 ps_5_0, D3D11-27.21.14.5751)",
103
+ "ANGLE (NVIDIA, NVIDIA GeForce RTX 2070 SUPER (0x00001E84) Direct3D11 vs_5_0 ps_5_0, D3D11)",
104
+ "ANGLE (NVIDIA, NVIDIA GeForce GTX 750 Ti (0x00001380) Direct3D9Ex vs_3_0 ps_3_0, nvd3dumx.dll-26.21.14.4219)",
105
+ "ANGLE (NVIDIA, NVIDIA GeForce GT 730 (0x00001287) Direct3D11 vs_5_0 ps_5_0, D3D11-27.21.14.5671)",
106
+ "ANGLE (NVIDIA, NVIDIA GeForce GTX 1650 (0x00001F9D) Direct3D11 vs_5_0 ps_5_0, D3D11-27.21.14.5751)",
107
+ "ANGLE (NVIDIA, NVIDIA GeForce GTX 1050 (0x00001C91) Direct3D11 vs_5_0 ps_5_0, D3D11-22.21.13.8476)",
108
+ "ANGLE (NVIDIA, NVIDIA GeForce GTX 950 (0x00001402) Direct3D11 vs_5_0 ps_5_0, D3D11-26.21.14.4187)",
109
+ "ANGLE (NVIDIA, NVIDIA GeForce GTX 960 (0x00001401) Direct3D11 vs_5_0 ps_5_0, D3D11)",
110
+ "ANGLE (NVIDIA, NVIDIA GeForce RTX 3070 (0x00002484) Direct3D11 vs_5_0 ps_5_0, D3D11-27.21.14.6611)",
111
+ "ANGLE (NVIDIA, NVIDIA GeForce RTX 2060 (0x00001F51) Direct3D11 vs_5_0 ps_5_0, D3D11-27.21.14.5256)",
112
+ "ANGLE (NVIDIA, NVIDIA GeForce GTX 660 (0x000011C0) Direct3D11 vs_5_0 ps_5_0, D3D11-27.21.14.5671)",
113
+ "ANGLE (NVIDIA, NVIDIA GeForce GTX 970 (0x000013C2) Direct3D11 vs_5_0 ps_5_0, D3D11-27.21.14.5671)",
114
+ "ANGLE (NVIDIA, NVIDIA GeForce GTX 1650 (0x00001F9D) Direct3D11 vs_5_0 ps_5_0, D3D11-27.21.14.5256)",
115
+ "ANGLE (NVIDIA, NVIDIA GeForce 205 (0x00002504) Direct3D11 vs_4_1 ps_4_1, D3D11)",
116
+ "ANGLE (NVIDIA, NVIDIA GeForce GTX 1070 (0x00001BA1) Direct3D11 vs_5_0 ps_5_0, D3D11)",
117
+ "ANGLE (NVIDIA, NVIDIA Quadro K620 (0x00002504) Direct3D11 vs_5_0 ps_5_0, D3D11)",
118
+ "ANGLE (NVIDIA, NVIDIA GeForce GTX 1060 3GB (0x00001C02) Direct3D9Ex vs_3_0 ps_3_0, D3D9Ex)",
119
+ "ANGLE (NVIDIA, NVIDIA GeForce GT 635M (0x00002504) Direct3D11 vs_5_0 ps_5_0, D3D11-23.21.13.9124)",
120
+ "ANGLE (NVIDIA, NVIDIA GeForce GTX 1050 (0x00001C91) Direct3D11 vs_5_0 ps_5_0, D3D11-26.21.14.3630)",
121
+ "ANGLE (NVIDIA, NVIDIA GeForce RTX 2060 (0x00001F51) Direct3D11 vs_5_0 ps_5_0, D3D11-26.21.14.4250)",
122
+ "ANGLE (NVIDIA, NVIDIA GeForce RTX 2060 SUPER (0x00001F47) Direct3D11 vs_5_0 ps_5_0, D3D11-27.21.14.5167)",
123
+ "ANGLE (NVIDIA, NVIDIA Quadro P600 (0x00001CB2) Direct3D11 vs_5_0 ps_5_0, D3D11-27.21.14.5239)",
124
+ "ANGLE (NVIDIA, NVIDIA Quadro M1000M (0x00002504) Direct3D11 vs_5_0 ps_5_0, D3D11)",
125
+ "ANGLE (NVIDIA, NVIDIA GeForce GTX 550 Ti (0x00001244) Direct3D11 vs_5_0 ps_5_0, D3D11)",
126
+ "ANGLE (NVIDIA, NVIDIA GeForce 210 (0x00000A65) Direct3D11 vs_4_0 ps_4_0, D3D11)",
127
+ "ANGLE (NVIDIA, NVIDIA GeForce GTX 1650 SUPER (0x00002187) Direct3D11 vs_5_0 ps_5_0, D3D11-26.21.14.4120)",
128
+ "ANGLE (NVIDIA, NVIDIA GeForce GTX 1660 Ti (0x00002191) Direct3D11 vs_5_0 ps_5_0, D3D11)",
129
+ "ANGLE (NVIDIA, NVIDIA GeForce GT 1030 (0x00001D01) Direct3D11 vs_5_0 ps_5_0, D3D11-27.21.14.5671)",
130
+ "ANGLE (NVIDIA, NVIDIA GeForce GTX 970 (0x000013C2) Direct3D11 vs_5_0 ps_5_0, D3D11)",
131
+ "ANGLE (NVIDIA, NVIDIA GeForce GTX 1070 (0x00001BA1) Direct3D11 vs_5_0 ps_5_0, D3D11-23.21.13.8813)",
132
+ "ANGLE (NVIDIA, NVIDIA GeForce GT 730 (0x00001287) Direct3D11 vs_5_0 ps_5_0, D3D11-9.18.13.4411)"
133
+ ]
134
+ },
135
+ {
136
+ name: "Google Inc. (AMD)",
137
+ vendor: "amd",
138
+ values: [
139
+ "ANGLE (AMD, AMD Radeon(TM) RX 560 Series (0x00001636) Direct3D11 vs_5_0 ps_5_0, D3D11)",
140
+ "ANGLE (AMD, AMD Radeon(TM) Vega 8 Mobile Graphics (0x000015DD) Direct3D9Ex vs_3_0 ps_3_0, D3D11)",
141
+ "ANGLE (AMD, Radeon RX RX550/550 Series (0x00001636) Direct3D11 vs_5_0 ps_5_0, D3D11)",
142
+ "ANGLE (AMD, AMD Radeon R7 350 Series (0x00001636) Direct3D11 vs_5_0 ps_5_0, D3D11-26.20.15029.27017)",
143
+ "ANGLE (AMD, AMD Radeon(TM) R7 Graphics (0x0000130F) Direct3D11 vs_5_0 ps_5_0, D3D11-27.20.1034.6)",
144
+ "ANGLE (AMD, Radeon RX 560 Series (0x000067EF) Direct3D11 vs_5_0 ps_5_0, D3D11-26.20.15029.27017)",
145
+ "ANGLE (AMD, AMD Radeon HD 7800 Series (0x00006819) Direct3D9Ex vs_3_0 ps_3_0, aticfx64.dll-26.20.15029.15007)",
146
+ "ANGLE (AMD, AMD Radeon RX 580 2048SP (0x00006FDF) Direct3D11 vs_5_0 ps_5_0, D3D11-27.20.15003.5017)",
147
+ "ANGLE (AMD, AMD Radeon(TM) Vega 8 Graphics (0x000015DD) Direct3D11 vs_5_0 ps_5_0, D3D11-27.20.14501.18003)",
148
+ "ANGLE (AMD, AMD Radeon(TM) Graphics (0x0000164E) Direct3D11 vs_5_0 ps_5_0, D3D11-27.20.14044.2001)",
149
+ "ANGLE (AMD, AMD Radeon Series (0x00001636) Direct3D9Ex vs_3_0 ps_3_0, aticfx32.dll-23.20.15002.11)",
150
+ "ANGLE (AMD, Radeon (TM) RX 470 Graphics (0x00001636) Direct3D11 vs_5_0 ps_5_0, D3D11-26.20.13031.18002)",
151
+ "ANGLE (AMD, AMD Radeon HD 6530D (0x00001636) Direct3D11 vs_5_0 ps_5_0, D3D11)",
152
+ "ANGLE (AMD, Radeon RX 580 Series (0x000067DF) Direct3D11 vs_5_0 ps_5_0, D3D11-27.20.14534.2)",
153
+ "ANGLE (AMD, AMD Radeon(TM) RX Vega 10 Graphics (0x000015DD) Direct3D11 vs_5_0 ps_5_0, D3D11-25.20.14132.2002)",
154
+ "ANGLE (AMD, AMD Radeon R7 430 (0x00006611) Direct3D11 vs_5_0 ps_5_0, D3D11)",
155
+ "ANGLE (AMD, AMD Radeon (TM) R9 200 Series (0x00006811) Direct3D11 vs_5_0 ps_5_0, D3D11-27.20.1034.6)",
156
+ "ANGLE (AMD, AMD Radeon(TM) Vega 8 Graphics (0x000015DD) Direct3D11 vs_5_0 ps_5_0, D3D11-26.20.11008.3003)",
157
+ "ANGLE (AMD, AMD Radeon(TM) RX Vega 10 Graphics (0x000015DD) Direct3D11 vs_5_0 ps_5_0, D3D11-27.20.1028.1)",
158
+ "ANGLE (AMD, AMD Radeon(TM) Graphics (0x0000164E) Direct3D11 vs_5_0 ps_5_0, D3D11-27.20.1020.2002)",
159
+ "ANGLE (AMD, AMD Radeon(TM) Vega 8 Graphics (0x000015DD) Direct3D11 vs_5_0 ps_5_0, D3D11)",
160
+ "ANGLE (AMD, AMD Radeon R7 200 Series (0x00006658) Direct3D11 vs_5_0 ps_5_0, D3D11)"
161
+ ]
162
+ },
163
+ {
164
+ name: "Google Inc. (Intel)",
165
+ vendor: "Intel",
166
+ values: [
167
+ "ANGLE (Intel, Intel(R) UHD Graphics 630 (0x00003E98) Direct3D11 vs_5_0 ps_5_0, D3D11-25.20.100.6617)",
168
+ "ANGLE (Intel, Intel(R) UHD Graphics 620 (0x00003EA0) Direct3D11 vs_5_0 ps_5_0, D3D11-24.20.100.6346)",
169
+ "ANGLE (Intel, Intel(R) UHD Graphics 630 (0x00003E98) Direct3D11 vs_5_0 ps_5_0, D3D11-26.20.100.7637)",
170
+ "ANGLE (Intel, Intel(R) UHD Graphics 630 (0x00003E98) Direct3D11 vs_5_0 ps_5_0, D3D11-27.20.100.8682)",
171
+ "ANGLE (Intel, Intel(R) HD Graphics Family (0x00000A16) Direct3D9Ex vs_3_0 ps_3_0, igdumdim64.dll-10.18.10.3907)",
172
+ "ANGLE (Intel, Intel(R) HD Graphics 4000 (0x00000162) Direct3D11 vs_5_0 ps_5_0, D3D11-10.18.10.4252)",
173
+ "ANGLE (Intel, Intel(R) HD Graphics 530 (0x0000191B) Direct3D11 vs_5_0 ps_5_0, D3D11-20.19.15.4364)",
174
+ "ANGLE (Intel, Intel(R) UHD Graphics 620 (0x00003EA0) Direct3D11 vs_5_0 ps_5_0, D3D11-27.20.100.9126)",
175
+ "ANGLE (Intel, Intel(R) UHD Graphics (0x00009BA4) Direct3D11 vs_5_0 ps_5_0, D3D11-26.20.100.7985)",
176
+ "ANGLE (Intel, Intel(R) HD Graphics Family (0x00000A16) Direct3D11 vs_5_0 ps_5_0, D3D11-20.19.15.5058)",
177
+ "ANGLE (Intel, Intel(R) UHD Graphics 610 (0x00003EA1) Direct3D11 vs_5_0 ps_5_0, D3D11-25.20.100.6471)",
178
+ "ANGLE (Intel, Intel(R) HD Graphics 4600 (0x00000416) Direct3D11 vs_5_0 ps_5_0, D3D11-10.18.14.5067)",
179
+ "ANGLE (Intel, Intel(R) HD Graphics (0x000022B0) Direct3D11 vs_5_0 ps_5_0, D3D11-10.18.10.5100)ANGLE (Intel, Intel(R) HD Graphics (0x000022B0) Direct3D11 vs_5_0 ps_5_0, D3D11-10.18.10.5100)",
180
+ "ANGLE (Intel, Intel(R) HD Graphics (0x000022B0) Direct3D11 vs_5_0 ps_5_0, D3D11-10.18.10.5100)",
181
+ "ANGLE (Intel, Intel(R) UHD Graphics 630 (0x00003E98) Direct3D11 vs_5_0 ps_5_0, D3D11-27.20.100.9466)",
182
+ "ANGLE (Intel, Intel(R) HD Graphics 4400 (0x0000041E) Direct3D11 vs_5_0 ps_5_0, D3D11-10.18.10.3412)",
183
+ "ANGLE (Intel, Intel(R) Iris(TM) Graphics 6100 (0x00007DD5) Direct3D11 vs_5_0 ps_5_0, D3D11)",
184
+ "ANGLE (Intel, Intel(R) Iris(R) Plus Graphics (0x00008A5A) Direct3D11 vs_5_0 ps_5_0, D3D11-27.20.100.8853)",
185
+ "ANGLE (Intel, Intel(R) HD Graphics 520 (0x00001921) Direct3D11 vs_5_0 ps_5_0, D3D11-21.20.16.4727)",
186
+ "ANGLE (Intel, Intel(R) Iris(R) Plus Graphics (0x00008A5A) Direct3D9Ex vs_3_0 ps_3_0, D3D9Ex)",
187
+ "ANGLE (Intel, Intel(R) HD Graphics (0x000022B0) Direct3D11 vs_5_0 ps_5_0, D3D11-10.18.10.5059)",
188
+ "ANGLE (Intel, Intel(R) HD Graphics 5300 (0x00007DD5) Direct3D11 vs_5_0 ps_5_0, D3D11-20.19.15.4531)",
189
+ "ANGLE (Intel, Intel(R) HD Graphics 4000 (0x00000162) Direct3D9Ex vs_3_0 ps_3_0, igdumd64.dll-9.17.10.2849)"
190
+ ]
191
+ }
192
+ ]
193
+
194
+ /** 获取系统字体,并且随机返回一些字体(不重复,排除中文字体) */
195
+ export async function rSysFonts(): Promise<string[]> {
196
+ const fonts = await fontList.getFonts();
197
+
198
+ // 过滤掉包含中文字符的字体
199
+ const nonChineseFonts = fonts.filter(font => !/[\u4e00-\u9fa5]/.test(font));
200
+
201
+ const count = rInt(5, Math.min(50, nonChineseFonts.length)); // 确保不超过可用字体数量
202
+
203
+ // 使用 Fisher-Yates 洗牌算法来随机选择不重复的字体
204
+ const shuffled = [...nonChineseFonts];
205
+ for (let i = shuffled.length - 1; i > 0; i--) {
206
+ const j = rInt(0, i);
207
+ // 交换元素
208
+ const temp = shuffled[i];
209
+ shuffled[i] = shuffled[j]!;
210
+ shuffled[j] = temp!;
211
+ }
212
+
213
+ // 返回前 count 个字体
214
+ return shuffled.slice(0, count);
215
215
  }
@@ -1,45 +1,45 @@
1
- import path from "path";
2
- import { chromium } from "patchright-core";
3
- import { AutoHelper } from "../actions/auto";
4
- import type { BrowserStartOptions, ProxyServerResult, StartBrowserFn } from "../types";
5
-
6
- export function makeUniqueBrowserConfig() {
7
- const sessionId = `${Date.now()}-${Math.random().toString(36).slice(2)}`;
8
- const userDataDir = path.join(process.cwd(), "tmps", `brw-session-${sessionId}`);
9
- return { sessionId, userDataDir };
10
- }
11
-
12
-
13
- export async function getBrowserWebSocketUrl(port: number): Promise<string> {
14
- const res = await fetch(`http://127.0.0.1:${port}/json/version`).then(x => x.json()) as any
15
- return res?.webSocketDebuggerUrl || "";
16
- }
17
-
18
-
19
- export async function createBrowser(startBrowserMain: StartBrowserFn, opts: BrowserStartOptions) {
20
- const brwMain = await startBrowserMain({ ...opts });
21
- const wsUrl = await getBrowserWebSocketUrl(brwMain.port);
22
- if (!wsUrl) {
23
- brwMain.close();
24
- throw new Error("无法获取浏览器WebSocket URL");
25
- }
26
- try {
27
- // console.log(wsUrl)
28
- const brw = await chromium.connectOverCDP(wsUrl);
29
- const page = brw.contexts()[0]?.pages()?.[0] ?? (await brw.newPage());
30
- page.setDefaultNavigationTimeout(60000);
31
- page.setDefaultTimeout(60000);
32
- const auto = new AutoHelper(page);
33
- (brw as any)._hk_close = brw.close;
34
- brw.close = async function () {
35
- await (brw as any)._hk_close();
36
- await brwMain.close();
37
- }
38
- return { page, auto, brw }
39
- } catch (e) {
40
- console.log(e)
41
- await brwMain.close();
42
- return await createBrowser(startBrowserMain, opts);
43
- }
44
- }
45
-
1
+ import path from "path";
2
+ import { chromium } from "patchright-core";
3
+ import { AutoHelper } from "../actions/auto";
4
+ import type { BrowserStartOptions, ProxyServerResult, StartBrowserFn } from "../types";
5
+
6
+ export function makeUniqueBrowserConfig() {
7
+ const sessionId = `${Date.now()}-${Math.random().toString(36).slice(2)}`;
8
+ const userDataDir = path.join(process.cwd(), "tmps", `brw-session-${sessionId}`);
9
+ return { sessionId, userDataDir };
10
+ }
11
+
12
+
13
+ export async function getBrowserWebSocketUrl(port: number): Promise<string> {
14
+ const res = await fetch(`http://127.0.0.1:${port}/json/version`).then(x => x.json()) as any
15
+ return res?.webSocketDebuggerUrl || "";
16
+ }
17
+
18
+
19
+ export async function createBrowser(startBrowserMain: StartBrowserFn, opts: BrowserStartOptions) {
20
+ const brwMain = await startBrowserMain({ ...opts });
21
+ const wsUrl = await getBrowserWebSocketUrl(brwMain.port);
22
+ if (!wsUrl) {
23
+ brwMain.close();
24
+ throw new Error("无法获取浏览器WebSocket URL");
25
+ }
26
+ try {
27
+ // console.log(wsUrl)
28
+ const brw = await chromium.connectOverCDP(wsUrl);
29
+ const page = brw.contexts()[0]?.pages()?.[0] ?? (await brw.newPage());
30
+ page.setDefaultNavigationTimeout(60000);
31
+ page.setDefaultTimeout(60000);
32
+ const auto = new AutoHelper(page);
33
+ (brw as any)._hk_close = brw.close;
34
+ brw.close = async function () {
35
+ await (brw as any)._hk_close();
36
+ await brwMain.close();
37
+ }
38
+ return { page, auto, brw }
39
+ } catch (e) {
40
+ console.log(e)
41
+ await brwMain.close();
42
+ return await createBrowser(startBrowserMain, opts);
43
+ }
44
+ }
45
+