├── .gitignore
├── App.config
├── ClashNet.csproj
├── ClashNet.sln
├── ClashNet_TemporaryKey.pfx
├── LICENSE
├── MainForm.Designer.cs
├── MainForm.cs
├── MainForm.resx
├── MyThread.cs
├── Program.cs
├── Properties
├── AssemblyInfo.cs
├── Resources.Designer.cs
├── Resources.resx
├── Settings.Designer.cs
└── Settings.settings
├── README.md
├── clash.exe
├── dashboard
├── 7.a322784ecacd704a28c6.js
├── CNAME
├── app.83f6698cbf7891b130e2.css
├── app.99489dd938c57b6c22da.js
├── core-js~app.b0e192aa2040bbc66d02.js
├── index.html
├── proxies.9022775a13e050c1509f.css
├── proxies.993826afdebb153e0805.js
├── react~app.6097406f382313d294e3.js
├── report.html
├── rules.1fba3c440f97fe0e3bb1.css
├── rules.6f76e629fb04fefe588a.js
├── runtime~app.dc7b6d94c7fe054b4bce.js
├── vendors~chartjs.429cb8fa2f4d9b575993.js
├── yacd-128.png
├── yacd-64.png
└── yacd.ico
├── icon.ico
├── logo.ico
├── packages.config
└── sysproxy.exe
/.gitignore:
--------------------------------------------------------------------------------
1 | /.vs/
2 | Backup/
3 | bin/
4 | obj/
5 | ClashNet.csproj.user
6 |
7 | shadowsocks-csharp/3rd/*
8 | packages/*
--------------------------------------------------------------------------------
/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/ClashNet.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 | Debug
10 | AnyCPU
11 | {1C7F05D8-0BC0-4DA1-91FB-BE292292EBEC}
12 | WinExe
13 | ClashNet
14 | ClashNet
15 | v4.7.2
16 | 512
17 | true
18 | true
19 | false
20 |
21 |
22 | publish\
23 | true
24 | Disk
25 | false
26 | Foreground
27 | 7
28 | Days
29 | false
30 | false
31 | true
32 | true
33 | 0
34 | 1.0.0.%2a
35 | false
36 | true
37 |
38 |
39 | x64
40 | true
41 | full
42 | false
43 | bin\Debug\
44 | DEBUG;TRACE
45 | prompt
46 | 4
47 | false
48 |
49 |
50 | AnyCPU
51 | pdbonly
52 | true
53 | bin\Release\
54 | TRACE
55 | prompt
56 | 4
57 |
58 |
59 | true
60 | bin\x64\Debug\
61 | DEBUG;TRACE
62 | full
63 | x64
64 | prompt
65 | MinimumRecommendedRules.ruleset
66 |
67 |
68 | bin\x64\Release\
69 | TRACE
70 | true
71 | pdbonly
72 | x64
73 | prompt
74 | MinimumRecommendedRules.ruleset
75 | true
76 |
77 |
78 | true
79 | bin\x86\Debug\
80 | DEBUG;TRACE
81 | full
82 | x86
83 | prompt
84 | MinimumRecommendedRules.ruleset
85 |
86 |
87 | bin\x86\Release\
88 | TRACE
89 | true
90 | pdbonly
91 | x86
92 | prompt
93 | MinimumRecommendedRules.ruleset
94 | true
95 |
96 |
97 | icon.ico
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 | Form
115 |
116 |
117 | MainForm.cs
118 |
119 |
120 |
121 |
122 |
123 | MainForm.cs
124 |
125 |
126 | ResXFileCodeGenerator
127 | Resources.Designer.cs
128 | Designer
129 |
130 |
131 | True
132 | Resources.resx
133 |
134 |
135 | Always
136 |
137 |
138 |
139 | SettingsSingleFileGenerator
140 | Settings.Designer.cs
141 |
142 |
143 | True
144 | Settings.settings
145 | True
146 |
147 |
148 |
149 |
150 |
151 |
152 |
153 |
154 |
155 |
156 | PreserveNewest
157 |
158 |
159 | Always
160 |
161 |
162 | Always
163 |
164 |
165 | Always
166 |
167 |
168 | Always
169 |
170 |
171 | Always
172 |
173 |
174 | Always
175 |
176 |
177 | Always
178 |
179 |
180 | Always
181 |
182 |
183 | Always
184 |
185 |
186 | Always
187 |
188 |
189 | Always
190 |
191 |
192 | Always
193 |
194 |
195 | Always
196 |
197 |
198 | Always
199 |
200 |
201 | Always
202 |
203 |
204 | Always
205 |
206 |
207 |
208 | Always
209 |
210 |
211 |
212 |
213 | False
214 | Microsoft .NET Framework 4.7.2 %28x86 和 x64%29
215 | true
216 |
217 |
218 | False
219 | .NET Framework 3.5 SP1
220 | false
221 |
222 |
223 |
224 |
225 |
226 | 这台计算机上缺少此项目引用的 NuGet 程序包。使用“NuGet 程序包还原”可下载这些程序包。有关更多信息,请参见 http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是 {0}。
227 |
228 |
229 |
230 |
231 |
232 |
233 |
234 |
235 |
236 |
237 |
--------------------------------------------------------------------------------
/ClashNet.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 16
4 | VisualStudioVersion = 16.0.29201.188
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClashNet", "ClashNet.csproj", "{1C7F05D8-0BC0-4DA1-91FB-BE292292EBEC}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|Any CPU = Debug|Any CPU
11 | Debug|x64 = Debug|x64
12 | Debug|x86 = Debug|x86
13 | Release|Any CPU = Release|Any CPU
14 | Release|x64 = Release|x64
15 | Release|x86 = Release|x86
16 | EndGlobalSection
17 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
18 | {1C7F05D8-0BC0-4DA1-91FB-BE292292EBEC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
19 | {1C7F05D8-0BC0-4DA1-91FB-BE292292EBEC}.Debug|Any CPU.Build.0 = Debug|Any CPU
20 | {1C7F05D8-0BC0-4DA1-91FB-BE292292EBEC}.Debug|x64.ActiveCfg = Debug|x64
21 | {1C7F05D8-0BC0-4DA1-91FB-BE292292EBEC}.Debug|x64.Build.0 = Debug|x64
22 | {1C7F05D8-0BC0-4DA1-91FB-BE292292EBEC}.Debug|x86.ActiveCfg = Debug|x86
23 | {1C7F05D8-0BC0-4DA1-91FB-BE292292EBEC}.Debug|x86.Build.0 = Debug|x86
24 | {1C7F05D8-0BC0-4DA1-91FB-BE292292EBEC}.Release|Any CPU.ActiveCfg = Release|Any CPU
25 | {1C7F05D8-0BC0-4DA1-91FB-BE292292EBEC}.Release|Any CPU.Build.0 = Release|Any CPU
26 | {1C7F05D8-0BC0-4DA1-91FB-BE292292EBEC}.Release|x64.ActiveCfg = Release|x64
27 | {1C7F05D8-0BC0-4DA1-91FB-BE292292EBEC}.Release|x64.Build.0 = Release|x64
28 | {1C7F05D8-0BC0-4DA1-91FB-BE292292EBEC}.Release|x86.ActiveCfg = Release|x86
29 | {1C7F05D8-0BC0-4DA1-91FB-BE292292EBEC}.Release|x86.Build.0 = Release|x86
30 | EndGlobalSection
31 | GlobalSection(SolutionProperties) = preSolution
32 | HideSolutionNode = FALSE
33 | EndGlobalSection
34 | GlobalSection(ExtensibilityGlobals) = postSolution
35 | SolutionGuid = {7974D5BD-13D9-4B6A-AEA2-EB068DC1C8C9}
36 | EndGlobalSection
37 | EndGlobal
38 |
--------------------------------------------------------------------------------
/ClashNet_TemporaryKey.pfx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/coderbean/ClashNet/dccc669c8b47d77d3328571223845284bed5e42c/ClashNet_TemporaryKey.pfx
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | GNU GENERAL PUBLIC LICENSE
2 | Version 3, 29 June 2007
3 |
4 | Copyright (C) 2007 Free Software Foundation, Inc.
5 | Everyone is permitted to copy and distribute verbatim copies
6 | of this license document, but changing it is not allowed.
7 |
8 | Preamble
9 |
10 | The GNU General Public License is a free, copyleft license for
11 | software and other kinds of works.
12 |
13 | The licenses for most software and other practical works are designed
14 | to take away your freedom to share and change the works. By contrast,
15 | the GNU General Public License is intended to guarantee your freedom to
16 | share and change all versions of a program--to make sure it remains free
17 | software for all its users. We, the Free Software Foundation, use the
18 | GNU General Public License for most of our software; it applies also to
19 | any other work released this way by its authors. You can apply it to
20 | your programs, too.
21 |
22 | When we speak of free software, we are referring to freedom, not
23 | price. Our General Public Licenses are designed to make sure that you
24 | have the freedom to distribute copies of free software (and charge for
25 | them if you wish), that you receive source code or can get it if you
26 | want it, that you can change the software or use pieces of it in new
27 | free programs, and that you know you can do these things.
28 |
29 | To protect your rights, we need to prevent others from denying you
30 | these rights or asking you to surrender the rights. Therefore, you have
31 | certain responsibilities if you distribute copies of the software, or if
32 | you modify it: responsibilities to respect the freedom of others.
33 |
34 | For example, if you distribute copies of such a program, whether
35 | gratis or for a fee, you must pass on to the recipients the same
36 | freedoms that you received. You must make sure that they, too, receive
37 | or can get the source code. And you must show them these terms so they
38 | know their rights.
39 |
40 | Developers that use the GNU GPL protect your rights with two steps:
41 | (1) assert copyright on the software, and (2) offer you this License
42 | giving you legal permission to copy, distribute and/or modify it.
43 |
44 | For the developers' and authors' protection, the GPL clearly explains
45 | that there is no warranty for this free software. For both users' and
46 | authors' sake, the GPL requires that modified versions be marked as
47 | changed, so that their problems will not be attributed erroneously to
48 | authors of previous versions.
49 |
50 | Some devices are designed to deny users access to install or run
51 | modified versions of the software inside them, although the manufacturer
52 | can do so. This is fundamentally incompatible with the aim of
53 | protecting users' freedom to change the software. The systematic
54 | pattern of such abuse occurs in the area of products for individuals to
55 | use, which is precisely where it is most unacceptable. Therefore, we
56 | have designed this version of the GPL to prohibit the practice for those
57 | products. If such problems arise substantially in other domains, we
58 | stand ready to extend this provision to those domains in future versions
59 | of the GPL, as needed to protect the freedom of users.
60 |
61 | Finally, every program is threatened constantly by software patents.
62 | States should not allow patents to restrict development and use of
63 | software on general-purpose computers, but in those that do, we wish to
64 | avoid the special danger that patents applied to a free program could
65 | make it effectively proprietary. To prevent this, the GPL assures that
66 | patents cannot be used to render the program non-free.
67 |
68 | The precise terms and conditions for copying, distribution and
69 | modification follow.
70 |
71 | TERMS AND CONDITIONS
72 |
73 | 0. Definitions.
74 |
75 | "This License" refers to version 3 of the GNU General Public License.
76 |
77 | "Copyright" also means copyright-like laws that apply to other kinds of
78 | works, such as semiconductor masks.
79 |
80 | "The Program" refers to any copyrightable work licensed under this
81 | License. Each licensee is addressed as "you". "Licensees" and
82 | "recipients" may be individuals or organizations.
83 |
84 | To "modify" a work means to copy from or adapt all or part of the work
85 | in a fashion requiring copyright permission, other than the making of an
86 | exact copy. The resulting work is called a "modified version" of the
87 | earlier work or a work "based on" the earlier work.
88 |
89 | A "covered work" means either the unmodified Program or a work based
90 | on the Program.
91 |
92 | To "propagate" a work means to do anything with it that, without
93 | permission, would make you directly or secondarily liable for
94 | infringement under applicable copyright law, except executing it on a
95 | computer or modifying a private copy. Propagation includes copying,
96 | distribution (with or without modification), making available to the
97 | public, and in some countries other activities as well.
98 |
99 | To "convey" a work means any kind of propagation that enables other
100 | parties to make or receive copies. Mere interaction with a user through
101 | a computer network, with no transfer of a copy, is not conveying.
102 |
103 | An interactive user interface displays "Appropriate Legal Notices"
104 | to the extent that it includes a convenient and prominently visible
105 | feature that (1) displays an appropriate copyright notice, and (2)
106 | tells the user that there is no warranty for the work (except to the
107 | extent that warranties are provided), that licensees may convey the
108 | work under this License, and how to view a copy of this License. If
109 | the interface presents a list of user commands or options, such as a
110 | menu, a prominent item in the list meets this criterion.
111 |
112 | 1. Source Code.
113 |
114 | The "source code" for a work means the preferred form of the work
115 | for making modifications to it. "Object code" means any non-source
116 | form of a work.
117 |
118 | A "Standard Interface" means an interface that either is an official
119 | standard defined by a recognized standards body, or, in the case of
120 | interfaces specified for a particular programming language, one that
121 | is widely used among developers working in that language.
122 |
123 | The "System Libraries" of an executable work include anything, other
124 | than the work as a whole, that (a) is included in the normal form of
125 | packaging a Major Component, but which is not part of that Major
126 | Component, and (b) serves only to enable use of the work with that
127 | Major Component, or to implement a Standard Interface for which an
128 | implementation is available to the public in source code form. A
129 | "Major Component", in this context, means a major essential component
130 | (kernel, window system, and so on) of the specific operating system
131 | (if any) on which the executable work runs, or a compiler used to
132 | produce the work, or an object code interpreter used to run it.
133 |
134 | The "Corresponding Source" for a work in object code form means all
135 | the source code needed to generate, install, and (for an executable
136 | work) run the object code and to modify the work, including scripts to
137 | control those activities. However, it does not include the work's
138 | System Libraries, or general-purpose tools or generally available free
139 | programs which are used unmodified in performing those activities but
140 | which are not part of the work. For example, Corresponding Source
141 | includes interface definition files associated with source files for
142 | the work, and the source code for shared libraries and dynamically
143 | linked subprograms that the work is specifically designed to require,
144 | such as by intimate data communication or control flow between those
145 | subprograms and other parts of the work.
146 |
147 | The Corresponding Source need not include anything that users
148 | can regenerate automatically from other parts of the Corresponding
149 | Source.
150 |
151 | The Corresponding Source for a work in source code form is that
152 | same work.
153 |
154 | 2. Basic Permissions.
155 |
156 | All rights granted under this License are granted for the term of
157 | copyright on the Program, and are irrevocable provided the stated
158 | conditions are met. This License explicitly affirms your unlimited
159 | permission to run the unmodified Program. The output from running a
160 | covered work is covered by this License only if the output, given its
161 | content, constitutes a covered work. This License acknowledges your
162 | rights of fair use or other equivalent, as provided by copyright law.
163 |
164 | You may make, run and propagate covered works that you do not
165 | convey, without conditions so long as your license otherwise remains
166 | in force. You may convey covered works to others for the sole purpose
167 | of having them make modifications exclusively for you, or provide you
168 | with facilities for running those works, provided that you comply with
169 | the terms of this License in conveying all material for which you do
170 | not control copyright. Those thus making or running the covered works
171 | for you must do so exclusively on your behalf, under your direction
172 | and control, on terms that prohibit them from making any copies of
173 | your copyrighted material outside their relationship with you.
174 |
175 | Conveying under any other circumstances is permitted solely under
176 | the conditions stated below. Sublicensing is not allowed; section 10
177 | makes it unnecessary.
178 |
179 | 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
180 |
181 | No covered work shall be deemed part of an effective technological
182 | measure under any applicable law fulfilling obligations under article
183 | 11 of the WIPO copyright treaty adopted on 20 December 1996, or
184 | similar laws prohibiting or restricting circumvention of such
185 | measures.
186 |
187 | When you convey a covered work, you waive any legal power to forbid
188 | circumvention of technological measures to the extent such circumvention
189 | is effected by exercising rights under this License with respect to
190 | the covered work, and you disclaim any intention to limit operation or
191 | modification of the work as a means of enforcing, against the work's
192 | users, your or third parties' legal rights to forbid circumvention of
193 | technological measures.
194 |
195 | 4. Conveying Verbatim Copies.
196 |
197 | You may convey verbatim copies of the Program's source code as you
198 | receive it, in any medium, provided that you conspicuously and
199 | appropriately publish on each copy an appropriate copyright notice;
200 | keep intact all notices stating that this License and any
201 | non-permissive terms added in accord with section 7 apply to the code;
202 | keep intact all notices of the absence of any warranty; and give all
203 | recipients a copy of this License along with the Program.
204 |
205 | You may charge any price or no price for each copy that you convey,
206 | and you may offer support or warranty protection for a fee.
207 |
208 | 5. Conveying Modified Source Versions.
209 |
210 | You may convey a work based on the Program, or the modifications to
211 | produce it from the Program, in the form of source code under the
212 | terms of section 4, provided that you also meet all of these conditions:
213 |
214 | a) The work must carry prominent notices stating that you modified
215 | it, and giving a relevant date.
216 |
217 | b) The work must carry prominent notices stating that it is
218 | released under this License and any conditions added under section
219 | 7. This requirement modifies the requirement in section 4 to
220 | "keep intact all notices".
221 |
222 | c) You must license the entire work, as a whole, under this
223 | License to anyone who comes into possession of a copy. This
224 | License will therefore apply, along with any applicable section 7
225 | additional terms, to the whole of the work, and all its parts,
226 | regardless of how they are packaged. This License gives no
227 | permission to license the work in any other way, but it does not
228 | invalidate such permission if you have separately received it.
229 |
230 | d) If the work has interactive user interfaces, each must display
231 | Appropriate Legal Notices; however, if the Program has interactive
232 | interfaces that do not display Appropriate Legal Notices, your
233 | work need not make them do so.
234 |
235 | A compilation of a covered work with other separate and independent
236 | works, which are not by their nature extensions of the covered work,
237 | and which are not combined with it such as to form a larger program,
238 | in or on a volume of a storage or distribution medium, is called an
239 | "aggregate" if the compilation and its resulting copyright are not
240 | used to limit the access or legal rights of the compilation's users
241 | beyond what the individual works permit. Inclusion of a covered work
242 | in an aggregate does not cause this License to apply to the other
243 | parts of the aggregate.
244 |
245 | 6. Conveying Non-Source Forms.
246 |
247 | You may convey a covered work in object code form under the terms
248 | of sections 4 and 5, provided that you also convey the
249 | machine-readable Corresponding Source under the terms of this License,
250 | in one of these ways:
251 |
252 | a) Convey the object code in, or embodied in, a physical product
253 | (including a physical distribution medium), accompanied by the
254 | Corresponding Source fixed on a durable physical medium
255 | customarily used for software interchange.
256 |
257 | b) Convey the object code in, or embodied in, a physical product
258 | (including a physical distribution medium), accompanied by a
259 | written offer, valid for at least three years and valid for as
260 | long as you offer spare parts or customer support for that product
261 | model, to give anyone who possesses the object code either (1) a
262 | copy of the Corresponding Source for all the software in the
263 | product that is covered by this License, on a durable physical
264 | medium customarily used for software interchange, for a price no
265 | more than your reasonable cost of physically performing this
266 | conveying of source, or (2) access to copy the
267 | Corresponding Source from a network server at no charge.
268 |
269 | c) Convey individual copies of the object code with a copy of the
270 | written offer to provide the Corresponding Source. This
271 | alternative is allowed only occasionally and noncommercially, and
272 | only if you received the object code with such an offer, in accord
273 | with subsection 6b.
274 |
275 | d) Convey the object code by offering access from a designated
276 | place (gratis or for a charge), and offer equivalent access to the
277 | Corresponding Source in the same way through the same place at no
278 | further charge. You need not require recipients to copy the
279 | Corresponding Source along with the object code. If the place to
280 | copy the object code is a network server, the Corresponding Source
281 | may be on a different server (operated by you or a third party)
282 | that supports equivalent copying facilities, provided you maintain
283 | clear directions next to the object code saying where to find the
284 | Corresponding Source. Regardless of what server hosts the
285 | Corresponding Source, you remain obligated to ensure that it is
286 | available for as long as needed to satisfy these requirements.
287 |
288 | e) Convey the object code using peer-to-peer transmission, provided
289 | you inform other peers where the object code and Corresponding
290 | Source of the work are being offered to the general public at no
291 | charge under subsection 6d.
292 |
293 | A separable portion of the object code, whose source code is excluded
294 | from the Corresponding Source as a System Library, need not be
295 | included in conveying the object code work.
296 |
297 | A "User Product" is either (1) a "consumer product", which means any
298 | tangible personal property which is normally used for personal, family,
299 | or household purposes, or (2) anything designed or sold for incorporation
300 | into a dwelling. In determining whether a product is a consumer product,
301 | doubtful cases shall be resolved in favor of coverage. For a particular
302 | product received by a particular user, "normally used" refers to a
303 | typical or common use of that class of product, regardless of the status
304 | of the particular user or of the way in which the particular user
305 | actually uses, or expects or is expected to use, the product. A product
306 | is a consumer product regardless of whether the product has substantial
307 | commercial, industrial or non-consumer uses, unless such uses represent
308 | the only significant mode of use of the product.
309 |
310 | "Installation Information" for a User Product means any methods,
311 | procedures, authorization keys, or other information required to install
312 | and execute modified versions of a covered work in that User Product from
313 | a modified version of its Corresponding Source. The information must
314 | suffice to ensure that the continued functioning of the modified object
315 | code is in no case prevented or interfered with solely because
316 | modification has been made.
317 |
318 | If you convey an object code work under this section in, or with, or
319 | specifically for use in, a User Product, and the conveying occurs as
320 | part of a transaction in which the right of possession and use of the
321 | User Product is transferred to the recipient in perpetuity or for a
322 | fixed term (regardless of how the transaction is characterized), the
323 | Corresponding Source conveyed under this section must be accompanied
324 | by the Installation Information. But this requirement does not apply
325 | if neither you nor any third party retains the ability to install
326 | modified object code on the User Product (for example, the work has
327 | been installed in ROM).
328 |
329 | The requirement to provide Installation Information does not include a
330 | requirement to continue to provide support service, warranty, or updates
331 | for a work that has been modified or installed by the recipient, or for
332 | the User Product in which it has been modified or installed. Access to a
333 | network may be denied when the modification itself materially and
334 | adversely affects the operation of the network or violates the rules and
335 | protocols for communication across the network.
336 |
337 | Corresponding Source conveyed, and Installation Information provided,
338 | in accord with this section must be in a format that is publicly
339 | documented (and with an implementation available to the public in
340 | source code form), and must require no special password or key for
341 | unpacking, reading or copying.
342 |
343 | 7. Additional Terms.
344 |
345 | "Additional permissions" are terms that supplement the terms of this
346 | License by making exceptions from one or more of its conditions.
347 | Additional permissions that are applicable to the entire Program shall
348 | be treated as though they were included in this License, to the extent
349 | that they are valid under applicable law. If additional permissions
350 | apply only to part of the Program, that part may be used separately
351 | under those permissions, but the entire Program remains governed by
352 | this License without regard to the additional permissions.
353 |
354 | When you convey a copy of a covered work, you may at your option
355 | remove any additional permissions from that copy, or from any part of
356 | it. (Additional permissions may be written to require their own
357 | removal in certain cases when you modify the work.) You may place
358 | additional permissions on material, added by you to a covered work,
359 | for which you have or can give appropriate copyright permission.
360 |
361 | Notwithstanding any other provision of this License, for material you
362 | add to a covered work, you may (if authorized by the copyright holders of
363 | that material) supplement the terms of this License with terms:
364 |
365 | a) Disclaiming warranty or limiting liability differently from the
366 | terms of sections 15 and 16 of this License; or
367 |
368 | b) Requiring preservation of specified reasonable legal notices or
369 | author attributions in that material or in the Appropriate Legal
370 | Notices displayed by works containing it; or
371 |
372 | c) Prohibiting misrepresentation of the origin of that material, or
373 | requiring that modified versions of such material be marked in
374 | reasonable ways as different from the original version; or
375 |
376 | d) Limiting the use for publicity purposes of names of licensors or
377 | authors of the material; or
378 |
379 | e) Declining to grant rights under trademark law for use of some
380 | trade names, trademarks, or service marks; or
381 |
382 | f) Requiring indemnification of licensors and authors of that
383 | material by anyone who conveys the material (or modified versions of
384 | it) with contractual assumptions of liability to the recipient, for
385 | any liability that these contractual assumptions directly impose on
386 | those licensors and authors.
387 |
388 | All other non-permissive additional terms are considered "further
389 | restrictions" within the meaning of section 10. If the Program as you
390 | received it, or any part of it, contains a notice stating that it is
391 | governed by this License along with a term that is a further
392 | restriction, you may remove that term. If a license document contains
393 | a further restriction but permits relicensing or conveying under this
394 | License, you may add to a covered work material governed by the terms
395 | of that license document, provided that the further restriction does
396 | not survive such relicensing or conveying.
397 |
398 | If you add terms to a covered work in accord with this section, you
399 | must place, in the relevant source files, a statement of the
400 | additional terms that apply to those files, or a notice indicating
401 | where to find the applicable terms.
402 |
403 | Additional terms, permissive or non-permissive, may be stated in the
404 | form of a separately written license, or stated as exceptions;
405 | the above requirements apply either way.
406 |
407 | 8. Termination.
408 |
409 | You may not propagate or modify a covered work except as expressly
410 | provided under this License. Any attempt otherwise to propagate or
411 | modify it is void, and will automatically terminate your rights under
412 | this License (including any patent licenses granted under the third
413 | paragraph of section 11).
414 |
415 | However, if you cease all violation of this License, then your
416 | license from a particular copyright holder is reinstated (a)
417 | provisionally, unless and until the copyright holder explicitly and
418 | finally terminates your license, and (b) permanently, if the copyright
419 | holder fails to notify you of the violation by some reasonable means
420 | prior to 60 days after the cessation.
421 |
422 | Moreover, your license from a particular copyright holder is
423 | reinstated permanently if the copyright holder notifies you of the
424 | violation by some reasonable means, this is the first time you have
425 | received notice of violation of this License (for any work) from that
426 | copyright holder, and you cure the violation prior to 30 days after
427 | your receipt of the notice.
428 |
429 | Termination of your rights under this section does not terminate the
430 | licenses of parties who have received copies or rights from you under
431 | this License. If your rights have been terminated and not permanently
432 | reinstated, you do not qualify to receive new licenses for the same
433 | material under section 10.
434 |
435 | 9. Acceptance Not Required for Having Copies.
436 |
437 | You are not required to accept this License in order to receive or
438 | run a copy of the Program. Ancillary propagation of a covered work
439 | occurring solely as a consequence of using peer-to-peer transmission
440 | to receive a copy likewise does not require acceptance. However,
441 | nothing other than this License grants you permission to propagate or
442 | modify any covered work. These actions infringe copyright if you do
443 | not accept this License. Therefore, by modifying or propagating a
444 | covered work, you indicate your acceptance of this License to do so.
445 |
446 | 10. Automatic Licensing of Downstream Recipients.
447 |
448 | Each time you convey a covered work, the recipient automatically
449 | receives a license from the original licensors, to run, modify and
450 | propagate that work, subject to this License. You are not responsible
451 | for enforcing compliance by third parties with this License.
452 |
453 | An "entity transaction" is a transaction transferring control of an
454 | organization, or substantially all assets of one, or subdividing an
455 | organization, or merging organizations. If propagation of a covered
456 | work results from an entity transaction, each party to that
457 | transaction who receives a copy of the work also receives whatever
458 | licenses to the work the party's predecessor in interest had or could
459 | give under the previous paragraph, plus a right to possession of the
460 | Corresponding Source of the work from the predecessor in interest, if
461 | the predecessor has it or can get it with reasonable efforts.
462 |
463 | You may not impose any further restrictions on the exercise of the
464 | rights granted or affirmed under this License. For example, you may
465 | not impose a license fee, royalty, or other charge for exercise of
466 | rights granted under this License, and you may not initiate litigation
467 | (including a cross-claim or counterclaim in a lawsuit) alleging that
468 | any patent claim is infringed by making, using, selling, offering for
469 | sale, or importing the Program or any portion of it.
470 |
471 | 11. Patents.
472 |
473 | A "contributor" is a copyright holder who authorizes use under this
474 | License of the Program or a work on which the Program is based. The
475 | work thus licensed is called the contributor's "contributor version".
476 |
477 | A contributor's "essential patent claims" are all patent claims
478 | owned or controlled by the contributor, whether already acquired or
479 | hereafter acquired, that would be infringed by some manner, permitted
480 | by this License, of making, using, or selling its contributor version,
481 | but do not include claims that would be infringed only as a
482 | consequence of further modification of the contributor version. For
483 | purposes of this definition, "control" includes the right to grant
484 | patent sublicenses in a manner consistent with the requirements of
485 | this License.
486 |
487 | Each contributor grants you a non-exclusive, worldwide, royalty-free
488 | patent license under the contributor's essential patent claims, to
489 | make, use, sell, offer for sale, import and otherwise run, modify and
490 | propagate the contents of its contributor version.
491 |
492 | In the following three paragraphs, a "patent license" is any express
493 | agreement or commitment, however denominated, not to enforce a patent
494 | (such as an express permission to practice a patent or covenant not to
495 | sue for patent infringement). To "grant" such a patent license to a
496 | party means to make such an agreement or commitment not to enforce a
497 | patent against the party.
498 |
499 | If you convey a covered work, knowingly relying on a patent license,
500 | and the Corresponding Source of the work is not available for anyone
501 | to copy, free of charge and under the terms of this License, through a
502 | publicly available network server or other readily accessible means,
503 | then you must either (1) cause the Corresponding Source to be so
504 | available, or (2) arrange to deprive yourself of the benefit of the
505 | patent license for this particular work, or (3) arrange, in a manner
506 | consistent with the requirements of this License, to extend the patent
507 | license to downstream recipients. "Knowingly relying" means you have
508 | actual knowledge that, but for the patent license, your conveying the
509 | covered work in a country, or your recipient's use of the covered work
510 | in a country, would infringe one or more identifiable patents in that
511 | country that you have reason to believe are valid.
512 |
513 | If, pursuant to or in connection with a single transaction or
514 | arrangement, you convey, or propagate by procuring conveyance of, a
515 | covered work, and grant a patent license to some of the parties
516 | receiving the covered work authorizing them to use, propagate, modify
517 | or convey a specific copy of the covered work, then the patent license
518 | you grant is automatically extended to all recipients of the covered
519 | work and works based on it.
520 |
521 | A patent license is "discriminatory" if it does not include within
522 | the scope of its coverage, prohibits the exercise of, or is
523 | conditioned on the non-exercise of one or more of the rights that are
524 | specifically granted under this License. You may not convey a covered
525 | work if you are a party to an arrangement with a third party that is
526 | in the business of distributing software, under which you make payment
527 | to the third party based on the extent of your activity of conveying
528 | the work, and under which the third party grants, to any of the
529 | parties who would receive the covered work from you, a discriminatory
530 | patent license (a) in connection with copies of the covered work
531 | conveyed by you (or copies made from those copies), or (b) primarily
532 | for and in connection with specific products or compilations that
533 | contain the covered work, unless you entered into that arrangement,
534 | or that patent license was granted, prior to 28 March 2007.
535 |
536 | Nothing in this License shall be construed as excluding or limiting
537 | any implied license or other defenses to infringement that may
538 | otherwise be available to you under applicable patent law.
539 |
540 | 12. No Surrender of Others' Freedom.
541 |
542 | If conditions are imposed on you (whether by court order, agreement or
543 | otherwise) that contradict the conditions of this License, they do not
544 | excuse you from the conditions of this License. If you cannot convey a
545 | covered work so as to satisfy simultaneously your obligations under this
546 | License and any other pertinent obligations, then as a consequence you may
547 | not convey it at all. For example, if you agree to terms that obligate you
548 | to collect a royalty for further conveying from those to whom you convey
549 | the Program, the only way you could satisfy both those terms and this
550 | License would be to refrain entirely from conveying the Program.
551 |
552 | 13. Use with the GNU Affero General Public License.
553 |
554 | Notwithstanding any other provision of this License, you have
555 | permission to link or combine any covered work with a work licensed
556 | under version 3 of the GNU Affero General Public License into a single
557 | combined work, and to convey the resulting work. The terms of this
558 | License will continue to apply to the part which is the covered work,
559 | but the special requirements of the GNU Affero General Public License,
560 | section 13, concerning interaction through a network will apply to the
561 | combination as such.
562 |
563 | 14. Revised Versions of this License.
564 |
565 | The Free Software Foundation may publish revised and/or new versions of
566 | the GNU General Public License from time to time. Such new versions will
567 | be similar in spirit to the present version, but may differ in detail to
568 | address new problems or concerns.
569 |
570 | Each version is given a distinguishing version number. If the
571 | Program specifies that a certain numbered version of the GNU General
572 | Public License "or any later version" applies to it, you have the
573 | option of following the terms and conditions either of that numbered
574 | version or of any later version published by the Free Software
575 | Foundation. If the Program does not specify a version number of the
576 | GNU General Public License, you may choose any version ever published
577 | by the Free Software Foundation.
578 |
579 | If the Program specifies that a proxy can decide which future
580 | versions of the GNU General Public License can be used, that proxy's
581 | public statement of acceptance of a version permanently authorizes you
582 | to choose that version for the Program.
583 |
584 | Later license versions may give you additional or different
585 | permissions. However, no additional obligations are imposed on any
586 | author or copyright holder as a result of your choosing to follow a
587 | later version.
588 |
589 | 15. Disclaimer of Warranty.
590 |
591 | THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
592 | APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
593 | HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
594 | OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
595 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
596 | PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
597 | IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
598 | ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
599 |
600 | 16. Limitation of Liability.
601 |
602 | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
603 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
604 | THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
605 | GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
606 | USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
607 | DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
608 | PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
609 | EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
610 | SUCH DAMAGES.
611 |
612 | 17. Interpretation of Sections 15 and 16.
613 |
614 | If the disclaimer of warranty and limitation of liability provided
615 | above cannot be given local legal effect according to their terms,
616 | reviewing courts shall apply local law that most closely approximates
617 | an absolute waiver of all civil liability in connection with the
618 | Program, unless a warranty or assumption of liability accompanies a
619 | copy of the Program in return for a fee.
620 |
621 | END OF TERMS AND CONDITIONS
622 |
623 | How to Apply These Terms to Your New Programs
624 |
625 | If you develop a new program, and you want it to be of the greatest
626 | possible use to the public, the best way to achieve this is to make it
627 | free software which everyone can redistribute and change under these terms.
628 |
629 | To do so, attach the following notices to the program. It is safest
630 | to attach them to the start of each source file to most effectively
631 | state the exclusion of warranty; and each file should have at least
632 | the "copyright" line and a pointer to where the full notice is found.
633 |
634 |
635 | Copyright (C)
636 |
637 | This program is free software: you can redistribute it and/or modify
638 | it under the terms of the GNU General Public License as published by
639 | the Free Software Foundation, either version 3 of the License, or
640 | (at your option) any later version.
641 |
642 | This program is distributed in the hope that it will be useful,
643 | but WITHOUT ANY WARRANTY; without even the implied warranty of
644 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
645 | GNU General Public License for more details.
646 |
647 | You should have received a copy of the GNU General Public License
648 | along with this program. If not, see .
649 |
650 | Also add information on how to contact you by electronic and paper mail.
651 |
652 | If the program does terminal interaction, make it output a short
653 | notice like this when it starts in an interactive mode:
654 |
655 | Copyright (C)
656 | This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
657 | This is free software, and you are welcome to redistribute it
658 | under certain conditions; type `show c' for details.
659 |
660 | The hypothetical commands `show w' and `show c' should show the appropriate
661 | parts of the General Public License. Of course, your program's commands
662 | might be different; for a GUI interface, you would use an "about box".
663 |
664 | You should also get your employer (if you work as a programmer) or school,
665 | if any, to sign a "copyright disclaimer" for the program, if necessary.
666 | For more information on this, and how to apply and follow the GNU GPL, see
667 | .
668 |
669 | The GNU General Public License does not permit incorporating your program
670 | into proprietary programs. If your program is a subroutine library, you
671 | may consider it more useful to permit linking proprietary applications with
672 | the library. If this is what you want to do, use the GNU Lesser General
673 | Public License instead of this License. But first, please read
674 | .
675 |
--------------------------------------------------------------------------------
/MainForm.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace ClashNet
2 | {
3 | partial class MainForm
4 | {
5 | ///
6 | /// 必需的设计器变量。
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// 清理所有正在使用的资源。
12 | ///
13 | /// 如果应释放托管资源,为 true;否则为 false。
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows 窗体设计器生成的代码
24 |
25 | ///
26 | /// 设计器支持所需的方法 - 不要修改
27 | /// 使用代码编辑器修改此方法的内容。
28 | ///
29 | private void InitializeComponent()
30 | {
31 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
32 | this.SuspendLayout();
33 | //
34 | // MainForm
35 | //
36 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
37 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
38 | this.ClientSize = new System.Drawing.Size(800, 450);
39 | this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
40 | this.MaximizeBox = false;
41 | this.Name = "MainForm";
42 | this.Opacity = 0D;
43 | this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
44 | this.Text = "ClashNet";
45 | this.Load += new System.EventHandler(this.MainFormLoad);
46 | this.ResumeLayout(false);
47 |
48 | }
49 |
50 | #endregion
51 | }
52 | }
53 |
54 |
--------------------------------------------------------------------------------
/MainForm.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.Win32;
2 | using System;
3 | using System.Diagnostics;
4 | using System.Threading;
5 | using System.Windows.Forms;
6 | using CefSharp;
7 | using CefSharp.WinForms;
8 |
9 | namespace ClashNet
10 | {
11 | public partial class MainForm : Form
12 | {
13 | //这里在窗体上没有拖拽一个NotifyIcon控件,而是在这里定义了一个变量
14 | private NotifyIcon notifyIcon = null;
15 | private Process proc = null;
16 |
17 | public ChromiumWebBrowser browser;
18 | public void InitBrowser()
19 | {
20 | Cef.Initialize(new CefSettings());
21 |
22 | browser = new ChromiumWebBrowser(System.IO.Directory.GetCurrentDirectory() + @"\dashboard\index.html");
23 | this.Controls.Add(browser);
24 | browser.Dock = DockStyle.Fill;
25 | }
26 |
27 | public MainForm()
28 | {
29 | InitializeComponent();
30 | InitBrowser();
31 | //调用初始化托盘显示函数
32 | InitialTray();
33 | this.InitClash();
34 | this.SetProxy();
35 | }
36 |
37 | private void SetProxy()
38 | {
39 | string args = @"global 127.0.0.1:7890 localhost;127.*;10.*;172.16.*;172.17.*;172.18.*;172.19.*;172.20.*;172.21.*;172.22.*;172.23.*;172.24.*;172.25.*;172.26.*;172.27.*;172.28.*;172.29.*;172.30.*;172.31.*;192.168.*;";
40 | Process p = new Process
41 | {
42 | StartInfo = new ProcessStartInfo
43 | {
44 | FileName = @".\sysproxy.exe",
45 | Arguments = args,
46 | UseShellExecute = false,
47 | RedirectStandardOutput = true,
48 | CreateNoWindow = true
49 | }
50 | };
51 | p.Start();
52 | }
53 |
54 | private void UnSetProxy()
55 | {
56 | string args = @"set 1 - - -";
57 | Process p = new Process
58 | {
59 | StartInfo = new ProcessStartInfo
60 | {
61 | FileName = @".\sysproxy.exe",
62 | Arguments = args,
63 | UseShellExecute = false,
64 | RedirectStandardOutput = true,
65 | CreateNoWindow = true
66 | }
67 | };
68 | p.Start();
69 | }
70 |
71 |
72 | private void MainFormLoad(object sender, EventArgs e)
73 | {
74 | //这里写其他代码
75 | this.BeginInvoke(new Action(() => {
76 | this.Hide();
77 | this.Opacity = 1;
78 | }));
79 | }
80 |
81 | ///
82 | /// 窗体关闭的单击事件
83 | ///
84 | ///
85 | ///
86 | private void Form1_FormClosing(object sender, FormClosingEventArgs e)
87 | {
88 | e.Cancel = true;
89 | //通过这里可以看出,这里的关闭其实不是真正意义上的“关闭”,而是将窗体隐藏,实现一个“伪关闭”
90 | this.Hide();
91 | }
92 |
93 | private void InitClash()
94 | {
95 | //Process[] ps = Process.GetProcessesByName("clash.exe");
96 | //if (ps.Length > 0)
97 | //{
98 | // proc = ps[0];
99 | // return;
100 | //}
101 | string dir = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) + @"\.config\clash";
102 | proc = new Process
103 | {
104 | StartInfo = new ProcessStartInfo
105 | {
106 | FileName = @".\clash.exe",
107 | Arguments = @"-d "+ dir,
108 | UseShellExecute = false,
109 | RedirectStandardOutput = true,
110 | CreateNoWindow = true
111 | }
112 | };
113 | proc.Start();
114 | MyThread myThread = new MyThread(proc, notifyIcon);
115 |
116 | Thread thread = new Thread(myThread.ThreadMain);
117 | thread.Start();
118 |
119 | }
120 |
121 | private void InitialTray()
122 | {
123 | //隐藏主窗体
124 | this.Hide();
125 |
126 | //实例化一个NotifyIcon对象
127 | notifyIcon = new NotifyIcon();
128 | //托盘图标气泡显示的内容
129 | notifyIcon.BalloonTipText = "ClashNet 正在后台运行";
130 | notifyIcon.BalloonTipTitle = "ClashNet";
131 | //托盘图标显示的内容
132 | notifyIcon.Text = "ClashNet";
133 |
134 | System.Reflection.Assembly assembly = GetType().Assembly;
135 | using (System.IO.Stream streamSmall = assembly.GetManifestResourceStream("ClashNet.logo.ico"))
136 | {
137 | //注意:下面的路径可以是绝对路径、相对路径。但是需要注意的是:文件必须是一个.ico格式
138 | notifyIcon.Icon = new System.Drawing.Icon(streamSmall);
139 | }
140 | //true表示在托盘区可见,false表示在托盘区不可见
141 | notifyIcon.Visible = true;
142 | //气泡显示的时间(单位是毫秒)
143 | notifyIcon.ShowBalloonTip(2000);
144 | notifyIcon.MouseClick += new System.Windows.Forms.MouseEventHandler(notifyIcon_MouseClick);
145 |
146 | ////设置二级菜单
147 | //MenuItem setting1 = new MenuItem("二级菜单1");
148 | //MenuItem setting2 = new MenuItem("二级菜单2");
149 | //MenuItem setting = new MenuItem("一级菜单", new MenuItem[]{setting1,setting2});
150 |
151 | //关于选项
152 | MenuItem about = new MenuItem(@"关于和帮助");
153 | about.Click += new EventHandler(about_Click);
154 | //退出菜单项
155 | MenuItem exit = new MenuItem("退出");
156 | exit.Click += new EventHandler(exit_Click);
157 |
158 | ////关联托盘控件
159 | //注释的这一行与下一行的区别就是参数不同,setting这个参数是为了实现二级菜单
160 | //MenuItem[] childen = new MenuItem[] { setting, help, about, exit };
161 | MenuItem[] childen = new MenuItem[] { about, exit };
162 | notifyIcon.ContextMenu = new ContextMenu(childen);
163 |
164 | //窗体关闭时触发
165 | this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Form1_FormClosing);
166 | }
167 |
168 | ///
169 | /// 鼠标单击
170 | ///
171 | ///
172 | ///
173 | private void notifyIcon_MouseClick(object sender, System.Windows.Forms.MouseEventArgs e)
174 | {
175 | //鼠标左键单击
176 | if (e.Button == MouseButtons.Left)
177 | {
178 | //如果窗体是可见的,那么鼠标左击托盘区图标后,窗体为不可见
179 | if (this.Visible == true)
180 | {
181 | this.Visible = false;
182 | }
183 | else
184 | {
185 | this.Visible = true;
186 | this.Activate();
187 | }
188 | }
189 | }
190 |
191 | ///
192 | /// 退出选项
193 | ///
194 | ///
195 | ///
196 | private void exit_Click(object sender, EventArgs e)
197 | {
198 | this.UnSetProxy();
199 | //退出程序
200 | notifyIcon.Dispose();
201 |
202 | if (proc != null && !proc.HasExited)
203 | {
204 | proc.Kill();
205 | proc.WaitForExit();//关键,等待外部程序退出后才能往下执行
206 | }
207 | System.Environment.Exit(0);
208 | }
209 |
210 | private void about_Click(object sender, EventArgs e)
211 | {
212 | System.Diagnostics.Process.Start("https://github.com/coderbean/ClashNet");
213 | }
214 | }
215 | }
--------------------------------------------------------------------------------
/MainForm.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 |
122 |
123 | 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
444 |
445 |
446 |
--------------------------------------------------------------------------------
/MyThread.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Diagnostics;
4 | using System.Linq;
5 | using System.Text;
6 | using System.Threading.Tasks;
7 | using System.Windows.Forms;
8 |
9 | namespace ClashNet
10 | {
11 | class MyThread
12 | {
13 | private Process process;
14 | private NotifyIcon notifyIcon;
15 |
16 | public MyThread(Process process, NotifyIcon notifyIcon)
17 | {
18 | this.process = process;
19 | this.notifyIcon = notifyIcon;
20 | }
21 |
22 | public void ThreadMain()
23 | {
24 | // 这里需要起一个新的线程来做这件事,不然程序就死在这里了
25 | while (!process.HasExited && !process.StandardOutput.EndOfStream)
26 | {
27 | string line = process.StandardOutput.ReadLine();
28 | // do something with line
29 | Console.WriteLine(line);
30 | }
31 | if(process.ExitCode!=0)
32 | {
33 | notifyIcon.BalloonTipText = "Clash 启动失败,请查看错误日志";
34 | notifyIcon.ShowBalloonTip(2000);
35 | }
36 | }
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 | using System.Windows.Forms;
6 |
7 | namespace ClashNet
8 | {
9 | static class Program
10 | {
11 | ///
12 | /// 应用程序的主入口点。
13 | ///
14 | [STAThread]
15 | static void Main()
16 | {
17 | Application.EnableVisualStyles();
18 | Application.SetCompatibleTextRenderingDefault(false);
19 | Application.Run(new MainForm());
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // 有关程序集的一般信息由以下
6 | // 控制。更改这些特性值可修改
7 | // 与程序集关联的信息。
8 | [assembly: AssemblyTitle("ClashNet")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("ClashNet")]
13 | [assembly: AssemblyCopyright("Copyright © 2019")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // 将 ComVisible 设置为 false 会使此程序集中的类型
18 | //对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
19 | //请将此类型的 ComVisible 特性设置为 true。
20 | [assembly: ComVisible(false)]
21 |
22 | // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
23 | [assembly: Guid("1c7f05d8-0bc0-4da1-91fb-be292292ebec")]
24 |
25 | // 程序集的版本信息由下列四个值组成:
26 | //
27 | // 主版本
28 | // 次版本
29 | // 生成号
30 | // 修订号
31 | //
32 | //可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
33 | //通过使用 "*",如下所示:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Properties/Resources.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // 此代码由工具生成。
4 | // 运行时版本: 4.0.30319.42000
5 | //
6 | // 对此文件的更改可能导致不正确的行为,如果
7 | // 重新生成代码,则所做更改将丢失。
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace ClashNet.Properties
12 | {
13 |
14 |
15 | ///
16 | /// 强类型资源类,用于查找本地化字符串等。
17 | ///
18 | // 此类是由 StronglyTypedResourceBuilder
19 | // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
20 | // 若要添加或删除成员,请编辑 .ResX 文件,然后重新运行 ResGen
21 | // (以 /str 作为命令选项),或重新生成 VS 项目。
22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
25 | internal class Resources
26 | {
27 |
28 | private static global::System.Resources.ResourceManager resourceMan;
29 |
30 | private static global::System.Globalization.CultureInfo resourceCulture;
31 |
32 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
33 | internal Resources()
34 | {
35 | }
36 |
37 | ///
38 | /// 返回此类使用的缓存 ResourceManager 实例。
39 | ///
40 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
41 | internal static global::System.Resources.ResourceManager ResourceManager
42 | {
43 | get
44 | {
45 | if ((resourceMan == null))
46 | {
47 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ClashNet.Properties.Resources", typeof(Resources).Assembly);
48 | resourceMan = temp;
49 | }
50 | return resourceMan;
51 | }
52 | }
53 |
54 | ///
55 | /// 覆盖当前线程的 CurrentUICulture 属性
56 | /// 使用此强类型的资源类的资源查找。
57 | ///
58 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
59 | internal static global::System.Globalization.CultureInfo Culture
60 | {
61 | get
62 | {
63 | return resourceCulture;
64 | }
65 | set
66 | {
67 | resourceCulture = value;
68 | }
69 | }
70 | }
71 | }
72 |
--------------------------------------------------------------------------------
/Properties/Resources.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 | text/microsoft-resx
107 |
108 |
109 | 2.0
110 |
111 |
112 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
113 |
114 |
115 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
--------------------------------------------------------------------------------
/Properties/Settings.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.42000
5 | //
6 | // Changes to this file may cause incorrect behavior and will be lost if
7 | // the code is regenerated.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace ClashNet.Properties
12 | {
13 |
14 |
15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
18 | {
19 |
20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
21 |
22 | public static Settings Default
23 | {
24 | get
25 | {
26 | return defaultInstance;
27 | }
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/Properties/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # ClashNet
2 | Another Windows GUI for Clash
3 |
4 | **.NET Framwork 4.7.2+ required**
5 |
6 | # Quick Start
7 | 1. download at [this page](https://github.com/coderbean/ClashNet/releases)
8 | 2. unzip
9 | 3. create dir `C:\Users\{user_name}\.config\clash`
10 | 4. put your `config.yaml` in the dir
11 | 5. double click `ClashNet.exe` to start
12 | 6. enjoy!
13 |
14 | # Config
15 | Checkout [Clash](https://github.com/Dreamacro/clash) or [SS-Rule-Snippet0](https://github.com/Hackl0us/SS-Rule-Snippet/blob/master/LAZY_RULES/clash.yml) for Clash for config details.
16 |
17 | # License
18 | [GLPv3](https://github.com/coderbean/ClashNet/blob/master/LICENSE)
19 | # Open Source Components / Libraries
20 | ```
21 | shadowsocks-windows(GPLv3) https://github.com/shadowsocks/shadowsocks-windows
22 | clash(MIT) https://github.com/Dreamacro/clash
23 | yacd https://github.com/haishanh/yacd
24 | ```
25 |
26 | # TODO
27 | - [ ] redirect log to log file
--------------------------------------------------------------------------------
/clash.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/coderbean/ClashNet/dccc669c8b47d77d3328571223845284bed5e42c/clash.exe
--------------------------------------------------------------------------------
/dashboard/7.a322784ecacd704a28c6.js:
--------------------------------------------------------------------------------
1 | (window.webpackJsonp=window.webpackJsonp||[]).push([[7],{"6PXS":function(t,e,n){"use strict";(function(t){n.d(e,"a",function(){return i}),n.d(e,"d",function(){return s}),n.d(e,"c",function(){return a}),n.d(e,"b",function(){return l});var r=n("9AQC"),o=n("wCA9");function i(t,e,n){if(e in t){var r=t[e],o=n(r);if("function"==typeof o)try{o.prototype=o.prototype||{},Object.defineProperties(o,{__sentry__:{enumerable:!1,value:!0},__sentry_original__:{enumerable:!1,value:r},__sentry_wrapped__:{enumerable:!1,value:o}})}catch(t){}t[e]=o}}function s(t){return Object.keys(t).map(function(e){return encodeURIComponent(e)+"="+encodeURIComponent(t[e])}).join("&")}function c(t){return function(t){return~-encodeURI(t).split(/%..|./).length}(JSON.stringify(t))}function a(t,e,n){void 0===e&&(e=3),void 0===n&&(n=102400);var r=l(t,e);return c(r)>n?a(t,e-1,n):r}function u(e,n){return"domain"===n&&"object"==typeof e&&e._events?"[Domain]":"domainEmitter"===n?"[DomainEmitter]":void 0!==t&&e===t?"[Global]":"undefined"!=typeof window&&e===window?"[Window]":"undefined"!=typeof document&&e===document?"[Document]":"undefined"!=typeof Event&&e instanceof Event?Object.getPrototypeOf(e)?e.constructor.name:"Event":Object(r.i)(e)?"[SyntheticEvent]":Number.isNaN(e)?"[NaN]":void 0===e?"[undefined]":"function"==typeof e?"[Function: "+(e.name||"")+"]":e}function p(t,e,n,i){if(void 0===n&&(n=1/0),void 0===i&&(i=new o.a),0===n)return function(t){var e=Object.prototype.toString.call(t);if("string"==typeof t)return t;if("[object Object]"===e)return"[Object]";if("[object Array]"===e)return"[Array]";var n=u(t);return Object(r.f)(n)?n:e}(e);if(null!=e&&"function"==typeof e.toJSON)return e.toJSON();var s=u(e,t);if(Object(r.f)(s))return s;var c=Object(r.c)(e)?function(t){var e={message:t.message,name:t.name,stack:t.stack};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}(e):e,a=Array.isArray(e)?[]:{};if(i.memoize(e))return"[Circular ~]";for(var l in c)Object.prototype.hasOwnProperty.call(c,l)&&(a[l]=p(l,c[l],n-1,i));return i.unmemoize(e),a}function l(t,e){try{return JSON.parse(JSON.stringify(t,function(t,n){return p(t,n,e)}))}catch(t){return"**non-serializable**"}}}).call(this,n("yLpj"))},"8LbN":function(t,e,n){"use strict";n.d(e,"a",function(){return c});var r=n("9/Zf"),o=Object(r.e)(),i="Sentry Logger ",s=function(){function t(){this._enabled=!1}return t.prototype.disable=function(){this._enabled=!1},t.prototype.enable=function(){this._enabled=!0},t.prototype.log=function(){for(var t=[],e=0;e1)for(var n=1;n"}return t.event_id||""}function p(t){var e=s();if(!("console"in e))return t();var n=e.console,r={};["debug","info","warn","error","log","assert"].forEach(function(t){t in e.console&&n[t].__sentry__&&(r[t]=n[t].__sentry_wrapped__,n[t]=n[t].__sentry_original__)});var o=t();return Object.keys(r).forEach(function(t){n[t]=r[t]}),o}function l(t,e,n,r){void 0===r&&(r={handled:!0,type:"generic"}),t.exception=t.exception||{},t.exception.values=t.exception.values||[],t.exception.values[0]=t.exception.values[0]||{},t.exception.values[0].value=t.exception.values[0].value||e||"",t.exception.values[0].type=t.exception.values[0].type||n||"Error",t.exception.values[0].mechanism=t.exception.values[0].mechanism||r}}).call(this,n("8oxB"),n("yLpj"))},"9AQC":function(t,e,n){"use strict";function r(t){switch(Object.prototype.toString.call(t)){case"[object Error]":case"[object Exception]":case"[object DOMException]":return!0;default:return t instanceof Error}}function o(t){return"[object ErrorEvent]"===Object.prototype.toString.call(t)}function i(t){return"[object DOMError]"===Object.prototype.toString.call(t)}function s(t){return"[object DOMException]"===Object.prototype.toString.call(t)}function c(t){return"[object String]"===Object.prototype.toString.call(t)}function a(t){return null===t||"object"!=typeof t&&"function"!=typeof t}function u(t){return"[object Object]"===Object.prototype.toString.call(t)}function p(t){return"[object RegExp]"===Object.prototype.toString.call(t)}function l(t){return Boolean(t&&t.then&&"function"==typeof t.then)}function f(t){return u(t)&&"nativeEvent"in t&&"preventDefault"in t&&"stopPropagation"in t}n.d(e,"c",function(){return r}),n.d(e,"d",function(){return o}),n.d(e,"a",function(){return i}),n.d(e,"b",function(){return s}),n.d(e,"h",function(){return c}),n.d(e,"f",function(){return a}),n.d(e,"e",function(){return u}),n.d(e,"g",function(){return p}),n.d(e,"j",function(){return l}),n.d(e,"i",function(){return f})},HR75:function(t,e,n){"use strict";n.d(e,"a",function(){return i});var r,o=n("9AQC");!function(t){t.PENDING="PENDING",t.RESOLVED="RESOLVED",t.REJECTED="REJECTED"}(r||(r={}));var i=function(){function t(t){var e=this;this._state=r.PENDING,this._handlers=[],this._resolve=function(t){e._setResult(t,r.RESOLVED)},this._reject=function(t){e._setResult(t,r.REJECTED)},this._setResult=function(t,n){e._state===r.PENDING&&(Object(o.j)(t)?t.then(e._resolve,e._reject):(e._value=t,e._state=n,e._executeHandlers()))},this._executeHandlers=function(){e._state!==r.PENDING&&(e._state===r.REJECTED?e._handlers.forEach(function(t){return t.onFail&&t.onFail(e._value)}):e._handlers.forEach(function(t){return t.onSuccess&&t.onSuccess(e._value)}),e._handlers=[])},this._attachHandler=function(t){e._handlers=e._handlers.concat(t),e._executeHandlers()};try{t(this._resolve,this._reject)}catch(t){this._reject(t)}}return t.prototype.then=function(e,n){var r=this;return new t(function(t,o){r._attachHandler({onFail:function(e){if(n)try{return void t(n(e))}catch(t){return void o(t)}else o(e)},onSuccess:function(n){if(e)try{return void t(e(n))}catch(t){return void o(t)}else t(n)}})})},t.prototype.catch=function(t){return this.then(function(t){return t},t)},t.prototype.toString=function(){return"[object SyncPromise]"},t.resolve=function(e){return new t(function(t){t(e)})},t.reject=function(e){return new t(function(t,n){n(e)})},t}()},KjyA:function(t,e,n){"use strict";n.d(e,"a",function(){return u}),n.d(e,"b",function(){return l});var r=n("mrSG"),o=n("HR75"),i=n("9AQC"),s=n("6PXS"),c=n("9/Zf"),a=n("YGy+"),u=function(){function t(){this._notifyingListeners=!1,this._scopeListeners=[],this._eventProcessors=[],this._breadcrumbs=[],this._user={},this._tags={},this._extra={},this._context={}}return t.prototype.addScopeListener=function(t){this._scopeListeners.push(t)},t.prototype.addEventProcessor=function(t){return this._eventProcessors.push(t),this},t.prototype._notifyScopeListeners=function(){var t=this;this._notifyingListeners||(this._notifyingListeners=!0,setTimeout(function(){t._scopeListeners.forEach(function(e){e(t)}),t._notifyingListeners=!1}))},t.prototype._notifyEventProcessors=function(t,e,n,s){var c=this;return void 0===s&&(s=0),new o.a(function(o,a){var u=t[s];if(null===e||"function"!=typeof u)o(e);else{var p=u(r.a({},e),n);Object(i.j)(p)?p.then(function(e){return c._notifyEventProcessors(t,e,n,s+1).then(o)}).catch(a):c._notifyEventProcessors(t,p,n,s+1).then(o).catch(a)}})},t.prototype.setUser=function(t){return this._user=Object(s.b)(t),this._notifyScopeListeners(),this},t.prototype.setTags=function(t){return this._tags=r.a({},this._tags,Object(s.b)(t)),this._notifyScopeListeners(),this},t.prototype.setTag=function(t,e){var n;return this._tags=r.a({},this._tags,((n={})[t]=Object(s.b)(e),n)),this._notifyScopeListeners(),this},t.prototype.setExtras=function(t){return this._extra=r.a({},this._extra,Object(s.b)(t)),this._notifyScopeListeners(),this},t.prototype.setExtra=function(t,e){var n;return this._extra=r.a({},this._extra,((n={})[t]=Object(s.b)(e),n)),this._notifyScopeListeners(),this},t.prototype.setFingerprint=function(t){return this._fingerprint=Object(s.b)(t),this._notifyScopeListeners(),this},t.prototype.setLevel=function(t){return this._level=Object(s.b)(t),this._notifyScopeListeners(),this},t.prototype.setTransaction=function(t){return this._transaction=t,this._notifyScopeListeners(),this},t.prototype.setContext=function(t,e){return this._context[t]=e?Object(s.b)(e):void 0,this._notifyScopeListeners(),this},t.prototype.setSpan=function(t){return this._span=t,this._notifyScopeListeners(),this},t.prototype.startSpan=function(t){var e=new a.a;return e.setParent(t),this.setSpan(e),e},t.prototype.getSpan=function(){return this._span},t.clone=function(e){var n=new t;return Object.assign(n,e,{_scopeListeners:[]}),e&&(n._breadcrumbs=r.d(e._breadcrumbs),n._tags=r.a({},e._tags),n._extra=r.a({},e._extra),n._context=r.a({},e._context),n._user=e._user,n._level=e._level,n._span=e._span,n._transaction=e._transaction,n._fingerprint=e._fingerprint,n._eventProcessors=r.d(e._eventProcessors)),n},t.prototype.clear=function(){return this._breadcrumbs=[],this._tags={},this._extra={},this._user={},this._context={},this._level=void 0,this._transaction=void 0,this._fingerprint=void 0,this._span=void 0,this._notifyScopeListeners(),this},t.prototype.addBreadcrumb=function(t,e){var n=(new Date).getTime()/1e3,o=r.a({timestamp:n},t);return this._breadcrumbs=void 0!==e&&e>=0?r.d(this._breadcrumbs,[Object(s.b)(o)]).slice(-e):r.d(this._breadcrumbs,[Object(s.b)(o)]),this._notifyScopeListeners(),this},t.prototype.clearBreadcrumbs=function(){return this._breadcrumbs=[],this._notifyScopeListeners(),this},t.prototype._applyFingerprint=function(t){t.fingerprint=t.fingerprint?Array.isArray(t.fingerprint)?t.fingerprint:[t.fingerprint]:[],this._fingerprint&&(t.fingerprint=t.fingerprint.concat(this._fingerprint)),t.fingerprint&&!t.fingerprint.length&&delete t.fingerprint},t.prototype.applyToEvent=function(t,e){return this._extra&&Object.keys(this._extra).length&&(t.extra=r.a({},this._extra,t.extra)),this._tags&&Object.keys(this._tags).length&&(t.tags=r.a({},this._tags,t.tags)),this._user&&Object.keys(this._user).length&&(t.user=r.a({},this._user,t.user)),this._context&&Object.keys(this._context).length&&(t.contexts=r.a({},this._context,t.contexts)),this._level&&(t.level=this._level),this._transaction&&(t.transaction=this._transaction),this._span&&(t.contexts=t.contexts||{},t.contexts.trace=this._span),this._applyFingerprint(t),t.breadcrumbs=r.d(t.breadcrumbs||[],this._breadcrumbs),t.breadcrumbs=t.breadcrumbs.length>0?t.breadcrumbs:void 0,this._notifyEventProcessors(r.d(p(),this._eventProcessors),t,e)},t}();function p(){var t=Object(c.e)();return t.__SENTRY__=t.__SENTRY__||{},t.__SENTRY__.globalEventProcessors=t.__SENTRY__.globalEventProcessors||[],t.__SENTRY__.globalEventProcessors}function l(t){p().push(t)}},WSEr:function(t,e,n){"use strict";n.r(e);var r={};n.r(r),n.d(r,"FunctionToString",function(){return _t}),n.d(r,"InboundFilters",function(){return gt});var o={};n.r(o),n.d(o,"GlobalHandlers",function(){return Pt}),n.d(o,"TryCatch",function(){return Tt}),n.d(o,"Breadcrumbs",function(){return Ct}),n.d(o,"LinkedErrors",function(){return Ut}),n.d(o,"UserAgent",function(){return Bt});var i={};n.r(i),n.d(i,"BaseTransport",function(){return at}),n.d(i,"FetchTransport",function(){return pt}),n.d(i,"XHRTransport",function(){return lt});var s,c,a=n("mrSG");!function(t){t.Fatal="fatal",t.Error="error",t.Warning="warning",t.Log="log",t.Info="info",t.Debug="debug",t.Critical="critical"}(s||(s={})),function(t){t.fromString=function(e){switch(e){case"debug":return t.Debug;case"info":return t.Info;case"warn":case"warning":return t.Warning;case"error":return t.Error;case"fatal":return t.Fatal;case"critical":return t.Critical;case"log":default:return t.Log}}}(s||(s={})),function(t){t.Unknown="unknown",t.Skipped="skipped",t.Success="success",t.RateLimit="rate_limit",t.Invalid="invalid",t.Failed="failed"}(c||(c={})),function(t){t.fromHttpCode=function(e){return e>=200&&e<300?t.Success:429===e?t.RateLimit:e>=400&&e<500?t.Invalid:e>=500?t.Failed:t.Unknown}}(c||(c={}));var u=n("KjyA"),p=n("lW6c");function l(t){for(var e=[],n=1;n1&&(l=h.slice(0,-1).join("/"),f=h.pop()),Object.assign(this,{host:c,pass:s,path:l,projectId:f,port:p,protocol:r,user:o})},t.prototype._fromComponents=function(t){this.protocol=t.protocol,this.user=t.user,this.pass=t.pass||"",this.host=t.host,this.port=t.port||"",this.path=t.path||"",this.projectId=t.projectId},t.prototype._validate=function(){var t=this;if(["protocol","user","host","projectId"].forEach(function(e){if(!t[e])throw new k("Invalid Dsn")}),"http"!==this.protocol&&"https"!==this.protocol)throw new k("Invalid Dsn");if(this.port&&Number.isNaN(parseInt(this.port,10)))throw new k("Invalid Dsn")},t}(),I=function(){function t(t){this.dsn=t,this._dsnObject=new R(t)}return t.prototype.getDsn=function(){return this._dsnObject},t.prototype.getStoreEndpoint=function(){return""+this._getBaseUrl()+this.getStoreEndpointPath()},t.prototype.getStoreEndpointWithUrlEncodedAuth=function(){var t={sentry_key:this._dsnObject.user,sentry_version:"7"};return this.getStoreEndpoint()+"?"+Object(w.d)(t)},t.prototype._getBaseUrl=function(){var t=this._dsnObject,e=t.protocol?t.protocol+":":"",n=t.port?":"+t.port:"";return e+"//"+t.host+n},t.prototype.getStoreEndpointPath=function(){var t=this._dsnObject;return(t.path?"/"+t.path:"")+"/api/"+t.projectId+"/store/"},t.prototype.getRequestHeaders=function(t,e){var n=this._dsnObject,r=["Sentry sentry_version=7"];return r.push("sentry_timestamp="+(new Date).getTime()),r.push("sentry_client="+t+"/"+e),r.push("sentry_key="+n.user),n.pass&&r.push("sentry_secret="+n.pass),{"Content-Type":"application/json","X-Sentry-Auth":r.join(", ")}},t.prototype.getReportDialogEndpoint=function(t){void 0===t&&(t={});var e=this._dsnObject,n=this._getBaseUrl()+(e.path?"/"+e.path:"")+"/api/embed/error-page/",r=[];for(var o in r.push("dsn="+e.toString()),t)if("user"===o){if(!t.user)continue;t.user.name&&r.push("name="+encodeURIComponent(t.user.name)),t.user.email&&r.push("email="+encodeURIComponent(t.user.email))}else r.push(encodeURIComponent(o)+"="+encodeURIComponent(t[o]));return r.length?n+"?"+r.join("&"):n},t}(),N=n("8LbN"),C=n("9AQC");function L(t,e){return void 0===e&&(e=0),"string"!=typeof t||0===e?t:t.length<=e?t:t.substr(0,e)+"..."}function P(t,e){if(!Array.isArray(t))return"";for(var n=[],r=0;r=e)return L(t[0],e);for(var n=t.length;n>0;n--){var r=t.slice(0,n).join(", ");if(!(r.length>e))return n===t.length?r:L(r,e)}return""}function F(t,e){return Object(C.g)(e)?e.test(t):"string"==typeof e&&t.includes(e)}var U=n("9/Zf"),A=n("HR75"),B=[];function H(t){var e={};return function(t){var e=t.defaultIntegrations&&a.d(t.defaultIntegrations)||[],n=t.integrations,r=[];if(Array.isArray(n)){var o=n.map(function(t){return t.name}),i=[];e.forEach(function(t){-1===o.indexOf(t.name)&&-1===i.indexOf(t.name)&&(r.push(t),i.push(t.name))}),n.forEach(function(t){-1===i.indexOf(t.name)&&(r.push(t),i.push(t.name))})}else{if("function"!=typeof n)return a.d(e);r=n(e),r=Array.isArray(r)?r:[r]}return r}(t).forEach(function(t){e[t.name]=t,function(t){-1===B.indexOf(t.name)&&(t.setupOnce(u.b,p.b),B.push(t.name),N.a.log("Integration installed: "+t.name))}(t)}),e}var M=function(){function t(t,e){this._processing=!1,this._backend=new t(e),this._options=e,e.dsn&&(this._dsn=new R(e.dsn)),this._integrations=H(this._options)}return t.prototype.captureException=function(t,e,n){var r=this,o=e&&e.event_id;return this._processing=!0,this._getBackend().eventFromException(t,e).then(function(t){return r._processEvent(t,e,n)}).then(function(t){o=t&&t.event_id,r._processing=!1}).catch(function(t){N.a.error(t),r._processing=!1}),o},t.prototype.captureMessage=function(t,e,n,r){var o=this,i=n&&n.event_id;return this._processing=!0,(Object(C.f)(t)?this._getBackend().eventFromMessage(""+t,e,n):this._getBackend().eventFromException(t,n)).then(function(t){return o._processEvent(t,n,r)}).then(function(t){i=t&&t.event_id,o._processing=!1}).catch(function(t){N.a.error(t),o._processing=!1}),i},t.prototype.captureEvent=function(t,e,n){var r=this,o=e&&e.event_id;return this._processing=!0,this._processEvent(t,e,n).then(function(t){o=t&&t.event_id,r._processing=!1}).catch(function(t){N.a.error(t),r._processing=!1}),o},t.prototype.getDsn=function(){return this._dsn},t.prototype.getOptions=function(){return this._options},t.prototype.flush=function(t){var e=this;return this._isClientProcessing(t).then(function(n){return clearInterval(n.interval),e._getBackend().getTransport().close(t).then(function(t){return n.ready&&t})})},t.prototype.close=function(t){var e=this;return this.flush(t).then(function(t){return e.getOptions().enabled=!1,t})},t.prototype.getIntegrations=function(){return this._integrations||{}},t.prototype.getIntegration=function(t){try{return this._integrations[t.id]||null}catch(e){return N.a.warn("Cannot retrieve integration "+t.id+" from the current Client"),null}},t.prototype._isClientProcessing=function(t){var e=this;return new Promise(function(n){var r=0,o=0;clearInterval(o),o=setInterval(function(){e._processing?(r+=1,t&&r>=t&&n({interval:o,ready:!1})):n({interval:o,ready:!0})},1)})},t.prototype._getBackend=function(){return this._backend},t.prototype._isEnabled=function(){return!1!==this.getOptions().enabled&&void 0!==this._dsn},t.prototype._prepareEvent=function(t,e,n){var r=this.getOptions(),o=r.environment,i=r.release,s=r.dist,c=r.maxValueLength,u=void 0===c?250:c,p=a.a({},t);void 0===p.environment&&void 0!==o&&(p.environment=o),void 0===p.release&&void 0!==i&&(p.release=i),void 0===p.dist&&void 0!==s&&(p.dist=s),p.message&&(p.message=L(p.message,u));var l=p.exception&&p.exception.values&&p.exception.values[0];l&&l.value&&(l.value=L(l.value,u));var f=p.request;f&&f.url&&(f.url=L(f.url,u)),void 0===p.event_id&&(p.event_id=Object(U.g)()),this._addIntegrations(p.sdk);var h=A.a.resolve(p);return e&&(h=e.applyToEvent(p,n)),h},t.prototype._addIntegrations=function(t){var e=Object.keys(this._integrations);t&&e.length>0&&(t.integrations=e)},t.prototype._processEvent=function(t,e,n){var r=this,o=this.getOptions(),i=o.beforeSend,s=o.sampleRate;return this._isEnabled()?"number"==typeof s&&Math.random()>s?A.a.reject("This event has been sampled, will not send event."):new A.a(function(o,s){r._prepareEvent(t,n,e).then(function(t){if(null!==t){var n=t;try{if(e&&e.data&&!0===e.data.__sentry__||!i)return r._getBackend().sendEvent(n),void o(n);var c=i(t,e);if(void 0===c)N.a.error("`beforeSend` method has to return `null` or a valid event.");else if(Object(C.j)(c))r._handleAsyncBeforeSend(c,o,s);else{if(null===(n=c))return N.a.log("`beforeSend` returned `null`, will not send event."),void o(null);r._getBackend().sendEvent(n),o(n)}}catch(t){r.captureException(t,{data:{__sentry__:!0},originalException:t}),s("`beforeSend` throw an error, will not send event.")}}else s("An event processor returned null, will not send event.")})}):A.a.reject("SDK not enabled, will not send event.")},t.prototype._handleAsyncBeforeSend=function(t,e,n){var r=this;t.then(function(t){null!==t?(r._getBackend().sendEvent(t),e(t)):n("`beforeSend` returned `null`, will not send event.")}).catch(function(t){n("beforeSend rejected with "+t)})},t}(),W=function(){function t(){}return t.prototype.sendEvent=function(t){return Promise.resolve({reason:"NoopTransport: Event has been skipped because no Dsn is configured.",status:c.Skipped})},t.prototype.close=function(t){return Promise.resolve(!0)},t}(),Y=function(){function t(t){this._options=t,this._options.dsn||N.a.warn("No DSN provided, backend will not do anything."),this._transport=this._setupTransport()}return t.prototype._setupTransport=function(){return new W},t.prototype.eventFromException=function(t,e){throw new k("Backend has to implement `eventFromException` method")},t.prototype.eventFromMessage=function(t,e,n){throw new k("Backend has to implement `eventFromMessage` method")},t.prototype.sendEvent=function(t){this._transport.sendEvent(t).catch(function(t){N.a.error("Error while sending event: "+t)})},t.prototype.getTransport=function(){return this._transport},t}();function G(){if(!("fetch"in Object(U.e)()))return!1;try{return new Headers,new Request(""),new Response,!0}catch(t){return!1}}function q(){if(!G())return!1;try{return new Request("_",{referrerPolicy:"origin"}),!0}catch(t){return!1}}
2 | /**
3 | * TraceKit - Cross brower stack traces
4 | *
5 | * This was originally forked from github.com/occ/TraceKit, but has since been
6 | * largely modified and is now maintained as part of Sentry JS SDK.
7 | *
8 | * NOTE: Last merge with upstream repository
9 | * Jul 11,2018 - #f03357c
10 | *
11 | * https://github.com/csnover/TraceKit
12 | * @license MIT
13 | * @namespace TraceKit
14 | */
15 | var J=Object(U.e)(),$={_report:!1,_collectWindowErrors:!1,_computeStackTrace:!1,_linesOfContext:!1},X="?",z=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/;function V(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function Z(){return"undefined"==typeof document||null==document.location?"":document.location.href}$._report=function(){var t,e,n=[],r=null,o=null;function i(t,e,r){var o=null;if(!e||$._collectWindowErrors){for(var i in n)if(V(n,i))try{n[i](t,e,r)}catch(t){o=t}if(o)throw o}}function s(e,n,r,s,c){var p=null;if(c=Object(C.d)(c)?c.error:c,e=Object(C.d)(e)?e.message:e,o)$._computeStackTrace._augmentStackTraceWithInitialElement(o,n,r,e),u();else if(c&&Object(C.c)(c))(p=$._computeStackTrace(c)).mechanism="onerror",i(p,!0,c);else{var l,f={url:n,line:r,column:s},h=e;if("[object String]"==={}.toString.call(e)){var d=e.match(z);d&&(l=d[1],h=d[2])}f.func=X,f.context=null,i(p={name:l,message:h,mode:"onerror",mechanism:"onerror",stack:[a.a({},f,{url:f.url||Z()})]},!0,null)}return!!t&&t.apply(this,arguments)}function c(t){var e=t&&(t.detail?t.detail.reason:t.reason)||t,n=$._computeStackTrace(e);n.mechanism="onunhandledrejection",n.message||(n.message=JSON.stringify(Object(w.b)(e))),i(n,!0,e)}function u(){var t=o,e=r;o=null,r=null,i(t,!1,e)}function p(t){if(o){if(r===t)return;u()}var e=$._computeStackTrace(t);throw o=e,r=t,setTimeout(function(){r===t&&u()},e.incomplete?2e3:0),t}return p._subscribe=function(t){n.push(t)},p._installGlobalHandler=function(){!0!==e&&(t=J.onerror,J.onerror=s,e=!0)},p._installGlobalUnhandledRejectionHandler=function(){J.onunhandledrejection=c},p}(),$._computeStackTrace=function(){function t(t){if(!t||!t.stack)return null;for(var e,n,r,o=/^\s*at (?:(.*?) ?\()?((?:file|https?|blob|chrome-extension|native|eval|webpack||[a-z]:|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,i=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:file|https?|blob|chrome|webpack|resource|moz-extension).*?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js))(?::(\d+))?(?::(\d+))?\s*$/i,s=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i,c=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,a=/\((\S*)(?::(\d+))(?::(\d+))\)/,u=t.stack.split("\n"),p=[],l=/^(.*) is undefined$/.exec(t.message),f=0,h=u.length;f eval")>-1&&(e=c.exec(n[3]))?(n[1]=n[1]||"eval",n[3]=e[1],n[4]=e[2],n[5]=""):0!==f||n[5]||void 0===t.columnNumber||(p[0].column=t.columnNumber+1),r={url:n[3],func:n[1]||X,args:n[2]?n[2].split(","):[],line:n[4]?+n[4]:null,column:n[5]?+n[5]:null}}!r.func&&r.line&&(r.func=X),r.context=null,p.push(r)}return p.length?(p[0]&&p[0].line&&!p[0].column&&l&&(p[0].column=null),{mode:"stack",name:t.name,message:t.message,stack:p}):null}function e(t,e,n,r){var o={url:e,line:n};if(o.url&&o.line){if(t.incomplete=!1,o.func||(o.func=X),o.context||(o.context=null),/ '([^']+)' /.exec(r)&&(o.column=null),t.stack.length>0&&t.stack[0].url===o.url){if(t.stack[0].line===o.line)return!1;if(!t.stack[0].line&&t.stack[0].func===o.func)return t.stack[0].line=o.line,t.stack[0].context=o.context,!1}return t.stack.unshift(o),t.partial=!0,!0}return t.incomplete=!0,!1}function n(t,r){for(var o,i,s=/function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i,c=[],a={},u=!1,p=n.caller;p&&!u;p=p.caller)if(p!==et&&p!==$._report){if(i={url:null,func:X,args:[],line:null,column:null},p.name?i.func=p.name:(o=s.exec(p.toString()))&&(i.func=o[1]),void 0===i.func)try{i.func=o.input.substring(0,o.input.indexOf("{"))}catch(t){}a[""+p]?u=!0:a[""+p]=!0,c.push(i)}r&&c.splice(0,r);var l={mode:"callers",name:t.name,message:t.message,stack:c};return e(l,t.sourceURL||t.fileName,t.line||t.lineNumber,t.message||t.description),l}function r(e,r){var o=null;r=null==r?0:+r;try{if(o=function(t){var e=t.stacktrace;if(e){for(var n,r=/ line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i,o=/ line (\d+), column (\d+)\s*(?:in (?:]+)>|([^\)]+))\((.*)\))? in (.*):\s*$/i,i=e.split("\n"),s=[],c=0;c0&&n(!1)},t);Promise.all(e._buffer).then(function(){clearTimeout(r),n(!0)}).catch(function(){n(!0)})})},t}(),at=function(){function t(t){this.options=t,this._buffer=new ct(30),this.url=new I(this.options.dsn).getStoreEndpointWithUrlEncodedAuth()}return t.prototype.sendEvent=function(t){throw new k("Transport Class has to implement `sendEvent` method")},t.prototype.close=function(t){return this._buffer.drain(t)},t}(),ut=Object(U.e)(),pt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.b(e,t),e.prototype.sendEvent=function(t){var e={body:JSON.stringify(t),method:"POST",referrerPolicy:q()?"origin":""};return this._buffer.add(ut.fetch(this.url,e).then(function(t){return{status:c.fromHttpCode(t.status)}}))},e}(at),lt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.b(e,t),e.prototype.sendEvent=function(t){var e=this;return this._buffer.add(new Promise(function(n,r){var o=new XMLHttpRequest;o.onreadystatechange=function(){4===o.readyState&&(200===o.status&&n({status:c.fromHttpCode(o.status)}),r(o))},o.open("POST",e.url),o.send(JSON.stringify(t))}))},e}(at),ft=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.b(e,t),e.prototype._setupTransport=function(){if(!this._options.dsn)return t.prototype._setupTransport.call(this);var e=a.a({},this._options.transportOptions,{dsn:this._options.dsn});return this._options.transport?new this._options.transport(e):G()?new pt(e):new lt(e)},e.prototype.eventFromException=function(t,e){var n,r=this;if(Object(C.d)(t)&&t.error)return t=t.error,n=ot(et(t)),A.a.resolve(this._buildEvent(n,e));if(Object(C.a)(t)||Object(C.b)(t)){var o=t,i=o.name||(Object(C.a)(o)?"DOMError":"DOMException"),c=o.message?i+": "+o.message:i;return this.eventFromMessage(c,s.Error,e).then(function(t){return Object(U.a)(t,c),A.a.resolve(r._buildEvent(t,e))})}if(Object(C.c)(t))return n=ot(et(t)),A.a.resolve(this._buildEvent(n,e));if(Object(C.e)(t)&&e&&e.syntheticException)return n=function(t,e){var n=Object.keys(t).sort(),r={extra:{__serialized__:Object(w.c)(t)},message:"Non-Error exception captured with keys: "+D(n)};if(e){var o=it(et(e).stack);r.stacktrace={frames:o}}return r}(t,e.syntheticException),Object(U.a)(n,"Custom Object",void 0,{handled:!0,synthetic:!0,type:"generic"}),n.level=s.Error,A.a.resolve(this._buildEvent(n,e));var a=t;return this.eventFromMessage(a,void 0,e).then(function(t){return Object(U.a)(t,""+a,void 0,{handled:!0,synthetic:!0,type:"generic"}),t.level=s.Error,A.a.resolve(r._buildEvent(t,e))})},e.prototype._buildEvent=function(t,e){return a.a({},t,{event_id:e&&e.event_id})},e.prototype.eventFromMessage=function(t,e,n){void 0===e&&(e=s.Info);var r={event_id:n&&n.event_id,level:e,message:t};if(this._options.attachStacktrace&&n&&n.syntheticException){var o=it(et(n.syntheticException).stack);r.stacktrace={frames:o}}return A.a.resolve(r)},e}(Y),ht="sentry.javascript.browser",dt=function(t){function e(e){return void 0===e&&(e={}),t.call(this,ft,e)||this}return a.b(e,t),e.prototype._prepareEvent=function(e,n,r){return e.platform=e.platform||"javascript",e.sdk=a.a({},e.sdk,{name:ht,packages:a.d(e.sdk&&e.sdk.packages||[],[{name:"npm:@sentry/browser",version:"5.5.0"}]),version:"5.5.0"}),t.prototype._prepareEvent.call(this,e,n,r)},e.prototype.showReportDialog=function(t){void 0===t&&(t={});var e=Object(U.e)().document;if(e)if(this._isEnabled()){var n=t.dsn||this.getDsn();if(t.eventId)if(n){var r=e.createElement("script");r.async=!0,r.src=new I(n).getReportDialogEndpoint(t),t.onLoad&&(r.onload=t.onLoad),(e.head||e.body).appendChild(r)}else N.a.error("Missing `Dsn` option in showReportDialog call");else N.a.error("Missing `eventId` option in showReportDialog call")}else N.a.error("Trying to call showReportDialog with Sentry Client is disabled")},e}(M),_t=function(){function t(){this.name=t.id}return t.prototype.setupOnce=function(){st=Function.prototype.toString,Function.prototype.toString=function(){for(var t=[],e=0;e"}0!==e.length&&Object(p.b)().addBreadcrumb({category:"ui."+t,message:e},{event:n,name:t})};jt&&clearTimeout(jt),e?jt=setTimeout(r):r()}}}function wt(){return function(t){var e;try{e=t.target}catch(t){return}var n=e&&e.tagName;n&&("INPUT"===n||"TEXTAREA"===n||e.isContentEditable)&&(yt||St("input")(t),clearTimeout(yt),yt=setTimeout(function(){yt=void 0},bt))}}function xt(t){for(var e,n=t,r=[],o=0,i=0,s=" > ".length;n&&o++<5&&!("html"===(e=kt(n))||o>1&&i+r.length*s+e.length>=80);)r.push(e),i+=e.length,n=n.parentNode;return r.reverse().join(" > ")}function kt(t){var e,n,r,o,i,s=[];if(!t||!t.tagName)return"";if(s.push(t.tagName.toLowerCase()),t.id&&s.push("#"+t.id),(e=t.className)&&Object(C.h)(e))for(n=e.split(/\s+/),i=0;i"}catch(t){return""}}var It,Nt=Object(U.e)(),Ct=function(){function t(e){this.name=t.id,this._options=a.a({console:!0,dom:!0,fetch:!0,history:!0,sentry:!0,xhr:!0},e)}return t.prototype._instrumentConsole=function(){"console"in Nt&&["debug","info","warn","error","log","assert"].forEach(function(e){e in Nt.console&&Object(w.a)(Nt.console,e,function(n){return function(){for(var r=[],o=0;o2?e[2]:void 0;return r&&s(It,String(r)),t.apply(this,e)}}},t.prototype._instrumentXHR=function(){if("XMLHttpRequest"in Nt){var e=XMLHttpRequest.prototype;Object(w.a)(e,"open",function(t){return function(){for(var e=[],n=0;n"},handled:!0,type:"instrument"}})})}(t,o)}),"onreadystatechange"in o&&"function"==typeof o.onreadystatechange?Object(w.a)(o,"onreadystatechange",function(t){return Ot(t,{mechanism:{data:{function:"onreadystatechange",handler:t&&t.name||""},handled:!0,type:"instrument"}},i)}):o.onreadystatechange=i,e.apply(this,n)}})}},t.addBreadcrumb=function(e,n){Object(p.b)().getIntegration(t)&&Object(p.b)().addBreadcrumb(e,n)},t.prototype.setupOnce=function(){this._options.console&&this._instrumentConsole(),this._options.dom&&this._instrumentDOM(),this._options.xhr&&this._instrumentXHR(),this._options.fetch&&this._instrumentFetch(),this._options.history&&this._instrumentHistory()},t.id="Breadcrumbs",t}();function Lt(t){try{var e=JSON.parse(t);Ct.addBreadcrumb({category:"sentry",event_id:e.event_id,level:e.level||s.fromString("error"),message:Object(U.d)(e)},{event:e})}catch(t){N.a.error("Error while adding sentry type breadcrumb")}}var Pt=function(){function t(e){this.name=t.id,this._options=a.a({onerror:!0,onunhandledrejection:!0},e)}return t.prototype.setupOnce=function(){Error.stackTraceLimit=50,K(function(e,n,r){if(!(Et>0)){var o=Object(p.b)().getIntegration(t);o&&Object(p.b)().captureEvent(o._eventFromGlobalHandler(e),{data:{stack:e},originalException:r})}}),this._options.onerror&&(N.a.log("Global Handler attached: onerror"),Q()),this._options.onunhandledrejection&&(N.a.log("Global Handler attached: onunhandledrejection"),tt())},t.prototype._eventFromGlobalHandler=function(t){if(!Object(C.h)(t.message)&&"onunhandledrejection"!==t.mechanism){var e=t.message;t.message=e.error&&Object(C.h)(e.error.message)?e.error.message:"No error message"}var n=ot(t),r={mode:t.mode};t.message&&(r.message=t.message),t.name&&(r.name=t.name);var o=Object(p.b)().getClient(),i=o&&o.getOptions().maxValueLength||250,s=t.original?L(JSON.stringify(Object(w.b)(t.original)),i):"",c="onunhandledrejection"===t.mechanism?"UnhandledRejection":"Error";return Object(U.a)(n,s,c,{data:r,handled:!1,type:t.mechanism}),n},t.id="GlobalHandlers",t}(),Dt="cause",Ft=5,Ut=function(){function t(e){void 0===e&&(e={}),this.name=t.id,this._key=e.key||Dt,this._limit=e.limit||Ft}return t.prototype.setupOnce=function(){Object(u.b)(function(e,n){var r=Object(p.b)().getIntegration(t);return r?r._handler(e,n):e})},t.prototype._handler=function(t,e){if(!(t.exception&&t.exception.values&&e&&e.originalException instanceof Error))return t;var n=this._walkErrorTree(e.originalException,this._key);return t.exception.values=a.d(n,t.exception.values),t},t.prototype._walkErrorTree=function(t,e,n){if(void 0===n&&(n=[]),!(t[e]instanceof Error)||n.length+1>=this._limit)return n;var r=rt(et(t[e]));return this._walkErrorTree(t[e],e,a.d([r],n))},t.id="LinkedErrors",t}(),At=Object(U.e)(),Bt=function(){function t(){this.name=t.id}return t.prototype.setupOnce=function(){Object(u.b)(function(e){if(Object(p.b)().getIntegration(t)){if(!At.navigator||!At.location)return e;var n=e.request||{};return n.url=n.url||At.location.href,n.headers=n.headers||{},n.headers["User-Agent"]=At.navigator.userAgent,a.a({},e,{request:n})}return e})},t.id="UserAgent",t}(),Ht=[new r.InboundFilters,new r.FunctionToString,new Tt,new Ct,new Pt,new Ut,new Bt];function Mt(t){if(void 0===t&&(t={}),void 0===t.defaultIntegrations&&(t.defaultIntegrations=Ht),void 0===t.release){var e=Object(U.e)();e.SENTRY_RELEASE&&e.SENTRY_RELEASE.id&&(t.release=e.SENTRY_RELEASE.id)}!function(t,e){!0===e.debug&&N.a.enable(),Object(p.b)().bindClient(new t(e))}(dt,t)}function Wt(t){void 0===t&&(t={}),t.eventId||(t.eventId=Object(p.b)().lastEventId());var e=Object(p.b)().getClient();e&&e.showReportDialog(t)}function Yt(){return Object(p.b)().lastEventId()}function Gt(){}function qt(t){t()}function Jt(t){var e=Object(p.b)().getClient();return e?e.flush(t):Promise.reject(!1)}function $t(t){var e=Object(p.b)().getClient();return e?e.close(t):Promise.reject(!1)}function Xt(t){Ot(t)()}n.d(e,"Integrations",function(){return Zt}),n.d(e,"Severity",function(){return s}),n.d(e,"Status",function(){return c}),n.d(e,"addGlobalEventProcessor",function(){return u.b}),n.d(e,"addBreadcrumb",function(){return v}),n.d(e,"captureException",function(){return f}),n.d(e,"captureEvent",function(){return d}),n.d(e,"captureMessage",function(){return h}),n.d(e,"configureScope",function(){return _}),n.d(e,"getHubFromCarrier",function(){return p.c}),n.d(e,"getCurrentHub",function(){return p.b}),n.d(e,"Hub",function(){return p.a}),n.d(e,"Scope",function(){return u.a}),n.d(e,"setContext",function(){return g}),n.d(e,"setExtra",function(){return b}),n.d(e,"setExtras",function(){return y}),n.d(e,"setTag",function(){return E}),n.d(e,"setTags",function(){return m}),n.d(e,"setUser",function(){return O}),n.d(e,"Span",function(){return S.a}),n.d(e,"withScope",function(){return j}),n.d(e,"BrowserClient",function(){return dt}),n.d(e,"defaultIntegrations",function(){return Ht}),n.d(e,"forceLoad",function(){return Gt}),n.d(e,"init",function(){return Mt}),n.d(e,"lastEventId",function(){return Yt}),n.d(e,"onLoad",function(){return qt}),n.d(e,"showReportDialog",function(){return Wt}),n.d(e,"flush",function(){return Jt}),n.d(e,"close",function(){return $t}),n.d(e,"wrap",function(){return Xt}),n.d(e,"SDK_NAME",function(){return ht}),n.d(e,"SDK_VERSION",function(){return"5.5.0"}),n.d(e,"Transports",function(){return i});var zt={},Vt=Object(U.e)();Vt.Sentry&&Vt.Sentry.Integrations&&(zt=Vt.Sentry.Integrations);var Zt=a.a({},zt,r,o)},"YGy+":function(t,e,n){"use strict";n.d(e,"a",function(){return i});var r=n("9/Zf"),o=/^[ \t]*([0-9a-f]{32})?-?([0-9a-f]{16})?-?([01])?[ \t]*$/,i=function(){function t(t,e,n,o){void 0===t&&(t=Object(r.g)()),void 0===e&&(e=Object(r.g)().substring(16)),this._traceId=t,this._spanId=e,this._sampled=n,this._parent=o}return t.prototype.setParent=function(t){return this._parent=t,this},t.prototype.setSampled=function(t){return this._sampled=t,this},t.fromTraceparent=function(e){var n=e.match(o);if(n){var r=void 0;"1"===n[3]?r=!0:"0"===n[3]&&(r=!1);var i=new t(n[1],n[2],r);return new t(n[1],void 0,r,i)}},t.prototype.toTraceparent=function(){var t="";return!0===this._sampled?t="-1":!1===this._sampled&&(t="-0"),this._traceId+"-"+this._spanId+t},t.prototype.toJSON=function(){return{parent:this._parent&&this._parent.toJSON()||void 0,sampled:this._sampled,span_id:this._spanId,trace_id:this._traceId}},t}()},lW6c:function(t,e,n){"use strict";(function(t){n.d(e,"a",function(){return a}),n.d(e,"b",function(){return l}),n.d(e,"c",function(){return h});var r=n("mrSG"),o=n("9/Zf"),i=n("8LbN"),s=n("KjyA"),c=3,a=function(){function t(t,e,n){void 0===e&&(e=new s.a),void 0===n&&(n=c),this._version=n,this._stack=[],this._stack.push({client:t,scope:e})}return t.prototype._invokeClient=function(t){for(var e,n=[],o=1;o0?t[t.length-1].scope:void 0,n=s.a.clone(e);return this.getStack().push({client:this.getClient(),scope:n}),n},t.prototype.popScope=function(){return void 0!==this.getStack().pop()},t.prototype.withScope=function(t){var e=this.pushScope();try{t(e)}finally{this.popScope()}},t.prototype.getClient=function(){return this.getStackTop().client},t.prototype.getScope=function(){return this.getStackTop().scope},t.prototype.getStack=function(){return this._stack},t.prototype.getStackTop=function(){return this._stack[this._stack.length-1]},t.prototype.captureException=function(t,e){var n=this._lastEventId=Object(o.g)(),i=e;if(!e){var s=void 0;try{throw new Error("Sentry syntheticException")}catch(t){s=t}i={originalException:t,syntheticException:s}}return this._invokeClient("captureException",t,r.a({},i,{event_id:n})),n},t.prototype.captureMessage=function(t,e,n){var i=this._lastEventId=Object(o.g)(),s=n;if(!n){var c=void 0;try{throw new Error(t)}catch(t){c=t}s={originalException:t,syntheticException:c}}return this._invokeClient("captureMessage",t,e,r.a({},s,{event_id:i})),i},t.prototype.captureEvent=function(t,e){var n=this._lastEventId=Object(o.g)();return this._invokeClient("captureEvent",t,r.a({},e,{event_id:n})),n},t.prototype.lastEventId=function(){return this._lastEventId},t.prototype.addBreadcrumb=function(t,e){var n=this.getStackTop();if(n.scope&&n.client){var i=n.client.getOptions&&n.client.getOptions()||{},s=i.beforeBreadcrumb,c=void 0===s?null:s,a=i.maxBreadcrumbs,u=void 0===a?30:a;if(!(u<=0)){var p=(new Date).getTime()/1e3,l=r.a({timestamp:p},t),f=c?Object(o.b)(function(){return c(l,e)}):l;null!==f&&n.scope.addBreadcrumb(f,Math.min(u,100))}}},t.prototype.setUser=function(t){var e=this.getStackTop();e.scope&&e.scope.setUser(t)},t.prototype.setTags=function(t){var e=this.getStackTop();e.scope&&e.scope.setTags(t)},t.prototype.setExtras=function(t){var e=this.getStackTop();e.scope&&e.scope.setExtras(t)},t.prototype.setTag=function(t,e){var n=this.getStackTop();n.scope&&n.scope.setTag(t,e)},t.prototype.setExtra=function(t,e){var n=this.getStackTop();n.scope&&n.scope.setExtra(t,e)},t.prototype.setContext=function(t,e){var n=this.getStackTop();n.scope&&n.scope.setContext(t,e)},t.prototype.configureScope=function(t){var e=this.getStackTop();e.scope&&e.client&&t(e.scope)},t.prototype.run=function(t){var e=p(this);try{t(this)}finally{p(e)}},t.prototype.getIntegration=function(t){var e=this.getClient();if(!e)return null;try{return e.getIntegration(t)}catch(e){return i.a.warn("Cannot retrieve integration "+t.id+" from the current Hub"),null}},t.prototype.traceHeaders=function(){var t=this.getStackTop();if(t.scope&&t.client){var e=t.scope.getSpan();if(e)return{"sentry-trace":e.toTraceparent()}}return{}},t}();function u(){var t=Object(o.e)();return t.__SENTRY__=t.__SENTRY__||{hub:void 0},t}function p(t){var e=u(),n=h(e);return d(e,t),n}function l(){var e=u();f(e)&&!h(e).isOlderThan(c)||d(e,new a);try{var n=Object(o.c)(t,"domain").active;if(!n)return h(e);if(!f(n)||h(n).isOlderThan(c)){var r=h(e).getStackTop();d(n,new a(r.client,s.a.clone(r.scope)))}return h(n)}catch(t){return h(e)}}function f(t){return!!(t&&t.__SENTRY__&&t.__SENTRY__.hub)}function h(t){return t&&t.__SENTRY__&&t.__SENTRY__.hub?t.__SENTRY__.hub:(t.__SENTRY__=t.__SENTRY__||{},t.__SENTRY__.hub=new a,t.__SENTRY__.hub)}function d(t,e){return!!t&&(t.__SENTRY__=t.__SENTRY__||{},t.__SENTRY__.hub=e,!0)}}).call(this,n("3UD+")(t))},mrSG:function(t,e,n){"use strict";n.d(e,"b",function(){return o}),n.d(e,"a",function(){return i}),n.d(e,"c",function(){return s}),n.d(e,"d",function(){return c});
16 | /*! *****************************************************************************
17 | Copyright (c) Microsoft Corporation. All rights reserved.
18 | Licensed under the Apache License, Version 2.0 (the "License"); you may not use
19 | this file except in compliance with the License. You may obtain a copy of the
20 | License at http://www.apache.org/licenses/LICENSE-2.0
21 |
22 | THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
23 | KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
24 | WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
25 | MERCHANTABLITY OR NON-INFRINGEMENT.
26 |
27 | See the Apache Version 2.0 License for specific language governing permissions
28 | and limitations under the License.
29 | ***************************************************************************** */
30 | var r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)};function o(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}var i=function(){return(i=Object.assign||function(t){for(var e,n=1,r=arguments.length;n0)&&!(r=i.next()).done;)s.push(r.value)}catch(t){o={error:t}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return s}function c(){for(var t=[],e=0;ediv{width:360px}.lF_ZoyIdZN{padding:10px 40px 40px}.VduFBb2hWX{padding:0 40px}.VduFBb2hWX>div{border-top:1px dashed #373737}._2NQoBOQcGA{padding:16px 0}
16 | .ctrHyq7uir{position:fixed;top:0;right:0;left:0;bottom:0;background:#444;z-index:1024}._17mHpKiOUD{outline:none;position:absolute;color:#ddd;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);background:#444;padding:20px;border-radius:10px}
17 | ._1r-KsYFNaj{position:relative;padding:10px 0}._1r-KsYFNaj input{-webkit-appearance:none;background-color:initial;background-image:none;border:none;border-radius:0;border-bottom:1px solid var(--color-input-border);box-sizing:border-box;color:#c1c1c1;display:inline-block;font-size:inherit;height:40px;outline:none;padding:0 8px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}._1r-KsYFNaj input:focus{border-color:var(--color-focus-blue)}._1r-KsYFNaj label{position:absolute;left:8px;bottom:22px;-webkit-transition:-webkit-transform .15s ease-in-out;transition:-webkit-transform .15s ease-in-out;transition:transform .15s ease-in-out;transition:transform .15s ease-in-out,-webkit-transform .15s ease-in-out;-webkit-transform-origin:0 0;transform-origin:0 0}._1r-KsYFNaj input:focus+label,._1r-KsYFNaj label.Hn6h5kxOg7{-webkit-transform:scale(.75) translateY(-25px);transform:scale(.75) translateY(-25px)}._1r-KsYFNaj input:focus+label{color:var(--color-focus-blue)}
18 | ._3hz7LVhvUv:focus{outline:none}._3HF-KB9mgO{display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center}._3HF-KB9mgO ._3HzgPICn91{color:#2d2d30;opacity:.4;-webkit-transition:opacity .4s;transition:opacity .4s}._3HF-KB9mgO ._3HzgPICn91:hover{opacity:.7}._1wpZuvoD5I{padding:30px 0 10px}.L7jTy-EFJ2{display:-webkit-box;display:flex}.L7jTy-EFJ2 div{-webkit-box-flex:1;flex:1 1 auto}.L7jTy-EFJ2 div:nth-child(2){-webkit-box-flex:0;flex-grow:0;flex-basis:120px;margin-left:10px}._2fehqRU9GV{padding:30px 0 10px;display:-webkit-box;display:flex;-webkit-box-pack:end;justify-content:flex-end;-webkit-box-align:center;align-items:center}
19 | ._3D3ZNp4oBz{background:none;position:fixed;top:0;bottom:0;left:0;right:0;-webkit-transform:none;transform:none;padding:0;border-radius:0}.tgH3yv-xGR{position:absolute;top:10%;left:50%;-webkit-transform:translate(-50%);transform:translate(-50%);max-width:376px;margin:0 auto}._3MMuzHtwZL{background:#222}
20 | @font-face{font-family:Roboto Mono;font-style:normal;font-weight:400;src:local("Roboto Mono"),local("RobotoMono-Regular"),url(https://cdn.jsdelivr.net/npm/@hsjs/fonts@0.0.1/robotomono/v5/L0x5DF4xlVMF-BfR8bXMIjhLq3-cXbKD.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}.border-bottom,.border-left,.border-top{position:relative}.border-top:before{top:0}.border-bottom:after,.border-top:before{position:absolute;content:"";height:1px;width:100%;-webkit-transform:scaleY(.5) translateZ(0);transform:scaleY(.5) translateZ(0);left:0;right:0;background:#555}.border-bottom:after{bottom:0}.border-left:before{position:absolute;content:"";height:100%;width:1px;-webkit-transform:scaleX(.5) translateZ(0);transform:scaleX(.5) translateZ(0);top:0;bottom:0;background:#555;left:0}*,:after,:before{box-sizing:border-box}:root{--font-mono:"Roboto Mono",Menlo,monospace;--color-focus-blue:#1a73e8}body{font-family:Merriweather Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,PingFang SC,Microsoft YaHei,微软雅黑;margin:0;padding:0}body,body.dark{--color-background:#202020;--color-text:#ddd;--color-text-secondary:#ccc;--color-bg-sidebar:#2d2d30;--color-sb-active-row-bg:#494b4e;--color-input-bg:#2d2d30;--color-input-border:#3f3f3f;--color-toggle-bg:#353535;--color-toggle-selected:#181818;--color-icon:#c7c7c7;--color-btn-bg:#232323;--color-btn-fg:#bebebe;--color-bg-proxy-selected:#303030}body.light{--color-background:#fbfbfb;--color-text:#222;--color-text-secondary:#646464;--color-bg-sidebar:#e7e7e7;--color-sb-active-row-bg:#d0d0d0;--color-input-bg:#fff;--color-input-border:silver;--color-toggle-bg:#fff;--color-toggle-selected:#d7d7d7;--color-icon:#5b5b5b;--color-btn-bg:#f4f4f4;--color-btn-fg:#101010;--color-bg-proxy-selected:#cfcfcf}
21 | ._35EMVy62Je{display:-webkit-box;display:flex;background:var(--color-background);color:var(--color-text);min-height:300px;height:100vh}@media (max-width:768px){._35EMVy62Je{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}}.AwL8oIubvP{-webkit-box-flex:1;flex-grow:1;overflow:auto}
22 |
--------------------------------------------------------------------------------
/dashboard/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 | yacd - Yet Another Clash Dashboard
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/dashboard/proxies.9022775a13e050c1509f.css:
--------------------------------------------------------------------------------
1 | ._2V-RqIAl7n{border-radius:20px;padding:3px 0;color:#eee}
2 | .NpfXwxWAxo{position:relative;padding:10px;border-radius:10px;background-color:var(--color-bg-proxy-selected)}.NpfXwxWAxo._2zD7drviYH{background-color:var(--color-focus-blue);color:#ddd}._1rVl-Kdmss{font-family:var(--font-mono)}._3kdi5nima5{width:100%;overflow:hidden;text-overflow:ellipsis;margin-bottom:5px;font-size:1.1em}._12JM32OJa5{height:30px;display:-webkit-box;display:flex;-webkit-box-align:end;align-items:flex-end}
3 | ._3PCSxT0l14>h2{margin-top:0}._3PCSxT0l14>h2 span:nth-child(2){font-size:12px;color:#777;font-weight:400;margin:0 .3em}._1yYRIyvlRd{display:-webkit-box;display:flex;flex-wrap:wrap}._1OcDlvlM5R{max-width:280px;min-width:150px;margin:10px;-webkit-transition:-webkit-transform .2s ease-in-out;transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out}._1OcDlvlM5R._3oAxPKtZFv{cursor:pointer}._1OcDlvlM5R._3oAxPKtZFv:hover{-webkit-transform:translateY(-2px);transform:translateY(-2px)}
4 | .pWc1mov26e{padding-bottom:50px}._1myfcMimT9{padding:10px 40px}._1khaX45NQe{position:fixed;z-index:1;right:20px;bottom:20px}
5 |
--------------------------------------------------------------------------------
/dashboard/proxies.993826afdebb153e0805.js:
--------------------------------------------------------------------------------
1 | (window.webpackJsonp=window.webpackJsonp||[]).push([[2],{D46e:function(e,a,t){e.exports={header:"_3PCSxT0l14",list:"_1yYRIyvlRd",proxy:"_1OcDlvlM5R",proxySelectable:"_3oAxPKtZFv"}},FWZb:function(e,a,t){e.exports={proxy:"NpfXwxWAxo",now:"_2zD7drviYH",proxyType:"_1rVl-Kdmss",proxyName:"_3kdi5nima5",proxyLatencyWrap:"_12JM32OJa5"}},L5YO:function(e,a,t){e.exports={body:"pWc1mov26e",group:"_1myfcMimT9",fabgrp:"_1khaX45NQe"}},RbL9:function(e,a,t){e.exports={proxyLatency:"_2V-RqIAl7n"}},wyCT:function(e,a,t){"use strict";t.r(a);var n=t("o0o1"),r=t.n(n),c=t("HaE+"),o=t("q1tI"),l=t.n(o),s=t("u4Dv"),p=t("DKqX"),m=t("rePB"),i=t("17x9"),u=t.n(i),y=t("TSYQ"),b=t.n(y),x=t("RbL9"),d=t.n(x),f={good:"#67C23A",normal:"#E6A23C",bad:"#F56C6C",na:"#909399"};function v(e){var a=e.latency,t=a.number,n=a.error,r=Object(o.useMemo)(function(){return function(e,a){return""!==a?f.na:e<200?f.good:e<400?f.normal:f.bad}(t,n)},[t,n]);return l.a.createElement("span",{className:d.a.proxyLatency,style:{color:r}},""!==n?l.a.createElement("span",null,n):l.a.createElement("span",null,t," ms"))}v.propTypes={latency:u.a.shape({number:u.a.number,error:u.a.string})};var E=t("FWZb"),O=t.n(E),w=t("EQlU"),N=function(e){return{proxies:Object(w.d)(e),delay:Object(w.c)(e)}};function j(e){var a=e.now,t=e.name,n=Object(s.c)(N),r=n.proxies,c=n.delay[t],o=r[t];return l.a.createElement("div",{className:b()(O.a.proxy,Object(m.a)({},O.a.now,a))},l.a.createElement("div",{className:O.a.proxyName},t),l.a.createElement("div",{className:O.a.proxyType,style:{opacity:a?.6:.2}},o.type),l.a.createElement("div",{className:O.a.proxyLatencyWrap},c?l.a.createElement(v,{latency:c}):null))}j.propTypes={now:u.a.bool,name:u.a.string};var g=j,h=t("D46e"),_=t.n(h),T=function(e){return{proxies:Object(w.d)(e)}};function k(e){var a=e.name,t=Object(s.c)(T).proxies,n=Object(s.b)({switchProxy:w.g}),r=t[a],c=r.all;return l.a.createElement("div",{className:_.a.group},l.a.createElement("div",{className:_.a.header},l.a.createElement("h2",null,l.a.createElement("span",null,a),l.a.createElement("span",null,r.type))),l.a.createElement("div",{className:_.a.list},c.map(function(e){var t="Selector"===r.type,c=b()(_.a.proxy,Object(m.a)({},_.a.proxySelectable,t));return l.a.createElement("div",{className:c,key:e,onClick:function(){t&&n.switchProxy(a,e)}},l.a.createElement(g,{isSelectable:t,name:e,now:e===r.now}))})))}k.propTypes={name:u.a.string};var L=t("5Wrh"),C=t("L5YO"),D=t.n(C);t.d(a,"default",function(){return W});var P=function(e){return{proxies:Object(w.d)(e),groupNames:Object(w.e)(e)}},A={fetchProxies:w.b,requestDelayAll:w.f};function W(){var e=Object(s.b)(A),a=e.fetchProxies,t=e.requestDelayAll;Object(o.useEffect)(function(){Object(c.a)(r.a.mark(function e(){return r.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,a();case 2:case"end":return e.stop()}},e)}))()},[a,t]);var n=Object(s.c)(P).groupNames;return l.a.createElement(l.a.Fragment,null,l.a.createElement(p.a,{title:"Proxies"}),l.a.createElement("div",{className:D.a.body},l.a.createElement("div",{className:D.a.fabgrp},l.a.createElement(L.a,{label:"Test Latency",onClick:t})),n.map(function(e){return l.a.createElement("div",{className:D.a.group,key:e},l.a.createElement(k,{name:e}))})))}}}]);
--------------------------------------------------------------------------------
/dashboard/rules.1fba3c440f97fe0e3bb1.css:
--------------------------------------------------------------------------------
1 | ._3eSLieOhVX{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;padding:10px 40px}._2n1pW09UvV{width:40px;padding-right:15px;color:var(--color-text-secondary);opacity:.4}.t1XJIwvW7A{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;font-size:12px;opacity:.8}._1fNf8kj0HA{padding:10px 0;font-family:Roboto Mono,Menlo,monospace;font-size:19px}._3yJmN0tON0{width:110px}
2 | ._2Tux7NhweE{position:fixed;right:20px;bottom:20px}
3 |
--------------------------------------------------------------------------------
/dashboard/rules.6f76e629fb04fefe588a.js:
--------------------------------------------------------------------------------
1 | (window.webpackJsonp=window.webpackJsonp||[]).push([[4],{BVyM:function(e,t,a){"use strict";a.r(t);var n=a("ODXe"),r=a("q1tI"),c=a.n(r),l=a("u4Dv"),i=a("5Wrh"),u=a("iR1w"),s=a("DKqX"),o=a("17x9"),m=a.n(o),f=a("xrux"),d=a.n(f),p={_default:"#59caf9",DIRECT:"#f5bc41",REJECT:"#cb3166"};function v(e){var t=e.type,a=e.payload,n=e.proxy,r=e.id,l=function(e){var t=e.proxy,a=p._default;return p[t]&&(a=p[t]),{color:a}}({proxy:n});return c.a.createElement("div",{className:d.a.rule},c.a.createElement("div",{className:d.a.left},r),c.a.createElement("div",null,c.a.createElement("div",{className:d.a.b},a),c.a.createElement("div",{className:d.a.a},c.a.createElement("div",{className:d.a.type},t),c.a.createElement("div",{style:l},n))))}v.propTypes={id:m.a.number,type:m.a.string,payload:m.a.string,proxy:m.a.string};var b=v,E=a("II4a"),h=a("Tvb5"),y={updateSearchText:h.f},x=Object(E.a)({mapStateToProps:function(e){return{searchText:Object(h.e)(e)}},actions:y}),O=a("Kv4h"),j=a("mlDh"),w=a.n(j);a.d(t,"default",function(){return _});var N=30,R=function(e){return{rules:Object(h.d)(e)}},g={fetchRules:h.b,fetchRulesOnce:h.c};function T(e,t){return t[e].id}var D=Object(r.memo)(function(e){var t=e.index,a=e.style,n=e.data[t];return c.a.createElement("div",{style:a},c.a.createElement(b,n))},u.b);function _(){var e=Object(l.b)(g),t=e.fetchRulesOnce,a=e.fetchRules,o=Object(l.c)(R).rules;Object(r.useEffect)(function(){t()},[t]);var m=Object(O.a)(),f=Object(n.a)(m,2),d=f[0],p=f[1];return c.a.createElement("div",null,c.a.createElement(s.a,{title:"Rules"}),c.a.createElement(x,null),c.a.createElement("div",{ref:d,style:{paddingBottom:N}},c.a.createElement(u.a,{height:p-N,width:"100%",itemCount:o.length,itemSize:80,itemData:o,itemKey:T},D)),c.a.createElement("div",{className:w.a.fabgrp},c.a.createElement(i.a,{label:"Refresh",onClick:a})))}},mlDh:function(e,t,a){e.exports={fabgrp:"_2Tux7NhweE"}},xrux:function(e,t,a){e.exports={rule:"_3eSLieOhVX",left:"_2n1pW09UvV",a:"t1XJIwvW7A",b:"_1fNf8kj0HA",type:"_3yJmN0tON0"}}}]);
--------------------------------------------------------------------------------
/dashboard/runtime~app.dc7b6d94c7fe054b4bce.js:
--------------------------------------------------------------------------------
1 | !function(e){function t(t){for(var n,o,c=t[0],l=t[1],f=t[2],s=t[3]||[],d=0,h=[];d
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/sysproxy.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/coderbean/ClashNet/dccc669c8b47d77d3328571223845284bed5e42c/sysproxy.exe
--------------------------------------------------------------------------------