Initial commit

This commit is contained in:
Mohamed Elsheikh 2024-12-30 02:56:16 +02:00
commit 92cd516732
31 changed files with 613 additions and 0 deletions

BIN
assets/icons/3521496.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

8
assets/icons/aapanel.svg Normal file
View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<svg width="256px" height="256px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg">
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M16 0c8.837 0 16 7.163 16 16s-7.163 16-16 16S0 24.837 0 16 7.163 0 16 0z" style="fill:#00a2e8"/>
<path d="M16 7l10 4v10l-10 4-10-4V11l10-4zm0 2l-8 3v8l8 3 8-3v-8l-8-3z" style="fill:#ffffff"/>
<circle cx="16" cy="16" r="2" style="fill:#ffffff"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 508 B

9
assets/icons/adguard.svg Normal file
View File

@ -0,0 +1,9 @@
<svg viewBox="0 0 64 64" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
<g transform="matrix(1.01266,0,0,1,-1.73396e-09,0)">
<g transform="matrix(1,0,0,1,-0.399969,0)">
<path d="M32,0C22.1,0 10.2,2.3 0.4,7.3C0.4,18.3 0.2,45.4 32,64C63.8,45.4 63.6,18.3 63.6,7.3C53.8,2.3 41.9,0 32,0Z" style="fill:rgb(104,188,113);fill-rule:nonzero;"/>
<path d="M32,64C0.2,45.4 0.4,18.3 0.4,7.3C10.2,2.3 22.1,0 32,0L32,64Z" style="fill:rgb(103,178,121);fill-rule:nonzero;"/>
</g>
<path d="M30.8,42.7L50,17.3C48.6,16.2 47.4,17 46.7,17.6L30.7,33.9L24.7,26.8C21.8,23.5 17.9,26 17,26.7L30.8,42.7Z" style="fill:white;fill-rule:nonzero;"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 838 B

5
assets/icons/casaos.svg Normal file
View File

@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 700 700" height="700" width="700">
<path fill="#4CE7FF" d="M180.08 574.45C274.013 574.45 350.16 498.303 350.16 404.37C350.16 310.437 274.013 234.29 180.08 234.29C86.1474 234.29 10 310.437 10 404.37C10 498.303 86.1474 574.45 180.08 574.45Z" opacity="0.95"></path>
<path fill="#0067C2" d="M350.16 575.18C478.616 575.18 582.75 471.046 582.75 342.59C582.75 214.134 478.616 110 350.16 110C221.704 110 117.57 214.134 117.57 342.59C117.57 471.046 221.704 575.18 350.16 575.18Z" opacity="0.95"></path>
<path fill="#4CE7FF" d="M520.24 574.45C614.172 574.45 690.32 498.303 690.32 404.37C690.32 310.437 614.172 234.29 520.24 234.29C426.307 234.29 350.16 310.437 350.16 404.37C350.16 498.303 426.307 574.45 520.24 574.45Z" opacity="0.95"></path>
</svg>

After

Width:  |  Height:  |  Size: 806 B

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<svg width="800px" height="800px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
<path d="M16 0c8.837 0 16 7.163 16 16s-7.163 16-16 16S0 24.837 0 16 7.163 0 16 0z" style="fill:#f6821f"/>
<path d="M23.5 12.5c0-2-2-4-4-4h-7c-2 0-4 2-4 4s2 4 4 4h7c2 0 4-2 4-4zm-4 2h-7c-1 0-2-1-2-2s1-2 2-2h7c1 0 2 1 2 2s-1 2-2 2z" style="fill:#ffffff"/>
<path d="M23.5 19.5c0-2-2-4-4-4h-7c-2 0-4 2-4 4s2 4 4 4h7c2 0 4-2 4-4zm-4 2h-7c-1 0-2-1-2-2s1-2 2-2h7c1 0 2 1 2 2s-1 2-2 2z" style="fill:#ffffff"/>
</svg>

After

Width:  |  Height:  |  Size: 544 B

BIN
assets/icons/fa.svg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 882 B

BIN
assets/icons/jellyfin.svg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 190 KiB

BIN
assets/icons/kavita.svg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/>
<path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/>
</svg>

After

Width:  |  Height:  |  Size: 315 B

View File

@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M4 11a9 9 0 0 1 9 9"/>
<path d="M4 4a16 16 0 0 1 16 16"/>
<circle cx="5" cy="19" r="1"/>
</svg>

After

Width:  |  Height:  |  Size: 270 B

6
assets/icons/mycloud.svg Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<svg width="800px" height="800px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
<path d="M16 0c8.837 0 16 7.163 16 16s-7.163 16-16 16S0 24.837 0 16 7.163 0 16 0z" style="fill:#0072c6"/>
<path d="M22 13c0-1.7-1.3-3-3-3h-6c-1.7 0-3 1.3-3 3s1.3 3 3 3h6c1.7 0 3-1.3 3-3zm-3 1h-6c-.6 0-1-.4-1-1s.4-1 1-1h6c.6 0 1 .4 1 1s-.4 1-1 1z" style="fill:#ffffff"/>
<path d="M22 19c0-1.7-1.3-3-3-3h-6c-1.7 0-3 1.3-3 3s1.3 3 3 3h6c1.7 0 3-1.3 3-3zm-3 1h-6c-.6 0-1-.4-1-1s.4-1 1-1h6c.6 0 1 .4 1 1s-.4 1-1 1z" style="fill:#ffffff"/>
</svg>

After

Width:  |  Height:  |  Size: 576 B

1
assets/icons/n8n.svg Normal file
View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><path fill="#ea4b71" fill-rule="evenodd" d="M48 16.615a4.923 4.923 0 0 1-9.691 1.23h-6.873c-1.204 0-2.23.87-2.428 2.058l-.203 1.214a4.912 4.912 0 0 1-1.6 2.883 4.913 4.913 0 0 1 1.6 2.883l.203 1.214a2.462 2.462 0 0 0 2.428 2.057h1.95a4.925 4.925 0 0 1 9.69 1.23 4.923 4.923 0 0 1-9.69 1.231h-1.95a4.923 4.923 0 0 1-4.856-4.114l-.203-1.214a2.462 2.462 0 0 0-2.428-2.056h-2.008a4.925 4.925 0 0 1-9.42 0H9.634a4.923 4.923 0 1 1 .106-2.462h2.675a4.925 4.925 0 0 1 9.632 0h1.902c1.203 0 2.23-.87 2.428-2.057l.203-1.214a4.923 4.923 0 0 1 4.856-4.114h6.873A4.925 4.925 0 0 1 48 16.615zm-2.462 0a2.461 2.461 0 1 1-4.922 0 2.461 2.461 0 0 1 4.922 0zM4.925 26.256a2.461 2.461 0 1 0 0-4.923 2.461 2.461 0 0 0 0 4.923zm12.307 0a2.461 2.461 0 1 0 0-4.923 2.461 2.461 0 0 0 0 4.923zm20.923 7.59a2.461 2.461 0 1 0 0-4.923 2.461 2.461 0 0 0 0 4.923z" clip-rule="evenodd"/></svg>

After

Width:  |  Height:  |  Size: 922 B

View File

@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024">
<circle cx="512" cy="512" r="512" style="fill:#0082c9"/>
<path d="M512.46 370.87c-64.58 0-118.83 44.23-135.39 103.72-14.47-31.83-46.32-54.38-83.31-54.38a91.79 91.79 0 0 0 0 183.57c37 0 68.82-22.58 83.29-54.4 16.56 59.52 70.83 103.75 135.42 103.75 64.25 0 118.21-43.74 135.13-102.74 14.7 31.26 46.06 53.4 82.61 53.4a91.79 91.79 0 0 0 0-183.57c-36.58 0-67.94 22.16-82.64 53.4-16.89-59.01-70.86-102.77-135.11-102.75Zm0 53.86a87.27 87.27 0 1 1-87.24 88.07v-.8a86.85 86.85 0 0 1 87.24-87.26Zm-218.7 49.34a37.92 37.92 0 1 1-37.9 38.73v-.81a37.48 37.48 0 0 1 37.9-37.9Zm436.45 0a37.92 37.92 0 1 1-37.9 38.73v-.81a37.48 37.48 0 0 1 37.9-37.9Z" style="fill:#fff"/>
</svg>

After

Width:  |  Height:  |  Size: 734 B

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 11 KiB

1
assets/icons/openwrt.svg Normal file
View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><defs><clipPath id="a"><path d="M0 0h792v612H0Z"/></clipPath></defs><g clip-path="url(#a)" transform="matrix(1.0801 0 0 -1.0801 -229.16 210.51)"><g fill="#00ace2"><path d="M234.38 171.69a3.016 3.016 0 1 1 0-6.031 3.016 3.016 0 0 1 0 6.031m-18.52 15.51 3.139-3.139a21.7 21.7 0 0 0 15.387 6.37 21.705 21.705 0 0 0 15.388-6.37l3.139 3.139c-4.74 4.74-11.294 7.694-18.527 7.694-7.232 0-13.787-2.954-18.526-7.694"/><path d="m221.52 181.53 3.139-3.139a13.725 13.725 0 0 0 9.724 4.031 13.73 13.73 0 0 0 9.726-4.031l3.14 3.139c-3.293 3.293-7.848 5.356-12.864 5.356-5.017 0-9.571-2.062-12.864-5.356"/><path d="m227.15 175.9 3.139-3.139a5.795 5.795 0 0 0 8.186 0l3.139 3.139a10.183 10.183 0 0 1-7.232 2.985c-2.8 0-5.356-1.139-7.232-2.985"/></g><path fill="#002843" d="M245.52 176.76a13.696 13.696 0 0 0 2.647-8.094c0-7.601-6.186-13.787-13.787-13.787-7.602 0-13.787 6.186-13.787 13.787 0 3.016.984 5.817 2.646 8.094l-3.17 3.17a18.055 18.055 0 0 1-3.908-11.264c0-10.032 8.186-18.218 18.219-18.218 10.032 0 18.218 8.186 18.218 18.218 0 4.247-1.477 8.156-3.908 11.264z"/></g></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

1
assets/icons/pihole.svg Normal file
View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><defs><linearGradient id="New_Gradient_Swatch_1" x1="2.71" x2="69.77" y1="20.04" y2="20.04" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#12b212"/><stop offset="1" stop-color="#0f0"/></linearGradient><style>.cls-2{fill:#980200}.cls-3{fill:red}</style></defs><path fill="url(#New_Gradient_Swatch_1)" d="M36.56 39.93C20.34 38.2 4 25.94 2.71 0c25.17 0 38.63 14.9 39.93 38.51 4.76-28.32 27.07-25 27.07-25 1.06 16.05-12.12 25.78-27.07 26.59-4.2-8.85-29.36-30.56-29.36-30.56a.07.07 0 0 0-.11.08s24.28 21.15 23.39 30.31" transform="translate(7.686) scale(.36943)"/><path d="M24 48c-.58-.033-5.992-.24-6.32-6.32-.267-3.695 2.652-6.418 2.652-10.005-.662-8.944-12.646-7.836-12.646 0a7.366 7.366 0 0 0 2.154 5.224l8.929 8.932a7.366 7.366 0 0 0 5.224 2.154" class="cls-2"/><path d="M40.314 31.679c-.033.58-.24 5.992-6.32 6.32-3.695.267-6.422-2.652-10.005-2.652-8.944.661-7.836 12.642 0 12.642a7.366 7.366 0 0 0 5.224-2.154l8.936-8.929a7.366 7.366 0 0 0 2.154-5.224" class="cls-3"/><path d="M24 15.365c.58.033 5.992.24 6.321 6.32.266 3.695-2.653 6.418-2.653 10.005.662 8.944 12.642 7.835 12.642 0a7.366 7.366 0 0 0-2.153-5.224l-8.933-8.937A7.366 7.366 0 0 0 24 15.376" class="cls-2"/><path d="M7.716 31.679c.033-.58.24-5.993 6.32-6.321 3.695-.266 6.421 2.652 10.005 2.652 8.944-.672 7.835-12.642 0-12.642a7.366 7.366 0 0 0-5.224 2.154L9.88 26.455a7.366 7.366 0 0 0-2.153 5.224" class="cls-3"/></svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -0,0 +1,72 @@
<?xml version="1.0" encoding="utf-8"?>
<svg version="1.1" width="100" height="100" xmlns="http://www.w3.org/2000/svg">
<style type="text/css">
.st0{fill:#099CEC;}
.st1{fill:#FFFFFF;}
.st2{fill:#066DA5;}
.st3{fill:#4D5C64;}
.st4{opacity:5.000000e-02;}
</style>
<g id="docker">
<path id="path909" class="st0" d="M23,40.6h9.3v8.4H23V40.6z"/>
<path id="path911" class="st0" d="M12.1,40.6h9.3v8.4h-9.3V40.6z"/>
<path id="path913" class="st0" d="M34,40.6h9.3v8.4H34V40.6z"/>
<path id="path915" class="st0" d="M45,40.6h9.3v8.4H45V40.6z"/>
<path id="path917" class="st0" d="M56,40.6h9.3v8.4H56L56,40.6z"/>
<path id="path919" class="st0" d="M23,30.5h9.3v8.4H23V30.5z"/>
<path id="path921" class="st0" d="M34,30.5h9.3v8.4H34V30.5z"/>
<path id="path923" class="st0" d="M45,30.5h9.3v8.4H45V30.5z"/>
<path id="path925" class="st0" d="M45,20.3h9.3v8.4H45V20.3z"/>
<path id="path937" class="st0" d="M92.9,43.2c-1.9-1.3-6.9-1.8-10.6-0.9c-0.2-3.6-2.1-6.7-5.5-9.4l-1.3-0.9l-0.8,1.3
c-1.7,2.5-2.4,5.9-2.1,8.9c0.2,1.9,0.8,4,2.1,5.5c-1,0.8-4,2.2-8,2.1H6.4c-1.1,6.4,0.8,30.6,28.7,30.6c20.8,0,37.8-9.3,45.6-28.9
c2.6,0,9.4,0.5,12.7-6c0.1-0.1,0.8-1.7,0.8-1.7L92.9,43.2z"/>
<path class="st1" d="M28.7,69.1c-6.9,2.4-14.3,2.7-15.9,2.7c5.2,4.3,14.4,12.4,29.6,7.8C39.6,78.8,33.1,76.3,28.7,69.1z"/>
<path id="path959" class="st2" d="M27.9,67.6c-3.3,1.9-7.2,3-11.2,3c-2.1,0-4.1-0.3-6-0.8l1.2,2c1.5,0.3,3.1,0.5,4.8,0.5
c4.4,0,8.5-1.1,12.1-3.2C28.4,68.6,28.2,68.1,27.9,67.6"/>
<path id="path963" class="st1" d="M34.3,66.5c1.6,0,2.9-1.3,2.9-3c0-1.6-1.3-3-2.9-3c-1.6,0-2.9,1.3-2.9,3
C31.4,65.2,32.7,66.5,34.3,66.5"/>
<path id="path967" class="st3" d="M34.8,62.7c0-0.3,0.1-0.5,0.3-0.7c-0.2-0.1-0.5-0.2-0.8-0.2c-0.9,0-1.7,0.8-1.7,1.7
c0,0.9,0.8,1.7,1.7,1.7c0.9,0,1.7-0.8,1.7-1.7c0,0,0-0.1,0-0.1c-0.1,0.1-0.2,0.1-0.4,0.1C35.2,63.6,34.8,63.2,34.8,62.7"/>
<path id="path981" class="st4" d="M92.7,43.1c-1.9-1.3-7.1-1.9-10.6-0.9l-0.8,1.1C70,66.7,55.9,76.6,36.5,77.1
C15.4,77,10.1,65.9,8.6,50.7H5.3c-0.4,6.4,1.2,29.8,29.4,29.8c20.8,0,37.9-9.3,45.8-28.9c2.6,0,9.8,0,12.9-6.4l0.6-1.4L92.7,43.1z"
/>
<path id="path993" class="st2" d="M13.7,42.3h0.8v5.1h-0.8V42.3z"/>
<path id="path995" class="st2" d="M16.3,42.3h0.8v5.1h-0.8V42.3z"/>
<path id="path997" class="st2" d="M18.8,42.3h0.8v5.1h-0.8V42.3z"/>
<path id="path999" class="st2" d="M24.7,42.3h0.8v5.1h-0.8V42.3z"/>
<path id="path1001" class="st2" d="M27.3,42.3h0.8v5.1h-0.8V42.3z"/>
<path id="path1003" class="st2" d="M29.8,42.3h0.8v5.1h-0.8V42.3z"/>
<path id="path1005" class="st2" d="M35.7,42.3h0.8v5.1h-0.8V42.3z"/>
<path id="path1007" class="st2" d="M38.2,42.3h0.8v5.1h-0.8V42.3z"/>
<path id="path1009" class="st2" d="M40.8,42.3h0.8v5.1h-0.8V42.3z"/>
<path id="path1011" class="st2" d="M46.7,42.3h0.8v5.1h-0.8V42.3z"/>
<path id="path1013" class="st2" d="M49.2,42.3h0.8v5.1h-0.8V42.3z"/>
<path id="path1015" class="st2" d="M51.8,42.3h0.8v5.1h-0.8V42.3z"/>
<path id="path1017" class="st2" d="M57.7,42.3h0.8v5.1h-0.8V42.3z"/>
<path id="path1019" class="st2" d="M60.2,42.3H61v5.1h-0.8V42.3z"/>
<path id="path1021" class="st2" d="M62.7,42.3h0.8v5.1h-0.8V42.3z"/>
<path id="path1023" class="st2" d="M27.3,32.2h0.8v5.1h-0.8V32.2z"/>
<path id="path1025" class="st2" d="M29.8,32.2h0.8v5.1h-0.8V32.2z"/>
<path id="path1027" class="st2" d="M35.7,32.2h0.8v5.1h-0.8V32.2z"/>
<path id="path1029" class="st2" d="M38.2,32.2h0.8v5.1h-0.8V32.2z"/>
<path id="path1031" class="st2" d="M40.8,32.2h0.8v5.1h-0.8V32.2z"/>
<path id="path1033" class="st2" d="M46.7,32.2h0.8v5.1h-0.8V32.2z"/>
<path id="path1035" class="st2" d="M49.2,32.2h0.8v5.1h-0.8V32.2z"/>
<path id="path1037" class="st2" d="M51.8,32.2h0.8v5.1h-0.8V32.2z"/>
<path id="path1039" class="st2" d="M49.2,22h0.8v5.1h-0.8V22z"/>
<path id="path1041" class="st2" d="M46.7,22h0.8v5.1h-0.8V22z"/>
<path id="path1043" class="st2" d="M51.8,22h0.8v5.1h-0.8V22z"/>
<path id="path1045" class="st2" d="M24.7,32.2h0.8v5.1h-0.8V32.2z"/>
<path id="path1073" class="st2" d="M86.9,50c-1.8,0.6-3.5,0.8-6,0.7c0,0-0.2,0-0.4,0l-0.6,0l-0.2,0.5
c-7.4,18.5-23.5,28.4-44.8,28.4c-12.2,0-20.1-4.6-24.5-12.5c-1.7-3-2.8-6.4-3.3-9.9c-0.3-2.4-0.4-4.8-0.2-6.5h3.6v0h11H23h9.3H34
h9.3H45h9.3H56h11v0c3.3,0,6.5-1.1,8-2.3l0.7-0.5l-0.6-0.7c-1-1.3-1.7-3.1-1.9-5.1c-0.2-3,0.5-6.1,2-8.4l0.4-0.6l0.5,0.4
c3.3,2.6,5,5.4,5.1,8.7l0.1,1l1-0.3c3.3-0.9,8.1-0.5,9.9,0.7l0.7,0.4c0,0.1-0.1,0.1-0.1,0.2c-0.1,0.2-0.2,0.4-0.3,0.5
c0,0.1-0.1,0.1-0.1,0.3C91.1,47.7,89.2,49.2,86.9,50 M12.1,40.6h9.3V49h-9.3V40.6z M23,40.6h9.3V49H23V40.6z M23,30.5h9.3v8.4H23
V30.5z M34,40.6h9.3V49H34V40.6z M34,30.5h9.3v8.4H34V30.5z M45,40.6h9.3V49H45V40.6z M45,30.5h9.3v8.4H45V30.5z M45,20.3h9.3v8.4
H45V20.3z M56,40.6h9.3V49H56V40.6z M93.8,46.1c0.1-0.1,0.2-0.4,0.5-0.9c0.1-0.2,0.2-0.4,0.3-0.6c0-0.1,0.1-0.1,0.1-0.3l0.3-0.7
l-1.9-1.3c-2-1.4-6.7-1.9-10.3-1.2c-0.5-3.4-2.4-6.4-5.7-9l-2-1.3l-1.3,2c-1.7,2.6-2.5,6.1-2.3,9.5c0.2,1.9,0.8,3.8,1.7,5.2
C71.8,48.3,69.5,49,67,49V38.9H56v-8.4v-1.7V18.6H43.3v10.1H34h-1.7h-11v10.1h-11V49H6.1H5.4l-0.1,0.7c-0.3,2-0.3,4.8,0.1,7.7
C5.9,61.2,7,64.8,8.8,68c4.7,8.4,13.2,13.3,26,13.3c21.8,0,38.4-10,46.2-28.9c2.6,0,4.4-0.1,6.5-0.8C90.2,50.7,92.3,48.9,93.8,46.1
"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.0 KiB

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<svg width="800px" height="800px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
<path d="M16 0c8.837 0 16 7.163 16 16s-7.163 16-16 16S0 24.837 0 16 7.163 0 16 0z" style="fill:#e57000"/>
<path d="M16 7l10 6v6l-10 6-10-6v-6l10-6zm0 3l-7 4v4l7 4 7-4v-4l-7-4z" style="fill:#ffffff"/>
</svg>

After

Width:  |  Height:  |  Size: 340 B

5
assets/icons/proxmox.svg Normal file
View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
<circle cx="512" cy="512" r="512" style="fill:#e57000"/>
<path d="M512 497.8 342.7 311.6c6.6-6.6 14.2-11.7 22.9-15.5 8.7-3.8 18.1-5.7 28.1-5.7 10.7.1 20.4 2.2 29.3 6.3 8.9 4.1 16.6 9.8 23.1 17l65.8 71.9 65.4-71.9c6.8-7.2 14.7-12.9 23.6-17 9-4.1 18.7-6.2 29.2-6.3 10 .1 19.4 2 28.1 5.7 8.7 3.8 16.4 8.9 22.9 15.5L512 497.8m0 28.4L342.7 712.4c6.6 6.6 14.2 11.7 22.9 15.5 8.7 3.8 18.1 5.7 28.1 5.7 10.5-.1 20.2-2.2 29.2-6.3s16.9-9.8 23.6-17l65.4-71.9 65.8 71.9c6.5 7.2 14.2 12.9 23.1 17 8.9 4.1 18.6 6.2 29.3 6.3 10-.1 19.4-2 28.1-5.7 8.7-3.8 16.4-8.9 22.9-15.5L512 526.2M497.8 512 370.3 372.2c-7.4-7.9-16-14.1-25.9-18.7-9.8-4.5-20.5-6.8-31.9-6.9-11 .1-21.3 2.2-30.8 6.3-9.6 4.1-17.9 9.8-25.1 16.9L385.9 512 256.5 654.2c7.2 7.4 15.6 13.2 25.1 17.4 9.6 4.2 19.8 6.3 30.8 6.3 11.5-.1 22.2-2.4 32.1-6.9 9.9-4.5 18.5-10.8 25.7-18.7L497.8 512m28.4 0 127.5 140.3c7.2 7.9 15.8 14.1 25.7 18.7 9.9 4.5 20.6 6.8 32.1 6.9 11-.1 21.3-2.2 30.8-6.3 9.6-4.2 17.9-9.9 25.1-17.4L638.1 512l129.4-142.2c-7.2-7.2-15.6-12.8-25.1-16.9-9.6-4.1-19.8-6.2-30.8-6.3-11.4.1-22.1 2.4-31.9 6.9-9.8 4.5-18.5 10.8-25.9 18.7L526.2 512" style="fill:#fff"/>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

BIN
assets/icons/pylot.svg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><linearGradient id="a" x1="348.283" x2="782.06" y1="0" y2="786.483" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#72b4f5"/><stop offset="1" stop-color="#356ebf"/></linearGradient><g fill="none" fill-rule="evenodd" transform="scale(.04688 .04687)"><circle cx="512" cy="512" r="496" fill="url(#a)" stroke="#daefff" stroke-width="32" style="fill:url(#a)"/><path fill="#fff" d="M712.898 332.399q66.657 0 103.38 45.671 37.03 45.364 37.03 128.684t-37.34 129.61q-37.03 45.98-103.07 45.98-33.02 0-60.484-12.035-27.156-12.344-45.672-37.649h-3.703l-10.8 43.512h-36.724V196h51.227v116.65q0 39.191-2.469 70.359h2.47q35.796-50.61 106.155-50.61zm-7.406 42.894q-52.46 0-75.605 30.242-23.145 29.934-23.145 101.219t23.762 102.145q23.761 30.55 76.222 30.55 47.215 0 70.36-34.254 23.144-34.562 23.144-99.058 0-66.04-23.144-98.442-23.145-32.402-71.594-32.402z"/><path fill="#c8e8ff" d="M317.273 639.45q51.227 0 74.68-27.466 23.453-27.464 24.996-92.578v-11.418q0-70.976-24.07-102.144-24.07-31.168-76.223-31.168-45.055 0-69.125 35.18-23.762 34.87-23.762 98.75 0 63.879 23.454 97.515 23.761 33.328 70.05 33.328zm-7.715 42.894q-65.421 0-102.144-45.98-36.723-45.981-36.723-128.376 0-83.011 37.032-129.609 37.03-46.598 103.07-46.598 69.433 0 106.773 52.461h2.778l7.406-46.289h40.426V828h-51.227V683.27q0-30.86 3.395-52.461h-4.012q-35.488 51.535-106.774 51.535z"/></g></svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" aria-label="Orcid" role="img" version="1.1" viewBox="20.43 19.15 472.02 477.37">
<path d="m90.98 495.78c-34.039-4.4764-59.899-27.897-68.719-62.235-1.7089-6.6535-1.8315-18.425-1.8315-175.78v-168.65l2.3243-8.7141c7.9697-29.879 29.048-50.957 58.926-58.926l8.7141-2.3243h166.04c152.46 0 166.6 0.14424 172.88 1.764 26.707 6.8875 46.673 23.455 56.524 46.903 7.0704 16.828 6.6004 3.3051 6.6004 189.94v168.65l-2.3243 8.7141c-7.9194 29.691-28.665 50.673-58.242 58.906l-8.354 2.3254-162.9 0.15257c-89.597 0.0838-165.93-0.24538-169.63-0.73175zm170.82-162.88c20.825-5.2747 34.521-18.343 38.017-36.274 3.6656-18.801-5.5851-37.395-22.503-45.232-3.446-1.5963-16.369-5.5775-28.717-8.8472-29.901-7.9175-35.478-10.899-37.16-19.865-1.677-8.9393 3.7918-17.332 13.113-20.125 5.2787-1.5815 19.883-1.7076 24.917-0.21512 7.5208 2.2295 12.778 6.3028 15.398 11.93 1.3786 2.9608 2.5111 6.407 2.5167 7.6582 0.0208 4.6278 2.446 5.5569 14.505 5.5569 14.98 0 15.6-0.45028 13.832-10.044-4.5236-24.55-26.626-40.08-57.043-40.08-24.594 0-44.122 9.999-52.343 26.802-2.4619 5.0319-3.0102 7.6603-3.3334 15.978-0.47883 12.325 1.7889 19.294 8.8231 27.118 6.707 7.4598 15.85 11.58 39.54 17.818 30.89 8.1342 34.106 9.443 38.412 15.636 2.2802 3.2792 2.4403 14.549 0.26645 18.753-4.202 8.1257-13.956 12.108-29.277 11.954-12.041-0.12098-20.127-2.5954-26.357-8.0654-4.1882-3.6773-8.5994-12.217-8.6149-16.677-0.0227-6.5413-0.93651-6.98-14.539-6.98-15.301 0-15.351 0.0392-13.706 10.647 4.5867 29.562 31.039 47.07 67.916 44.952 4.8819-0.28038 12.233-1.36 16.336-2.3993zm-146.55-2.6848c15.156-3.4226 29.38-13.147 37.313-25.509 14.942-23.286 16.446-63.715 3.3689-90.596-5.353-11.003-15.685-21.454-26.378-26.681-12.548-6.1332-19.304-6.9335-58.533-6.9335-32.874 0-34.378 0.0857-35.413 2.0198-1.4954 2.7942-1.4954 144.58 0 147.38 1.0362 1.9362 2.5522 2.0198 36.604 2.0198 29.014 0 36.9-0.31097 43.039-1.6973zm-51.484-74.011v-51.69h16.516c19.112 0 26.547 1.1212 34.603 5.2183 15.475 7.8694 21.158 20.352 21.158 46.472 0 20.64-3.2277 31.721-11.711 40.204-9.0503 9.0503-18.068 11.487-42.512 11.487h-18.055zm283.4 74.056c0.34862-0.90848 0.66566-25.226 0.70452-54.04 0.0459-34.009 0.4197-51.656 1.0656-50.3 0.54718 1.1487 9.3525 25.349 19.567 53.779l18.573 51.69 11.12 0.29592c10.598 0.28202 11.192 0.18394 12.642-2.0885 0.83691-1.3114 9.601-24.94 19.476-52.508 9.8747-27.568 18.36-50.829 18.856-51.69 0.51625-0.89609 0.92284 21 0.95014 51.168 0.0262 29.004 0.43037 53.338 0.89801 54.075 0.63227 0.99644 4.0416 1.2642 13.298 1.0442l12.448-0.29574v-150.37l-17.752-0.25872c-9.7638-0.14231-18.375 0.14228-19.136 0.6324-0.76121 0.49013-9.9245 25.747-20.363 56.126-10.438 30.379-19.391 55.235-19.896 55.235-0.50428 0-9.5998-24.67-20.212-54.823-10.612-30.153-19.782-55.421-20.377-56.152-0.81751-1.0048-5.5652-1.2594-19.469-1.0442l-18.388 0.28456-0.27023 74.142c-0.14861 40.778-0.0458 74.729 0.22829 75.447 0.3603 0.94341 3.951 1.3053 12.951 1.3053 10.391 0 12.557-0.27335 13.086-1.6518z" fill="#44a9fe" stroke-width="1.0442"></path>
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/>
<polyline points="7 10 12 15 17 10"/>
<line x1="12" y1="15" x2="12" y2="3"/>
</svg>

After

Width:  |  Height:  |  Size: 303 B

4
assets/icons/vikunja.svg Normal file
View File

@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"/>
<polyline points="22 4 12 14.01 9 11.01"/>
</svg>

After

Width:  |  Height:  |  Size: 260 B

View File

@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z"/>
<line x1="3" y1="6" x2="21" y2="6"/>
<path d="M16 10a4 4 0 0 1-8 0"/>
</svg>

After

Width:  |  Height:  |  Size: 305 B

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<svg width="800px" height="800px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
<path d="M16 0c8.837 0 16 7.163 16 16s-7.163 16-16 16S0 24.837 0 16 7.163 0 16 0z" style="fill:#88171a"/>
<path d="M16 7l10 6v6l-10 6-10-6v-6l10-6zm0 2l-8 5v4l8 5 8-5v-4l-8-5z" style="fill:#ffffff"/>
</svg>

After

Width:  |  Height:  |  Size: 340 B

0
index.html Normal file
View File

27
script.js Normal file
View File

@ -0,0 +1,27 @@
// تهيئة مكتبة AOS للتأثيرات الحركية
AOS.init({
duration: 800,
once: true
});
// تبديل السمة (الوضع الليلي/النهاري)
const themeToggle = document.getElementById('themeToggle');
const body = document.body;
const icon = themeToggle.querySelector('i');
// التحقق من وجود تفضيل سابق للسمة
const savedTheme = localStorage.getItem('theme');
if (savedTheme) {
body.classList.toggle('dark-theme', savedTheme === 'dark');
icon.classList.toggle('bi-sun', savedTheme === 'dark');
icon.classList.toggle('bi-moon-stars', savedTheme === 'light');
}
// إضافة مستمع حدث للزر
themeToggle.addEventListener('click', () => {
body.classList.toggle('dark-theme');
const isDark = body.classList.contains('dark-theme');
icon.classList.toggle('bi-sun', isDark);
icon.classList.toggle('bi-moon-stars', !isDark);
localStorage.setItem('theme', isDark ? 'dark' : 'light');
});

32
services.txt Normal file
View File

@ -0,0 +1,32 @@
الخدمات :
1- proxmox EV server
https://196.221.197.24:8006/
2- nginx prox manger
https://momaher.site/
3- n8n
https://n8n.momaher.site/
4-synology
https://196.221.197.24:5001/#/signin
5-pylod
6- kavita
https://kav.momaher.site/
7-portainer
https://por.momaher.site/
8-proxmox backup server
https://196.221.197.24:8007
9-open wrt
http://wrt.momaher.site/
10-adgaurd
https://adg.momaher.site/
11-cloud flear tunel web ui
https://clf.momaher.site/
12-pi hole
https://pi.momaher.site/admin
13-widegaurd
https://wgd.momaher.site/
14-MyCloud
https://home.mycloud.com/
15-aapanal
https://196.221.197.24:18328/41469af9

398
styles.css Normal file
View File

@ -0,0 +1,398 @@
:root {
--primary: #3b82f6;
--primary-dark: #2563eb;
--secondary: #10b981;
--background: #f8fafc;
--surface: #ffffff;
--text: #1e293b;
--text-secondary: #64748b;
--border: #e2e8f0;
--card-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
--card-shadow-hover: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
}
.dark-theme {
--background: #0f172a;
--surface: #1e293b;
--text: #f8fafc;
--text-secondary: #94a3b8;
--border: #334155;
--card-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.2), 0 2px 4px -2px rgb(0 0 0 / 0.2);
--card-shadow-hover: 0 20px 25px -5px rgb(0 0 0 / 0.2), 0 8px 10px -6px rgb(0 0 0 / 0.2);
}
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
background-color: var(--background);
color: var(--text);
transition: background-color 0.3s, color 0.3s;
min-height: 100vh;
display: flex;
flex-direction: column;
margin: 0;
}
/* Navbar */
.navbar {
background: var(--surface);
border-bottom: 1px solid var(--border);
padding: 1rem 0;
position: sticky;
top: 0;
z-index: 1000;
backdrop-filter: blur(10px);
}
.container {
max-width: 1280px;
margin: 0 auto;
padding: 0 1.5rem;
}
.navbar .container {
display: flex;
justify-content: space-between;
align-items: center;
}
.navbar-brand {
display: flex;
align-items: center;
gap: 0.75rem;
color: var(--text);
text-decoration: none;
font-size: 1.25rem;
}
.navbar-brand i {
font-size: 1.5rem;
color: var(--primary);
}
.gradient-text {
background: linear-gradient(135deg, var(--primary), var(--secondary));
-webkit-background-clip: text;
background-clip: text;
color: transparent;
font-weight: bold;
}
.theme-toggle {
background: none;
border: none;
color: var(--text);
font-size: 1.2rem;
cursor: pointer;
width: 40px;
height: 40px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
transition: background-color 0.3s;
}
.theme-toggle:hover {
background-color: var(--border);
}
/* Dashboard */
.dashboard-container {
flex: 1;
padding: 2rem 0;
}
/* Welcome Card */
.welcome-card {
background: linear-gradient(135deg, var(--primary), var(--secondary));
color: white;
padding: 3rem;
border-radius: 1.5rem;
margin-bottom: 2.5rem;
position: relative;
overflow: hidden;
box-shadow: var(--card-shadow-hover);
}
.welcome-card::before {
content: '';
position: absolute;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 60%);
transform: rotate(-45deg);
animation: pulse 4s ease-in-out infinite;
}
@keyframes pulse {
0% {
transform: rotate(-45deg) scale(1);
opacity: 0.5;
}
50% {
transform: rotate(-45deg) scale(1.2);
opacity: 0.8;
}
100% {
transform: rotate(-45deg) scale(1);
opacity: 0.5;
}
}
.welcome-card h1 {
font-size: 2.5rem;
margin: 0 0 0.5rem;
position: relative;
font-weight: 800;
}
.welcome-card p {
font-size: 1.25rem;
opacity: 0.9;
margin: 0;
position: relative;
}
/* Services Grid */
.services-grid {
display: grid;
gap: 2rem;
}
.service-section {
background: var(--surface);
border-radius: 1.75rem;
padding: 2.5rem;
border: 1px solid var(--border);
transition: all 0.4s ease;
box-shadow: var(--card-shadow);
position: relative;
overflow: hidden;
}
.service-section::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(to right, var(--primary), var(--secondary));
opacity: 0;
transition: opacity 0.4s ease;
}
.service-section:hover::before {
opacity: 1;
}
.service-section:hover {
transform: translateY(-8px);
box-shadow: var(--card-shadow-hover);
}
.section-title {
font-size: 1.85rem;
color: var(--text);
margin-bottom: 2.5rem;
display: flex;
align-items: center;
gap: 1rem;
font-weight: 800;
position: relative;
padding-bottom: 0.75rem;
letter-spacing: -0.02em;
}
.section-title i {
font-size: 2.2rem;
background: linear-gradient(135deg, var(--primary), var(--secondary));
-webkit-background-clip: text;
background-clip: text;
color: transparent;
}
.cards-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: 1.5rem;
}
/* Service Card */
.service-card {
display: flex;
align-items: center;
padding: 1.75rem;
background: var(--surface);
border: 1px solid var(--border);
border-radius: 1.25rem;
text-decoration: none;
color: var(--text);
transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
position: relative;
overflow: hidden;
}
.service-card:hover {
transform: translateY(-6px);
box-shadow: var(--card-shadow-hover);
border-color: var(--primary);
background: linear-gradient(145deg, var(--surface), var(--background));
}
.service-card:hover .card-arrow i {
transform: translateX(6px);
opacity: 1;
color: var(--primary);
}
.card-icon {
width: 56px;
height: 56px;
margin-right: 1.25rem;
display: flex;
align-items: center;
justify-content: center;
border-radius: 16px;
background: var(--background);
transition: all 0.4s ease;
position: relative;
overflow: hidden;
}
.service-card:hover .card-icon {
transform: scale(1.1) rotate(5deg);
box-shadow: 0 8px 16px -4px rgba(0, 0, 0, 0.1);
}
.service-card:hover .svg-icon {
transform: scale(1.15);
filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.1));
}
.svg-icon {
width: 38px;
height: 38px;
transition: all 0.4s ease;
}
.card-content {
flex: 1;
transition: transform 0.3s ease;
}
.service-card:hover .card-content {
transform: translateX(4px);
}
.card-content h3 {
margin: 0;
font-size: 1.2rem;
font-weight: 700;
color: var(--text);
letter-spacing: -0.01em;
transition: color 0.3s ease;
}
.service-card:hover .card-content h3 {
color: var(--primary);
}
.card-content p {
margin: 0.35rem 0 0;
font-size: 0.95rem;
color: var(--text-secondary);
transition: color 0.3s ease;
}
.service-card:hover .card-content p {
color: var(--primary-dark);
}
.card-arrow {
margin-left: 1.25rem;
opacity: 0.5;
transition: all 0.4s ease;
display: flex;
align-items: center;
justify-content: center;
width: 32px;
height: 32px;
border-radius: 50%;
}
.service-card:hover .card-arrow {
background: rgba(59, 130, 246, 0.1);
}
.card-arrow i {
font-size: 1.25rem;
transition: all 0.4s ease;
}
/* Custom Service Colors */
.proxmox .svg-icon { filter: hue-rotate(15deg) saturate(1.2); }
.proxmox-backup .svg-icon { filter: hue-rotate(30deg) saturate(1.2); }
.synology .svg-icon { filter: hue-rotate(45deg) saturate(1.2); }
.nginx-proxy-manager .svg-icon { filter: hue-rotate(60deg) saturate(1.2); }
.openwrt .svg-icon { filter: hue-rotate(75deg) saturate(1.2); }
.cloudflare .svg-icon { filter: hue-rotate(90deg) saturate(1.2); }
.wireguard .svg-icon { filter: hue-rotate(105deg) saturate(1.2); }
.adguard .svg-icon { filter: hue-rotate(120deg) saturate(1.2); }
.pihole .svg-icon { filter: hue-rotate(135deg) saturate(1.2); }
.portainer .svg-icon { filter: hue-rotate(150deg) saturate(1.2); }
.n8n .svg-icon { filter: hue-rotate(165deg) saturate(1.2); }
.aapanel .svg-icon { filter: hue-rotate(180deg) saturate(1.2); }
.kavita .svg-icon { filter: hue-rotate(195deg) saturate(1.2); }
/* Footer */
.footer {
background: var(--surface);
border-top: 1px solid var(--border);
padding: 1.5rem 0;
text-align: center;
color: var(--text-secondary);
}
/* Responsive Design */
@media (max-width: 768px) {
.cards-grid {
grid-template-columns: 1fr;
}
.welcome-card {
text-align: center;
padding: 2rem;
}
.welcome-card h1 {
font-size: 2rem;
}
.service-section {
margin-bottom: 1rem;
padding: 1.5rem;
}
.section-title {
font-size: 1.25rem;
}
}
/* Animations */
@keyframes fadeIn {
from {
opacity: 0;
transform: translateY(10px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.service-section {
animation: fadeIn 0.5s ease-out;
}