fix categoryOverlays
This commit is contained in:
parent
57ccbe2a51
commit
892099f2e4
16 changed files with 138 additions and 476 deletions
319
LICENSE
319
LICENSE
|
@ -1,319 +0,0 @@
|
|||
GNU GENERAL PUBLIC LICENSE
|
||||
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies of this license
|
||||
document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your freedom to share
|
||||
and change it. By contrast, the GNU General Public License is intended to
|
||||
guarantee your freedom to share and change free software--to make sure the
|
||||
software is free for all its users. This General Public License applies to
|
||||
most of the Free Software Foundation's software and to any other program whose
|
||||
authors commit to using it. (Some other Free Software Foundation software
|
||||
is covered by the GNU Lesser General Public License instead.) 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 this service 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 make restrictions that forbid anyone to
|
||||
deny you these rights or to ask you to surrender the rights. These restrictions
|
||||
translate to certain responsibilities for you if you distribute copies of
|
||||
the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether gratis or
|
||||
for a fee, you must give the recipients all the rights that you have. 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.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and (2)
|
||||
offer you this license which gives you legal permission to copy, distribute
|
||||
and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain that
|
||||
everyone understands that there is no warranty for this free software. If
|
||||
the software is modified by someone else and passed on, we want its recipients
|
||||
to know that what they have is not the original, so that any problems introduced
|
||||
by others will not reflect on the original authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software patents. We
|
||||
wish to avoid the danger that redistributors of a free program will individually
|
||||
obtain patent licenses, in effect making the program proprietary. To prevent
|
||||
this, we have made it clear that any patent must be licensed for everyone's
|
||||
free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and modification
|
||||
follow.
|
||||
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains a notice
|
||||
placed by the copyright holder saying it may be distributed under the terms
|
||||
of this General Public License. The "Program", below, refers to any such program
|
||||
or work, and a "work based on the Program" means either the Program or any
|
||||
derivative work under copyright law: that is to say, a work containing the
|
||||
Program or a portion of it, either verbatim or with modifications and/or translated
|
||||
into another language. (Hereinafter, translation is included without limitation
|
||||
in the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not covered
|
||||
by this License; they are outside its scope. The act of running the Program
|
||||
is not restricted, and the output from the Program is covered only if its
|
||||
contents constitute a work based on the Program (independent of having been
|
||||
made by running the Program). Whether that is true depends on what the Program
|
||||
does.
|
||||
|
||||
1. You may copy and distribute 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 and disclaimer of warranty;
|
||||
keep intact all the notices that refer to this License and to the absence
|
||||
of any warranty; and give any other recipients of the Program a copy of this
|
||||
License along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and you
|
||||
may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion of it,
|
||||
thus forming a work based on the Program, and copy and distribute such modifications
|
||||
or work under the terms of Section 1 above, provided that you also meet all
|
||||
of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices stating that
|
||||
you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in whole or
|
||||
in part contains or is derived from the Program or any part thereof, to be
|
||||
licensed as a whole at no charge to all third parties under the terms of this
|
||||
License.
|
||||
|
||||
c) If the modified program normally reads commands interactively when run,
|
||||
you must cause it, when started running for such interactive use in the most
|
||||
ordinary way, to print or display an announcement including an appropriate
|
||||
copyright notice and a notice that there is no warranty (or else, saying that
|
||||
you provide a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this License.
|
||||
(Exception: if the Program itself is interactive but does not normally print
|
||||
such an announcement, your work based on the Program is not required to print
|
||||
an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If identifiable
|
||||
sections of that work are not derived from the Program, and can be reasonably
|
||||
considered independent and separate works in themselves, then this License,
|
||||
and its terms, do not apply to those sections when you distribute them as
|
||||
separate works. But when you distribute the same sections as part of a whole
|
||||
which is a work based on the Program, the distribution of the whole must be
|
||||
on the terms of this License, whose permissions for other licensees extend
|
||||
to the entire whole, and thus to each and every part regardless of who wrote
|
||||
it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest your
|
||||
rights to work written entirely by you; rather, the intent is to exercise
|
||||
the right to control the distribution of derivative or collective works based
|
||||
on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program with
|
||||
the Program (or with a work based on the Program) on a volume of a storage
|
||||
or distribution medium does not bring the other work under the scope of this
|
||||
License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it, under Section
|
||||
2) in object code or executable form under the terms of Sections 1 and 2 above
|
||||
provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable source code,
|
||||
which must be distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three years, to give
|
||||
any third party, for a charge no more than your cost of physically performing
|
||||
source distribution, a complete machine-readable copy of the corresponding
|
||||
source code, to be distributed under the terms of Sections 1 and 2 above on
|
||||
a medium customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer to distribute
|
||||
corresponding source code. (This alternative is allowed only for noncommercial
|
||||
distribution and only if you received the program in object code or executable
|
||||
form with such an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for making
|
||||
modifications to it. For an executable work, complete source code means all
|
||||
the source code for all modules it contains, plus any associated interface
|
||||
definition files, plus the scripts used to control compilation and installation
|
||||
of the executable. However, as a special exception, the source code distributed
|
||||
need not include anything that is normally distributed (in either source or
|
||||
binary form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component itself
|
||||
accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering access to
|
||||
copy from a designated place, then offering equivalent access to copy the
|
||||
source code from the same place counts as distribution of the source code,
|
||||
even though third parties are not compelled to copy the source along with
|
||||
the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program except
|
||||
as expressly provided under this License. Any attempt otherwise to copy, modify,
|
||||
sublicense or distribute the Program is void, and will automatically terminate
|
||||
your rights under this License. However, parties who have received copies,
|
||||
or rights, from you under this License will not have their licenses terminated
|
||||
so long as such parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not signed
|
||||
it. However, nothing else grants you permission to modify or distribute the
|
||||
Program or its derivative works. These actions are prohibited by law if you
|
||||
do not accept this License. Therefore, by modifying or distributing the Program
|
||||
(or any work based on the Program), you indicate your acceptance of this License
|
||||
to do so, and all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the Program),
|
||||
the recipient automatically receives a license from the original licensor
|
||||
to copy, distribute or modify the Program subject to these terms and conditions.
|
||||
You may not impose any further restrictions on the recipients' exercise of
|
||||
the rights granted herein. You are not responsible for enforcing compliance
|
||||
by third parties to this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent infringement
|
||||
or for any other reason (not limited to patent issues), 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 distribute so as to satisfy simultaneously your
|
||||
obligations under this License and any other pertinent obligations, then as
|
||||
a consequence you may not distribute the Program at all. For example, if a
|
||||
patent license would not permit royalty-free redistribution of the Program
|
||||
by all those who receive copies directly or indirectly through you, then the
|
||||
only way you could satisfy both it and this License would be to refrain entirely
|
||||
from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under any
|
||||
particular circumstance, the balance of the section is intended to apply and
|
||||
the section as a whole is intended to apply in other circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any patents
|
||||
or other property right claims or to contest validity of any such claims;
|
||||
this section has the sole purpose of protecting the integrity of the free
|
||||
software distribution system, which is implemented by public license practices.
|
||||
Many people have made generous contributions to the wide range of software
|
||||
distributed through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing to
|
||||
distribute software through any other system and a licensee cannot impose
|
||||
that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to be a
|
||||
consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in certain
|
||||
countries either by patents or by copyrighted interfaces, the original copyright
|
||||
holder who places the Program under this License may add an explicit geographical
|
||||
distribution limitation excluding those countries, so that distribution is
|
||||
permitted only in or among countries not thus excluded. In such case, this
|
||||
License incorporates the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions of
|
||||
the 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
|
||||
a version number of this License which applies to it and "any later version",
|
||||
you have the option of following the terms and conditions either of that version
|
||||
or of any later version published by the Free Software Foundation. If the
|
||||
Program does not specify a version number of this License, you may choose
|
||||
any version ever published by the Free Software Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free programs
|
||||
whose distribution conditions are different, write to the author to ask for
|
||||
permission. For software which is copyrighted by the Free Software Foundation,
|
||||
write to the Free Software Foundation; we sometimes make exceptions for this.
|
||||
Our decision will be guided by the two goals of preserving the free status
|
||||
of all derivatives of our free software and of promoting the sharing and reuse
|
||||
of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, 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.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE
|
||||
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.
|
||||
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 convey the exclusion
|
||||
of warranty; and each file should have at least the "copyright" line and a
|
||||
pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and an idea of what it does.>
|
||||
|
||||
Copyright (C) <yyyy> <name of author>
|
||||
|
||||
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 2 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, write to the Free Software Foundation, Inc., 51 Franklin
|
||||
Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this when
|
||||
it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author Gnomovision 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, the commands you use may be
|
||||
called something other than `show w' and `show c'; they could even be mouse-clicks
|
||||
or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your school,
|
||||
if any, to sign a "copyright disclaimer" for the program, if necessary. Here
|
||||
is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision'
|
||||
(which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989 Ty Coon, President of Vice This 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.
|
25
README.md
25
README.md
|
@ -1,25 +0,0 @@
|
|||
<div style="text-align: left;">
|
||||
<h3 align="center">GRUSS ALLE</h3>
|
||||
|
||||
</b>ЧТО ЭТО ТАКОЕ:</b>
|
||||
<p>
|
||||
Это проект WebGUI для пакетного менеджера Portage(Gentoo, Calculate-linux).
|
||||
Этот продукт представляет из себя клиент-серверное приложение.</p>
|
||||
<b>Цели:</b>
|
||||
<p>
|
||||
Предоставть удобный Гуй portage, для таких утройств как Планшеты, смартфоны,
|
||||
предаставить удаленный доступ к portage на клиенткой машине
|
||||
Снизить порог вхождения для новых пользователей на дистрибутивах имеющих в свой основе пакетный менеджер Portage</p>
|
||||
|
||||
<b>КАК СОБРАТЬ И ЗАПУСТИТЬ:</b>
|
||||
<ol>
|
||||
<p>Нужен диструтивc покатнным менеджером portage.</p>
|
||||
<li>Скачайте дистрибутив проекта<li>
|
||||
<li>Введите в терминале:</li>
|
||||
<code>
|
||||
git clone
|
||||
</code>
|
||||
<li>Запустите его ./start<li>
|
||||
<li>Откройте в браузере localhost:8080 ну или IP адресс и порт указаный в файле config.json</li>
|
||||
</ol>
|
||||
<div>
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
0
dump.eix
Normal file
0
dump.eix
Normal file
|
@ -1,49 +1,49 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDAJYowx9PDtMtm
|
||||
7pFdah83+LH49fiML6qzFzGsYBLsf8rNMm9VYPZRzLD/kXFtZATnKrKJqqgJnPYg
|
||||
Wzfm2KNv8RlK6UW2ApPJZDwwaHpuaZS6TrSWdXLOQ/r8Q8w01n4jo909FTQ/5dNb
|
||||
83yCOHUKR/x7IH704bez2fUkYzu4Z8xFE2iyvbC1q4Mmux5XdrahdelM5+jBIEVZ
|
||||
CpKsYzcboEmsSQ+bUT7akcjZ7EFpqZHPYi+qS3Y2Xs1pKr6SWu2Tm0Enog88iIou
|
||||
txFu/Rt888xkGs5oJT7cn47BsuOBmmT8vPnr6cJUC+2TyNFHJeaPSzR+Qcleg138
|
||||
U97ZBDWnAgMBAAECggEAaOHU3a2l1PTR9jyQ0nnD0qyIkQnKgtLeDWXCsoG6sqdK
|
||||
ztkR1nvX2GyvzMDaNkjbOEehLu4dTSoFW0IPcI2eINNs5+wPJjuf6dUx2YaeFbjB
|
||||
+zRM9LflU9vdm2dyhwDx14hxkg8J9zr/NPjiZL5mfJcwpRDm28p9mMmHOzaDebMU
|
||||
iq+sB8A4qayryhPF4Ha5OK0g5eP6QyBaDm96ujbUdF1qorOPmhz/6lQGzYmSEZuW
|
||||
uwMAngP16Cd/4yZ31lTcaoFWo7sYTt0Kc0+EDLGLdo5Sp/J9Vrd08nakgtzxtdsA
|
||||
iQjlW0wYULietNbvnShweupdBjtpqGQw1hknESZeCQKBgQDmbI3x0o0y2a1h67y+
|
||||
qsutUZYT4UzfhmMX/lEdKO2aFAhQALfYNK4u9kD8gt4s4wTbJ1AwbAWBfw7+XqrX
|
||||
gWxm4DYtQ7JeLnAXJhC/vM8N6Ou908QfC2BogFG3GM3M/BuJbA4/EVCHDfMgCkBK
|
||||
PKW8HTaHqwCa+68VNUe6moCyJQKBgQDVeVeF+sI7iT4laywsiMojvokujupVTKsI
|
||||
6MHwIXGSjwa9TnaV/Lo/gdFPFmyjacjmcQpvgMPOV/ANBg9p8Nhodoo7WW+5Ok+2
|
||||
9yVReQElg9/NMmP42v31+GCZXkYHhf+fyfNnze3FWszi8DErCFp4JxPPQ4+6k/5g
|
||||
KXtFAquQ2wKBgQCKbttUVieoTiihNKxfbGMTTHm6ldfGTomIJ6z5tNYShEh+MABD
|
||||
b1raMe3XBpSOKRGIzHSbsroYE4qhfaRr9oB2yesihJJLjOCgt6jGWJuYgr/meqxP
|
||||
7ljMT5NISimSJkAw7m8cqr1TdikDrcT0FL2JZ4+UMEMb2WtVdX4TeLEq1QKBgQCw
|
||||
uMk6AwM0okMuWvCw1XTx7lRGlM1tXBDjSTzz+9u3hmv/36rQM+5DkMakAF5jUbmc
|
||||
+8u1zxVKBwaU4YV1IIsmv6tjwoB5CMrhHuxn7BKE6g0mJCca5sADFmFx1deHdujN
|
||||
cTPtpU7HaIng/RLXGw06Fq+Rj862mLmnBfAkizdYrQKBgHoQEx6d+U5+Uubdt/1m
|
||||
1asm1+DTWDNr4sjJTJtg9v0s1nQBUPltSrIdNf/h9Wy61BMaFtjX6IyD02SFP3FN
|
||||
G8JVTbXSEgPQx+h0vuV633zJtg3BWBbqC7OIqvony+P8ksyHL2WGJLFsTl1Y4ybl
|
||||
CuGwjQ7/1nA8rEZjuuFF+LrF
|
||||
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCek/xq0nJwwa9Z
|
||||
g+rD0D+6p3zfLBVImxKMtPDEYydl5mI5g3aHJWamu0Sjl4YoL6DG6XNGSxVsolqI
|
||||
T2uJaPTFaR/MHeM7l32GVeylcwerB9RNNllOWP6EXbWgn+1dY6YHHNCf9IWIosnr
|
||||
71W+7tJs53BDdh+yZYkdCBElo9XQs119CT2jhbJvpnCPrNiFZN1K94LRbp3ATxld
|
||||
iGt1iAnpIU4IqpNi/argoYzaIv/e/EqmKNe52lZ3dL7im4AvIySsOjpYfV8/Inzx
|
||||
yrZgz5ZN3xzgu5DLCKHDgRG6idYEROnfijIQK1+DeFXjjZ+s3n2kEFlUORV6fSI0
|
||||
wW1ru5rFAgMBAAECggEAFAIeDihhciKuCkBfxbcn41gwpEP+p3uRepl164GLPgs0
|
||||
h4cz1Fd+vTjRr0Z2Een4gkCAX/UnTd6qR5qlud+5SpM6BNociq9RkjqTMkjyRb0m
|
||||
J1vdJsqJyo+8U/j5zRe+ohUbqaMDmjrX+WHoUr/1YvJMsuZbl3nCNByJdVNXrg5Q
|
||||
uG63a0B34YHpAcATkP5EdWyZzP+8AWCLCmJUjzXIDOzlnVeE5Op+jrEw2Um75jaw
|
||||
hydlGpCekCmZkxQiXCaov44tTm8F6o4UNsfM3DMpLc9wwxsgyHkb9BgkyL4RdfyT
|
||||
hCkGsxLZASH0Wf3oavhYAjAkJ5WFDeKKJ156qbdXXQKBgQDOZ/UPAVgX+CFg8TBQ
|
||||
gINyqcO9xDC8VonBXU9oL6L78eKe3YA+ptLuKPLWVlSzoaINIkU2ND6GIkbBj/7V
|
||||
N6l912DEbq7Yr3WRsGbMcJLPIP8Bt1+2z4NwcrVpRijX7i9B3PAANW714+r5UZFh
|
||||
gbgCdvq+bd2un1HAvb5R7hSc6wKBgQDEriBqYqdcbQALku+odkHuxbN3+egfuu2r
|
||||
n5aSmLMUIr5vcpVpL3opz675jqeIBerrcp3Pd2BGkmlYmYxO0ul6ja1RPStMhrKP
|
||||
hzu9ezYz91P/twfVCpnEZUGlhFu5I4z066UYvlxQPMtTmAOpCvXYYJCIXSglFjCc
|
||||
kYY/rQT7DwKBgG4fvPnSh8PSGUz1ogdxabCFru/SewYhTcIjHLjDobu2ZGjKWSAU
|
||||
NbnnkxiUWwC0HhfPzwmKeklqhEHFp/ruhbmkbfaf7x2hD6M5cL9m2I02V5f81E5f
|
||||
DQuzx+JxEl2SsRf83vfdimQaxEVdJanWYey+ui1bxMjkK+Qf2CkyU0EdAoGAOeV4
|
||||
LVj1I0QC62VJnzGQnxUbi4nJRu3j4M2NqYHB1X+Ux4HXcatELuKwA053CpeTW9PV
|
||||
mKjvclbPJAGvR9TWXfkut+dlw5UzIwUQFOscPZfk5jWe3JvOP/3+oRahWZKZf8+O
|
||||
PgZrbkM3J1hsW2qajCOA6GNj2eb6UFyWRFBOUwkCgYAApld4WJpO0fb5jMEwVlRT
|
||||
PbC7VGY1RZl0IT6CuYi5m1N/rBZ0buazcGDze5X8ujzk6iRxQt8FU7/4dRcXzO56
|
||||
IRE+LCvzSTVC4KhwuQMrv7xe2FT1fxwrHSRE3caXa3PBSVYz/WRiYx43NGYg0X5y
|
||||
GQfXvvzfBwZerwqxq2d/sA==
|
||||
-----END PRIVATE KEY-----
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDazCCAlOgAwIBAgIUa+/4ylxqeJhzgKotQtTxOTqbzqkwDQYJKoZIhvcNAQEL
|
||||
MIIDazCCAlOgAwIBAgIUCTUQO8duxUWGCHs7zGbqHX4NrBAwDQYJKoZIhvcNAQEL
|
||||
BQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM
|
||||
GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yMTEyMDgwMzA0MjNaFw0yMjEy
|
||||
MDgwMzA0MjNaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw
|
||||
GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yMTEyMTUxMjQ3NDNaFw0yMjEy
|
||||
MTUxMjQ3NDNaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw
|
||||
HwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwggEiMA0GCSqGSIb3DQEB
|
||||
AQUAA4IBDwAwggEKAoIBAQDAJYowx9PDtMtm7pFdah83+LH49fiML6qzFzGsYBLs
|
||||
f8rNMm9VYPZRzLD/kXFtZATnKrKJqqgJnPYgWzfm2KNv8RlK6UW2ApPJZDwwaHpu
|
||||
aZS6TrSWdXLOQ/r8Q8w01n4jo909FTQ/5dNb83yCOHUKR/x7IH704bez2fUkYzu4
|
||||
Z8xFE2iyvbC1q4Mmux5XdrahdelM5+jBIEVZCpKsYzcboEmsSQ+bUT7akcjZ7EFp
|
||||
qZHPYi+qS3Y2Xs1pKr6SWu2Tm0Enog88iIoutxFu/Rt888xkGs5oJT7cn47BsuOB
|
||||
mmT8vPnr6cJUC+2TyNFHJeaPSzR+Qcleg138U97ZBDWnAgMBAAGjUzBRMB0GA1Ud
|
||||
DgQWBBSyo5MO4iZSpGGLRORkuNnBoF9HKjAfBgNVHSMEGDAWgBSyo5MO4iZSpGGL
|
||||
RORkuNnBoF9HKjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQBY
|
||||
UX4bZfVTWHZqeX3Dm5+TYCbYfElGNaDwwnbtwcyiYCekK03es0hpeUUqbRrAJ5yS
|
||||
Xek2BeY9qV4IbOlth0315PBVoMpe3M2raaV+CCej68eB8qt8SSoUJmJmfWf1Vbc9
|
||||
uWtgG/5J2ZUZ01sc2J7320SLTwYg7Ldl/zEQMVYdmtvGo9jdgqx6gXwuiyKgahrc
|
||||
l/XeMkOcB8tStiHM/fR0uFMVmRlJzuDI9PaBWA1i7PdOvdcSl7+Z6mfHXCasYjg4
|
||||
agKSZw8shz8T5G2ql8beMZ+i6sXPdRSY+LmoVj73j7X1BK4xa3BofSuxi5IGYci9
|
||||
TCNFVHtbIRzvBI7glP3d
|
||||
AQUAA4IBDwAwggEKAoIBAQCek/xq0nJwwa9Zg+rD0D+6p3zfLBVImxKMtPDEYydl
|
||||
5mI5g3aHJWamu0Sjl4YoL6DG6XNGSxVsolqIT2uJaPTFaR/MHeM7l32GVeylcwer
|
||||
B9RNNllOWP6EXbWgn+1dY6YHHNCf9IWIosnr71W+7tJs53BDdh+yZYkdCBElo9XQ
|
||||
s119CT2jhbJvpnCPrNiFZN1K94LRbp3ATxldiGt1iAnpIU4IqpNi/argoYzaIv/e
|
||||
/EqmKNe52lZ3dL7im4AvIySsOjpYfV8/InzxyrZgz5ZN3xzgu5DLCKHDgRG6idYE
|
||||
ROnfijIQK1+DeFXjjZ+s3n2kEFlUORV6fSI0wW1ru5rFAgMBAAGjUzBRMB0GA1Ud
|
||||
DgQWBBRT+Z9GhSIsmOk/aOx4lCfrlLAg0DAfBgNVHSMEGDAWgBRT+Z9GhSIsmOk/
|
||||
aOx4lCfrlLAg0DAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQBf
|
||||
vWz+0wibGQHMhFEiq7QDm2XBUrf3OBkWWceIQOrn9GBK7xJzdRrdRDoiGWLWA+FW
|
||||
O0ioXyU5ZrDLJPLcSQguEsgynP1b0turuVeTjcvsqdZQd9d4bqpVn8NjTcypamWN
|
||||
5Kj3qrkb4ZtKaoJYH5F9mjsoMRKgzAdTcNYl6emwYPdY0A3bEu5JHoiYNnYwdGYG
|
||||
kNIebU0nwiVuTLUfSUYi+Mj+PMeVt0JSoGqQZiBGlYQGPjrxL1BffaedXeiWCjfa
|
||||
zD8XWKKT+vcq8YMkxfFs9SnAYTTumj0nLaqyq74j0vXP8EX60n1ZcN9qhK2Jfv5D
|
||||
BT2lFpt4pYmD1l0ULX/5
|
||||
-----END CERTIFICATE-----
|
||||
|
|
1
overlays.json
Normal file
1
overlays.json
Normal file
File diff suppressed because one or more lines are too long
1
pkgs.json
Normal file
1
pkgs.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
|
@ -42,10 +42,10 @@ class Handler(BaseHTTPRequestHandler):
|
|||
|
||||
def do_GET(self):
|
||||
#length = int(self.headers['content-length'])
|
||||
self.headers['Access-Control-Allow-Origin', '*']
|
||||
self.headers['Access-Control-Allow-Methods', 'GET']
|
||||
self.headers['Access-Control-Allow-Headers', 'X-Requested-With,content-type']
|
||||
self.headers['Access-Control-Allow-Credentials', true]
|
||||
#self.headers['Access-Control-Allow-Origin', '*']
|
||||
#self.headers['Access-Control-Allow-Methods', 'GET']
|
||||
#self.headers['Access-Control-Allow-Headers', 'X-Requested-With,content-type']
|
||||
#self.headers['Access-Control-Allow-Credentials', true]
|
||||
self.r_t =""
|
||||
#print(Router.parse_url(self))
|
||||
#print("data:\t" + self.rfile.read())
|
||||
|
@ -67,13 +67,11 @@ class Handler(BaseHTTPRequestHandler):
|
|||
except Exception(e):
|
||||
print(e)
|
||||
self.r_t = json.dumps(pkg_list)
|
||||
""""
|
||||
elif self.path == '/main':
|
||||
#print(self.rfile.read())
|
||||
with open("./README.txt", 'r') as f:
|
||||
self.r_t = str(f.read())
|
||||
#self.r_t = s
|
||||
"""
|
||||
elif self.path == '/ovelays':
|
||||
overlays = get_list_overlays()
|
||||
#print(ovls)
|
||||
|
@ -93,7 +91,6 @@ class Handler(BaseHTTPRequestHandler):
|
|||
self.r_static()
|
||||
self.send_response(200)
|
||||
#print(self.r_t)
|
||||
"""
|
||||
elif self.path == '/get_dump_list':
|
||||
try:
|
||||
with open('./pkgs.json', 'tr') as fn:
|
||||
|
@ -103,7 +100,7 @@ class Handler(BaseHTTPRequestHandler):
|
|||
except Exception (e):
|
||||
print(str(e))
|
||||
self.r_t = json.dumps({"dump_portage": pkg_list})
|
||||
"""
|
||||
|
||||
elif self.path.startswith("/?st_app="):
|
||||
config = load_config()
|
||||
param = self.path.replace("/?st_app=", "")
|
||||
|
@ -149,13 +146,13 @@ class Handler(BaseHTTPRequestHandler):
|
|||
|
||||
#self.r_t = str(sort_inatll_pkg())
|
||||
self.r_t = str(json.dumps(scan_config_portage()))
|
||||
"""
|
||||
|
||||
elif '.py?' in self.path:
|
||||
print("loading")
|
||||
self.path = str(self.path.split('?')[0])
|
||||
print(self.path)
|
||||
self.r_static()
|
||||
"""
|
||||
|
||||
else:
|
||||
self.send_response(404)
|
||||
|
||||
|
|
2
start
2
start
|
@ -2,7 +2,7 @@
|
|||
#rm ./gpo-repositories.xml
|
||||
#wget http://gpo.zugaina.org/lst/gpo-repositories.xml &&
|
||||
#openssl req -new -x509 -keyout localhost.pem -out localhost.pem -nodes -days 365
|
||||
#openssl req -new -x509 -keyout localhost.pem -out localhost.pem -days 365 -nodes
|
||||
openssl req -new -x509 -keyout localhost.pem -out localhost.pem -days 365 -nodes
|
||||
#openssl req -x509 -out localhost.pem -keyout localhost.key \
|
||||
#
|
||||
# latsed gen localhost.pem for https://
|
||||
|
|
Binary file not shown.
Binary file not shown.
163
utils/utils.py
163
utils/utils.py
|
@ -35,62 +35,69 @@ def get_list_overlays():
|
|||
except Exception as e:
|
||||
print(e)
|
||||
else:
|
||||
try:
|
||||
response = request.urlopen(url)
|
||||
overlays = []
|
||||
overlay = {}
|
||||
includes =[]
|
||||
catalogOverls ={}
|
||||
root = ET.fromstring(response.read())
|
||||
#print(root.tag)
|
||||
#print(root.attrib)
|
||||
name = ""
|
||||
description = ""
|
||||
homepage = ""
|
||||
feed =""
|
||||
for d, dirs, files in os.walk('/var/db/repos'):
|
||||
if(d == "/var/db/repos"):
|
||||
inc = dirs
|
||||
else:
|
||||
break
|
||||
for child in root.findall('repo'):
|
||||
name = child.find('name').text
|
||||
try:
|
||||
description = child.find('description').text
|
||||
except AttributeError:
|
||||
description = "У overlay нет описания"
|
||||
try:
|
||||
homepage = child.find('homepage').text
|
||||
except AttributeError:
|
||||
homepage = "У overlay нет домашней странички"
|
||||
overlays = []
|
||||
response = request.urlopen(url)
|
||||
overlay = {}
|
||||
includes =[]
|
||||
catalogOverls ={}
|
||||
root = ET.fromstring(response.read())
|
||||
#print(root.attrib)
|
||||
name = ""
|
||||
#print(root.tag)
|
||||
description = ""
|
||||
homepage = ""
|
||||
feed =""
|
||||
for d, dirs, files in os.walk('/var/db/repos'):
|
||||
if(d == "/var/db/repos"):
|
||||
inc = dirs
|
||||
else:
|
||||
break
|
||||
|
||||
for child in root.findall('repo'):
|
||||
name = child.find('name').text
|
||||
try:
|
||||
description = child.find('description').text
|
||||
except AttributeError:
|
||||
description = "У overlay нет описания"
|
||||
try:
|
||||
homepage = child.find('homepage').text
|
||||
except AttributeError:
|
||||
homepage = "У overlay нет домашней странички"
|
||||
|
||||
try:
|
||||
feed = child.find('feed').text
|
||||
except AttributeError:
|
||||
feed = "У overlay нет ссылки и на дерево"
|
||||
|
||||
try:
|
||||
feed = child.find('feed').text
|
||||
except AttributeError:
|
||||
feed = "У overlay нет ссылки и на дерево"
|
||||
|
||||
overlay =dict(name=name, description=description, homepage=homepage, feed=feed)
|
||||
overlay =dict(name=name, description=description, homepage=homepage, feed=feed)
|
||||
|
||||
if name in inc:
|
||||
includes.append(overlay)
|
||||
|
||||
if "for" in description:
|
||||
c = description.split("for")[1].split(" ")[1]
|
||||
catalogOverls[c].apend(overlay)
|
||||
elif "Personal" in description or "personal" in description:
|
||||
catalogOverls["Personal"].append(overlay)
|
||||
else:
|
||||
catalogOverls["othes"]. append(overlay)
|
||||
if name in inc:
|
||||
includes.append(overlay)
|
||||
|
||||
overlays.append(overlay)
|
||||
overlays.append(overlay)
|
||||
|
||||
if " for " in description:
|
||||
if description.split(" for ")[1].split(" ")[0] not in catalogOverls:
|
||||
catalogOverls[description.split(" for ")[1].split(" ")[0]] =[]
|
||||
catalogOverls[description.split(" for ")[1].split(" ")[0]].append(overlay)
|
||||
elif "Personal overlay" in description or "personal overlay" in description:
|
||||
if "Personal " not in catalogOverls:
|
||||
catalogOverls["Personal"] =[]
|
||||
catalogOverls["Personal"].append(overlay)
|
||||
else:
|
||||
if "othes" not in catalogOverls:
|
||||
catalogOverls["othes"] =[]
|
||||
catalogOverls["othes"].append(overlay)
|
||||
|
||||
|
||||
#print(str(overlays))s
|
||||
print(len(overlays))
|
||||
with open('./overlays.json', 'a') as f:
|
||||
f.write(json.dumps({"repositories": dict(all=overlays, include=includes)}))
|
||||
#print(len(overlays))
|
||||
with open('./overlays.json', 'a') as f:
|
||||
f.write(json.dumps({"repositories": dict(all=overlays, include=includes, categores=catalogOverls)}))
|
||||
#f.close()
|
||||
OverlayList = dict(all=overlays, include=includes)
|
||||
except Exception as e:
|
||||
print(e)
|
||||
OverlayList = dict(all=overlays, include=includes,categores=catalogOverls)
|
||||
#except Exception as e:
|
||||
# print(e)
|
||||
#return 1
|
||||
return OverlayList # dict(all=overlays, include=includes)
|
||||
|
||||
|
@ -134,31 +141,31 @@ def load_config():
|
|||
#SORT IN INTALL PAKAGES
|
||||
#''
|
||||
def sort_install_pkg():
|
||||
#pkg =scan_config_portage()
|
||||
INSTALL = {}
|
||||
pkg_name =""
|
||||
path = '/var/db/pkg/'
|
||||
for d, dirs, files in os.walk(path):
|
||||
for f in files:
|
||||
try:
|
||||
#ver=int(f.replace('.ebuild', '').split('-')[-1][0])
|
||||
for pn in f.replace('.ebuild', '').split('-')[:-1]:
|
||||
pkg_name = pkg_name + pn + "-"
|
||||
except TypeError:
|
||||
for pn in f.replace('.ebuild', '').split('-')[:-2]:
|
||||
pkg_name = pkg_name + pn + "-"
|
||||
except Exception as e:
|
||||
print(e)
|
||||
print(e)
|
||||
print(pkg_name)
|
||||
if pkg_name inot in INSTALL:
|
||||
INSTALL[d.replace(path, "").split('/')[0]] =[]
|
||||
INSTALL[d.replace(path,
|
||||
"").split('/')[0]].append(dict(name=pkg_name[:-1],ver=f.replace(pkg_name, "")
|
||||
else:
|
||||
INSTALL[d.replace(path,
|
||||
"").split('/')[0]].append(dict(name=pkg_name[:-1],ver=f.replace(pkg_name, "")
|
||||
"""
|
||||
#pkg =scan_config_portage()
|
||||
INSTALL = {}
|
||||
pkg_name =""
|
||||
path = '/var/db/pkg/'
|
||||
for d, dirs, files in os.walk(path):
|
||||
for f in files:
|
||||
try:
|
||||
#ver=int(f.replace('.ebuild', '').split('-')[-1][0])
|
||||
for pn in f.replace('.ebuild', '').split('-')[:-1]:
|
||||
pkg_name = pkg_name + pn + "-"
|
||||
#except TypeError:
|
||||
# for pn in f.replace('.ebuild', '').split('-')[:-2]:
|
||||
# pkg_name = pkg_name + pn + "-"
|
||||
except Exception as e:
|
||||
print(e)
|
||||
#print(e)
|
||||
#print(pkg_name)
|
||||
if pkg_name not in INSTALL:
|
||||
INSTALL[d.replace(path, "").split('/')[0]] =[]
|
||||
INSTALL[d.replace(path,"").split('/')[0]].append(dict(name=pkg_name[:-1], ver=f.replace(pkg_name, "")))
|
||||
"""
|
||||
else:
|
||||
INSTALL[d.replace(path,
|
||||
"").split('/')[0]].append(dict(name=pkg_name[:-1],ver=f.replace(pkg_name, "")
|
||||
|
||||
if d.replace(path, "").split('/')[0] not in INSTALL:
|
||||
INSTALL[d.replace(path, "").split('/')[0]] =[]
|
||||
INSTALL[d.replace(path, "").split('/')[0]].append(f.replace(".ebuild", "") )
|
||||
|
@ -168,7 +175,7 @@ def sort_install_pkg():
|
|||
|
||||
#print(str(len(INSTALL)))
|
||||
#return json.dumps({'install_pkgs':INSTALL})
|
||||
return INSTALL
|
||||
return INSTALL
|
||||
|
||||
def scan_config_portage():
|
||||
dirs_root =["/var/db/repos", "/usr/portage"]
|
||||
|
@ -188,4 +195,4 @@ def scan_config_portage():
|
|||
#print(dr)
|
||||
#config = {'portage': pf}
|
||||
#print("config:\t" + str(config))
|
||||
#return config
|
||||
return config
|
||||
|
|
Loading…
Reference in a new issue