Compare commits

...

19 commits

182 changed files with 3538 additions and 1127 deletions

11
.gitignore vendored
View file

@ -1,5 +1,5 @@
#config file #config file
public/API/lib/config.php src/API/lib/config.php
#phpstorm #phpstorm
.idea/ .idea/
@ -7,13 +7,14 @@ public/API/lib/config.php
# vscode # vscode
.vscode/ .vscode/
public/css/
public/js/
.sass-cache/
#node cache #node cache
node_modules/ node_modules/
pnpm-lock.yaml pnpm-lock.yaml
#composer #composer
public/API/vendor src/API/vendor
# parcel
dist/
.parcel-cache/

View file

@ -4,8 +4,6 @@
FROM node:lts-alpine AS buildJS FROM node:lts-alpine AS buildJS
WORKDIR /build WORKDIR /build
COPY . . COPY . .
RUN mkdir public/js
RUN mkdir public/css
RUN yarn install RUN yarn install
RUN yarn compile RUN yarn compile
@ -14,7 +12,7 @@ RUN yarn compile
# |-------------------------------------------------------------------------- # |--------------------------------------------------------------------------
FROM composer:2 AS composer FROM composer:2 AS composer
WORKDIR /build WORKDIR /build
COPY --from=buildJS /build . COPY --from=buildJS /build/dist .
RUN composer install RUN composer install
# |-------------------------------------------------------------------------- # |--------------------------------------------------------------------------

View file

@ -6,19 +6,15 @@
"author": "jonasled <git@jonasled.de>", "author": "jonasled <git@jonasled.de>",
"license": "GPL-3.0-or-later", "license": "GPL-3.0-or-later",
"scripts": { "scripts": {
"compile": "concurrently \"yarn css\" \"yarn js\"", "watch": "parcel serve src/*.html src/*/*.html",
"css": "stylus styl/ -o public/css/ ", "build": "parcel build src/*.html src/*/*.html"
"js": "webpack --config ./webpack.conf.js",
"watch": "concurrently \"stylus -w styl/ -o public/css/\" \"cd public && php -S 0.0.0.0:1234\" \"webpack --config ./webpack.conf.js --mode development --watch\""
}, },
"devDependencies": { "devDependencies": {
"concurrently": "^6.0.0", "@parcel/transformer-sass": "^2.2.1"
"webpack": "^5.28.0",
"webpack-cli": "^4.5.0",
"stylus": "^0.56.0"
}, },
"dependencies": { "dependencies": {
"basiclightbox": "^5.0.4", "basiclightbox": "^5.0.4",
"chart.js": "^2.9.4" "chart.js": "^2.9.4",
"parcel": "^2.2.1"
} }
} }

View file

@ -3,7 +3,7 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>404 - Page not found</title> <title>404 - Page not found</title>
<link href="/css/error.css" rel="stylesheet"> <link href="scss/error.scss" rel="stylesheet">
</head> </head>
<body> <body>
<jl-matomo></jl-matomo> <jl-matomo></jl-matomo>
@ -43,6 +43,6 @@
]; ];
</script> </script>
<script src="/js/script.js"></script> <script src="js/script.js" type="module"></script>
</body> </body>
</html> </html>

View file

@ -4,7 +4,7 @@
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta content="width=device-width, initial-scale=1.0" name="viewport"> <meta content="width=device-width, initial-scale=1.0" name="viewport">
<title></title> <title></title>
<link href="/css/style.css" rel="stylesheet"> <link href="scss/style.scss" rel="stylesheet">
</head> </head>
<body> <body>
<jl-header data-title="Über mich"></jl-header> <jl-header data-title="Über mich"></jl-header>
@ -30,6 +30,6 @@
href="https://gitlab.jonasled.de/">gitlab.jonasled.de</a>&nbsp;zu finden.</p> href="https://gitlab.jonasled.de/">gitlab.jonasled.de</a>&nbsp;zu finden.</p>
</div> </div>
<jl-footer></jl-footer> <jl-footer></jl-footer>
<script src="/js/script.js"></script> <script src="js/script.js" type="module"></script>
</body> </body>
</html> </html>

View file

@ -5,7 +5,7 @@
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta content="width=device-width, initial-scale=1.0" name="viewport"> <meta content="width=device-width, initial-scale=1.0" name="viewport">
<title></title> <title></title>
<link href="/css/style.css" rel="stylesheet"> <link href="../scss/style.scss" rel="stylesheet">
</head> </head>
<body> <body>
@ -18,16 +18,16 @@
href="https://www.debian.org/download">hier</a> heruntergeladen werden. Hierfür wird ein System mit href="https://www.debian.org/download">hier</a> heruntergeladen werden. Hierfür wird ein System mit
mindestens 2GB RAM, 2 Kernen und 10GB Storage empfohlen. Wenn die VM con der CD gebootet wird kommt als mindestens 2GB RAM, 2 Kernen und 10GB Storage empfohlen. Wenn die VM con der CD gebootet wird kommt als
erstes ein Auswahlmenü, in diesem die Option Install wählen und danach enter drücken.</p> erstes ein Auswahlmenü, in diesem die Option Install wählen und danach enter drücken.</p>
<img src="/API/getFile.php?filename=img/debian_grub.jpg"> <img src="../assets/img/debian_grub.jpg">
<p>Im nächsten Schritt wird die Sprache, die Region und das Tastaturlayout fetgelegt. Im nächsten Schritt <p>Im nächsten Schritt wird die Sprache, die Region und das Tastaturlayout fetgelegt. Im nächsten Schritt
konfiguriert Debian einige Einstellungen wie die Netzwerkkonfiguration. Wenn die automatische Konfiguration konfiguriert Debian einige Einstellungen wie die Netzwerkkonfiguration. Wenn die automatische Konfiguration
abgeschlossen ist, frag der Installer nach dem Hostname, dieser kann frei gewählt werden. Ich verwende abgeschlossen ist, frag der Installer nach dem Hostname, dieser kann frei gewählt werden. Ich verwende
hierbei gerne Namen, die zu dem System passen, wie zum Beispiel mailcow. Der Domain Name im darauffolgenden hierbei gerne Namen, die zu dem System passen, wie zum Beispiel mailcow. Der Domain Name im darauffolgenden
Schritt kann leer gelassen werden. Wenn dieser festgelegt wurde sollte das Passwort für den root Benutzer Schritt kann leer gelassen werden. Wenn dieser festgelegt wurde sollte das Passwort für den root Benutzer
festgelegt werden. Hierbei sollte auf einen <a href="/passwordgen.html/">Passwortgenerator</a> festgelegt werden. Hierbei sollte auf einen <a href="../passwordgen.html">Passwortgenerator</a>
gesetzt werden. Nachdem das Passwort für den root Benutzer festgelegt wurde fragt Debian noch nach gesetzt werden. Nachdem das Passwort für den root Benutzer festgelegt wurde fragt Debian noch nach
benötigten Daten für einen nicht root Nutzer. Hierbei muss ein Anzeigenahme, ein Nutzername und ein <a benötigten Daten für einen nicht root Nutzer. Hierbei muss ein Anzeigenahme, ein Nutzername und ein <a
href="/passwordgen.html/">generiertes Passwort</a> festgelegt werden. Die Partitionierung href="../passwordgen.html">generiertes Passwort</a> festgelegt werden. Die Partitionierung
wird mit <code class="language-text">Guieded - use entire disk</code> bestätigt, danach die Festplatte wird mit <code class="language-text">Guieded - use entire disk</code> bestätigt, danach die Festplatte
ausgewählt. Als Partitionsschema wird ausgewählt. Als Partitionsschema wird
<code class="language-text">All Files in one partition</code> gewählt. Wenn alle Optionen gesetzt wurden <code class="language-text">All Files in one partition</code> gewählt. Wenn alle Optionen gesetzt wurden
@ -37,8 +37,8 @@
class="language-text">yes</code> class="language-text">yes</code>
bestätigt. bestätigt.
</p> </p>
<img src="/API/getFile.php?filename=img/debian_partition_method.jpg"> <img src="../assets/img/debian_partition_method.jpg">
<img src="/API/getFile.php?filename=img/debian_partition_finish.jpg"> <img src="../assets/img/debian_partition_finish.jpg">
<p>Nun wird Debian auf die Festplatte installiert. Jenachdem wie schnell das Bootlaufwerk und die Festplatte ist <p>Nun wird Debian auf die Festplatte installiert. Jenachdem wie schnell das Bootlaufwerk und die Festplatte ist
kann dieser Schritt einige Minuten dauern. Nachdem die ersten Dateien auf die Festplatte kopiert wurden, kann dieser Schritt einige Minuten dauern. Nachdem die ersten Dateien auf die Festplatte kopiert wurden,
fragt Debian ob CDs mit Paketen eingelesen werden sollen. Dieser Schritt sollte mit <code fragt Debian ob CDs mit Paketen eingelesen werden sollen. Dieser Schritt sollte mit <code
@ -52,13 +52,13 @@
weitergeben. Im nächsten Schritt sollte nur der SSH Server aktiviert werden. Die Optionen können deaktiviert weitergeben. Im nächsten Schritt sollte nur der SSH Server aktiviert werden. Die Optionen können deaktiviert
oder aktiviert werden, indem mit den Pfeiltasten auf die entsprechende Option navigiert wird und dann die oder aktiviert werden, indem mit den Pfeiltasten auf die entsprechende Option navigiert wird und dann die
Leertaste gedrückt wird.</p> Leertaste gedrückt wird.</p>
<img src="/API/getFile.php?filename=img/debian_scan_media.jpg"> <img src="../assets/img/debian_scan_media.jpg">
<img src="/API/getFile.php?filename=img/debian_survey.jpg"> <img src="../assets/img/debian_survey.jpg">
<img src="/API/getFile.php?filename=img/debian_software.jpg"> <img src="../assets/img/debian_software.jpg">
<p>Nachdem der SSH Server installiert wurde, muss der Bootloader installiert werden, dafür muss bei der Frage ob <p>Nachdem der SSH Server installiert wurde, muss der Bootloader installiert werden, dafür muss bei der Frage ob
Grub installiert werden soll "Yes" gedrückt werdeb und in der nächsten Seite die Systemfestplatte ausgewählt Grub installiert werden soll "Yes" gedrückt werdeb und in der nächsten Seite die Systemfestplatte ausgewählt
werden.</p> werden.</p>
<img src="/API/getFile.php?filename=img/debian_grub_install.jpg"> <img src="../assets/img/debian_grub_install.jpg">
<p>Nachdem das System installiert wurde wird Debian neugestartet. Nun kann sich entweder über die Oberfläche <p>Nachdem das System installiert wurde wird Debian neugestartet. Nun kann sich entweder über die Oberfläche
angemeldet werden oder via SSH über die IP Adresse. Nach der Authentifizierung am System mit dem zuvor angemeldet werden oder via SSH über die IP Adresse. Nach der Authentifizierung am System mit dem zuvor
erstellten Nutzer muss sich als root angemeldet werden und danach das System auf den neuesten Stand gebracht erstellten Nutzer muss sich als root angemeldet werden und danach das System auf den neuesten Stand gebracht
@ -127,7 +127,7 @@ cd mailcow-dockerized
die IP Adresse der reverse DNS Eintrag auf den gleichen Domain wie im MX Eintrag geändert werden (also in meinem die IP Adresse der reverse DNS Eintrag auf den gleichen Domain wie im MX Eintrag geändert werden (also in meinem
Fall auf <code class="language-text">mail.jonasled-test.xyz</code>) Fall auf <code class="language-text">mail.jonasled-test.xyz</code>)
</p> </p>
<img src="/API/getFile.php?filename=img/mailcow_dns.jpg"> <img src="../assets/img/mailcow_dns.jpg">
<p> <p>
Wenn nun alle DNS Einstellungen laufen kann Mailcow das erste mal mit dem nachfolgenden Befehl gestartet Wenn nun alle DNS Einstellungen laufen kann Mailcow das erste mal mit dem nachfolgenden Befehl gestartet
werden. Beim ersten mal werden alle Programme heruntergeladen, abhängig von der Internetgeschwindigkeit kann werden. Beim ersten mal werden alle Programme heruntergeladen, abhängig von der Internetgeschwindigkeit kann
@ -139,14 +139,14 @@ cd mailcow-dockerized
# nicht benötigt falls noch als root angemeldet aus dem vorherigen Schritt. # nicht benötigt falls noch als root angemeldet aus dem vorherigen Schritt.
docker-compose up</code> docker-compose up</code>
</pre> </pre>
<img src="/API/getFile.php?filename=img/mailcow_login.jpg"> <img src="../assets/img/mailcow_login.jpg">
<p> <p>
Nachdem das oben abgebildete Login Fenster angezeigt wird, ist Mailcow fertig gestartet. Der default Nachdem das oben abgebildete Login Fenster angezeigt wird, ist Mailcow fertig gestartet. Der default
Nutzername ist admin mit dem Passwort moohoo, dieses sollte umgehend nach dem ersten Login abgeändert Nutzername ist admin mit dem Passwort moohoo, dieses sollte umgehend nach dem ersten Login abgeändert
werden. Dazu in der Benutzerübersicht beim Admin Benutzer auf <code class="language-text">edit</code> werden. Dazu in der Benutzerübersicht beim Admin Benutzer auf <code class="language-text">edit</code>
(blauer Button im Bild unten) klicken (blauer Button im Bild unten) klicken
und ein neues Passwort mit und ein neues Passwort mit
einem <a href="/passwordgen.html">Passwortgenerator</a> erstellen und speichern. Als nächstes einem <a href="../passwordgen.html">Passwortgenerator</a> erstellen und speichern. Als nächstes
empfehle ich dringend ein Zweifaktor Login festzulegen. Dazu kann entweder wenn ein passender <a empfehle ich dringend ein Zweifaktor Login festzulegen. Dazu kann entweder wenn ein passender <a
href="https://www.amazon.de/dp/B07HBD71HL/">Hardwareschlüssel</a> vorhanden ist WebAuthn oder Yubico href="https://www.amazon.de/dp/B07HBD71HL/">Hardwareschlüssel</a> vorhanden ist WebAuthn oder Yubico
verwendet werden. Wenn kein Hardwareshlüssel vorhanden ist, können time based OTP Keys verwendet werden. verwendet werden. Wenn kein Hardwareshlüssel vorhanden ist, können time based OTP Keys verwendet werden.
@ -161,22 +161,22 @@ docker-compose up</code>
class="language-text">Mailboxes</code> können nun class="language-text">Mailboxes</code> können nun
Mailboxen angelegt werden. Mailboxen angelegt werden.
</p> </p>
<img src="/API/getFile.php?filename=img/mailcow_setup_mail.jpg"> <img src="../assets/img/mailcow_setup_mail.jpg">
<img src="/API/getFile.php?filename=img/mailcow_domain_setup.jpg"><br> <img src="../assets/img/mailcow_domain_setup.jpg"><br>
<img src="/API/getFile.php?filename=img/mailcow_domain_new_1.jpg"> <img src="../assets/img/mailcow_domain_new_1.jpg">
<img src="/API/getFile.php?filename=img/mailcow_domain_new_2.jpg"> <img src="../assets/img/mailcow_domain_new_2.jpg">
<p> <p>
In der Mailbox Konfiguration kann nun mit dem Button <code class="language-text">Add mailbox</code> eine In der Mailbox Konfiguration kann nun mit dem Button <code class="language-text">Add mailbox</code> eine
neue Mailbox angelegt werden. Hier neue Mailbox angelegt werden. Hier
muss der Teil der Mail vor dem <code class="language-text">@</code> angegeben werden. (Beispielswiese für muss der Teil der Mail vor dem <code class="language-text">@</code> angegeben werden. (Beispielswiese für
die Mail <code class="language-text">info@jonasled-test.xyz</code> die Mail <code class="language-text">info@jonasled-test.xyz</code>
muss hier info angegeben werden) Danach sollte der volle Name des Nutzers und ein Passwort aus einem muss hier info angegeben werden) Danach sollte der volle Name des Nutzers und ein Passwort aus einem
<a href="/passwordgen.html/">Passwortgenerator</a> festgelegt werden. Wenn nun alle <a href="../passwordgen.html">Passwortgenerator</a> festgelegt werden. Wenn nun alle
Einstellungen passen, kann der Domain mit <code class="language-text">Add</code> angelegt werden. Nun kann Einstellungen passen, kann der Domain mit <code class="language-text">Add</code> angelegt werden. Nun kann
sich der Nutzer ins SOGo anmelden sich der Nutzer ins SOGo anmelden
um das Webmail zu nutzen oder mit einem Client wie Thunderbird anmelden. um das Webmail zu nutzen oder mit einem Client wie Thunderbird anmelden.
</p> </p>
<img src="/API/getFile.php?filename=img/mailcow_mailbox_new.jpg"> <img src="../assets/img/mailcow_mailbox_new.jpg">
<p> <p>
Nachdem wir nun die erste Mailbox erstellt haben, muss noch ein DNS Eintrag erstellt werden, damit andere Nachdem wir nun die erste Mailbox erstellt haben, muss noch ein DNS Eintrag erstellt werden, damit andere
Server validieren können, dass der sendende Server wirklich authorisiert dazu ist. Dazu im Mailcow Admin Server validieren können, dass der sendende Server wirklich authorisiert dazu ist. Dazu im Mailcow Admin
@ -191,11 +191,11 @@ docker-compose up</code>
href="https://www.mail-tester.com/">mail-tester.com</a>. Auf dieser bekommt man eine Mail Adresse, an href="https://www.mail-tester.com/">mail-tester.com</a>. Auf dieser bekommt man eine Mail Adresse, an
welche man eine Mail senden kann und danach alle fehler angezeigt bekommt. welche man eine Mail senden kann und danach alle fehler angezeigt bekommt.
</p> </p>
<img src="/API/getFile.php?filename=img/mailcow_dkim_webui.jpg"> <img src="../assets/img/mailcow_dkim_webui.jpg">
<img src="/API/getFile.php?filename=img/mailcow_dkim_dns.jpg"> <img src="../assets/img/mailcow_dkim_dns.jpg">
</div> </div>
<jl-footer></jl-footer> <jl-footer></jl-footer>
<script src="/js/script.js"></script> <script src="../js/script.js" type="module"></script>
<script> <script>
document.title = "Mailcow installieren - Jonas Leder"; document.title = "Mailcow installieren - Jonas Leder";
</script> </script>

View file

@ -5,7 +5,7 @@
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta content="width=device-width, initial-scale=1.0" name="viewport"> <meta content="width=device-width, initial-scale=1.0" name="viewport">
<title></title> <title></title>
<link href="/css/style.css" rel="stylesheet"> <link href="../scss/style.scss" rel="stylesheet">
</head> </head>
<body> <body>
@ -70,7 +70,7 @@ chown apache /var/www/localhost/htdocs/ -R</code>
installiert. Nachdem dieser Schritt erfolgreich durchlaufen ist landen wir auf der Setup-Seite, dort müssen wir installiert. Nachdem dieser Schritt erfolgreich durchlaufen ist landen wir auf der Setup-Seite, dort müssen wir
unsere Datenbank und unseren admin Nutzer wie unten im Bild zu sehen angeben. Falls gewünscht unten den Haken unsere Datenbank und unseren admin Nutzer wie unten im Bild zu sehen angeben. Falls gewünscht unten den Haken
bei den empfohlenden Anwendungen entfernen.<br> bei den empfohlenden Anwendungen entfernen.<br>
<img src="/API/getFile.php?filename=img/nextcloud-setup.png"><br> <img src="../assets/img/nextcloud-setup.png"><br>
Nachdem die Datenbank angelegt und alle Apps installiert wurden, solltest du auf der Startseite der Nextcloud Nachdem die Datenbank angelegt und alle Apps installiert wurden, solltest du auf der Startseite der Nextcloud
gelandet sein. Optional kann nun für mehr performance noch ein Memory-Caching konfiguriert werden. Wie dieses gelandet sein. Optional kann nun für mehr performance noch ein Memory-Caching konfiguriert werden. Wie dieses
eingerichtet ist, kann dem <a eingerichtet ist, kann dem <a
@ -84,4 +84,4 @@ chown apache /var/www/localhost/htdocs/ -R</code>
<jl-footer></jl-footer> <jl-footer></jl-footer>
<script src="/js/script.js"></script> <script src="../js/script.js" type="module"></script>

View file

@ -4,7 +4,7 @@
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta content="width=device-width, initial-scale=1.0" name="viewport"> <meta content="width=device-width, initial-scale=1.0" name="viewport">
<title></title> <title></title>
<link href="/css/style.css" rel="stylesheet"> <link href="../scss/style.scss" rel="stylesheet">
</head> </head>
<body> <body>
<jl-header data-title="Installation von Snowboy"></jl-header> <jl-header data-title="Installation von Snowboy"></jl-header>
@ -31,7 +31,7 @@ build-essential git python3-setuptools python3-dev autotools-dev automake</code>
<pre><code class="language-bash">wget http://downloads.sourceforge.net/swig/swig-3.0.12.tar.gz <pre><code class="language-bash">wget http://downloads.sourceforge.net/swig/swig-3.0.12.tar.gz
tar -xovzf swig-3.0.12.tar.gz tar -xovzf swig-3.0.12.tar.gz
cd swig-3.0.12 cd swig-3.0.12
wget https://sourceforge.net/projects/pcre/API/getFile.php?filename=files/pcre/8.42/pcre-8.42.tar.gz wget https://sourceforge.net/projects/pcre../assets/files/pcre/8.42/pcre-8.42.tar.gz
./Tools/pcre-build.sh ./Tools/pcre-build.sh
./autogen ./autogen
./configure ./configure
@ -57,8 +57,8 @@ make</code></pre>
Rate". Das Problem der Soundkarte ist, dass sie nur 44kHz als Abtastrate unterstützt, Snowboy braucht aber eine Rate". Das Problem der Soundkarte ist, dass sie nur 44kHz als Abtastrate unterstützt, Snowboy braucht aber eine
Abtastrate von 16kHz wie ich daraufhin nachgelesen habe. Unten sind zwei Screenshots der Fehler angefügt.</p> Abtastrate von 16kHz wie ich daraufhin nachgelesen habe. Unten sind zwei Screenshots der Fehler angefügt.</p>
<br> <br>
<img src="/API/getFile.php?filename=img/snowboy_no_mic.png"> <img src="../assets/img/snowboy_no_mic.png">
<img src="/API/getFile.php?filename=img/snowboy_wrong_sample_rate.png"> <img src="../assets/img/snowboy_wrong_sample_rate.png">
<h2>Kommentare:</h2> <h2>Kommentare:</h2>
<jl-comments_display></jl-comments_display> <jl-comments_display></jl-comments_display>
<jl-new_comment id="newComment"></jl-new_comment> <jl-new_comment id="newComment"></jl-new_comment>
@ -66,4 +66,4 @@ make</code></pre>
<jl-footer></jl-footer> <jl-footer></jl-footer>
<script src="/js/script.js"></script> <script src="../js/script.js" type="module"></script>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
src/assets/img/Insecam.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 827 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 187 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 133 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 253 KiB

BIN
src/assets/img/PC.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 MiB

BIN
src/assets/img/Spiegel.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1,005 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 963 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 133 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 735 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

BIN
src/assets/img/epyc.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 243 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
src/assets/img/hpServer.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 720 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 939 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 675 KiB

BIN
src/assets/img/laptop.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

BIN
src/assets/img/nas.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 703 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 612 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 188 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 243 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
src/assets/skills/a_css.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

BIN
src/assets/skills/a_php.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Some files were not shown because too many files have changed in this diff Show more