From 71d3540d8c25c39627af755e1e3a3fb689dcd15f Mon Sep 17 00:00:00 2001 From: Mike Nolan Date: Thu, 7 Mar 2024 16:46:59 -0600 Subject: [PATCH] TYTD Throwback is OPEN --- .gitignore | 5 + LICENSE.md | 675 +++++++++++++++++++++++++++++++++++ Program.cs | 292 +++++++++++++++ README.md | 32 ++ TYTDThrowback.csproj | 17 + data/tytd.json | 6 + data/www/css/tytd.css | 116 ++++++ data/www/favicon.ico | Bin 0 -> 7406 bytes data/www/font.css | 8 + data/www/freemonobold.ttf | Bin 0 -> 173608 bytes data/www/index.html | 19 + data/www/info.html | 44 +++ data/www/not_allowed_at.html | 14 + data/www/not_allowed_df.html | 14 + data/www/search.html | 21 ++ 15 files changed, 1263 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE.md create mode 100644 Program.cs create mode 100644 README.md create mode 100644 TYTDThrowback.csproj create mode 100644 data/tytd.json create mode 100644 data/www/css/tytd.css create mode 100644 data/www/favicon.ico create mode 100644 data/www/font.css create mode 100644 data/www/freemonobold.ttf create mode 100644 data/www/index.html create mode 100644 data/www/info.html create mode 100644 data/www/not_allowed_at.html create mode 100644 data/www/not_allowed_df.html create mode 100644 data/www/search.html diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..557cc25 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +bin +data/database-log.db +data/database.db +.vscode +obj diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..46ff6af --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,675 @@ +# 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: + + Copyright (C) + 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 . \ No newline at end of file diff --git a/Program.cs b/Program.cs new file mode 100644 index 0000000..f36d8af --- /dev/null +++ b/Program.cs @@ -0,0 +1,292 @@ +using System.Text; +using System.Web; +using Tesses.WebServer; +using YoutubeExplode; +using YoutubeExplode.Search; +using YoutubeExplode.Videos; +using LiteDB; +using Newtonsoft.Json; +using System.Security.Cryptography; +using YoutubeExplode.Videos.Streams; +using System.Net.Mime; +namespace TYTDThrowback; + +class Program +{ + static readonly ILiteDatabase liteDatabase=new LiteDatabase("data/database.db"); + static ILiteCollection Videos => liteDatabase.GetCollection("videos"); + public class VideoInfo { + + public VideoInfo() + { + + } + public VideoInfo(SavedVideo tytd) + { + VideoId = tytd.Id; + VideoTitle = tytd.Title; + ChannelId = tytd.AuthorId; + ChannelTitle=tytd.AuthorTitle; + Description = tytd.Description; + Likes = tytd.Likes; + Views = tytd.Views; + } + public VideoInfo(Video video) + { + VideoId = video.Id; + VideoTitle = video.Title; + ChannelId = video.Author.ChannelId; + ChannelTitle = video.Author.ChannelTitle; + Views = video.Engagement.ViewCount; + Likes = video.Engagement.LikeCount; + Duration = video.Duration ?? TimeSpan.Zero; + UploadDate = video.UploadDate.DateTime; + Description = video.Description; + + } + public long Id {get;set;} + + public string VideoId {get;set;}=""; + + public string VideoTitle {get;set;}=""; + + public string ChannelId {get;set;}=""; + + public string ChannelTitle {get;set;}=""; + + public long Views {get;set;}=0; + + public long Likes {get;set;}=0; + public string Description {get;set;}=""; + + public TimeSpan Duration {get;set;}=TimeSpan.Zero; + + public DateTime UploadDate {get;set;}=DateTime.Now; + + public DateTime Expires {get;set;}=DateTime.Now; + + public string Url {get;set;}=""; + + public long Bitrate {get;set;}=0; + + public long Size {get;set;}=0; + + public string Container {get;set;}=""; + + public void SetIStream(IStreamInfo info) + { + Bitrate=info.Bitrate.BitsPerSecond; + Url = info.Url; + Size = info.Size.Bytes; + Container = info.Container.Name; + } + public IStreamInfo GetIStream() + { + return new SStreamInfo(Url,Bitrate,Size,Container); + } + + } + static readonly HttpClient http = new HttpClient(); + static readonly YoutubeClient client=new YoutubeClient(http); + + static string Downloader {get;set;}="https://tytd.site.tesses.net/"; + + static bool AllowAddingTo {get;set;}=true; + + static bool AllowDownloadingFrom {get;set;}=true; + static bool AllowDownloadingInfoFrom {get;set;}=false; + static void Main(string[] args) + { + if(File.Exists("data/tytd.json")) + { + var res=JsonConvert.DeserializeObject(File.ReadAllText("data/tytd.json")); + AllowDownloadingFrom = res?.AllowDownloadingFrom ?? true; + AllowAddingTo = res?.AllowAddingTo ?? true; + AllowDownloadingInfoFrom = res?.AllowDownloadingInfoFrom ?? false; + Downloader = res?.Downloader ?? "https://tytd.site.tesses.net/"; + } + + RouteServer routeServer = new RouteServer(new StaticServer("data/www")); + routeServer.Add("/search",SearchAsync); + routeServer.Add("/info", InfoAsync); + routeServer.Add("/download",DownloadAsync); + routeServer.StartServer(9900); + } + + static async Task StreamAsync(ServerContext ctx,bool play, VideoInfo video) + { + ContentDisposition disposition=new ContentDisposition(); + disposition.FileName = $"{video.VideoTitle}-{video.VideoId}.{video.Container}"; + disposition.Inline = play; + //disposition. + ctx.ResponseHeaders.Add("Content-Disposition",disposition.ToString()); + await ctx.SendStreamAsync(await client.Videos.Streams.GetAsync(video.GetIStream()),HeyRed.Mime.MimeTypesMap.GetMimeType($"file.{video.Container}")); + } + static async Task DownloadAsync(ServerContext ctx) + { + VideoId? vi=null; + if(ctx.QueryParams.TryGetFirst("v", out var v) && (vi = VideoId.TryParse(v) ).HasValue) + { + + bool play = ctx.QueryParams.ContainsKey("play"); + + var info=await EnsureVideoAsync(vi.Value); + DateTime now = DateTime.Now; + if(now"); + string dfm = "./not_allowed_df.html"; + string atm = "./not_allowed_at.html"; + if(!string.IsNullOrWhiteSpace(Downloader) && AllowDownloadingFrom) + { + dfm = $"{Downloader.TrimEnd('/')}/api/Storage/Video/{video.VideoId}"; + } + + if(!string.IsNullOrWhiteSpace(Downloader) && AllowAddingTo) + { + atm = $"{Downloader.TrimEnd('/')}/api/AddVideo/{video.VideoId}"; + } + + await ctx.SendTextAsync((await File.ReadAllTextAsync("data/www/info.html")).Replace("$TITLE---429492492942",HttpUtility.HtmlEncode(video.VideoTitle)).Replace("$AUTHOR---429492492942",HttpUtility.HtmlEncode(video.ChannelTitle)).Replace("$UPLOAD---429492492942",$"{video.UploadDate.Month}/{video.UploadDate.Day}/{video.UploadDate.Year}").Replace("$LIKES---429492492942",video.Likes.ToString()).Replace("$VIEWS---429492492942",video.Views.ToString()).Replace("$DURATION---429492492942",video.Duration.ToString()).Replace("$WOY---429492492942",$"https://www.youtube.com/watch?v={video.VideoId}").Replace("$WFY---429492492942",$"./download?v={video.VideoId}&play").Replace("$DFY---429492492942",$"./download?v={video.VideoId}").Replace("$DFM---429492492942",dfm).Replace("$ATM---429492492942",atm).Replace("$DESC---429492492942",desc)); + + } + } + static async Task SearchAsync(ServerContext ctx) + { + if(!ctx.QueryParams.TryGetFirst("q",out var query)) + query="Trending"; + + StringBuilder b = new StringBuilder(); + + + void AddLi(VideoInfo info) + { + b.Append($"
  • {HttpUtility.HtmlEncode(info.VideoTitle)}
    {HttpUtility.HtmlEncode(info.ChannelTitle)}{info.UploadDate.Month}/{info.UploadDate.Day}/{info.UploadDate.Year}
    V: {info.Views} L: {info.Likes}{info.Duration.ToString()}
  • "); + } + + await foreach(var item in client.Search.GetResultBatchesAsync(query,YoutubeExplode.Search.SearchFilter.Video)) + { + foreach(var v in item.Items) + { + var v2 = v as VideoSearchResult; + if(v2 != null) + AddLi(await EnsureVideoAsync(v2.Id)); + } + break; + } + + await ctx.SendTextAsync((await File.ReadAllTextAsync("data/www/search.html")).Replace("$QUERY---429492492942",HttpUtility.HtmlAttributeEncode(query)).Replace("$LI---429492492942",b.ToString())); + } + private static async Task TYTDVideoInfo(VideoId id) + { + if(!AllowDownloadingInfoFrom) return null; + if(string.IsNullOrWhiteSpace(Downloader)) + return null; + + try{ + string url = Downloader.TrimEnd('/'); + if((await http.GetStringAsync($"{url}/api/Storage/FileExists/Info/{id.Value}.json")) == "false") return null; + var res=JsonConvert.DeserializeObject(await http.GetStringAsync($"{url}/api/Storage/File/Info/{id.Value}.json")); + if(res != null) + { + + return new VideoInfo(res); + } + return null; + } + catch(Exception ex) + { + _=ex; + return null; + } + } + private static async Task EnsureVideoAsync(VideoId v) + { + var vid = Videos.FindOne(e=>e.VideoId == v.Value); + if(vid == null) + { + var res=await TYTDVideoInfo(v.Value); + if(res != null) + { + Videos.Insert(res); + return res; + } + try{ + var _res=await client.Videos.GetAsync(v.Value); + res=new VideoInfo(_res); + Videos.Insert(res); + return res; + } + catch(Exception ex) + { + _=ex; + } + + vid=new VideoInfo(); + } + return vid; + } +} + +internal class SStreamInfo : IStreamInfo +{ + private string url; + private long bitrate; + private long size; + private string container; + + public SStreamInfo(string url, long bitrate, long size, string container) + { + this.url = url; + this.bitrate = bitrate; + this.size = size; + this.container = container; + } + + public string Url => url; + + public Container Container => new Container(container); + + public FileSize Size => new FileSize(size); + + public Bitrate Bitrate => new Bitrate(bitrate); +} + +public class SavedVideo +{ + public string Id {get;set;}=""; + + public string Title {get;set;}=""; + public string AuthorId {get;set;}=""; + public string AuthorTitle {get;set;}=""; + + public long Likes {get;set;}=0; + + public long Views {get;set;}=0; + + public TimeSpan Duration {get;set;}=TimeSpan.Zero; + + public DateTime UploadDate {get;set;}=DateTime.Now; + + public string Description {get;set;}=""; + +} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..0967b0c --- /dev/null +++ b/README.md @@ -0,0 +1,32 @@ +TYTD Throwback +============== + +This is a website for searching/downloading YouTube videos (With Basic [TYTD](https://gitlab.tesses.net/tesses50/tytd.git) integration, it mimics [TYTD Wii 2019](https://gitlab.tesses.net/tesses50/tytd-2019)) + + +To Run +====== +```bash + dotnet run +``` + +To Edit Config +============== +data/tytd.json +```json +{ + "Downloader": "http(s)://REPLACE_WITH_YOUR_TYTD_URL_BETWEEN_THESE_QUOTES/", + "AllowAddingTo": true, + "AllowDownloadingFrom": true, + "AllowDownloadingInfoFrom": false +} +``` + +Json Properties +=============== + +| Key | Value | +| "Downloader" | The HTTP or HTTPs URL to a TYTD Instance, leave empty to use authors | +| "AllowAddingTo" | Allow the users to add videos to the instance, (If either AllowAddingTo or AllowDownloadingFrom is true then people can still add, if they copy instance url) | +| "AllowDownloadingFrom" | Allow the users to download from you, (If either AllowAddingTo or AllowDownloadingFrom is true then people can still add, if they copy instance url) | +| "AllowDownloadingInfoFrom" | If true this program will fetch info from the instance before fetching video info from YouTube | \ No newline at end of file diff --git a/TYTDThrowback.csproj b/TYTDThrowback.csproj new file mode 100644 index 0000000..1c2411c --- /dev/null +++ b/TYTDThrowback.csproj @@ -0,0 +1,17 @@ + + + + Exe + net8.0 + enable + enable + + + + + + + + + + diff --git a/data/tytd.json b/data/tytd.json new file mode 100644 index 0000000..cc416c6 --- /dev/null +++ b/data/tytd.json @@ -0,0 +1,6 @@ +{ + "Downloader": "https://tytd.site.tesses.net/", + "AllowAddingTo": true, + "AllowDownloadingFrom": true, + "AllowDownloadingInfoFrom": false +} \ No newline at end of file diff --git a/data/www/css/tytd.css b/data/www/css/tytd.css new file mode 100644 index 0000000..f287f5c --- /dev/null +++ b/data/www/css/tytd.css @@ -0,0 +1,116 @@ +:root +{ + background-color: rgb(255,0,0); + margin: 0px; + padding: 0px; +} +body { + background-color: rgb(255,0,0); + margin: 0px; + padding: 0px; +} +html { + background-color: rgb(255,0,0); + margin: 0px; + padding: 0px; +} +.textbox { + font-family: freemonobold; + background-color: white; + color: black; + border-color: black; + + width: 50vw; + + font-size: 24pt; + + +} +.centeredtextbox { + font-family: freemonobold; + background-color: white; + color: black; + border-color: black; + border-left: 0px; + border-right: 0px; + width: 100vw; + text-align: center; + font-size: 24pt; + margin: 0; + position: absolute; + top: 50%; + + -ms-transform: translate(0, -50%); + transform: translate(0, -50%); +} +.submit-button2 +{ + font-family: freemonobold; + background-color: rgb(0,255,0); + border: 0px; + color: black; + font-size: 24pt; +} +.submit-button +{ + font-family: freemonobold; + background-color: rgb(0,255,0); + border: 0px; + color: black; + font-size: 24pt; + top: 60%; + left: 50%; + -ms-transform: translate( -50%,0); + transform: translate(-50%,0); + position: absolute; +} +.nice-lbl { + font-family: freemonobold; + color: white; + font-size: 24pt; +} +.upper-label { + font-family: freemonobold; + + + color: white; + font-size: 24pt; + top: 15%; + left: 50%; + -ms-transform: translate( -50%,0); + transform: translate(-50%,0); + position: absolute; +} +ul { + margin-left: 20px; + margin-right: 20px; + border-bottom: 4px solid rgb(0,255,0); + list-style-type: none; + padding: 0px; +} +li { + + border-color: rgb(0,255,0); + padding: 8px; + height: 72px; + border-style: solid; + border-bottom: 0px; +} +.tytd-li-span { + font-family: freemonobold; + font-size: 16pt; + color: blue; +} +.tytd-li-span-2 +{ + font-family: freemonobold; + font-size: 16pt; + color: blue; + position: absolute; + left: 60%; +} +.desc { + font-family: freemonobold; + font-size: 16pt; + color: white; +} \ No newline at end of file diff --git a/data/www/favicon.ico b/data/www/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..7f1f5b6f8d9e51c1cd0e46827c45e93db33c88d5 GIT binary patch literal 7406 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

    dV65$y-Lsh*Q)-*pXmB{TS@lMH`DB+$ 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%0DPX3YCO)`w~ch~Ab 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 + + + + + TYTD Throwback + + + + +

    + Search For A YouTube Video + + + + + + + \ No newline at end of file diff --git a/data/www/info.html b/data/www/info.html new file mode 100644 index 0000000..74ce1aa --- /dev/null +++ b/data/www/info.html @@ -0,0 +1,44 @@ + + + + + + TYTD Throwback - Info + + + + +

    Title: $TITLE---429492492942

    +

    Channel: $AUTHOR---429492492942

    +

    UploadDate: $UPLOAD---429492492942

    +

    Likes: $LIKES---429492492942

    +

    Views: $VIEWS---429492492942

    +

    Duration: $DURATION---429492492942

    +
    + Watch On YouTube + +
    + + Watch from YouTube (From here) + +
    + + Download From YouTube + +
    + + Download From Me + +
    + + Add To My Downloader + +

    Description:

    + + +

    $DESC---429492492942

    + + + + + \ No newline at end of file diff --git a/data/www/not_allowed_at.html b/data/www/not_allowed_at.html new file mode 100644 index 0000000..28ea3a0 --- /dev/null +++ b/data/www/not_allowed_at.html @@ -0,0 +1,14 @@ + + + + + + TYTD Throwback - Not Allowed To Add To My Downloader + + + + + Sorry, but you can't add to my downloader. + + + \ No newline at end of file diff --git a/data/www/not_allowed_df.html b/data/www/not_allowed_df.html new file mode 100644 index 0000000..4599afb --- /dev/null +++ b/data/www/not_allowed_df.html @@ -0,0 +1,14 @@ + + + + + + TYTD Throwback - Not Allowed To Download From Me + + + + + Sorry, but you can't download from me. + + + \ No newline at end of file diff --git a/data/www/search.html b/data/www/search.html new file mode 100644 index 0000000..b53fe05 --- /dev/null +++ b/data/www/search.html @@ -0,0 +1,21 @@ + + + + + + TYTD Throwback - Search + + + + +
    + + + +
    + +
      + $LI---429492492942 +
    + + \ No newline at end of file