From ceda095a391e418f26b19543c4e078d07f51c31f Mon Sep 17 00:00:00 2001 From: Korbs Date: Tue, 26 Nov 2024 21:14:11 -0500 Subject: [PATCH] update --- LICENSE | 661 ++++++++++++++++++++++++++++++ build/.gitignore | 24 ++ build/README.md | 47 +++ build/astro.config.mjs | 4 + build/bun.lockb | Bin 0 -> 154536 bytes build/package.json | 15 + build/public/favicon.svg | 9 + build/src/env.d.ts | 1 + build/src/pages/404.astro | 8 + build/src/pages/502.astro | 10 + build/src/pages/maintanence.astro | 9 + build/src/pages/no-response.astro | 10 + build/src/pages/rate-limit.astro | 10 + build/src/pages/timed-out.astro | 10 + build/tsconfig.json | 3 + index.ts | 1 + package.json | 20 + src/Template.astro | 75 ++++ src/style.css | 143 +++++++ tsconfig.json | 9 + 20 files changed, 1069 insertions(+) create mode 100644 LICENSE create mode 100644 build/.gitignore create mode 100644 build/README.md create mode 100644 build/astro.config.mjs create mode 100755 build/bun.lockb create mode 100644 build/package.json create mode 100644 build/public/favicon.svg create mode 100644 build/src/env.d.ts create mode 100644 build/src/pages/404.astro create mode 100644 build/src/pages/502.astro create mode 100644 build/src/pages/maintanence.astro create mode 100644 build/src/pages/no-response.astro create mode 100644 build/src/pages/rate-limit.astro create mode 100644 build/src/pages/timed-out.astro create mode 100644 build/tsconfig.json create mode 100644 index.ts create mode 100644 package.json create mode 100644 src/Template.astro create mode 100644 src/style.css create mode 100644 tsconfig.json diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..bae94e1 --- /dev/null +++ b/LICENSE @@ -0,0 +1,661 @@ + GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 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 Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are 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. + + 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. + + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + 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 Affero 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. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + 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 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 work with which it is combined will remain governed by version +3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero 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 Affero 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 Affero 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 Affero 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 Affero 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 Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. + + 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 AGPL, see +. \ No newline at end of file diff --git a/build/.gitignore b/build/.gitignore new file mode 100644 index 0000000..16d54bb --- /dev/null +++ b/build/.gitignore @@ -0,0 +1,24 @@ +# build output +dist/ +# generated types +.astro/ + +# dependencies +node_modules/ + +# logs +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* + + +# environment variables +.env +.env.production + +# macOS-specific files +.DS_Store + +# jetbrains setting folder +.idea/ diff --git a/build/README.md b/build/README.md new file mode 100644 index 0000000..e34a99b --- /dev/null +++ b/build/README.md @@ -0,0 +1,47 @@ +# Astro Starter Kit: Minimal + +```sh +npm create astro@latest -- --template minimal +``` + +[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/withastro/astro/tree/latest/examples/minimal) +[![Open with CodeSandbox](https://assets.codesandbox.io/github/button-edit-lime.svg)](https://codesandbox.io/p/sandbox/github/withastro/astro/tree/latest/examples/minimal) +[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/withastro/astro?devcontainer_path=.devcontainer/minimal/devcontainer.json) + +> πŸ§‘β€πŸš€ **Seasoned astronaut?** Delete this file. Have fun! + +## πŸš€ Project Structure + +Inside of your Astro project, you'll see the following folders and files: + +```text +/ +β”œβ”€β”€ public/ +β”œβ”€β”€ src/ +β”‚ └── pages/ +β”‚ └── index.astro +└── package.json +``` + +Astro looks for `.astro` or `.md` files in the `src/pages/` directory. Each page is exposed as a route based on its file name. + +There's nothing special about `src/components/`, but that's where we like to put any Astro/React/Vue/Svelte/Preact components. + +Any static assets, like images, can be placed in the `public/` directory. + +## 🧞 Commands + +All commands are run from the root of the project, from a terminal: + +| Command | Action | +| :------------------------ | :----------------------------------------------- | +| `npm install` | Installs dependencies | +| `npm run dev` | Starts local dev server at `localhost:4321` | +| `npm run build` | Build your production site to `./dist/` | +| `npm run preview` | Preview your build locally, before deploying | +| `npm run astro ...` | Run CLI commands like `astro add`, `astro check` | +| `npm run astro -- --help` | Get help using the Astro CLI | + +## πŸ‘€ Want to learn more? + +Feel free to check [our documentation](https://docs.astro.build) or jump into our [Discord server](https://astro.build/chat). diff --git a/build/astro.config.mjs b/build/astro.config.mjs new file mode 100644 index 0000000..882e651 --- /dev/null +++ b/build/astro.config.mjs @@ -0,0 +1,4 @@ +import { defineConfig } from 'astro/config'; + +// https://astro.build/config +export default defineConfig({}); diff --git a/build/bun.lockb b/build/bun.lockb new file mode 100755 index 0000000000000000000000000000000000000000..1dc2ad4979e0dfbd745d561b683ae07567e09532 GIT binary patch literal 154536 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¨O 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�)@LyjBS(C7+Kh_Q}R@79^K{dB~P3E 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 &bHz@hdc& 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ۘqzKPycSOBf1&*|<>sVjt0=x4M<%!) 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
>x+|uYl1{?Af_4{M4i6+c=)KFpV0gXMqh&3Q@ z`AjL$dYVK6$pw_p3N5H;Mk%0F<{?3)GD-oZs+=;YY!y9EDX80U2$Z(dust{!R|&Gy z=%J4shZOQ+zd*Cd*icId!Ny0#u8hg#VUw~jX5ju}V2LdRkfPiuyei3vq*OAwYf)`K z-~+2rYpB$@iIE+mD#^;+e3_mNkyWW9U-=uHsu%(+BuPS1(^fSU7}g0=&~A}pHcPrH z-HcR^#fxo>21X1LTbrUJ17;09WzcE@LE3;kO*?eTiL{d2SWO8k^Dn&!mQ0@;3nl4n zf4j$`YQwdHlHG0}b}OkGb1j{UIo;;Nrg(ftQ7tU1(Uh@4 zN}728C`HNZ3=)%~{G)XIYk@&}{!#OmuF{b6Hd)oSAV5`3H4)AJiTSZfdG`y}*x!%F ztDrU&t-BjlEF(U$nGqd^3cXo9K!WgTf5F_9g*>_0XPGn7U)qkxB9g+I09Fk7=&GsY zG`0>jfreZV3rIyAC|aTvM5@1E1xoji!BXK1qe@xuM^iXR)MLYAcX}M7`}(P>VEwtY ziThJop|FJM?V}9r6G2boN%lTUf7@sDawuVL{?bB+5FWwHH_6KDp_z9}D4s2o!kDuY*@hbfqsk&EK}j5&--apk&WlEh~cz{)Q) zy4YP_JTAji3!MCb9^7aH6S)0jbD933d1_o`J8&7?CTs*4s#&HlMSzKZSXM%n48A!* z(H&XLSfL(Xh_70JLtN!)$wz*`jMk1F;79!85)BPI>o8j`MVts?(BP<# zZUm?L){K)A=$~;psLz3f0QD{FbC`FsnM-DdnV&$z?vRqpJjU%w=Nr>KSVW64&{L|# zNJ6?)oZsQLB$;z8*zksBGNY-MHX>wc17I<+uL?(GT5ZXh5a^{zRfajyZM3W=$AL)s zTG7uSU-Z!tG8;YFksp`x7sy$TLcM0mB0&K5Sug{j-4rk3@ppU00jLmT^NN!MY!XGj zH+<(;e8>c8h$}@;gM3LJ4gi~U$(lLTZ1@v>8^z^I#>qJbB9urFqTDbsp=yMx{J^Zb zgYsxzLOHdrheDVx4T?c@s7_RT$pwPM71JnG8!jr4lsu}Eys*wc*n(-WFO`6mVXOli z*;N&bv`~0h!G_XAl^nQLcX?VVkiIWN35!q7C^<3k1@ZM6&SrPoeR-PHurJdv9vlb@ z4pF%c(h+ObI4>7$$_=wjsKJ&z)}|EYaW_rALb)6NP7c`kh0^AuIdkB>S3IaO&{>HD z3CaydVWRcM%va1aLrBs_gfwjcD`A!w3`VeHBr(+RhsS{&IX;vMz0xV1UGx?#Q|uc@ zB7ijjq1;q`R52u|Z_&!fVqZ$AuAM#k=1XGiBn8?}EpC+pGAI_+dCE{gbqD=Jk3m%j zGlN@o$9nbXP`;=-;u-9!JLbu(_4MKeGb~r&86zD8t@K)SW%%&VKPnRN56V*!X%!$T z8jTbg>{(Zm8E(l83h|@gPrg zkMavWs8SB_2D@^D3P?M@jR$06%Iu@JqvdNDQ#5{9K4=jcS9ARMn(Vao7&e_{Z+FtD zLpsmgAa@D_5>RfS8@;<~tebpPIauXu)FzRuwsa5{oiCB>jr8IuJoP=DAx;N>h*#Sr;QB10I!RFskm5Ei#>Pwot&t0#0$I)G}W7L^ViViNr;~dzcEe78t7U z@V5~pzGA+8H05iI2S(?#}(3paC*9DU!H^}( zI!-tO_@qn5$JADiehe{^myd`UMw1HNRudFr!Mp@}O+N2;FUYfJ_LL<|TJSEwjhLgA~% z647GMHfLm5@!~K9IQNqp0OL%1PI95Esop#~|_HJ1vRc zq#&X+vCu_$=+!|S^eqdM!qj>t1zCf}>zGYeBKA*BQmW3?MeLiJr$_}zL_xY5ib`FSA-{w=2%Jm>fb(c>$Dz}Cl z)m=X2a5s`ZN};+dkQ`PWp%0hC?g}J_)ht;KyUV8>$#eKw`>MNq%8|T=%Te7GP!95f zd`WU}mrps|W2j|?8099PQj{heQk0u~O5vp}bWv{dDMjgIpo?;oPbu6Kyp-hYe9Dl! zL?|L(=TinZ1J^^oE|3iFDO^VW{X`xVATRQD-t@qEH5LaOYKkj1VGT8$rq8SWa8Ur7?g(kx-smNO63bkhmaExnV2Sia@qjZBR-qRcWu0 za-+;m40zQ>5jx;`F|!f05KCmLtxxy@ff>iw+CQ@&UW*4z{AT6=QCduYg;1$L5Zq(w1Egyz({H#bQE#+C_F@u*%nY ztBmyNWa6SC7ssyUdI8+f32H`pLQ%&I|ZI&CdvCZ<;1f=z=) zn=TohiiqMtWjy#{zDvB+{TZ*fQ4BEC5Bv#DHA{B{9>Aa{q&_jB4Q@29&mHV>kgWO59j z{n)t12oI8$LL+k+IFznT;)AOSztGB~{zbT5K}5rF!6YNNK!Q~kQpBnP3nWxqCW>5b zc!5MKexQg|!U`mk7mw_Cid;X!KM?Nc`Tj}xk^ezLsw(K8h>BF81pHb6MZ6!OK*G7H zX;!MVKuQY1sQ)k-)EC~)1xrOH7AO(_=2%I=pHd+4vN5Qa3DVAp{s)wQEIvqE!=?Yz z)`m$@>>{-{TzEm+NA80n>*#tF+5VIQ8AVla>}$cIVb=r~NU(aOq3Em*&6`-9Aesz* z`oRz|^d2&+!<&ux^n)Q>=*L`cj|I{3KMhX#xRz!;^g5B-LswpWR0vzm@z@d@%IR4r zHtuBEaEH_P*t`HASEKI<+L9dZ6f-|>4%2^pINgi^oYmqW+={L(LY0Wd>q`1?Oqv9E?#<9+goZ^i!FhOHu_W>r4j24s}sNg8CNxEkasY zaSFlBJw%y};~XCxn}nAWnCBR1qKyb?+5kut7V% + + + diff --git a/build/src/env.d.ts b/build/src/env.d.ts new file mode 100644 index 0000000..e16c13c --- /dev/null +++ b/build/src/env.d.ts @@ -0,0 +1 @@ +/// diff --git a/build/src/pages/404.astro b/build/src/pages/404.astro new file mode 100644 index 0000000..9dc4944 --- /dev/null +++ b/build/src/pages/404.astro @@ -0,0 +1,8 @@ +--- +import Error from '../../../src/Template.astro' +--- + + \ No newline at end of file diff --git a/build/src/pages/502.astro b/build/src/pages/502.astro new file mode 100644 index 0000000..198a176 --- /dev/null +++ b/build/src/pages/502.astro @@ -0,0 +1,10 @@ +--- +import Error from '../../../src/Template.astro' +--- + + \ No newline at end of file diff --git a/build/src/pages/maintanence.astro b/build/src/pages/maintanence.astro new file mode 100644 index 0000000..a3c1685 --- /dev/null +++ b/build/src/pages/maintanence.astro @@ -0,0 +1,9 @@ +--- +import Error from '../../../src/Template.astro' +--- + + \ No newline at end of file diff --git a/build/src/pages/no-response.astro b/build/src/pages/no-response.astro new file mode 100644 index 0000000..ed216ad --- /dev/null +++ b/build/src/pages/no-response.astro @@ -0,0 +1,10 @@ +--- +import Error from '../../../src/Template.astro' +--- + + \ No newline at end of file diff --git a/build/src/pages/rate-limit.astro b/build/src/pages/rate-limit.astro new file mode 100644 index 0000000..43b1af8 --- /dev/null +++ b/build/src/pages/rate-limit.astro @@ -0,0 +1,10 @@ +--- +import Error from '../../../src/Template.astro' +--- + + \ No newline at end of file diff --git a/build/src/pages/timed-out.astro b/build/src/pages/timed-out.astro new file mode 100644 index 0000000..23bb013 --- /dev/null +++ b/build/src/pages/timed-out.astro @@ -0,0 +1,10 @@ +--- +import Error from '../../../src/Template.astro' +--- + + \ No newline at end of file diff --git a/build/tsconfig.json b/build/tsconfig.json new file mode 100644 index 0000000..d78f81e --- /dev/null +++ b/build/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "astro/tsconfigs/base" +} diff --git a/index.ts b/index.ts new file mode 100644 index 0000000..b4e175c --- /dev/null +++ b/index.ts @@ -0,0 +1 @@ +export {default as Error} from "./src/Template.astro" \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 0000000..101452e --- /dev/null +++ b/package.json @@ -0,0 +1,20 @@ +{ + "name": "@sudovanilla/errors", + "author": "SudoVanilla", + "type": "module", + "version": "3.0.0", + "license": "AGPL-3.0-only", + "exports": { + ".": "./index.ts" + }, + "files": [ + "index.ts", + "src/*" + ], + "publishConfig": { + "access": "public" + }, + "scripts": { + "build": "cd ./build/ && astro build" + } + } \ No newline at end of file diff --git a/src/Template.astro b/src/Template.astro new file mode 100644 index 0000000..5f0c960 --- /dev/null +++ b/src/Template.astro @@ -0,0 +1,75 @@ +--- +// Properties +const { + Title = "Error Title", + Message = "Error Message", + Error, + CheckStatus +} = Astro.props + +// Style +import './style.css' +--- + + + SudoVanilla + + + + + + + +
+
+

+ Sudo + Vanilla +

+ +
+
+
+
+

{Title}

+

{Message}

+
+ {CheckStatus ? + + : + null + } +
+ +{Error ? + + : + +} + + \ No newline at end of file diff --git a/src/style.css b/src/style.css new file mode 100644 index 0000000..0d7c263 --- /dev/null +++ b/src/style.css @@ -0,0 +1,143 @@ + +@import "https://fonts.bunny.net/css?family=poppins:300,700|raleway:400,700|red-hat-text:400,700"; +body { + background: #000; + color: #fff; + font-family: Poppins, sans-serif; + margin: auto; + max-width: 600px; +} +body:before { + content: ""; + background: radial-gradient(at center top, rgba(var(--Theme), 0.5), #010101); + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; +} +a { + color: #fff; + text-decoration: none; +} +a:hover { + text-decoration: underline; +} +a#the-status { + padding: 12px 24px; + border-radius: 3rem; + font-family: Red Hat Text, sans-serif; + font-size: 16px; + display: flex; + gap: 12px; +} +.LetterV { + position: absolute; + right: 0; + top: 9px; + width: 500px !important; + margin-right: -150px; +} +.status-loading svg { + width: 24px; + fill: #fff; + transform: translateY(6px); + animation: 1s spin linear infinite; + margin: 0 0 -6px; +} +@keyframes spin { + 0% { + transform: rotate(0); + } + to { + transform: rotate(360deg); + } +} +.mbf-start svg { + fill: #fff; + width: 18px; + height: 18px; + border-radius: 50px; + padding: 10px; + margin: -10px 8px -10px -10px; +} +.mbf-start svg:hover { + background-color: rgba(var(--Theme), 0.5); +} +.styl-box svg { + width: 160px; + height: 130px; +} +.status { + display: flex; + justify-content: center; + margin-top: 24px; + opacity: 0.5; +} +content { + margin-top: 20%; + position: absolute; + max-width: 600px; + width: 100%; +} +@media only screen and (max-height: 900px) { + content { + margin-top: 120px !important; + } +} +@media only screen and (max-width: 600px) { + content { + margin-top: 0 !important; + } + br { + display: none !important; + } + .styl-box, + .message-box { + border-radius: 0 !important; + } + .message-box-footer { + border-radius: 0 !important; + position: fixed !important; + bottom: 0 !important; + left: 0 !important; + width: calc(100% - 64px) !important; + padding: 12px 32px !important; + margin: auto !important; + } + .LetterV { + margin-right: -50px; + opacity: 0.25; + } +} +.styl-box { + background-color: rgb(var(--Theme)); + display: flex; + align-items: center; + border-radius: 24px 24px 0 0; + justify-content: space-between; + padding: 18px 32px; +} +.sytl-start { + font-size: 18px; +} +.message-box { + background: rgba(var(--Theme), 0.32); + border-radius: 0 0 24px 24px; + padding: 12px 24px; +} +.message-box-footer { + background: #00000040; + margin: 32px -32px -24px; + border-radius: 0 0 24px 24px; + padding: 20px 32px; + display: flex; + justify-content: space-between; + align-items: center; + font-size: 14px; +} +a[href="https://status.sudovanilla.org"] img +{ + height: 36px; + margin: 0 0 -8px; +} \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..856bb6d --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,9 @@ +{ + "include": [ + "./src", + "index.ts" + ], + "compilerOptions": { + "jsx": "react" + } + } \ No newline at end of file