From 9628d3063fcc510edeab7604674bb0b610bf6a1e Mon Sep 17 00:00:00 2001 From: Return-Log Date: Thu, 8 Aug 2024 14:29:40 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=A1=E6=81=AF=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LICENSE.txt | 674 ++++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 25 ++ icon.ico | Bin 0 -> 1081406 bytes main.py | 12 +- 4 files changed, 708 insertions(+), 3 deletions(-) create mode 100644 LICENSE.txt create mode 100644 README.md create mode 100644 icon.ico diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..211c982 --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Education-Clock Copyright (C) 2024 Li Mingrui + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/README.md b/README.md new file mode 100644 index 0000000..62b7715 --- /dev/null +++ b/README.md @@ -0,0 +1,25 @@ +# 网盘图标删除器 Drive Icon Manager + +## 介绍 + +使你不再受‘此电脑’中无用的网盘图标影响 + +使用管理员权限运行软件自动读取注册表HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\ 并列出子项,选择需要删除的项删除 + +## 环境 + +必要的库 + +```shell +pip install colorama +``` + +```shell +pip install pywin32 +``` + +python版本:3.12 + +------ + +Copyright © 2024 Log All rights reserved. \ No newline at end of file diff --git a/icon.ico b/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..892447b09563c80d32aa3b561f13d274661327d0 GIT binary patch literal 1081406 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

N8+ z_|IsPMC?a5#*O9OR-}sMaBIXq1HjFQ{ra$d27nR!?l2#zKbk=k0uZt9>U7k8tMf+v zPPgyQG&?3?Q+6W&)9qI}Hc|UXbkprS=8^o94?2aZ->LRJm5kOO8G};od()hl{Z{9l z{7$uB9_RlcgHr9+$Jq}uDAm4e9_Kdzm}cMK9&7&qV1IkBp3dLR9-#hlO5DDmL233Y zy>jFB{R~R8UmtJZ2bf~t%bs4!^-Ak^!4&&m_KetXbpfT=_wfzIuRps;v0v#s9Ot*& z1DImpHy^IQmqE$)k*!1Z_cAE5$Dpp=-qr!Wk@~v;lkJxWWe(Th?Sjen>yz!f8I)*0 z$exk-?{+gN(LTCy*#9n~=q>|iyBi1DGp7Dd7fiHYiIg}}emk1!g%+zfHSZ$O0n zQ3M7&x+5_CCxT?~ax+YqmB9xi<3IdDMC4B-M+Ps+AC(>SpFu{1y@m020EGFQN(si# zK}JMgZHC=tCGtu50sUt{#IF9+JzO2QpL71yJzS1tM85WSPxwTRNb}iu5;EFd^VxUO zH~O`8F8luZqV+z(T=xAFe#_I@Z*~1&7@QHwRsTlMelXtUvhSHkj$rcGclHenS?K}D zW8Xhr82R2lkNwub|31Jx_8SBH{yCi-_WkTp#jJM${;zMJ3dE$hXAwMM-6+gbNJt>rf1mwyOO>AWAJq{D5L*dLsf@wRTs=?zcJ2U zWl%QzG1;RET+eDh7GHQ|o~`~d*`w;0E||@JQ|&$aBN>#JKM7xFweLtFBKM>8mweaF1_t?Qr_8SC%wwmC4(Q-5d5Bu+##NEOg8 zxaVN!?`Bx|;MYoT^Kb@bv|sPp$Ht({^>?#J6|ymKO1;Wfe>Z!S{nj-0eSGmTD0BTQ zs^-qmPzGi5zh|uePT_y7lFe8Fu}y<&;yXp~4QEg$`{hBw!vHhcuSf0U0JGRfvPTuP z5e1ONerTVqy!MgoQT4~V;859WyZYIT*0ByKeXYLBEJG@1r3agh?YJMuh=Jgn2Il+LCeaa=+9QfyXEMH z!Ry2-HX`;b1DoipsQqvgquDd*KC@^K7)Bh$muY@5-U0V8FP$)Js4 z`^XryHN35V!oFX}P=v)GGDvQW*e~}DyDx?!ECvyc8ZjRQxHY;@zlu@cqJ?*M+Z?rD z?-ekDU-s>7>-`-yA21qi+u$3IuKly%>FK;_TP(gie%7M-$sOI zqxWXi{)f>x_3^~pZtvSR>cU-c6$Q+3Opk3IXo z&AM#djQc8|^!Ha=R8V{6jo7Q5qpZ3BM?Tu<)G=%yCd`-&+U)Ee{$5dabUzrj53B1r z7w)Zg9)qOoP(MMt<*$T$Z*+Td<^bNv&*86X_A~i0Lq(iuy zvgoIOh$HeYO6-Tx!um}NGpG+NWYkZFp@?ltO}(F$zKgqCu_KW9yI98bY}Ma^xeC(q z;H|t{8N7=DjMzt-s5)iDKx&M>+lm-PUPhWIO^&_WilB-2*oggdw2q|L(U?c<*OP2w z+agAhm$6+E-)u&#`Y$8#PBfN{(G2R_#}Fl#5bg7Q`;}yy=+?0S*Q0x+yx!>7+J6zv zo)qie0NJ-yFJk$URzS4Zc1u}Kvx#mW18^m}J@s|W_3%xqNo`^6c#_eG?l}X=t+9DPXGXQ3Y&u z?5D)n&!FYdnJIpCGiZGZ(~il8YQU7)qe|FR_EY2QX3&(`qv{U_@fG!I${*$bl%}EC z#!UFa44OK7lmjvbEr*Uw`AYz02&eH3|HGNdR9q literal 0 HcmV?d00001 diff --git a/main.py b/main.py index c55612c..45a2137 100644 --- a/main.py +++ b/main.py @@ -1,3 +1,9 @@ +""" +https://github.com/Return-Log/Drive-Icon-Manager +GPL-3.0 license +coding: UTF-8 +""" + import winreg from colorama import init, Fore import ctypes @@ -8,14 +14,14 @@ # 定义版本号和GitHub链接 VERSION = "v1.0" -GITHUB_LINK = "https://github.com/Return-Log" +GITHUB_LINK = "https://github.com/Return-Log/Drive-Icon-Manager" def print_welcome(): """打印欢迎信息和版本号""" print(f"{Fore.GREEN}欢迎使用 Drive Icon Manager 版本 {VERSION}") - print(f"{Fore.YELLOW}此工具可以帮助你删除 '此电脑' 中的网盘图标") - print(f"{Fore.CYAN}访问我们的 GitHub 仓库: {Fore.BLUE}{GITHUB_LINK}\n") + print(f"{Fore.YELLOW}此工具可以帮助你删除 '此电脑' 中的第三方软件图标") + print(f"{Fore.CYAN}访问 GitHub 仓库: {Fore.BLUE}{GITHUB_LINK}\n") def is_admin():