replaced all php pages with html
This commit is contained in:
parent
0b7c1d52a3
commit
74d3104f3f
44 changed files with 1181 additions and 633 deletions
|
@ -6,9 +6,9 @@ class Footer extends HTMLElement {
|
|||
<div id="blueBar"></div>
|
||||
<div id="footerContent">
|
||||
<div>
|
||||
<a href="/datenschutzerklaerung.php">Datenschutzerklärung</a><br>
|
||||
<a href="/bildquellen.php">Bildquellen</a><br>
|
||||
<a href="/impressum.php">Impressum</a><br>
|
||||
<a href="/datenschutzerklaerung.html">Datenschutzerklärung</a><br>
|
||||
<a href="/bildquellen.html">Bildquellen</a><br>
|
||||
<a href="/impressum.html">Impressum</a><br>
|
||||
</div>
|
||||
<div id="newestPost">
|
||||
<h3>Neueste Beiträge:</h3>
|
||||
|
|
|
@ -21,7 +21,7 @@ class newComment extends HTMLElement {
|
|||
<div class="h-captcha" data-theme="dark" data-sitekey="${sitekey}"></div><br>
|
||||
|
||||
<input type="submit" value="Kommentar veröffentlichen"><br>
|
||||
<p>Mit dem Klick auf den obigen Button erklären sie sich mit der <a href="/datenschutzerklaerung.php">Datenschutzerklärung</a> einverstanden.</p>
|
||||
<p>Mit dem Klick auf den obigen Button erklären sie sich mit der <a href="/datenschutzerklaerung.html">Datenschutzerklärung</a> einverstanden.</p>
|
||||
</form>
|
||||
`;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
ErrorDocument 404 /404.php
|
||||
ErrorDocument 404 /404.html
|
||||
Options -Indexes
|
||||
|
||||
<FilesMatch "\.(sql)$">
|
||||
|
|
|
@ -1,13 +1,3 @@
|
|||
<?php
|
||||
include "internal/config.php";
|
||||
|
||||
if (strpos($_SERVER['HTTP_HOST'], '.onion') !== false) {
|
||||
$trackURL = $trackURLTor;
|
||||
} else {
|
||||
$trackURL = $trackURLNormal;
|
||||
}
|
||||
?>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
|
@ -16,9 +6,7 @@ if (strpos($_SERVER['HTTP_HOST'], '.onion') !== false) {
|
|||
<link href="/css/error.css" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<!-- Matomo Image Tracker-->
|
||||
<img src="<?php echo($trackURL); ?>" style="border:0" alt="" />
|
||||
<!-- End Matomo -->
|
||||
<jl-matomo></jl-matomo>
|
||||
<div id="particles-js"></div>
|
||||
<div class="terminal-window">
|
||||
<header>
|
|
@ -12,72 +12,72 @@ $responseJSON = [
|
|||
"childElements" => [
|
||||
[
|
||||
"name" => "Proxdroid - Proxmox Android App",
|
||||
"url" => "/Projekte/proxdroid.php",
|
||||
"url" => "/Projekte/proxdroid.html",
|
||||
"type" => "link"
|
||||
],
|
||||
[
|
||||
"name" => "Website Cloner",
|
||||
"url" => "/Projekte/websitecloner.php",
|
||||
"url" => "/Projekte/websitecloner.html",
|
||||
"type" => "link"
|
||||
],
|
||||
[
|
||||
"name" => "YouTube Downloader",
|
||||
"url" => "/Projekte/youtubedownloader.php",
|
||||
"url" => "/Projekte/youtubedownloader.html",
|
||||
"type" => "link"
|
||||
],
|
||||
[
|
||||
"name" => "MQTT Push",
|
||||
"url" => "/Projekte/mqttpush.php",
|
||||
"url" => "/Projekte/mqttpush.html",
|
||||
"type" => "link"
|
||||
],
|
||||
[
|
||||
"name" => "Geocaching Premium Log link Generator",
|
||||
"url" => "/Projekte/gclogLink.php",
|
||||
"url" => "/Projekte/gclogLink.html",
|
||||
"type" => "link"
|
||||
],
|
||||
[
|
||||
"name" => "LED Tisch Version 1",
|
||||
"url" => "/Projekte/ledtisch1.php",
|
||||
"url" => "/Projekte/ledtisch1.html",
|
||||
"type" => "link"
|
||||
],
|
||||
[
|
||||
"name" => "LED Tisch Version 2",
|
||||
"url" => "/Projekte/ledtisch2.php",
|
||||
"url" => "/Projekte/ledtisch2.html",
|
||||
"type" => "link"
|
||||
],
|
||||
[
|
||||
"name" => "Regensensor",
|
||||
"url" => "/Projekte/regensensor.php",
|
||||
"url" => "/Projekte/regensensor.html",
|
||||
"type" => "link"
|
||||
],
|
||||
[
|
||||
"name" => "Blitzortung",
|
||||
"url" => "/Projekte/blitzortung.php",
|
||||
"url" => "/Projekte/blitzortung.html",
|
||||
"type" => "link"
|
||||
],
|
||||
[
|
||||
"name" => "Insecam",
|
||||
"url" => "/Projekte/insecam.php",
|
||||
"url" => "/Projekte/insecam.html",
|
||||
"type" => "link"
|
||||
],
|
||||
[
|
||||
"name" => "URL Kürzer V1",
|
||||
"url" => "/Projekte/URLkuerzer1.php",
|
||||
"url" => "/Projekte/URLkuerzer1.html",
|
||||
"type" => "link"
|
||||
],
|
||||
[
|
||||
"name" => "URL Küzer V2",
|
||||
"url" => "/Projekte/URLkuerzer2.php",
|
||||
"url" => "/Projekte/URLkuerzer2.html",
|
||||
"type" => "link"
|
||||
],
|
||||
[
|
||||
"name" => "Smart Mirror",
|
||||
"url" => "/Projekte/smartmirror.php",
|
||||
"url" => "/Projekte/smartmirror.html",
|
||||
"type" => "link"
|
||||
],
|
||||
[
|
||||
"name" => "Installation von Snowboy",
|
||||
"url" => "/Projekte/snowboy.php",
|
||||
"url" => "/Projekte/snowboy.html",
|
||||
"type" => "link"
|
||||
]
|
||||
|
||||
|
|
40
public/Projekte/URLkuerzer1.html
Normal file
40
public/Projekte/URLkuerzer1.html
Normal file
|
@ -0,0 +1,40 @@
|
|||
<!DOCTYPE html >
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta content="width=device-width, initial-scale=1.0" name="viewport">
|
||||
<title></title>
|
||||
<link href="/css/style.css" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<jl-header data-title="URL Kürzer V1"></jl-header>
|
||||
<div id="content">
|
||||
<p>Da Google seinen URL kürzer leider einstellt (vgl. <a
|
||||
href="https://developers.googleblog.com/2018/03/transitioning-google-url-shortener.html">https://developers.googleblog.com/2018/03/transitioning-google-url-shortener.html</a> ),
|
||||
habe ich mir das Ziel genommen selber einen schnellen URL kürzer ohne Werbung (wie z.b. <a
|
||||
href="https://adf.ly/">adf.ly</a>) zu schreiben. Zum Einsatz kommt dabei PHP für das Frontend Python für
|
||||
die SQL abfragen und MySQL als Datenbank.</p>
|
||||
<p>Wenn ihr den Quellcode verwenden wollt müsst ihr in eurem Webserver noch ein Alias konfigurieren. Für Apache
|
||||
würde dieser beispielhaft folgendermaßen lauten:</p>
|
||||
<p><em>AliasMatch "^/(.*)" "/var/www/url_shorter/index.php"</em></p>
|
||||
<p>Der Kürzer ist unter <a href="https://kurz.ml">kurz.ml</a> erreichbar.</p>
|
||||
<p><img src="/img/URL-kuerzer1.png"></p>
|
||||
<p><strong>Update:</strong> Da das alte Design nicht besonders schön aussah habe ich mich dazu entschlossen ein
|
||||
neues Design zu verwenden, welches jetzt auf <a href="https://getbootstrap.com/">Bootstrap</a> basiert. Das
|
||||
Design ist <a href="https://kurz.ml/design">hier</a> zu finden. Für die Benachrichtigungen unten rechts habe ich
|
||||
das <a href="https://github.com/kamranahmedse/jquery-toast-plugin">jquery-toast-plugin</a> von kamranahmedse
|
||||
verwendet. Desweiteren kann man sich in der neuen Version auch einen Link selber aussuchen. Die Weiterleitung
|
||||
blieb gleich wie vorher, dass heißt die alten links bleiben weiterhin bestehen und werden auch in Zukunft noch
|
||||
funktionieren. Eine weitere Anpassung, welche noch gemacht werden muss ist, dass er files Ordner auf einen
|
||||
anderen (sub)domain ausgelagert werden muss und in der index.php angepasst werden muss.</p><br>
|
||||
<a href="/files/shorter.zip">
|
||||
<button>Download</button>
|
||||
</a>
|
||||
<h2>Kommentare:</h2>
|
||||
<jl-comments_display></jl-comments_display>
|
||||
<jl-new_comment id="newComment"></jl-new_comment>
|
||||
</div>
|
||||
<jl-footer></jl-footer>
|
||||
|
||||
<script async defer src='https://www.hCaptcha.com/1/api.js'></script>
|
||||
<script src="/js/script.js"></script>
|
|
@ -1,19 +0,0 @@
|
|||
<?php
|
||||
include "../internal/header.php";
|
||||
include "../internal/footer.php";
|
||||
include "../internal/comments.php";
|
||||
|
||||
getHeader("URL Kürzer V1", "projekte");
|
||||
?>
|
||||
<p>Da Google seinen URL kürzer leider einstellt (vgl. <a href="https://developers.googleblog.com/2018/03/transitioning-google-url-shortener.html">https://developers.googleblog.com/2018/03/transitioning-google-url-shortener.html</a> ), habe ich mir das Ziel genommen selber einen schnellen URL kürzer ohne Werbung (wie z.b. <a href="https://adf.ly/">adf.ly</a>) zu schreiben. Zum Einsatz kommt dabei PHP für das Frontend Python für die SQL abfragen und MySQL als Datenbank.</p>
|
||||
<p>Wenn ihr den Quellcode verwenden wollt müsst ihr in eurem Webserver noch ein Alias konfigurieren. Für Apache würde dieser beispielhaft folgendermaßen lauten:</p>
|
||||
<p><em>AliasMatch "^/(.*)" "/var/www/url_shorter/index.php"</em></p>
|
||||
<p>Der Kürzer ist unter <a href="https://kurz.ml">kurz.ml</a> erreichbar.</p>
|
||||
<p><img src="/img/URL-kuerzer1.png"></p>
|
||||
<p><strong>Update:</strong> Da das alte Design nicht besonders schön aussah habe ich mich dazu entschlossen ein neues Design zu verwenden, welches jetzt auf <a href="https://getbootstrap.com/">Bootstrap</a> basiert. Das Design ist <a href="https://kurz.ml/design">hier</a> zu finden. Für die Benachrichtigungen unten rechts habe ich das <a href="https://github.com/kamranahmedse/jquery-toast-plugin">jquery-toast-plugin</a> von kamranahmedse verwendet. Desweiteren kann man sich in der neuen Version auch einen Link selber aussuchen. Die Weiterleitung blieb gleich wie vorher, dass heißt die alten links bleiben weiterhin bestehen und werden auch in Zukunft noch funktionieren. Eine weitere Anpassung, welche noch gemacht werden muss ist, dass er files Ordner auf einen anderen (sub)domain ausgelagert werden muss und in der index.php angepasst werden muss.</p><br>
|
||||
<a href="/files/shorter.zip"><button>Download</button></a>
|
||||
<?php
|
||||
|
||||
$article = basename($_SERVER["SCRIPT_FILENAME"], '.php');
|
||||
getComments($article);
|
||||
getFooter();
|
52
public/Projekte/URLkuerzer2.html
Normal file
52
public/Projekte/URLkuerzer2.html
Normal file
|
@ -0,0 +1,52 @@
|
|||
<!DOCTYPE html >
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta content="width=device-width, initial-scale=1.0" name="viewport">
|
||||
<title></title>
|
||||
<link href="/css/style.css" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<jl-header data-title="URL Kürzer V2"></jl-header>
|
||||
<div id="content">
|
||||
<p>Mein alter URL kürzer war zwar schon gut, jedoch hatte ich den kompletten Code sehr unübersichtlich gestaltet mit
|
||||
allem in einer PHP Datei und Alis Konfigurationen im Webserver. Dies war alles sehr unübersichtlich und schwer
|
||||
zu erweitern, selber hosten. Daher habe ich mich entschieden alles von vorne zu Programmieren und dabei auf
|
||||
möglichst übersichtlichen Code zu achten. Desweiteren war mir wichtig, dass jeder den URL kürzer mit möglichst
|
||||
kleinem Aufwand selber hosten kann. Daher habe ich mich für Python mit Flask und Waitress als Webserver
|
||||
entschieden. Das schöne an Flask ist, dass man eine dynamische HTML-Datei hat und im eigentlichen Python Script
|
||||
nur noch die Platzhalter ausfüllt. Als Datenspeicher habe ich mich diesesmal für SQLite entschieden, da dieses
|
||||
von der Performance völlig ausreichend ist und mit weniger Aufwand verbunden ist. Zum einfachen selber aufsetzen
|
||||
habe ich alles in einen Docker-Container verpackt. Neben des komplett neu geschriebenen Codes habe ich auch ein
|
||||
paar neue Features verbaut. So stehen nun mehrere Domains zur Verfügung (wie man es von adf.ly kennt). Zur Zeit
|
||||
sind es 8 Domains, dies kann sich aber noch ändern. Eine weitere Veränderung ist, dass nach dem kürzen eines
|
||||
URLs nun auch ein QR-Code angezeigt wird, mit diesem ist das teilen der Links noch einfacher. Und zu guter letzt
|
||||
ein für mich sehr wichtiges Feature ist die Größe der Website. Die Neue Website ist jetzt nur noch wenige
|
||||
Kilobyte groß. Das Schöne an der Verteilmethode via Docker ist auch, dass es für den Server kaum Voraussetzungen
|
||||
gibt. So muss nur Docker installiert sein. Es empfiehlt sich zwar noch einen Webserver als HTTPS Proxy zu
|
||||
installieren. Dies ist aber nicht zwingend notwendig.</p>
|
||||
<h3>UPDATES:</h3>
|
||||
<ol>
|
||||
<li>Ich habe mittlerweile einige neue Features implementiert. Dazu gehört ein Login System, mit welchem man
|
||||
seine eigenen Links einsehen und löschen kann. Dazu gibt es jetzt noch einen Darkmode, welcher automatisch
|
||||
eingeschaltet wird, wenn dies im Browser eingestellt ist. Dies waren jetzt die beiden Hauptänderungen, ich
|
||||
habe natürlich noch einiges mehr geändert / neu Implementiert, werde jetzt hier aber nicht alles aufzählen.
|
||||
</li>
|
||||
<li>Überall wird aktuell ein Darkmode implementiert, warum also auch nicht hier.</li>
|
||||
</ol>
|
||||
<p>Der Quellcode ist <a href="https://gitlab.jonasled.de/jonasled/url_shorter_docker">hier </a>zu finden. Dort ist
|
||||
auch eine <a
|
||||
href="https://gitlab.jonasled.de/jonasled/url_shorter_docker/wikis/install">Installationsanleitung</a>.
|
||||
Meine eigene Installation ist, wie der alte URL kürzer unter <a href="https://kurz.gq">kurz.gq</a> erreichbar.
|
||||
</p>
|
||||
Aktueller build Status: <img src="http://gitlab.jonasled.de/jonasled/url_shorter_docker/badges/master/pipeline.svg"><br>
|
||||
<img src="/img/kurz_ml_light.png">
|
||||
<img src="/img/kurz_ml_ldark.jpg">
|
||||
<h2>Kommentare:</h2>
|
||||
<jl-comments_display></jl-comments_display>
|
||||
<jl-new_comment id="newComment"></jl-new_comment>
|
||||
</div>
|
||||
<jl-footer></jl-footer>
|
||||
|
||||
<script async defer src='https://www.hCaptcha.com/1/api.js'></script>
|
||||
<script src="/js/script.js"></script>
|
|
@ -1,19 +0,0 @@
|
|||
<?php
|
||||
include "../internal/header.php";
|
||||
include "../internal/footer.php";
|
||||
include "../internal/comments.php";
|
||||
|
||||
getHeader("URL Kürzer V2", "projekte");
|
||||
?>
|
||||
<p>Mein alter URL kürzer war zwar schon gut, jedoch hatte ich den kompletten Code sehr unübersichtlich gestaltet mit allem in einer PHP Datei und Alis Konfigurationen im Webserver. Dies war alles sehr unübersichtlich und schwer zu erweitern, selber hosten. Daher habe ich mich entschieden alles von vorne zu Programmieren und dabei auf möglichst übersichtlichen Code zu achten. Desweiteren war mir wichtig, dass jeder den URL kürzer mit möglichst kleinem Aufwand selber hosten kann. Daher habe ich mich für Python mit Flask und Waitress als Webserver entschieden. Das schöne an Flask ist, dass man eine dynamische HTML-Datei hat und im eigentlichen Python Script nur noch die Platzhalter ausfüllt. Als Datenspeicher habe ich mich diesesmal für SQLite entschieden, da dieses von der Performance völlig ausreichend ist und mit weniger Aufwand verbunden ist. Zum einfachen selber aufsetzen habe ich alles in einen Docker-Container verpackt. Neben des komplett neu geschriebenen Codes habe ich auch ein paar neue Features verbaut. So stehen nun mehrere Domains zur Verfügung (wie man es von adf.ly kennt). Zur Zeit sind es 8 Domains, dies kann sich aber noch ändern. Eine weitere Veränderung ist, dass nach dem kürzen eines URLs nun auch ein QR-Code angezeigt wird, mit diesem ist das teilen der Links noch einfacher. Und zu guter letzt ein für mich sehr wichtiges Feature ist die Größe der Website. Die Neue Website ist jetzt nur noch wenige Kilobyte groß. Das Schöne an der Verteilmethode via Docker ist auch, dass es für den Server kaum Voraussetzungen gibt. So muss nur Docker installiert sein. Es empfiehlt sich zwar noch einen Webserver als HTTPS Proxy zu installieren. Dies ist aber nicht zwingend notwendig.</p>
|
||||
<h3>UPDATES:</h3>
|
||||
<ol><li>Ich habe mittlerweile einige neue Features implementiert. Dazu gehört ein Login System, mit welchem man seine eigenen Links einsehen und löschen kann. Dazu gibt es jetzt noch einen Darkmode, welcher automatisch eingeschaltet wird, wenn dies im Browser eingestellt ist. Dies waren jetzt die beiden Hauptänderungen, ich habe natürlich noch einiges mehr geändert / neu Implementiert, werde jetzt hier aber nicht alles aufzählen.</li><li>Überall wird aktuell ein Darkmode implementiert, warum also auch nicht hier.</li></ol>
|
||||
<p>Der Quellcode ist <a href="https://gitlab.jonasled.de/jonasled/url_shorter_docker">hier </a>zu finden. Dort ist auch eine <a href="https://gitlab.jonasled.de/jonasled/url_shorter_docker/wikis/install">Installationsanleitung</a>. Meine eigene Installation ist, wie der alte URL kürzer unter <a href="https://kurz.gq">kurz.gq</a> erreichbar.</p>
|
||||
Aktueller build Status: <img src="http://gitlab.jonasled.de/jonasled/url_shorter_docker/badges/master/pipeline.svg"><br>
|
||||
<img src="/img/kurz_ml_light.png">
|
||||
<img src="/img/kurz_ml_ldark.jpg">
|
||||
<?php
|
||||
|
||||
$article = basename($_SERVER["SCRIPT_FILENAME"], '.php');
|
||||
getComments($article);
|
||||
getFooter();
|
|
@ -1,10 +1,14 @@
|
|||
<?php
|
||||
include "../internal/header.php";
|
||||
include "../internal/footer.php";
|
||||
include "../internal/comments.php";
|
||||
|
||||
getHeader("Blitzortung", "projekte");
|
||||
?>
|
||||
<!DOCTYPE html >
|
||||
<html lang = "de" >
|
||||
<head >
|
||||
<meta charset = "UTF-8" >
|
||||
<meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
|
||||
<title></title>
|
||||
<link href = "/css/style.css" rel = "stylesheet" >
|
||||
</head >
|
||||
<body >
|
||||
<jl-header data-title="Blitzortung"></jl-header>
|
||||
<div id = "content" >
|
||||
<p>Mir wurde in den letzten bei den Gewittern hier in Deutschland die Seite <a href="https://www.lightningmaps.org/#x=;m=sat;r=0;t=3;s=0;o=0;b=;">lightningmaps.org</a> vorgeschlagen, welche ihre Daten vom Gemeinnützigen Projekt blitzortung.org bezieht. Da ich technisch sehr interessiert bin wollte ich natürlich gleich wissen wie diese Seite funktioniert. Online stand dann auch unter <a href="http://de.blitzortung.org/cover_your_area.php">mitmachen</a>, dass sie Seite auf private Anlagen setzt. Beim weiteren Surfen auf der Seite habe ich dann herausgefunden, dass es ein <a href="http://de.blitzortung.org/station_list.php">Verzeichnis</a> aller Stationen gibt, aber ohne Karte. Beim weiteren nachdenken kam ich auf die Idee, dass man das ganze ja so ähnlich wie meine <a href="https://jonasled.tk/insecam/">insecam Karte</a> umsetzen kann. Es gab nur ein Problem, ich hatte keine Koordinaten, sonder nur Ortsangaben. Dies konnte ich aber über eine API von Google lösen. Als die Karte dann lief, ist mir eingefallen, dass ich vielleicht die Marker färben könnte und somit den Status der Station darstellen könnte.</p>
|
||||
<p>Diese drei Marker gibt es:</p>
|
||||
<p><a href="https://blitzortung.jonasled.de/red-dot.png"><img class="alignnone size-large" src="https://blitzortung.jonasled.de/red-dot.png" width="32" height="32"></a>Offline<br><a href="https://blitzortung.jonasled.de/green-dot.png"><img class="alignnone size-large" src="https://blitzortung.jonasled.de/green-dot.png" width="32" height="32"></a>Online<br><a href="https://blitzortung.jonasled.de/ltblue-dot.png"><img class="alignnone size-large" src="https://blitzortung.jonasled.de/ltblue-dot.png" width="32" height="32"></a>Idle<br><a href="https://blitzortung.jonasled.de/blue-dot.png"><img class="alignnone size-large" src="https://blitzortung.jonasled.de/blue-dot.png" width="32" height="32"></a>Unknown</p>
|
||||
|
@ -16,8 +20,14 @@ getHeader("Blitzortung", "projekte");
|
|||
<p>Da Google für seine Karten auf eigenen Websites seit dem 16.Juli Geld verlangt habe ich die Karte auf leaflet umgeschrieben, welche die OSM Karten von Mapbox bezieht.</p><br>
|
||||
<a href="/files/blitzortung.zip"><button>Download V1</button></a>
|
||||
<a href="/files/blitzortung_v2.zip"><button>Download V2</button></a>
|
||||
<?php
|
||||
|
||||
$article = basename($_SERVER["SCRIPT_FILENAME"], '.php');
|
||||
getComments($article);
|
||||
getFooter();
|
||||
<h2>Kommentare:</h2>
|
||||
<jl-comments_display></jl-comments_display>
|
||||
<jl-new_comment id="newComment"></jl-new_comment>
|
||||
</div>
|
||||
<jl-footer></jl-footer>
|
||||
|
||||
<script src='https://www.hCaptcha.com/1/api.js' async defer></script>
|
||||
<script src="/js/script.js"></script>
|
||||
</body>
|
||||
</html>
|
28
public/Projekte/gclogLink.html
Normal file
28
public/Projekte/gclogLink.html
Normal file
|
@ -0,0 +1,28 @@
|
|||
<!DOCTYPE html >
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta content="width=device-width, initial-scale=1.0" name="viewport">
|
||||
<title></title>
|
||||
<link href="/css/style.css" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<jl-header data-title="Geocaching Premium Log link Generator"></jl-header>
|
||||
<div id="content">
|
||||
<p>Da ich auf <a href="https://geocaching.com">Geocaching.com</a> keine Premium Mitgliedschaft besitze, aber meine
|
||||
Eltern schon, mache ich auch manchmal mit denen Geocaches, welche nur für Premium Nutzer gedacht sind. Das
|
||||
loggen dieser Caches ist trotzdem möglich, vorausgesetzt, man weiß wie der Link aufgebaut ist. Daher habe ich
|
||||
ein Script für <a href="https://tampermonkey.net/">Tampermonkey</a> entwickelt, welches einen Button unter
|
||||
die Premium Meldung platziert, welcher einen zum Log weiterleitet. Ein Screenshot ist unten zu sehen. Den Script
|
||||
habe ich auf <a href="https://greasyfork.org">greasyfork.org</a> veröffentlicht, da dies eine sehr
|
||||
bekannte Seite für Scripte ist. Der Link zu meinem Script lautet: <a
|
||||
href="https://greasyfork.org/de/scripts/372017-geocaching-log-premium-for-free">greasyfork.org/de/scripts/372017-geocaching-log-premium-for-free</a>
|
||||
</p>
|
||||
<h2>Kommentare:</h2>
|
||||
<jl-comments_display></jl-comments_display>
|
||||
<jl-new_comment id="newComment"></jl-new_comment>
|
||||
</div>
|
||||
<jl-footer></jl-footer>
|
||||
|
||||
<script async defer src='https://www.hCaptcha.com/1/api.js'></script>
|
||||
<script src="/js/script.js"></script>
|
|
@ -1,13 +0,0 @@
|
|||
<?php
|
||||
include "../internal/header.php";
|
||||
include "../internal/footer.php";
|
||||
include "../internal/comments.php";
|
||||
|
||||
getHeader("Geocaching Premium Log link Generator", "projekte");
|
||||
?>
|
||||
<p>Da ich auf <a href="https://geocaching.com">Geocaching.com</a> keine Premium Mitgliedschaft besitze, aber meine Eltern schon, mache ich auch manchmal mit denen Geocaches, welche nur für Premium Nutzer gedacht sind. Das loggen dieser Caches ist trotzdem möglich, vorausgesetzt, man weiß wie der Link aufgebaut ist. Daher habe ich ein Script für <a href="https://tampermonkey.net/">Tampermonkey</a> entwickelt, welches einen Button unter die Premium Meldung platziert, welcher einen zum Log weiterleitet. Ein Screenshot ist unten zu sehen. Den Script habe ich auf <a href="https://greasyfork.org">greasyfork.org</a> veröffentlicht, da dies eine sehr bekannte Seite für Scripte ist. Der Link zu meinem Script lautet: <a href="https://greasyfork.org/de/scripts/372017-geocaching-log-premium-for-free">greasyfork.org/de/scripts/372017-geocaching-log-premium-for-free</a></p>
|
||||
<?php
|
||||
|
||||
$article = basename($_SERVER["SCRIPT_FILENAME"], '.php');
|
||||
getComments($article);
|
||||
getFooter();
|
49
public/Projekte/insecam.html
Normal file
49
public/Projekte/insecam.html
Normal file
|
@ -0,0 +1,49 @@
|
|||
<!DOCTYPE html >
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta content="width=device-width, initial-scale=1.0" name="viewport">
|
||||
<title></title>
|
||||
<link href="/css/style.css" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<jl-header data-title="Insecam Karte"></jl-header>
|
||||
<div id="content">
|
||||
<p>Insecam ist eine Seite, auf der viele ungesicherte Kameras streams dargestellt werden. Leider wird die
|
||||
Darstellung auf der Seite von Insecam ohne Karte gemacht, obwohl die Position online steht. Daher kam ich auf
|
||||
die Idee selbst eine Karte zu programmieren. Herausgekommen ist <a href="https://insecam.jonasled.tk">diese</a>
|
||||
wunderschöne Karte. Wer sich den Quellcode genauer anschaut wird sich fragen ob es sinnvoll ist alle Daten der
|
||||
Kameras beim Seitenaufbau zu laden, da die Variabel ja mehrere Megabyte groß ist. Die Antwort ist ja, da der
|
||||
Browser nur die Teile lädt die er braucht. Ein Versuch eines Freund das ganze mit einer SQL Datenbank zu lösen
|
||||
war langsamer und aufwendiger, deswegen ist dies die beste Lösung. Aktuell werden nur deutsche Kameras gescannt,
|
||||
dies kann man aber durch das abändern der Länder variable ändern.</p>
|
||||
<h2>Update 1:</h2>
|
||||
<p>Da ich festgestellt habe, dass die Streams in manchen Browsern in der Vorschau blockiert werden, habe ich einen
|
||||
Proxy eingerichtet, welcher die Streams über eine verschlüsselte Verbindung überträgt. Dadurch sollten das
|
||||
Problem mit der Vorschau behoben sein. Der Proxy Script kann auf GitHub gefunden werden: <a
|
||||
href="https://github.com/jenssegers/php-proxy">https://github.com/jenssegers/php-proxy</a> . In der
|
||||
Config sollte man aber die anpassen, dass die URLs nicht codiert werden.</p>
|
||||
<h2>Update 2:</h2>
|
||||
<p>Da die Positionsbestimmung nicht immer richtig funktioniert hatte habe ich sie durch eine Suchleiste ersetzt</p>
|
||||
<h2>Updaten 3:</h2>
|
||||
<p>Am 16.Juli 2018 hat Google seine API für Google Maps umgebaut. Seit diesem Tag verlangt Google Geld um Karten auf
|
||||
Websites einzubinden. Man kann zwar seine Kreditkarte hinterlegen und bekommt jeden Monat 200$, dies wollte ich
|
||||
aber nicht. Daher habe ich die Karte umgeschrieben. Sie setzt jetzt auf die Kartenbibliothek leaflet, welche auf
|
||||
die OpenStreetMap Karten von Mapbox zurückgreift.</p><br>
|
||||
<a href="/files/insecam.zip">
|
||||
<button>Download V1</button>
|
||||
</a> <a href="/files/Insecam_v2.zip">
|
||||
<button>Download V2</button>
|
||||
</a><br>
|
||||
<p>Alte Karte mit Google Maps:</p>
|
||||
<img src="/img/Insecam.png"><br>
|
||||
<p>Neue Karte mit Leaflet:</p>
|
||||
<img src="/img/insecam_neu.png"><br>
|
||||
<h2>Kommentare:</h2>
|
||||
<jl-comments_display></jl-comments_display>
|
||||
<jl-new_comment id="newComment"></jl-new_comment>
|
||||
</div>
|
||||
<jl-footer></jl-footer>
|
||||
|
||||
<script async defer src='https://www.hCaptcha.com/1/api.js'></script>
|
||||
<script src="/js/script.js"></script>
|
|
@ -1,24 +0,0 @@
|
|||
<?php
|
||||
include "../internal/header.php";
|
||||
include "../internal/footer.php";
|
||||
include "../internal/comments.php";
|
||||
|
||||
getHeader("Insecam", "projekte");
|
||||
?>
|
||||
<p>Insecam ist eine Seite, auf der viele ungesicherte Kameras streams dargestellt werden. Leider wird die Darstellung auf der Seite von Insecam ohne Karte gemacht, obwohl die Position online steht. Daher kam ich auf die Idee selbst eine Karte zu programmieren. Herausgekommen ist <a href="https://insecam.jonasled.tk">diese</a> wunderschöne Karte. Wer sich den Quellcode genauer anschaut wird sich fragen ob es sinnvoll ist alle Daten der Kameras beim Seitenaufbau zu laden, da die Variabel ja mehrere Megabyte groß ist. Die Antwort ist ja, da der Browser nur die Teile lädt die er braucht. Ein Versuch eines Freund das ganze mit einer SQL Datenbank zu lösen war langsamer und aufwendiger, deswegen ist dies die beste Lösung. Aktuell werden nur deutsche Kameras gescannt, dies kann man aber durch das abändern der Länder variable ändern.</p>
|
||||
<h2>Update 1:</h2>
|
||||
<p>Da ich festgestellt habe, dass die Streams in manchen Browsern in der Vorschau blockiert werden, habe ich einen Proxy eingerichtet, welcher die Streams über eine verschlüsselte Verbindung überträgt. Dadurch sollten das Problem mit der Vorschau behoben sein. Der Proxy Script kann auf GitHub gefunden werden: <a href="https://github.com/jenssegers/php-proxy">https://github.com/jenssegers/php-proxy</a> . In der Config sollte man aber die anpassen, dass die URLs nicht codiert werden.</p>
|
||||
<h2>Update 2:</h2>
|
||||
<p>Da die Positionsbestimmung nicht immer richtig funktioniert hatte habe ich sie durch eine Suchleiste ersetzt</p>
|
||||
<h2>Updaten 3:</h2>
|
||||
<p>Am 16.Juli 2018 hat Google seine API für Google Maps umgebaut. Seit diesem Tag verlangt Google Geld um Karten auf Websites einzubinden. Man kann zwar seine Kreditkarte hinterlegen und bekommt jeden Monat 200$, dies wollte ich aber nicht. Daher habe ich die Karte umgeschrieben. Sie setzt jetzt auf die Kartenbibliothek leaflet, welche auf die OpenStreetMap Karten von Mapbox zurückgreift.</p><br>
|
||||
<a href="/files/insecam.zip"><button>Download V1</button></a> <a href="/files/Insecam_v2.zip"><button>Download V2</button></a><br>
|
||||
<p>Alte Karte mit Google Maps:</p>
|
||||
<img src="/img/Insecam.png"><br>
|
||||
<p>Neue Karte mit Leaflet:</p>
|
||||
<img src="/img/insecam_neu.png"><br>
|
||||
<?php
|
||||
|
||||
$article = basename($_SERVER["SCRIPT_FILENAME"], '.php');
|
||||
getComments($article);
|
||||
getFooter();
|
|
@ -1,11 +1,17 @@
|
|||
<?php
|
||||
include "../internal/header.php";
|
||||
include "../internal/footer.php";
|
||||
include "../internal/comments.php";
|
||||
|
||||
getHeader("LED Tisch V1", "projekte");
|
||||
?>
|
||||
<h2><span style="color: #ff0000;">Du betrachtest Version 1. Zu Version 2 geht es <a style="color: #ff0000;" href="/Projekte/ledtisch2.php">hier</a></span></h2>
|
||||
<!DOCTYPE html >
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta content="width=device-width, initial-scale=1.0" name="viewport">
|
||||
<title></title>
|
||||
<link href="/css/style.css" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<jl-header data-title="LED Tisch V1"></jl-header>
|
||||
<div id="content">
|
||||
<h2><span style="color: #ff0000;">Du betrachtest Version 1. Zu Version 2 geht es <a href="/Projekte/ledtisch2.php"
|
||||
style="color: #ff0000;">hier</a></span>
|
||||
</h2>
|
||||
<h2> </h2>
|
||||
<h2>Materialien:</h2>
|
||||
<ul>
|
||||
|
@ -23,16 +29,19 @@ getHeader("LED Tisch V1", "projekte");
|
|||
<h2>Aufbau:</h2>
|
||||
<ul>
|
||||
<li style="list-style-type: none;">
|
||||
<li>Loch in Tischplatte Sägen (mindestmaße: 40x40cm)</li>
|
||||
<li>Inhalt des Tisches entfernen</li>
|
||||
<li>Löcher an der Seite für Netzteil, Taster und SD bohren bzw. Sägen</li>
|
||||
<li>Plexiglas passend zusagen, dass es in das Loch passt.</li>
|
||||
<li>LED Streifen in Stücke zu je 12 LEDs Schneiden (12stck)</li>
|
||||
<li>LED Streifen mit kurzen Kabeln passend zusammenl ten (<b>Datenrichtung beachten!!!</b>)</li>
|
||||
<li>Matrix aus Holz oder Pappe sägen bzw. schneiden und zusammenstecken (für die, die eine CNC zur verfügung haben, ist in der <a href=""https$">LED Streifen im S-layout an Matrix kleben (Heißkleber)</a></li>
|
||||
<li>Loch in Tischplatte Sägen (mindestmaße: 40x40cm)</li>
|
||||
<li>Inhalt des Tisches entfernen</li>
|
||||
<li>Löcher an der Seite für Netzteil, Taster und SD bohren bzw. Sägen</li>
|
||||
<li>Plexiglas passend zusagen, dass es in das Loch passt.</li>
|
||||
<li>LED Streifen in Stücke zu je 12 LEDs Schneiden (12stck)</li>
|
||||
<li>LED Streifen mit kurzen Kabeln passend zusammenl ten (<b>Datenrichtung beachten!!!</b>)</li>
|
||||
<li>Matrix aus Holz oder Pappe sägen bzw. schneiden und zusammenstecken (für die, die eine CNC zur verfügung
|
||||
haben, ist in der <a href=""https$">LED Streifen im S-layout an Matrix kleben (Heißkleber)</a></li>
|
||||
</li>
|
||||
</ul>
|
||||
<p><a href="https://raw.githubusercontent.com/Schildkroete1/LED-Tisch/master/Bilder/layout.jpg"><img src="https://github.com/Schildkroete1/LED-Tisch/raw/master/Bilder/layout.jpg?raw=true" alt="layout" width="420" /></a></p>
|
||||
<p><a href="https://raw.githubusercontent.com/Schildkroete1/LED-Tisch/master/Bilder/layout.jpg"><img
|
||||
alt="layout" src="https://github.com/Schildkroete1/LED-Tisch/raw/master/Bilder/layout.jpg?raw=true"
|
||||
width="420"/></a></p>
|
||||
<ul>
|
||||
<li style="list-style-type: none;">
|
||||
<ul>
|
||||
|
@ -40,7 +49,10 @@ getHeader("LED Tisch V1", "projekte");
|
|||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p><a href="https://raw.githubusercontent.com/Schildkroete1/LED-Tisch/master/Bilder/Schaltplan_Steckplatine.png"><img src="https://github.com/Schildkroete1/LED-Tisch/raw/master/Bilder/Schaltplan_Steckplatine.png?raw=true" alt="Schaltplan" width="420" /></a></p>
|
||||
<p>
|
||||
<a href="https://raw.githubusercontent.com/Schildkroete1/LED-Tisch/master/Bilder/Schaltplan_Steckplatine.png"><img
|
||||
alt="Schaltplan"
|
||||
src="https://github.com/Schildkroete1/LED-Tisch/raw/master/Bilder/Schaltplan_Steckplatine.png?raw=true" width="420"/></a></p>
|
||||
<ul>
|
||||
<li style="list-style-type: none;">
|
||||
<ul>
|
||||
|
@ -61,7 +73,9 @@ getHeader("LED Tisch V1", "projekte");
|
|||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p><a href="https://raw.githubusercontent.com/Schildkroete1/LED-Tisch/master/Bilder/SD.png"><img src="https://github.com/Schildkroete1/LED-Tisch/raw/master/Bilder/SD.png?raw=true" alt="SD Schaltplan" width="420" /></a></p>
|
||||
<p><a href="https://raw.githubusercontent.com/Schildkroete1/LED-Tisch/master/Bilder/SD.png"><img
|
||||
alt="SD Schaltplan" src="https://github.com/Schildkroete1/LED-Tisch/raw/master/Bilder/SD.png?raw=true"
|
||||
width="420"/></a></p>
|
||||
<ul>
|
||||
<li style="list-style-type: none;">
|
||||
<ul>
|
||||
|
@ -86,7 +100,8 @@ getHeader("LED Tisch V1", "projekte");
|
|||
<h2>Inbetriebnahme</h2>
|
||||
<ul>
|
||||
<li>Arduino mit Code Flashen (<a href="https://goo.gl/hVtJQw">LED-Tisch.ino</a>)</li>
|
||||
<li><a href="https://goo.gl/nmDRns">Glediator</a> oder <a href="https://goo.gl/EvUdjg">Jinx</a> herunterladen</li>
|
||||
<li><a href="https://goo.gl/nmDRns">Glediator</a> oder <a href="https://goo.gl/EvUdjg">Jinx</a> herunterladen
|
||||
</li>
|
||||
<li>Bootanimation aufnehmen und unter dem Namen Boot.dat abspeichern</li>
|
||||
<li>Weiter Animationen unter anderem Namen auf der SD speichern</li>
|
||||
<li>Filemenue.bat ausf hren (unter linux in filemenue.sh umbenennen)</li>
|
||||
|
@ -116,9 +131,15 @@ getHeader("LED Tisch V1", "projekte");
|
|||
<li>Zum Verlassen des Loop modes den Taster drücken</li>
|
||||
<li>Die LED sollte ausgehen.</li>
|
||||
</ul>
|
||||
<p><del>Den Quellcode findet ihr auf meinem <a href="https://gitlab.jonasled.de/jonasled/LED-Tisch">git Server</a> in der <a href="https://gitlab.jonasled.de/jonasled/LED-Tisch/src/branch/alt">alt Branch</a></del></p>
|
||||
<?php
|
||||
<p>
|
||||
<del>Den Quellcode findet ihr auf meinem <a href="https://gitlab.jonasled.de/jonasled/LED-Tisch">git Server</a>
|
||||
in der <a href="https://gitlab.jonasled.de/jonasled/LED-Tisch/src/branch/alt">alt Branch</a></del>
|
||||
</p>
|
||||
<h2>Kommentare:</h2>
|
||||
<jl-comments_display></jl-comments_display>
|
||||
<jl-new_comment id="newComment"></jl-new_comment>
|
||||
</div>
|
||||
<jl-footer></jl-footer>
|
||||
|
||||
$article = basename($_SERVER["SCRIPT_FILENAME"], '.php');
|
||||
getComments($article);
|
||||
getFooter();
|
||||
<script async defer src='https://www.hCaptcha.com/1/api.js'></script>
|
||||
<script src="/js/script.js"></script>
|
85
public/Projekte/ledtisch2.html
Normal file
85
public/Projekte/ledtisch2.html
Normal file
|
@ -0,0 +1,85 @@
|
|||
<!DOCTYPE html >
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta content="width=device-width, initial-scale=1.0" name="viewport">
|
||||
<title></title>
|
||||
<link href="/css/style.css" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<jl-header data-title="LED Tisch V2"></jl-header>
|
||||
<div id="content">
|
||||
<h2>Materialien für den LED Tisch:</h2>
|
||||
<ul>
|
||||
<li><a href="https://goo.gl/Dz8cbq">Ikea Lack Tisch</a></li>
|
||||
<li><a href="https://goo.gl/xasu43">Halbdurchsichtiges (milchiges) Plexiglas</a></li>
|
||||
<li><a href="https://www.exp-tech.de/plattformen/arduino/4947/teensy-3.2">Teensy 3.2</a></li>
|
||||
<li><a href="https://goo.gl/3Ajrmv">HC-05 Bluetooth Modul</a></li>
|
||||
<li><a href="https://goo.gl/bEv29h">WS2812 LED Streifen (5m / 150 LED)</a></li>
|
||||
<li>Holz oder Pappe für Matrix (Baumarkt)</li>
|
||||
<li><a href="http://kurz.ml/9JMipQ">4 Arcade Taster 45 mm</a></li>
|
||||
<li><a href="https://goo.gl/KRhwsU">Netzteil 5V 10A</a></li>
|
||||
<li><a href="https://goo.gl/zRvkP6">SD Karten leser für Arduino</a></li>
|
||||
<li><a href="https://goo.gl/Dxvjt8">SD Karte (muss nicht groß sein, meine ist 2GB groß und reicht locker)</a>
|
||||
</li>
|
||||
<li>Widerstand (300 - 500 Ohm)</li>
|
||||
</ul>
|
||||
<p>Für Version zwei habe ich meinen alten LED Tisch Verwendet un umgebaut, da mir die Ressourcen des Arduino Nanos
|
||||
nicht mehr ausgereicht haben. Der neue Tisch kann jetzt auch einige Spiele (Tetris, Snake, Tic Tac Toe).
|
||||
Desweiteren unterstützt er auch viel mehr Animationen. Auf der SD Karte solten folgende Daten sein:</p>
|
||||
<ul>
|
||||
<li>Ein Ordner Namens "ANIM"
|
||||
<ul>
|
||||
<li>In diesem Ordner befinden sich die mit Glediator erzeugten Animationen mit folgender Namensgebung
|
||||
myanim1.dat, myanim2.dat, ...
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Ein Ordner mit dem Namen "PICTURES"
|
||||
<ul>
|
||||
<li>in diesem Ordner befinden sich die Daten zu Vorher erzeugten Bildern mit den Namen P1.txt, P2.txt,
|
||||
... Das Programm zum erzeugen findet ihr unten.
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Highscore Dateien (Werden automatisch erzeugt)</li>
|
||||
<li>Eine Textdatei mit der Helligkeit (0-1024) namens HEL.TXT</li>
|
||||
<li>Eine Textdatei mit dem NAMEN TETSP.TXT für die Geschwindigkeit von Tetris</li>
|
||||
</ul>
|
||||
<p>Das HC-05 Modul wird an Serial1 angeschlossen und die LEDs an D3</p>
|
||||
<p>Die Software des LED Tisches stammt ursprünglich von <a href="https://github.com/davidhrbaty/IKEA-LED-Table">davidhrbaty</a> und
|
||||
wurde von <a href="http://www.instructables.com/id/Arduino-LED-Coffee-Table/">MarkQ8</a> umgeschrieben dass man
|
||||
statt einens XBox Controllers ein Handy mit Bluetooth verwenden kann. Ich habe dann noch weitere Funktionen
|
||||
eingebaut und die Schrift gespiegelt, da ich die Matrix anders angeordnet habe.</p>
|
||||
<p> </p>
|
||||
<p><strong>Update 1:</strong> Da der RAM auf dem Arduino Mega vollgelaufen ist, habe ich diesen nun durch ein
|
||||
Teensy 3.2 Ersetzt, welches 8 mal so viel RAM besitzt. Der Quellcode ist natürlich schon angepasst und
|
||||
aktualisiert.</p>
|
||||
<p><strong>Update 2: </strong>Ich habe mir die Zeit genommen den kompletten Quellcode zu überarbeiten, damit er
|
||||
wieder mit der aktuellen Arduino IDE funktioniert. Daneben habe ich noch ein paar neue Animationen und ein neues
|
||||
Spiel Realisiert. Die App wurde auch komplett neu mit Android Studio geschrieben.
|
||||
<del>Diese werde ich auch in den nächsten Tagen im PlayStore veröffentlichen.</del>
|
||||
Die App ist nun Veröffentlicht.
|
||||
</p>
|
||||
<br>
|
||||
<a href="https://play.google.com/store/apps/details?id=de.jonasled.led_table"><img src="/img/google-play-badge.png"
|
||||
width="185"/></a><br>
|
||||
<p><strong>Quellcode:</strong></p>
|
||||
<ul>
|
||||
<li><a href="https://gitlab.jonasled.de/jonasled/LED_Tisch">https://gitlab.jonasled.de/jonasled/LED_Tisch</a>
|
||||
</li>
|
||||
<li><a href="https://gitlab.jonasled.de/jonasled/LED_Tisch_App_Android">https://gitlab.jonasled.de/jonasled/LED_Tisch_App_Android</a>
|
||||
</li>
|
||||
<li><a href="https://gitlab.jonasled.de/jonasled/LED_Tisch_Rendering">https://gitlab.jonasled.de/jonasled/LED_Tisch_Rendering</a>
|
||||
</li>
|
||||
</ul>
|
||||
<br>
|
||||
<img src="/img/ledTisch2.jpg">
|
||||
<h2>Kommentare:</h2>
|
||||
<jl-comments_display></jl-comments_display>
|
||||
<jl-new_comment id="newComment"></jl-new_comment>
|
||||
</div>
|
||||
<jl-footer></jl-footer>
|
||||
|
||||
<script async defer src='https://www.hCaptcha.com/1/api.js'></script>
|
||||
<script src="/js/script.js"></script>
|
|
@ -1,51 +0,0 @@
|
|||
<?php
|
||||
include "../internal/header.php";
|
||||
include "../internal/footer.php";
|
||||
include "../internal/comments.php";
|
||||
|
||||
getHeader("LED Tisch V2", "projekte");
|
||||
?>
|
||||
<h2>Materialien für den LED Tisch:</h2>
|
||||
<ul>
|
||||
<li><a href="https://goo.gl/Dz8cbq">Ikea Lack Tisch</a></li>
|
||||
<li><a href="https://goo.gl/xasu43">Halbdurchsichtiges (milchiges) Plexiglas</a></li>
|
||||
<li><a href="https://www.exp-tech.de/plattformen/arduino/4947/teensy-3.2">Teensy 3.2</a></li>
|
||||
<li><a href="https://goo.gl/3Ajrmv">HC-05 Bluetooth Modul</a></li>
|
||||
<li><a href="https://goo.gl/bEv29h">WS2812 LED Streifen (5m / 150 LED)</a></li>
|
||||
<li>Holz oder Pappe für Matrix (Baumarkt)</li>
|
||||
<li><a href="http://kurz.ml/9JMipQ">4 Arcade Taster 45 mm</a></li>
|
||||
<li><a href="https://goo.gl/KRhwsU">Netzteil 5V 10A</a></li>
|
||||
<li><a href="https://goo.gl/zRvkP6">SD Karten leser für Arduino</a></li>
|
||||
<li><a href="https://goo.gl/Dxvjt8">SD Karte (muss nicht groß sein, meine ist 2GB groß und reicht locker)</a></li>
|
||||
<li>Widerstand (300 - 500 Ohm)</li>
|
||||
</ul>
|
||||
<p>Für Version zwei habe ich meinen alten LED Tisch Verwendet un umgebaut, da mir die Ressourcen des Arduino Nanos nicht mehr ausgereicht haben. Der neue Tisch kann jetzt auch einige Spiele (Tetris, Snake, Tic Tac Toe). Desweiteren unterstützt er auch viel mehr Animationen. Auf der SD Karte solten folgende Daten sein:</p>
|
||||
<ul>
|
||||
<li>Ein Ordner Namens "ANIM"
|
||||
<ul>
|
||||
<li>In diesem Ordner befinden sich die mit Glediator erzeugten Animationen mit folgender Namensgebung myanim1.dat, myanim2.dat, ...</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Ein Ordner mit dem Namen "PICTURES"
|
||||
<ul>
|
||||
<li>in diesem Ordner befinden sich die Daten zu Vorher erzeugten Bildern mit den Namen P1.txt, P2.txt, ... Das Programm zum erzeugen findet ihr unten.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Highscore Dateien (Werden automatisch erzeugt)</li>
|
||||
<li>Eine Textdatei mit der Helligkeit (0-1024) namens HEL.TXT</li>
|
||||
<li>Eine Textdatei mit dem NAMEN TETSP.TXT für die Geschwindigkeit von Tetris</li>
|
||||
</ul>
|
||||
<p>Das HC-05 Modul wird an Serial1 angeschlossen und die LEDs an D3</p>
|
||||
<p>Die Software des LED Tisches stammt ursprünglich von <a href="https://github.com/davidhrbaty/IKEA-LED-Table">davidhrbaty</a> und wurde von <a href="http://www.instructables.com/id/Arduino-LED-Coffee-Table/">MarkQ8</a> umgeschrieben dass man statt einens XBox Controllers ein Handy mit Bluetooth verwenden kann. Ich habe dann noch weitere Funktionen eingebaut und die Schrift gespiegelt, da ich die Matrix anders angeordnet habe.</p>
|
||||
<p> </p>
|
||||
<p><strong>Update 1:</strong> Da der RAM auf dem Arduino Mega vollgelaufen ist, habe ich diesen nun durch ein Teensy 3.2 Ersetzt, welches 8 mal so viel RAM besitzt. Der Quellcode ist natürlich schon angepasst und aktualisiert.</p>
|
||||
<p><strong>Update 2: </strong>Ich habe mir die Zeit genommen den kompletten Quellcode zu überarbeiten, damit er wieder mit der aktuellen Arduino IDE funktioniert. Daneben habe ich noch ein paar neue Animationen und ein neues Spiel Realisiert. Die App wurde auch komplett neu mit Android Studio geschrieben. <del>Diese werde ich auch in den nächsten Tagen im PlayStore veröffentlichen.</del> Die App ist nun Veröffentlicht.</p><br>
|
||||
<a href="https://play.google.com/store/apps/details?id=de.jonasled.led_table"><img src="/img/google-play-badge.png" width="185"/></a><br>
|
||||
<p><strong>Quellcode:</strong></p>
|
||||
<ul><li><a href="https://gitlab.jonasled.de/jonasled/LED_Tisch">https://gitlab.jonasled.de/jonasled/LED_Tisch</a></li><li><a href="https://gitlab.jonasled.de/jonasled/LED_Tisch_App_Android">https://gitlab.jonasled.de/jonasled/LED_Tisch_App_Android</a></li><li><a href="https://gitlab.jonasled.de/jonasled/LED_Tisch_Rendering">https://gitlab.jonasled.de/jonasled/LED_Tisch_Rendering</a></li></ul><br>
|
||||
<img src="/img/ledTisch2.jpg">
|
||||
<?php
|
||||
|
||||
$article = basename($_SERVER["SCRIPT_FILENAME"], '.php');
|
||||
getComments($article);
|
||||
getFooter();
|
30
public/Projekte/mqttpush.html
Normal file
30
public/Projekte/mqttpush.html
Normal file
|
@ -0,0 +1,30 @@
|
|||
<!DOCTYPE html >
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta content="width=device-width, initial-scale=1.0" name="viewport">
|
||||
<title></title>
|
||||
<link href="/css/style.css" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<jl-header data-title="MQTT Push"></jl-header>
|
||||
<div id="content">
|
||||
<p>MQTT Push ist ein kleines Programm, welches von mir entwickelt wurde. das Programm läuft auf Windows und sendet
|
||||
eine Toast Nachricht, wenn auf einem vorher eingestellten Topic des local gehostetem MQTT Server etwas gesendet
|
||||
wird. Einen Screenshot dazu habe ich unten angefügt. Der Client unterstützt Server mit und ohne Passwort, es
|
||||
können auch mehrere gleichzeitig betrieben werden. Der quellcode ist auf meinem Git Server unter <a
|
||||
href="https://gitlab.jonasled.de/jonasled/MQTT_Push">https://gitlab.jonasled.de/jonasled/MQTT_Push</a>
|
||||
zu finden. Desweiteren habe ich unten einen installer angehängt.</p>
|
||||
<a href="/files/MQTT_Message.zip">
|
||||
<button>Download</button>
|
||||
</a><br>
|
||||
<img src="/img/MQTT-push.png">
|
||||
<img src="/img/MQTT-push-window.png">
|
||||
<h2>Kommentare:</h2>
|
||||
<jl-comments_display></jl-comments_display>
|
||||
<jl-new_comment id="newComment"></jl-new_comment>
|
||||
</div>
|
||||
<jl-footer></jl-footer>
|
||||
|
||||
<script async defer src='https://www.hCaptcha.com/1/api.js'></script>
|
||||
<script src="/js/script.js"></script>
|
|
@ -1,16 +0,0 @@
|
|||
<?php
|
||||
include "../internal/header.php";
|
||||
include "../internal/footer.php";
|
||||
include "../internal/comments.php";
|
||||
|
||||
getHeader("MQTT Push", "projekte");
|
||||
?>
|
||||
<p>MQTT Push ist ein kleines Programm, welches von mir entwickelt wurde. das Programm läuft auf Windows und sendet eine Toast Nachricht, wenn auf einem vorher eingestellten Topic des local gehostetem MQTT Server etwas gesendet wird. Einen Screenshot dazu habe ich unten angefügt. Der Client unterstützt Server mit und ohne Passwort, es können auch mehrere gleichzeitig betrieben werden. Der quellcode ist auf meinem Git Server unter <a href="https://gitlab.jonasled.de/jonasled/MQTT_Push">https://gitlab.jonasled.de/jonasled/MQTT_Push</a> zu finden. Desweiteren habe ich unten einen installer angehängt.</p>
|
||||
<a href="/files/MQTT_Message.zip"><button>Download</button></a><br>
|
||||
<img src="/img/MQTT-push.png">
|
||||
<img src="/img/MQTT-push-window.png">
|
||||
<?php
|
||||
|
||||
$article = basename($_SERVER["SCRIPT_FILENAME"], '.php');
|
||||
getComments($article);
|
||||
getFooter();
|
35
public/Projekte/proxdroid.html
Normal file
35
public/Projekte/proxdroid.html
Normal file
|
@ -0,0 +1,35 @@
|
|||
<!DOCTYPE html >
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta content="width=device-width, initial-scale=1.0" name="viewport">
|
||||
<title></title>
|
||||
<link href="/css/style.css" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<jl-header data-title="Proxdroid"></jl-header>
|
||||
<div id="content">
|
||||
<p>Ich setze schon seit einer ganzen weile auf meinem Homeserver auf Proxmox, leider gab es bisher für Android nur
|
||||
einen Client, dieser ist aber Kostenpflichtig, daher habe ich mir gedacht, wie wäre es mit einer kostenlosen
|
||||
Alternative, die besser ist. Was bei meinen Projekten natürlich auch wichtig ist, ist das veröffentlichen des
|
||||
Quellcodes, dass jeder helfen / seine eigene Version bereitstellen kann. Dieses mal habe ich aber nicht auf
|
||||
meine eigene Gitlab Instanz, sondern auf die öffentliche gesetzt, da ich dort die schnelleren Runner zur
|
||||
Verfügung habe. Die repo ist unter folgendem Link erreichbar: <a href="https://gitlab.com/jonasled/proxdroid">gitlab.com/jonasled/proxdroid</a>
|
||||
</p>
|
||||
<p>Natürlich habe ich die App auch im <a href="https://play.google.com/store/apps/details?id=de.jonasled.proxdroid">PlayStore</a>
|
||||
veröffentlicht, um sie so einfach wie möglich herunterladen zu können. Für die, die den PlayStore meiden wollen
|
||||
gibt es aber auch die <a href="https://gitlab.com/jonasled/proxdroid/-/releases">Releases</a> direkt auf GitLab.
|
||||
Um neue Features einzureichen oder sich untereinander zu helfen habe ich daneben noch einen <a
|
||||
href="https://discord.gg/JEuXW8h">Discord</a> eingerichtet.</p><br>
|
||||
<img src="/img/Nexus_6P_-_Screenshot_11-576x1024.png">
|
||||
<img src="/img/Nexus_6P_-_Screenshot_21-576x1024.png">
|
||||
<img src="/img/Nexus_6P_-_Screenshot_31-576x1024.png">
|
||||
<img src="/img/Nexus_6P_-_Screenshot_41-576x1024.png">
|
||||
<h2>Kommentare:</h2>
|
||||
<jl-comments_display></jl-comments_display>
|
||||
<jl-new_comment id="newComment"></jl-new_comment>
|
||||
</div>
|
||||
<jl-footer></jl-footer>
|
||||
|
||||
<script async defer src='https://www.hCaptcha.com/1/api.js'></script>
|
||||
<script src="/js/script.js"></script>
|
|
@ -1,18 +0,0 @@
|
|||
<?php
|
||||
include "../internal/header.php";
|
||||
include "../internal/footer.php";
|
||||
include "../internal/comments.php";
|
||||
|
||||
getHeader("Proxdroid", "projekte");
|
||||
?>
|
||||
<p>Ich setze schon seit einer ganzen weile auf meinem Homeserver auf Proxmox, leider gab es bisher für Android nur einen Client, dieser ist aber Kostenpflichtig, daher habe ich mir gedacht, wie wäre es mit einer kostenlosen Alternative, die besser ist. Was bei meinen Projekten natürlich auch wichtig ist, ist das veröffentlichen des Quellcodes, dass jeder helfen / seine eigene Version bereitstellen kann. Dieses mal habe ich aber nicht auf meine eigene Gitlab Instanz, sondern auf die öffentliche gesetzt, da ich dort die schnelleren Runner zur Verfügung habe. Die repo ist unter folgendem Link erreichbar: <a href="https://gitlab.com/jonasled/proxdroid">gitlab.com/jonasled/proxdroid</a> </p>
|
||||
<p>Natürlich habe ich die App auch im <a href="https://play.google.com/store/apps/details?id=de.jonasled.proxdroid">PlayStore</a> veröffentlicht, um sie so einfach wie möglich herunterladen zu können. Für die, die den PlayStore meiden wollen gibt es aber auch die <a href="https://gitlab.com/jonasled/proxdroid/-/releases">Releases</a> direkt auf GitLab. Um neue Features einzureichen oder sich untereinander zu helfen habe ich daneben noch einen <a href="https://discord.gg/JEuXW8h">Discord</a> eingerichtet.</p><br>
|
||||
<img src="/img/Nexus_6P_-_Screenshot_11-576x1024.png">
|
||||
<img src="/img/Nexus_6P_-_Screenshot_21-576x1024.png">
|
||||
<img src="/img/Nexus_6P_-_Screenshot_31-576x1024.png">
|
||||
<img src="/img/Nexus_6P_-_Screenshot_41-576x1024.png">
|
||||
<?php
|
||||
|
||||
$article = basename($_SERVER["SCRIPT_FILENAME"], '.php');
|
||||
getComments($article);
|
||||
getFooter();
|
59
public/Projekte/regensensor.html
Normal file
59
public/Projekte/regensensor.html
Normal file
|
@ -0,0 +1,59 @@
|
|||
<!DOCTYPE html >
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta content="width=device-width, initial-scale=1.0" name="viewport">
|
||||
<title></title>
|
||||
<link href="/css/style.css" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<jl-header data-title="Regensensor"></jl-header>
|
||||
<div id="content">
|
||||
<p>Da es in mein Zimmer bei offenem Fenster reinregnet habe ich mich dazu entschieden einen Regensensor zu bauen,
|
||||
welcher bei Regen einen Alarm auslöst um mich zu wecken. Der Regensensor besteht aus einer Lochrasterplatine,
|
||||
bei der jeweils abwechselnd eine Zeile an den Sensorpin und die andere an Masse geht, ähnlich wie bei den
|
||||
fertigen Sensoren, nur größer. (vgl. kurz.ml/zpjiM6) Dieser ist direkt mit dem Analogen Eingang des Arduinos
|
||||
verbunden, welcher über den internen Pullup auf 5V ligt, wenn nun ein Regentropfen zwei unterschiedliche Zeilen
|
||||
der Lochraster verbindet, sinkt die Spannung und der Sensor löst aus. Als Alarm dient ein Piezo, welcher über
|
||||
den tone Befehl des Arduinos angesteuert wird. Im Schaltplan gehen links bunte Kabel raus, da ich aus einem
|
||||
alten <a href="https://de.wikipedia.org/wiki/KVM-Switch">KVM Switch</a> noch einen Taster mit zweifarbiger LED
|
||||
übrig hatte. Die Stromversorgung des Aufbaus geschieht über USB. Die 3D Datei für das gehäuse findet ihr auf <a
|
||||
href="https://www.thingiverse.com/thing:2950996">Thingiverse</a> oder in der <a
|
||||
href="https://gitlab.jonasled.de/jonasled/Regensensor">Git Repo</a>. Für Einstellungen und logging (fals
|
||||
erwünscht) ist in der <a href="https://gitlab.jonasled.de/jonasled/Regensensor">Git Repo</a> noch eine Excel
|
||||
datei, mit Macro, über die das abläuft</p>
|
||||
<p>Belegung des Kabels:</p>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><strong>Kabelfarbe</strong></td>
|
||||
<td><strong>Belegung</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Schwarz</td>
|
||||
<td>LED Grün</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Rot</td>
|
||||
<td>LED Rot</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Grün</td>
|
||||
<td>Taster</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Weiß</td>
|
||||
<td>Masse</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<br>
|
||||
<img src="/img/regensensor.jpg">
|
||||
<h2>Kommentare:</h2>
|
||||
<jl-comments_display></jl-comments_display>
|
||||
<jl-new_comment id="newComment"></jl-new_comment>
|
||||
</div>
|
||||
<jl-footer></jl-footer>
|
||||
|
||||
<script async defer src='https://www.hCaptcha.com/1/api.js'></script>
|
||||
<script src="/js/script.js"></script>
|
|
@ -1,39 +0,0 @@
|
|||
<?php
|
||||
include "../internal/header.php";
|
||||
include "../internal/footer.php";
|
||||
include "../internal/comments.php";
|
||||
|
||||
getHeader("Regensensor", "projekte");
|
||||
?>
|
||||
<p>Da es in mein Zimmer bei offenem Fenster reinregnet habe ich mich dazu entschieden einen Regensensor zu bauen, welcher bei Regen einen Alarm auslöst um mich zu wecken. Der Regensensor besteht aus einer Lochrasterplatine, bei der jeweils abwechselnd eine Zeile an den Sensorpin und die andere an Masse geht, ähnlich wie bei den fertigen Sensoren, nur größer. (vgl. kurz.ml/zpjiM6) Dieser ist direkt mit dem Analogen Eingang des Arduinos verbunden, welcher über den internen Pullup auf 5V ligt, wenn nun ein Regentropfen zwei unterschiedliche Zeilen der Lochraster verbindet, sinkt die Spannung und der Sensor löst aus. Als Alarm dient ein Piezo, welcher über den tone Befehl des Arduinos angesteuert wird. Im Schaltplan gehen links bunte Kabel raus, da ich aus einem alten <a href="https://de.wikipedia.org/wiki/KVM-Switch">KVM Switch</a> noch einen Taster mit zweifarbiger LED übrig hatte. Die Stromversorgung des Aufbaus geschieht über USB. Die 3D Datei für das gehäuse findet ihr auf <a href="https://www.thingiverse.com/thing:2950996">Thingiverse</a> oder in der <a href="https://gitlab.jonasled.de/jonasled/Regensensor">Git Repo</a>. Für Einstellungen und logging (fals erwünscht) ist in der <a href="https://gitlab.jonasled.de/jonasled/Regensensor">Git Repo</a> noch eine Excel datei, mit Macro, über die das abläuft</p>
|
||||
<p>Belegung des Kabels:</p>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><strong>Kabelfarbe</strong></td>
|
||||
<td><strong>Belegung</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Schwarz</td>
|
||||
<td>LED Grün</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Rot</td>
|
||||
<td>LED Rot</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Grün</td>
|
||||
<td>Taster</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Weiß</td>
|
||||
<td>Masse</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table><br>
|
||||
<img src="/img/regensensor.jpg">
|
||||
<?php
|
||||
|
||||
$article = basename($_SERVER["SCRIPT_FILENAME"], '.php');
|
||||
getComments($article);
|
||||
getFooter();
|
44
public/Projekte/smartmirror.html
Normal file
44
public/Projekte/smartmirror.html
Normal file
|
@ -0,0 +1,44 @@
|
|||
<!DOCTYPE html >
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta content="width=device-width, initial-scale=1.0" name="viewport">
|
||||
<title></title>
|
||||
<link href="/css/style.css" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<jl-header data-title="Smart Mirror"></jl-header>
|
||||
<div id="content">
|
||||
<p>Da ich ja viel Smart unterwegs bin und auch gerne schnell meine Termine sehen möchte, habe ich mir einen Smart
|
||||
Mirror gebaut. Dieser zeigt neben Nachrichten auch E-Mails, Wetter Kalender und Daten der Schule wie z.B.
|
||||
Arbeiten an. Folgende Materialien habe ich dazu verwendet:</p>
|
||||
<ul>
|
||||
<li><a href="https://www.ikea.com/de/de/catalog/products/00378403/">Ikea Bilderrahmen Ribba</a></li>
|
||||
<li>RaspberryPi CM1</li>
|
||||
<li>Plexiglas scheibe</li>
|
||||
<li>halbdurchlässige Spiegelfolie</li>
|
||||
<li>Monitor aus einem alten Laptop</li>
|
||||
<li>Display Controller (z.B. <a
|
||||
href="https://www.ebay.de/itm/360626141655?clk_rvr_id=1521656896967&rmvSB=true">dieser</a>)
|
||||
</li>
|
||||
<li>Netzteil des Laptops</li>
|
||||
</ul>
|
||||
<p>Als Betriebssystem habe ich ein <a href="https://dietpi.com/">DietPi</a> verwendet, da dieses sehr schlank ist.
|
||||
Darauf habe ich dann eine abgespeckte Desktopumgebung installiert, auf der ein pythonTK fenster im Vollbild
|
||||
läuft.</p>
|
||||
<p>Da es schon genügend anleitungen zum Bau gibt verlinke ich hier eine, welche ich sehr gut finde:<a
|
||||
href="https://glancr.de/smart-mirror-selbst-bauen/"> https://glancr.de/smart-mirror-selbst-bauen/</a></p>
|
||||
<p>Den Quellcode von meiner Software findet ihr natürlich wieder auf meinem <a
|
||||
href="https://gitlab.jonasled.de/jonasled/SmartMirror">Git Server</a></p><br>
|
||||
<a href="/files/SmartMirror.zip">
|
||||
<button>Download</button>
|
||||
</a><br><br>
|
||||
<img src="/img/Spiegel.jpg">
|
||||
<h2>Kommentare:</h2>
|
||||
<jl-comments_display></jl-comments_display>
|
||||
<jl-new_comment id="newComment"></jl-new_comment>
|
||||
</div>
|
||||
<jl-footer></jl-footer>
|
||||
|
||||
<script async defer src='https://www.hCaptcha.com/1/api.js'></script>
|
||||
<script src="/js/script.js"></script>
|
|
@ -1,27 +0,0 @@
|
|||
<?php
|
||||
include "../internal/header.php";
|
||||
include "../internal/footer.php";
|
||||
include "../internal/comments.php";
|
||||
|
||||
getHeader("Smart Mirror", "projekte");
|
||||
?>
|
||||
<p>Da ich ja viel Smart unterwegs bin und auch gerne schnell meine Termine sehen möchte, habe ich mir einen Smart Mirror gebaut. Dieser zeigt neben Nachrichten auch E-Mails, Wetter Kalender und Daten der Schule wie z.B. Arbeiten an. Folgende Materialien habe ich dazu verwendet:</p>
|
||||
<ul>
|
||||
<li><a href="https://www.ikea.com/de/de/catalog/products/00378403/">Ikea Bilderrahmen Ribba</a></li>
|
||||
<li>RaspberryPi CM1</li>
|
||||
<li>Plexiglas scheibe</li>
|
||||
<li>halbdurchlässige Spiegelfolie</li>
|
||||
<li>Monitor aus einem alten Laptop</li>
|
||||
<li>Display Controller (z.B. <a href="https://www.ebay.de/itm/360626141655?clk_rvr_id=1521656896967&rmvSB=true">dieser</a>)</li>
|
||||
<li>Netzteil des Laptops</li>
|
||||
</ul>
|
||||
<p>Als Betriebssystem habe ich ein <a href="https://dietpi.com/">DietPi</a> verwendet, da dieses sehr schlank ist. Darauf habe ich dann eine abgespeckte Desktopumgebung installiert, auf der ein pythonTK fenster im Vollbild läuft.</p>
|
||||
<p>Da es schon genügend anleitungen zum Bau gibt verlinke ich hier eine, welche ich sehr gut finde:<a href="https://glancr.de/smart-mirror-selbst-bauen/"> https://glancr.de/smart-mirror-selbst-bauen/</a></p>
|
||||
<p>Den Quellcode von meiner Software findet ihr natürlich wieder auf meinem <a href="https://gitlab.jonasled.de/jonasled/SmartMirror">Git Server</a></p><br>
|
||||
<a href="/files/SmartMirror.zip"><button>Download</button></a><br><br>
|
||||
<img src="/img/Spiegel.jpg">
|
||||
<?php
|
||||
|
||||
$article = basename($_SERVER["SCRIPT_FILENAME"], '.php');
|
||||
getComments($article);
|
||||
getFooter();
|
70
public/Projekte/snowboy.html
Normal file
70
public/Projekte/snowboy.html
Normal file
|
@ -0,0 +1,70 @@
|
|||
<!DOCTYPE html >
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta content="width=device-width, initial-scale=1.0" name="viewport">
|
||||
<title></title>
|
||||
<link href="/css/style.css" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<jl-header data-title="Installation von Snowboy"></jl-header>
|
||||
<div id="content">
|
||||
<p>Heute stelle ich mal kein Projekt in dem Sinne vor wie sonst, sondern schreibe viel mehr eine Anleitung zur
|
||||
Installation von Snowboy, da dich viele Probleme dabei hatte und im Internet auch relativ wenig dazu stand. Wir
|
||||
sind in der Schule aktuell dabei einen Smarten Lautsprecher auf Basis des Google AIY Projekts aufzubauen. Das
|
||||
Problem war, dass uns das Hotword "ok, google" nicht gefallen hatte. Nach ein paar Minuten googlen sind wir dann
|
||||
auf die Bibliothek Snowboy gestoßen, mit welcher alle Probleme gelöst werden sollten. Das Problem war nur, dass
|
||||
wir die Bibilothek nicht kompiliert bekommen haben. Die folgende Anleitung sollte auf allen Linux Maschinen
|
||||
(Raspberry Pi, Ubuntu, Debian, ...) laufen. Es kann aber vorkommen dass noch vereinzelt weitere Pakete
|
||||
installiert werden müssen. In der folgenden Anleitung verwende ich eine Aktuelle LinuxMint Tara Version mit
|
||||
allen Updates von 1.Dezember 2018.</p>
|
||||
<p>Kommen wir nun zur Installationsanleitung:</p>
|
||||
<p>1.Updates installieren:</p>
|
||||
<pre><code class="language-bash">sudo apt update && sudo apt upgrade -y</code></pre>
|
||||
<p>2.Dependencies installieren:</p>
|
||||
<pre><code class="language-bash">sudo apt install -y python-pyaudio python3-pyaudio sox libatlas-base-dev gcc make wget libpcre3 libpcre3-dev build-essential git python3-setuptools python3-dev autotools-dev automake</code></pre>
|
||||
<p>3.Swig und pcre herunterladen und kompilieren</p>
|
||||
<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
|
||||
cd swig-3.0.12
|
||||
wget https://sourceforge.net/projects/pcre/files/pcre/8.42/pcre-8.42.tar.gz
|
||||
./Tools/pcre-build.sh
|
||||
./autogen
|
||||
./configure
|
||||
make
|
||||
sudo make install
|
||||
cd ..
|
||||
</code>
|
||||
</pre>
|
||||
<p>4. snowboy herunterladen und kompilieren</p>
|
||||
<pre>
|
||||
<code class="language-bash">
|
||||
git clone https://github.com/Kitt-AI/snowboy
|
||||
cd snowboy
|
||||
sudo python3 setup.py install
|
||||
cd swig/Python3
|
||||
make
|
||||
</code>
|
||||
</pre>
|
||||
<p>Jetzt Sollte Snowboy funktionieren. Bei mir gab es leider Probleme mit den Beispielen. Ixh musste noch Zeile nr.
|
||||
5 in der Datei "snowboy/examples/Python3/snowboydecoder.py" in "import snowboydetect" ändern. Eigene Hotwords
|
||||
können nun unter <a href="https://snowboy.kitt.ai">snowboy.kitt.ai</a> erstellt werden.</p>
|
||||
<p>Viel Spaß beim weiter experimentieren mit Snowboy.</p>
|
||||
<p>Kleiner Ergänzung, bei der Installation auf einem Raspberry Pi bin ich auf zwei Fehler gestoßen. Der erste war,
|
||||
dass der Raspberry Pi keinen direkten Mikrofon Eingang hatte. Der zweiter war dann schon etwas exotischer, ich
|
||||
habe nämlich meine China USB Soundkarte zum testen angeschlossen. Dort kam aber nur als Fehler "Invalid Sample
|
||||
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>
|
||||
<br>
|
||||
<img src="/img/snowboy_no_mic.png">
|
||||
<img src="/img/snowboy_wrong_sample_rate.png">
|
||||
<h2>Kommentare:</h2>
|
||||
<jl-comments_display></jl-comments_display>
|
||||
<jl-new_comment id="newComment"></jl-new_comment>
|
||||
</div>
|
||||
<jl-footer></jl-footer>
|
||||
|
||||
<script async defer src='https://www.hCaptcha.com/1/api.js'></script>
|
||||
<script src="/js/script.js"></script>
|
|
@ -1,48 +0,0 @@
|
|||
<?php
|
||||
include "../internal/header.php";
|
||||
include "../internal/footer.php";
|
||||
include "../internal/comments.php";
|
||||
|
||||
getHeader("Installation von Snowboy", "projekte");
|
||||
?>
|
||||
<p>Heute stelle ich mal kein Projekt in dem Sinne vor wie sonst, sondern schreibe viel mehr eine Anleitung zur Installation von Snowboy, da dich viele Probleme dabei hatte und im Internet auch relativ wenig dazu stand. Wir sind in der Schule aktuell dabei einen Smarten Lautsprecher auf Basis des Google AIY Projekts aufzubauen. Das Problem war, dass uns das Hotword "ok, google" nicht gefallen hatte. Nach ein paar Minuten googlen sind wir dann auf die Bibliothek Snowboy gestoßen, mit welcher alle Probleme gelöst werden sollten. Das Problem war nur, dass wir die Bibilothek nicht kompiliert bekommen haben. Die folgende Anleitung sollte auf allen Linux Maschinen (Raspberry Pi, Ubuntu, Debian, ...) laufen. Es kann aber vorkommen dass noch vereinzelt weitere Pakete installiert werden müssen. In der folgenden Anleitung verwende ich eine Aktuelle LinuxMint Tara Version mit allen Updates von 1.Dezember 2018.</p>
|
||||
<p>Kommen wir nun zur Installationsanleitung:</p>
|
||||
<p>1.Updates installieren:</p>
|
||||
<pre><code class="language-bash">sudo apt update && sudo apt upgrade -y</code></pre>
|
||||
<p>2.Dependencies installieren:</p>
|
||||
<pre><code class="language-bash">sudo apt install -y python-pyaudio python3-pyaudio sox libatlas-base-dev gcc make wget libpcre3 libpcre3-dev build-essential git python3-setuptools python3-dev autotools-dev automake</code></pre>
|
||||
<p>3.Swig und pcre herunterladen und kompilieren</p>
|
||||
<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
|
||||
cd swig-3.0.12
|
||||
wget https://sourceforge.net/projects/pcre/files/pcre/8.42/pcre-8.42.tar.gz
|
||||
./Tools/pcre-build.sh
|
||||
./autogen
|
||||
./configure
|
||||
make
|
||||
sudo make install
|
||||
cd ..
|
||||
</code>
|
||||
</pre>
|
||||
<p>4. snowboy herunterladen und kompilieren</p>
|
||||
<pre>
|
||||
<code class="language-bash">
|
||||
git clone https://github.com/Kitt-AI/snowboy
|
||||
cd snowboy
|
||||
sudo python3 setup.py install
|
||||
cd swig/Python3
|
||||
make
|
||||
</code>
|
||||
</pre>
|
||||
<p>Jetzt Sollte Snowboy funktionieren. Bei mir gab es leider Probleme mit den Beispielen. Ixh musste noch Zeile nr. 5 in der Datei "snowboy/examples/Python3/snowboydecoder.py" in "import snowboydetect" ändern. Eigene Hotwords können nun unter <a href="https://snowboy.kitt.ai">snowboy.kitt.ai</a> erstellt werden.</p>
|
||||
<p>Viel Spaß beim weiter experimentieren mit Snowboy.</p>
|
||||
<p>Kleiner Ergänzung, bei der Installation auf einem Raspberry Pi bin ich auf zwei Fehler gestoßen. Der erste war, dass der Raspberry Pi keinen direkten Mikrofon Eingang hatte. Der zweiter war dann schon etwas exotischer, ich habe nämlich meine China USB Soundkarte zum testen angeschlossen. Dort kam aber nur als Fehler "Invalid Sample 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><br>
|
||||
<img src="/img/snowboy_no_mic.png">
|
||||
<img src="/img/snowboy_wrong_sample_rate.png">
|
||||
<?php
|
||||
|
||||
$article = basename($_SERVER["SCRIPT_FILENAME"], '.php');
|
||||
getComments($article);
|
||||
getFooter();
|
23
public/Projekte/websitecloner.html
Normal file
23
public/Projekte/websitecloner.html
Normal file
|
@ -0,0 +1,23 @@
|
|||
<!DOCTYPE html >
|
||||
<html lang = "de" >
|
||||
<head >
|
||||
<meta charset = "UTF-8" >
|
||||
<meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
|
||||
<title></title>
|
||||
<link href = "/css/style.css" rel = "stylesheet" >
|
||||
</head >
|
||||
<body >
|
||||
<jl-header data-title="Website Cloner"></jl-header>
|
||||
<div id = "content" >
|
||||
<p>
|
||||
Da ich in letzter Zeit regelmäßig bei Projekten zur Dokumentation Screenshots der Websites gebraucht habe, habe ich mir dieses kleine Tool entwickelt, welches automatische Screenshots von einer Seite erstellt. Das Script ist in Python geschrieben und greift über Selenium auf den Firefox zurück. Zu finden ist der Quellcode unter
|
||||
<a href="//gitlab.jonasled.de/jonasled/WebsiteCloner">gitlab.jonasled.de/jonasled/WebsiteCloner</a>
|
||||
</p>
|
||||
<h2>Kommentare:</h2>
|
||||
<jl-comments_display></jl-comments_display>
|
||||
<jl-new_comment id="newComment"></jl-new_comment>
|
||||
</div>
|
||||
<jl-footer></jl-footer>
|
||||
|
||||
<script src='https://www.hCaptcha.com/1/api.js' async defer></script>
|
||||
<script src="/js/script.js"></script>
|
|
@ -1,16 +0,0 @@
|
|||
<?php
|
||||
include "../internal/header.php";
|
||||
include "../internal/footer.php";
|
||||
include "../internal/comments.php";
|
||||
|
||||
getHeader("Website Cloner", "projekte");
|
||||
?>
|
||||
<p>
|
||||
Da ich in letzter Zeit regelmäßig bei Projekten zur Dokumentation Screenshots der Websites gebraucht habe, habe ich mir dieses kleine Tool entwickelt, welches automatische Screenshots von einer Seite erstellt. Das Script ist in Python geschrieben und greift über Selenium auf den Firefox zurück. Zu finden ist der Quellcode unter
|
||||
<a href="//gitlab.jonasled.de/jonasled/WebsiteCloner">gitlab.jonasled.de/jonasled/WebsiteCloner</a>
|
||||
</p>
|
||||
<?php
|
||||
|
||||
$article = basename($_SERVER["SCRIPT_FILENAME"], '.php');
|
||||
getComments($article);
|
||||
getFooter();
|
29
public/Projekte/youtubedownloader.html
Normal file
29
public/Projekte/youtubedownloader.html
Normal file
|
@ -0,0 +1,29 @@
|
|||
<!DOCTYPE html >
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta content="width=device-width, initial-scale=1.0" name="viewport">
|
||||
<title></title>
|
||||
<link href="/css/style.css" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<jl-header data-title="Youtube Downloader"></jl-header>
|
||||
<div id="content">
|
||||
<p>In letzter Zeit habe ich wieder vermehrt Musik, teilweise komplette Playlists, von YouTube heruntergeladen,
|
||||
leider war ich mit allen Tools, welche ich gefunden habe nicht besonders zufrieden, oder sie haben nach kurzer
|
||||
Zeit nicht mehr funktioniert. Das beste Tool, welches ich finden konnte war das Programm <a
|
||||
href="https://youtube-dl.org/">y</a><s><a href="https://youtube-dl.org/">outube-dl</a> leider gibt es
|
||||
aber für dieses Programm keine Oberfläch</s>e. (Update: Ich bin umgestiegen auf YoutubeExplode, welches für
|
||||
C# optimiert ist.) Jedesmal über die Konsole zu gehen wollte ich auch nicht, deswegen habe ich eine kleine und
|
||||
einfache Oberfläche in C# geschrieben. In diesen gibt man einfach den URL und den Speicherort ein, der Rest wird
|
||||
alles automatisch gemacht.</p>
|
||||
<p>Der Quellcode ist in der <a href="https://gitlab.jonasled.de/jonasled/Youtube-Downloader-YoutubeExplode">git
|
||||
Repo</a></p>
|
||||
<h2>Kommentare:</h2>
|
||||
<jl-comments_display></jl-comments_display>
|
||||
<jl-new_comment id="newComment"></jl-new_comment>
|
||||
</div>
|
||||
<jl-footer></jl-footer>
|
||||
|
||||
<script async defer src='https://www.hCaptcha.com/1/api.js'></script>
|
||||
<script src="/js/script.js"></script>
|
|
@ -1,14 +0,0 @@
|
|||
<?php
|
||||
include "../internal/header.php";
|
||||
include "../internal/footer.php";
|
||||
include "../internal/comments.php";
|
||||
|
||||
getHeader("Youtube Downloader", "projekte");
|
||||
?>
|
||||
<p>In letzter Zeit habe ich wieder vermehrt Musik, teilweise komplette Playlists, von YouTube heruntergeladen, leider war ich mit allen Tools, welche ich gefunden habe nicht besonders zufrieden, oder sie haben nach kurzer Zeit nicht mehr funktioniert. Das beste Tool, welches ich finden konnte war das Programm <a href="https://youtube-dl.org/">y</a><s><a href="https://youtube-dl.org/">outube-dl</a> leider gibt es aber für dieses Programm keine Oberfläch</s>e. (Update: Ich bin umgestiegen auf YoutubeExplode, welches für C# optimiert ist.) Jedesmal über die Konsole zu gehen wollte ich auch nicht, deswegen habe ich eine kleine und einfache Oberfläche in C# geschrieben. In diesen gibt man einfach den URL und den Speicherort ein, der Rest wird alles automatisch gemacht.</p>
|
||||
<p>Der Quellcode ist in der <a href="https://gitlab.jonasled.de/jonasled/Youtube-Downloader-YoutubeExplode">git Repo</a></p>
|
||||
<?php
|
||||
|
||||
$article = basename($_SERVER["SCRIPT_FILENAME"], '.php');
|
||||
getComments($article);
|
||||
getFooter();
|
35
public/about.html
Normal file
35
public/about.html
Normal file
|
@ -0,0 +1,35 @@
|
|||
<!DOCTYPE html >
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta content="width=device-width, initial-scale=1.0" name="viewport">
|
||||
<title></title>
|
||||
<link href="/css/style.css" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<jl-header data-title="Über mich"></jl-header>
|
||||
<div id="content">
|
||||
<p>Hallo, mein Name ist Jonas Leder. Ich bin aktuell dualer Student an der <a href="https://www.mannheim.dhbw.de/">DHBW
|
||||
Mannheim</a> und in den Praxisfasen bei der <a href="https://www.jobrouter.com/de/">JobRouter AG</a>. In meiner
|
||||
Freizeit beschäftige ich mich viel mit Computern und der Softwareprogrammierung. Dabei verwende ich häufig
|
||||
folgende Programmiersprachen:</p>
|
||||
<ul>
|
||||
<li>Python</li>
|
||||
<li>C / C#</li>
|
||||
<li>"HTML"</li>
|
||||
<li>JavaScript / TypeScript</li>
|
||||
<li>PHP</li>
|
||||
<li>Java</li>
|
||||
<li>Bash</li>
|
||||
</ul>
|
||||
<p>Die oben genannten Sprachen setzt ich auf PCs und Microcontrollern ein. Dabei verwende ich die Standard Arduino
|
||||
Boards (nano, mega, …) und spezielle, wie das ESP8266, welches WLAN unterstützt.</p>
|
||||
<p>Daneben habe ich auch viel Erfahrung mit Betriebssystemen. So setzt ich auf meinem Server auf Ubuntu und benutze
|
||||
auch viel Windows Server.</p>
|
||||
<p>Meine Programme veröffentliche ich meisten auf meiner GitLab Instanz. Diese ist unter <a
|
||||
href="https://gitlab.jonasled.de/">gitlab.jonasled.de</a> zu finden.</p>
|
||||
</div>
|
||||
<jl-footer></jl-footer>
|
||||
<script src="/js/script.js"></script>
|
||||
</body>
|
||||
</html>
|
|
@ -1,22 +0,0 @@
|
|||
<?php
|
||||
include "internal/header.php";
|
||||
include "internal/footer.php";
|
||||
include "internal/comments.php";
|
||||
|
||||
getHeader("Über Mich", "");
|
||||
?>
|
||||
<p>Hallo, mein Name ist Jonas Leder. Ich bin aktuell dualer Student an der <a href="https://www.mannheim.dhbw.de/">DHBW Mannheim</a> und in den Praxisfasen bei der <a href="https://www.jobrouter.com/de/">JobRouter AG</a>. In meiner Freizeit beschäftige ich mich viel mit Computern und der Softwareprogrammierung. Dabei verwende ich häufig folgende Programmiersprachen:</p>
|
||||
<ul>
|
||||
<li>Python</li>
|
||||
<li>C / C#</li>
|
||||
<li>"HTML"</li>
|
||||
<li>JavaScript / TypeScript</li>
|
||||
<li>PHP</li>
|
||||
<li>Java</li>
|
||||
<li>Bash</li>
|
||||
</ul>
|
||||
<p>Die oben genannten Sprachen setzt ich auf PCs und Microcontrollern ein. Dabei verwende ich die Standard Arduino Boards (nano, mega, …) und spezielle, wie das ESP8266, welches WLAN unterstützt.</p>
|
||||
<p>Daneben habe ich auch viel Erfahrung mit Betriebssystemen. So setzt ich auf meinem Server auf Ubuntu und benutze auch viel Windows Server.</p>
|
||||
<p>Meine Programme veröffentliche ich meisten auf meiner GitLab Instanz. Diese ist unter <a href="https://gitlab.jonasled.de/">gitlab.jonasled.de</a> zu finden.</p>
|
||||
<?php
|
||||
getFooter();
|
28
public/bildquellen.html
Normal file
28
public/bildquellen.html
Normal file
|
@ -0,0 +1,28 @@
|
|||
<!DOCTYPE html >
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta content="width=device-width, initial-scale=1.0" name="viewport">
|
||||
<title></title>
|
||||
<link href="/css/style.css" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<jl-header data-title="Bildquellen"></jl-header>
|
||||
<div id="content">
|
||||
<ul>
|
||||
<li><span class="clickSpan" src='/img/bannerHome.webp'>Bild oben</span>: Photo by <a
|
||||
href="https://unsplash.com/@hishahadat?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Shahadat
|
||||
Rahman</a> on <a
|
||||
href="https://unsplash.com/s/photos/programmer?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>
|
||||
</li>
|
||||
<li><span class="clickSpan" src='/img/bildHome.webp'>Bild Startseite</span>: Photo by <a
|
||||
href="https://unsplash.com/@grohsfabian?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Fabian
|
||||
Grohs</a> on <a
|
||||
href="https://unsplash.com/s/photos/programmer?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<jl-footer></jl-footer>
|
||||
<script src="/js/script.js"></script>
|
||||
</body>
|
||||
</html>
|
|
@ -1,13 +0,0 @@
|
|||
<?php
|
||||
include "internal/header.php";
|
||||
include "internal/footer.php";
|
||||
include "internal/comments.php";
|
||||
|
||||
getHeader("Bildquellen", "");
|
||||
?>
|
||||
<ul>
|
||||
<li><span class="clickSpan" src='/img/bannerHome.webp'>Bild oben</span>: Photo by <a href="https://unsplash.com/@hishahadat?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Shahadat Rahman</a> on <a href="https://unsplash.com/s/photos/programmer?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a></li>
|
||||
<li><span class="clickSpan" src='/img/bildHome.webp'>Bild Startseite</span>: Photo by <a href="https://unsplash.com/@grohsfabian?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Fabian Grohs</a> on <a href="https://unsplash.com/s/photos/programmer?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a></li>
|
||||
</ul>
|
||||
<?php
|
||||
getFooter();
|
350
public/datenschutzerklaerung.html
Normal file
350
public/datenschutzerklaerung.html
Normal file
|
@ -0,0 +1,350 @@
|
|||
<!DOCTYPE html >
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta content="width=device-width, initial-scale=1.0" name="viewport">
|
||||
<title></title>
|
||||
<link href="/css/style.css" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<jl-header data-title="Datenschutzerklärung"></jl-header>
|
||||
<div id="content">
|
||||
<h3 id="dsg-general-intro"> </h3>
|
||||
<p>Diese Datenschutzerklärung klärt Sie über die Art, den Umfang und Zweck der Verarbeitung von personenbezogenen
|
||||
Daten (nachfolgend kurz „Daten“) innerhalb unseres Onlineangebotes und der mit ihm verbundenen Webseiten,
|
||||
Funktionen und Inhalte sowie externen Onlinepräsenzen, wie z.B. unser Social Media Profile auf (nachfolgend
|
||||
gemeinsam bezeichnet als „Onlineangebot“). Im Hinblick auf die verwendeten Begrifflichkeiten, wie z.B.
|
||||
„Verarbeitung“ oder „Verantwortlicher“ verweisen wir auf die Definitionen im Art. 4 der
|
||||
Datenschutzgrundverordnung (DSGVO).</p>
|
||||
<h3 id="dsg-general-datatype">Arten der verarbeiteten Daten:</h3>
|
||||
<p>- Bestandsdaten (z.B., Namen, Adressen).<br/>- Kontaktdaten (z.B., E-Mail, Telefonnummern).<br/>- Inhaltsdaten
|
||||
(z.B., Texteingaben, Fotografien, Videos).<br/>- Nutzungsdaten (z.B., besuchte Webseiten, Interesse an Inhalten,
|
||||
Zugriffszeiten).<br/>- Meta-/Kommunikationsdaten (z.B., Geräte-Informationen, IP-Adressen).</p>
|
||||
<h3 id="dsg-general-datasubjects">Kategorien betroffener Personen</h3>
|
||||
<p>Besucher und Nutzer des Onlineangebotes (Nachfolgend bezeichnen wir die betroffenen Personen zusammenfassend auch
|
||||
als „Nutzer“).</p>
|
||||
<h3 id="dsg-general-purpose">Zweck der Verarbeitung</h3>
|
||||
<p>- Zurverfügungstellung des Onlineangebotes, seiner Funktionen und Inhalte.<br/>- Beantwortung von Kontaktanfragen
|
||||
und Kommunikation mit Nutzern.<br/>- Sicherheitsmaßnahmen.<br/>- Reichweitenmessung/Marketing</p>
|
||||
<h3 id="dsg-general-terms">Verwendete Begrifflichkeiten</h3>
|
||||
<p>„Personenbezogene Daten“ sind alle Informationen, die sich auf eine identifizierte oder identifizierbare
|
||||
natürliche Person (im Folgenden „betroffene Person“) beziehen; als identifizierbar wird eine natürliche Person
|
||||
angesehen, die direkt oder indirekt, insbesondere mittels Zuordnung zu einer Kennung wie einem Namen, zu einer
|
||||
Kennnummer, zu Standortdaten, zu einer Online-Kennung (z.B. Cookie) oder zu einem oder mehreren besonderen
|
||||
Merkmalen identifiziert werden kann, die Ausdruck der physischen, physiologischen, genetischen, psychischen,
|
||||
wirtschaftlichen, kulturellen oder sozialen Identität dieser natürlichen Person sind.</p>
|
||||
<p>„Verarbeitung“ ist jeder mit oder ohne Hilfe automatisierter Verfahren ausgeführte Vorgang oder jede solche
|
||||
Vorgangsreihe im Zusammenhang mit personenbezogenen Daten. Der Begriff reicht weit und umfasst praktisch jeden
|
||||
Umgang mit Daten.</p>
|
||||
<p>„Pseudonymisierung“ die Verarbeitung personenbezogener Daten in einer Weise, dass die personenbezogenen Daten
|
||||
ohne Hinzuziehung zusätzlicher Informationen nicht mehr einer spezifischen betroffenen Person zugeordnet werden
|
||||
können, sofern diese zusätzlichen Informationen gesondert aufbewahrt werden und technischen und
|
||||
organisatorischen Maßnahmen unterliegen, die gewährleisten, dass die personenbezogenen Daten nicht einer
|
||||
identifizierten oder identifizierbaren natürlichen Person zugewiesen werden.</p>
|
||||
<p>„Profiling“ jede Art der automatisierten Verarbeitung personenbezogener Daten, die darin besteht, dass diese
|
||||
personenbezogenen Daten verwendet werden, um bestimmte persönliche Aspekte, die sich auf eine natürliche Person
|
||||
beziehen, zu bewerten, insbesondere um Aspekte bezüglich Arbeitsleistung, wirtschaftliche Lage, Gesundheit,
|
||||
persönliche Vorlieben, Interessen, Zuverlässigkeit, Verhalten, Aufenthaltsort oder Ortswechsel dieser
|
||||
natürlichen Person zu analysieren oder vorherzusagen.</p>
|
||||
<p>Als „Verantwortlicher“ wird die natürliche oder juristische Person, Behörde, Einrichtung oder andere Stelle, die
|
||||
allein oder gemeinsam mit anderen über die Zwecke und Mittel der Verarbeitung von personenbezogenen Daten
|
||||
entscheidet, bezeichnet.</p>
|
||||
<p>„Auftragsverarbeiter“ eine natürliche oder juristische Person, Behörde, Einrichtung oder andere Stelle, die
|
||||
personenbezogene Daten im Auftrag des Verantwortlichen verarbeitet.</p>
|
||||
<h3 id="dsg-general-legalbasis">Maßgebliche Rechtsgrundlagen</h3>
|
||||
<p>Nach Maßgabe des Art. 13 DSGVO teilen wir Ihnen die Rechtsgrundlagen unserer Datenverarbeitungen mit. Sofern die
|
||||
Rechtsgrundlage in der Datenschutzerklärung nicht genannt wird, gilt Folgendes: Die Rechtsgrundlage für die
|
||||
Einholung von Einwilligungen ist Art. 6 Abs. 1 lit. a und Art. 7 DSGVO, die Rechtsgrundlage für die Verarbeitung
|
||||
zur Erfüllung unserer Leistungen und Durchführung vertraglicher Maßnahmen sowie Beantwortung von Anfragen ist
|
||||
Art. 6 Abs. 1 lit. b DSGVO, die Rechtsgrundlage für die Verarbeitung zur Erfüllung unserer rechtlichen
|
||||
Verpflichtungen ist Art. 6 Abs. 1 lit. c DSGVO, und die Rechtsgrundlage für die Verarbeitung zur Wahrung unserer
|
||||
berechtigten Interessen ist Art. 6 Abs. 1 lit. f DSGVO. Für den Fall, dass lebenswichtige Interessen der
|
||||
betroffenen Person oder einer anderen natürlichen Person eine Verarbeitung personenbezogener Daten erforderlich
|
||||
machen, dient Art. 6 Abs. 1 lit. d DSGVO als Rechtsgrundlage.</p>
|
||||
<h3 id="dsg-general-securitymeasures">Sicherheitsmaßnahmen</h3>
|
||||
<p>Wir treffen nach Maßgabe des Art. 32 DSGVO unter Berücksichtigung des Stands der Technik, der
|
||||
Implementierungskosten und der Art, des Umfangs, der Umstände und der Zwecke der Verarbeitung sowie der
|
||||
unterschiedlichen Eintrittswahrscheinlichkeit und Schwere des Risikos für die Rechte und Freiheiten natürlicher
|
||||
Personen, geeignete technische und organisatorische Maßnahmen, um ein dem Risiko angemessenes Schutzniveau zu
|
||||
gewährleisten.</p>
|
||||
<p>Zu den Maßnahmen gehören insbesondere die Sicherung der Vertraulichkeit, Integrität und Verfügbarkeit von Daten
|
||||
durch Kontrolle des physischen Zugangs zu den Daten, als auch des sie betreffenden Zugriffs, der Eingabe,
|
||||
Weitergabe, der Sicherung der Verfügbarkeit und ihrer Trennung. Des Weiteren haben wir Verfahren eingerichtet,
|
||||
die eine Wahrnehmung von Betroffenenrechten, Löschung von Daten und Reaktion auf Gefährdung der Daten
|
||||
gewährleisten. Ferner berücksichtigen wir den Schutz personenbezogener Daten bereits bei der Entwicklung, bzw.
|
||||
Auswahl von Hardware, Software sowie Verfahren, entsprechend dem Prinzip des Datenschutzes durch
|
||||
Technikgestaltung und durch datenschutzfreundliche Voreinstellungen (Art. 25 DSGVO).</p>
|
||||
<h3 id="dsg-general-coprocessing">Zusammenarbeit mit Auftragsverarbeitern und Dritten</h3>
|
||||
<p>Sofern wir im Rahmen unserer Verarbeitung Daten gegenüber anderen Personen und Unternehmen (Auftragsverarbeitern
|
||||
oder Dritten) offenbaren, sie an diese übermitteln oder ihnen sonst Zugriff auf die Daten gewähren, erfolgt dies
|
||||
nur auf Grundlage einer gesetzlichen Erlaubnis (z.B. wenn eine Übermittlung der Daten an Dritte, wie an
|
||||
Zahlungsdienstleister, gem. Art. 6 Abs. 1 lit. b DSGVO zur Vertragserfüllung erforderlich ist), Sie eingewilligt
|
||||
haben, eine rechtliche Verpflichtung dies vorsieht oder auf Grundlage unserer berechtigten Interessen (z.B. beim
|
||||
Einsatz von Beauftragten, Webhostern, etc.).</p>
|
||||
<p>Sofern wir Dritte mit der Verarbeitung von Daten auf Grundlage eines sog. „Auftragsverarbeitungsvertrages“
|
||||
beauftragen, geschieht dies auf Grundlage des Art. 28 DSGVO.</p>
|
||||
<h3 id="dsg-general-thirdparty">Übermittlungen in Drittländer</h3>
|
||||
<p>Sofern wir Daten in einem Drittland (d.h. außerhalb der Europäischen Union (EU) oder des Europäischen
|
||||
Wirtschaftsraums (EWR)) verarbeiten oder dies im Rahmen der Inanspruchnahme von Diensten Dritter oder
|
||||
Offenlegung, bzw. Übermittlung von Daten an Dritte geschieht, erfolgt dies nur, wenn es zur Erfüllung unserer
|
||||
(vor)vertraglichen Pflichten, auf Grundlage Ihrer Einwilligung, aufgrund einer rechtlichen Verpflichtung oder
|
||||
auf Grundlage unserer berechtigten Interessen geschieht. Vorbehaltlich gesetzlicher oder vertraglicher
|
||||
Erlaubnisse, verarbeiten oder lassen wir die Daten in einem Drittland nur beim Vorliegen der besonderen
|
||||
Voraussetzungen der Art. 44 ff. DSGVO verarbeiten. D.h. die Verarbeitung erfolgt z.B. auf Grundlage besonderer
|
||||
Garantien, wie der offiziell anerkannten Feststellung eines der EU entsprechenden Datenschutzniveaus (z.B. für
|
||||
die USA durch das „Privacy Shield“) oder Beachtung offiziell anerkannter spezieller vertraglicher
|
||||
Verpflichtungen (so genannte „Standardvertragsklauseln“).</p>
|
||||
<h3 id="dsg-general-rightssubject">Rechte der betroffenen Personen</h3>
|
||||
<p>Sie haben das Recht, eine Bestätigung darüber zu verlangen, ob betreffende Daten verarbeitet werden und auf
|
||||
Auskunft über diese Daten sowie auf weitere Informationen und Kopie der Daten entsprechend Art. 15 DSGVO.</p>
|
||||
<p>Sie haben entsprechend. Art. 16 DSGVO das Recht, die Vervollständigung der Sie betreffenden Daten oder die
|
||||
Berichtigung der Sie betreffenden unrichtigen Daten zu verlangen.</p>
|
||||
<p>Sie haben nach Maßgabe des Art. 17 DSGVO das Recht zu verlangen, dass betreffende Daten unverzüglich gelöscht
|
||||
werden, bzw. alternativ nach Maßgabe des Art. 18 DSGVO eine Einschränkung der Verarbeitung der Daten zu
|
||||
verlangen.</p>
|
||||
<p>Sie haben das Recht zu verlangen, dass die Sie betreffenden Daten, die Sie uns bereitgestellt haben nach Maßgabe
|
||||
des Art. 20 DSGVO zu erhalten und deren Übermittlung an andere Verantwortliche zu fordern.</p>
|
||||
<p>Sie haben ferner gem. Art. 77 DSGVO das Recht, eine Beschwerde bei der zuständigen Aufsichtsbehörde
|
||||
einzureichen.</p>
|
||||
<h3 id="dsg-general-revokeconsent">Widerrufsrecht</h3>
|
||||
<p>Sie haben das Recht, erteilte Einwilligungen gem. Art. 7 Abs. 3 DSGVO mit Wirkung für die Zukunft zu
|
||||
widerrufen</p>
|
||||
<h3 id="dsg-general-object">Widerspruchsrecht</h3>
|
||||
<p>Sie können der künftigen Verarbeitung der Sie betreffenden Daten nach Maßgabe des Art. 21 DSGVO jederzeit
|
||||
widersprechen. Der Widerspruch kann insbesondere gegen die Verarbeitung für Zwecke der Direktwerbung
|
||||
erfolgen.</p>
|
||||
<h3 id="dsg-general-cookies">Cookies und Widerspruchsrecht bei Direktwerbung</h3>
|
||||
<p>Als „Cookies“ werden kleine Dateien bezeichnet, die auf Rechnern der Nutzer gespeichert werden. Innerhalb der
|
||||
Cookies können unterschiedliche Angaben gespeichert werden. Ein Cookie dient primär dazu, die Angaben zu einem
|
||||
Nutzer (bzw. dem Gerät auf dem das Cookie gespeichert ist) während oder auch nach seinem Besuch innerhalb eines
|
||||
Onlineangebotes zu speichern. Als temporäre Cookies, bzw. „Session-Cookies“ oder „transiente Cookies“, werden
|
||||
Cookies bezeichnet, die gelöscht werden, nachdem ein Nutzer ein Onlineangebot verlässt und seinen Browser
|
||||
schließt. In einem solchen Cookie kann z.B. der Inhalt eines Warenkorbs in einem Onlineshop oder ein
|
||||
Login-Status gespeichert werden. Als „permanent“ oder „persistent“ werden Cookies bezeichnet, die auch nach dem
|
||||
Schließen des Browsers gespeichert bleiben. So kann z.B. der Login-Status gespeichert werden, wenn die Nutzer
|
||||
diese nach mehreren Tagen aufsuchen. Ebenso können in einem solchen Cookie die Interessen der Nutzer gespeichert
|
||||
werden, die für Reichweitenmessung oder Marketingzwecke verwendet werden. Als „Third-Party-Cookie“ werden
|
||||
Cookies bezeichnet, die von anderen Anbietern als dem Verantwortlichen, der das Onlineangebot betreibt,
|
||||
angeboten werden (andernfalls, wenn es nur dessen Cookies sind spricht man von „First-Party Cookies“).</p>
|
||||
<p>Wir können temporäre und permanente Cookies einsetzen und klären hierüber im Rahmen unserer Datenschutzerklärung
|
||||
auf.</p>
|
||||
<p>Falls die Nutzer nicht möchten, dass Cookies auf ihrem Rechner gespeichert werden, werden sie gebeten die
|
||||
entsprechende Option in den Systemeinstellungen ihres Browsers zu deaktivieren. Gespeicherte Cookies können in
|
||||
den Systemeinstellungen des Browsers gelöscht werden. Der Ausschluss von Cookies kann zu
|
||||
Funktionseinschränkungen dieses Onlineangebotes führen.</p>
|
||||
<p>Ein genereller Widerspruch gegen den Einsatz der zu Zwecken des Onlinemarketing eingesetzten Cookies kann bei
|
||||
einer Vielzahl der Dienste, vor allem im Fall des Trackings, über die US-amerikanische Seite <a
|
||||
href="http://www.aboutads.info/choices/">http://www.aboutads.info/choices/</a> oder die EU-Seite <a
|
||||
href="http://www.youronlinechoices.com/">http://www.youronlinechoices.com/</a> erklärt werden. Des
|
||||
Weiteren kann die Speicherung von Cookies mittels deren Abschaltung in den Einstellungen des Browsers erreicht
|
||||
werden. Bitte beachten Sie, dass dann gegebenenfalls nicht alle Funktionen dieses Onlineangebotes genutzt werden
|
||||
können.</p>
|
||||
<h3 id="dsg-general-erasure">Löschung von Daten</h3>
|
||||
<p>Die von uns verarbeiteten Daten werden nach Maßgabe der Art. 17 und 18 DSGVO gelöscht oder in ihrer Verarbeitung
|
||||
eingeschränkt. Sofern nicht im Rahmen dieser Datenschutzerklärung ausdrücklich angegeben, werden die bei uns
|
||||
gespeicherten Daten gelöscht, sobald sie für ihre Zweckbestimmung nicht mehr erforderlich sind und der Löschung
|
||||
keine gesetzlichen Aufbewahrungspflichten entgegenstehen. Sofern die Daten nicht gelöscht werden, weil sie für
|
||||
andere und gesetzlich zulässige Zwecke erforderlich sind, wird deren Verarbeitung eingeschränkt. D.h. die Daten
|
||||
werden gesperrt und nicht für andere Zwecke verarbeitet. Das gilt z.B. für Daten, die aus handels- oder
|
||||
steuerrechtlichen Gründen aufbewahrt werden müssen.</p>
|
||||
<p>Nach gesetzlichen Vorgaben in Deutschland, erfolgt die Aufbewahrung insbesondere für 10 Jahre gemäß §§ 147 Abs. 1
|
||||
AO, 257 Abs. 1 Nr. 1 und 4, Abs. 4 HGB (Bücher, Aufzeichnungen, Lageberichte, Buchungsbelege, Handelsbücher, für
|
||||
Besteuerung relevanter Unterlagen, etc.) und 6 Jahre gemäß § 257 Abs. 1 Nr. 2 und 3, Abs. 4 HGB
|
||||
(Handelsbriefe).</p>
|
||||
<p>Nach gesetzlichen Vorgaben in Österreich erfolgt die Aufbewahrung insbesondere für 7 J gemäß § 132 Abs. 1 BAO
|
||||
(Buchhaltungsunterlagen, Belege/Rechnungen, Konten, Belege, Geschäftspapiere, Aufstellung der Einnahmen und
|
||||
Ausgaben, etc.), für 22 Jahre im Zusammenhang mit Grundstücken und für 10 Jahre bei Unterlagen im Zusammenhang
|
||||
mit elektronisch erbrachten Leistungen, Telekommunikations-, Rundfunk- und Fernsehleistungen, die an
|
||||
Nichtunternehmer in EU-Mitgliedstaaten erbracht werden und für die der Mini-One-Stop-Shop (MOSS) in Anspruch
|
||||
genommen wird.</p>
|
||||
<h3 id="dsg-registration">Registrierfunktion</h3>
|
||||
<p><span class="ts-muster-content">Nutzer können ein Nutzerkonto anlegen. Im Rahmen der Registrierung werden die erforderlichen Pflichtangaben den Nutzern mitgeteilt und auf Grundlage des Art. 6 Abs. 1 lit. b DSGVO zu Zwecken der Bereitstellung des Nutzerkontos verarbeitet. Zu den verarbeiteten Daten gehören insbesondere die Login-Informationen (Name, Passwort sowie eine E-Mailadresse). Die im Rahmen der Registrierung eingegebenen Daten werden für die Zwecke der Nutzung des Nutzerkontos und dessen Zwecks verwendet.</span>
|
||||
</p>
|
||||
<p>Die Nutzer können über Informationen, die für deren Nutzerkonto relevant sind, wie z.B. technische Änderungen,
|
||||
per E-Mail informiert werden. Wenn Nutzer ihr Nutzerkonto gekündigt haben, werden deren Daten im Hinblick auf
|
||||
das Nutzerkonto, vorbehaltlich einer gesetzlichen Aufbewahrungspflicht, gelöscht. Es obliegt den Nutzern, ihre
|
||||
Daten bei erfolgter Kündigung vor dem Vertragsende zu sichern. Wir sind berechtigt, sämtliche während der
|
||||
Vertragsdauer gespeicherten Daten des Nutzers unwiederbringlich zu löschen.</p>
|
||||
<p>Im Rahmen der Inanspruchnahme unserer Registrierungs- und Anmeldefunktionen sowie der Nutzung des Nutzerkontos,
|
||||
speichern wird die IP-Adresse und den Zeitpunkt der jeweiligen Nutzerhandlung. Die Speicherung erfolgt auf
|
||||
Grundlage unserer berechtigten Interessen, als auch der Nutzer an Schutz vor Missbrauch und sonstiger unbefugter
|
||||
Nutzung. Eine Weitergabe dieser Daten an Dritte erfolgt grundsätzlich nicht, außer sie ist zur Verfolgung
|
||||
unserer Ansprüche erforderlich oder es besteht hierzu besteht eine gesetzliche Verpflichtung gem. Art. 6 Abs. 1
|
||||
lit. c DSGVO. Die IP-Adressen werden spätestens nach 7 Tagen anonymisiert oder gelöscht.</p>
|
||||
<h3 id="dsg-comments">Kommentare und Beiträge</h3>
|
||||
<p><span class="ts-muster-content">Wenn Nutzer Kommentare oder sonstige Beiträge hinterlassen, können ihre IP-Adressen auf Grundlage unserer berechtigten Interessen im Sinne des Art. 6 Abs. 1 lit. f. DSGVO für 7 Tage gespeichert werden. Das erfolgt zu unserer Sicherheit, falls jemand in Kommentaren und Beiträgen widerrechtliche Inhalte hinterlässt (Beleidigungen, verbotene politische Propaganda, etc.). In diesem Fall können wir selbst für den Kommentar oder Beitrag belangt werden und sind daher an der Identität des Verfassers interessiert.</span>
|
||||
</p>
|
||||
<p>Des Weiteren behalten wir uns vor, auf Grundlage unserer berechtigten Interessen gem. Art. 6 Abs. 1 lit. f.
|
||||
DSGVO, die Angaben der Nutzer zwecks Spamerkennung zu verarbeiten.</p>
|
||||
<p>Auf derselben Rechtsgrundlage behalten wir uns vor, im Fall von Umfragen die IP-Adressen der Nutzer für deren
|
||||
Dauer zu speichern und Cookis zu verwenden, um Mehrfachabstimmungen zu vermeiden.</p>
|
||||
<p>Die im Rahmen der Kommentare und Beiträge angegebenen Daten, werden von uns bis zum Widerspruch der Nutzer
|
||||
dauerhaft gespeichert.</p>
|
||||
<h3 id="dsg-subscribetocomments">Kommentarabonnements</h3>
|
||||
<p><span class="ts-muster-content">Die Nachfolgekommentare können durch Nutzer mit deren Einwilligung gem. Art. 6 Abs. 1 lit. a DSGVO abonniert werden. Die Nutzer erhalten eine Bestätigungsemail, um zu überprüfen, ob sie der Inhaber der eingegebenen Emailadresse sind. Nutzer können laufende Kommentarabonnements jederzeit abbestellen. Die Bestätigungsemail wird Hinweise zu den Widerrufsmöglichkeiten enthalten. Für die Zwecke des Nachweises der Einwilligung der Nutzer, speichern wir den Anmeldezeitpunkt nebst der IP-Adresse der Nutzer und löschen diese Informationen, wenn Nutzer sich von dem Abonnement abmelden.</span>
|
||||
</p>
|
||||
<p>Sie können den Empfang unseres Abonnemenets jederzeit kündigen, d.h. Ihre Einwilligungen widerrufen. Wir können
|
||||
die ausgetragenen E-Mailadressen bis zu drei Jahren auf Grundlage unserer berechtigten Interessen speichern
|
||||
bevor wir sie löschen, um eine ehemals gegebene Einwilligung nachweisen zu können. Die Verarbeitung dieser Daten
|
||||
wird auf den Zweck einer möglichen Abwehr von Ansprüchen beschränkt. Ein individueller Löschungsantrag ist
|
||||
jederzeit möglich, sofern zugleich das ehemalige Bestehen einer Einwilligung bestätigt wird.</p>
|
||||
<h3 id="dsg-akismet">Akismet Anti-Spam-Prüfung</h3>
|
||||
<p><span class="ts-muster-content">Unser Onlineangebot nutzt den Dienst „Akismet“, der von der Automattic Inc., 60 29th Street #343, San Francisco, CA 94110, USA, angeboten wird. Die Nutzung erfolgt auf Grundlage unserer berechtigten Interessen im Sinne des Art. 6 Abs. 1 lit. f) DSGVO. Mit Hilfe dieses Dienstes werden Kommentare echter Menschen von Spam-Kommentaren unterschieden. Dazu werden alle Kommentarangaben an einen Server in den USA verschickt, wo sie analysiert und für Vergleichszwecke vier Tage lang gespeichert werden. Ist ein Kommentar als Spam eingestuft worden, werden die Daten über diese Zeit hinaus gespeichert. Zu diesen Angaben gehören der eingegebene Name, die Emailadresse, die IP-Adresse, der Kommentarinhalt, der Referrer, Angaben zum verwendeten Browser sowie dem Computersystem und die Zeit des Eintrags.</span>
|
||||
</p>
|
||||
<p>Nähere Informationen zur Erhebung und Nutzung der Daten durch Akismet finden sich in den Datenschutzhinweisen von
|
||||
Automattic: <a href="https://automattic.com/privacy/" rel="noopener noreferrer" target="_blank">https://automattic.com/privacy/</a>.
|
||||
</p>
|
||||
<p>Nutzer können gerne Pseudonyme nutzen, oder auf die Eingabe des Namens oder der Emailadresse verzichten. Sie
|
||||
können die Übertragung der Daten komplett verhindern, indem Sie unser Kommentarsystem nicht nutzen. Das wäre
|
||||
schade, aber leider sehen wir sonst keine Alternativen, die ebenso effektiv arbeiten.</p>
|
||||
<p> </p>
|
||||
<h3 id="dsg-gravatar">Abruf von Profilbildern bei Gravatar</h3>
|
||||
<p><span class="ts-muster-content">Wir setzen innerhalb unseres Onlineangebotes und insbesondere im Blog den Dienst Gravatar der Automattic Inc., 60 29th Street #343, San Francisco, CA 94110, USA, ein.</span>
|
||||
</p>
|
||||
<p>Gravatar ist ein Dienst, bei dem sich Nutzer anmelden und Profilbilder und ihre E-Mailadressen hinterlegen
|
||||
können. Wenn Nutzer mit der jeweiligen E-Mailadresse auf anderen Onlinepräsenzen (vor allem in Blogs) Beiträge
|
||||
oder Kommentare hinterlassen, können so deren Profilbilder neben den Beiträgen oder Kommentaren dargestellt
|
||||
werden. Hierzu wird die von den Nutzern mitgeteilte E-Mailadresse an Gravatar zwecks Prüfung, ob zu ihr ein
|
||||
Profil gespeichert ist, verschlüsselt übermittelt. Dies ist der einzige Zweck der Übermittlung der E-Mailadresse
|
||||
und sie wird nicht für andere Zwecke verwendet, sondern danach gelöscht.</p>
|
||||
<p>Die Nutzung von Gravatar erfolgt auf Grundlage unserer berechtigten Interessen im Sinne des Art. 6 Abs. 1 lit. f)
|
||||
DSGVO, da wir mit Hilfe von Gravatar den Beitrags- und Kommentarverfassern die Möglichkeit bieten ihre Beiträge
|
||||
mit einem Profilbild zu personalisieren.</p>
|
||||
<p>Durch die Anzeige der Bilder bringt Gravatar die IP-Adresse der Nutzer in Erfahrung, da dies für eine
|
||||
Kommunikation zwischen einem Browser und einem Onlineservice notwendig ist. Nähere Informationen zur Erhebung
|
||||
und Nutzung der Daten durch Gravatar finden sich in den Datenschutzhinweisen von Automattic: <a
|
||||
href="https://automattic.com/privacy/" rel="noopener noreferrer" target="_blank">https://automattic.com/privacy/</a>.
|
||||
</p>
|
||||
<p>Wenn Nutzer nicht möchten, dass ein mit Ihrer E-Mail-Adresse bei Gravatar verknüpftes Benutzerbild in den
|
||||
Kommentaren erscheint, sollten Sie zum Kommentieren eine E-Mail-Adresse nutzen, welche nicht bei Gravatar
|
||||
hinterlegt ist. Wir weisen ferner darauf hin, dass es auch möglich ist eine anonyme oder gar keine E-Mailadresse
|
||||
zu verwenden, falls die Nutzer nicht wünschen, dass die eigene E-Mailadresse an Gravatar übersendet wird. Nutzer
|
||||
können die Übertragung der Daten komplett verhindern, indem Sie unser Kommentarsystem nicht nutzen.</p>
|
||||
<h3 id="dsg-wordpress-emojis">Abruf von Emojis und Smilies</h3>
|
||||
<p><span class="ts-muster-content">Innerhalb unseres WordPress-Blogs werden grafische Emojis (bzw. Smilies), d.h. kleine grafische Dateien, die Gefühle ausdrücken, eingesetzt, die von externen Servern bezogen werden. Hierbei erheben die Anbieter der Server, die IP-Adressen der Nutzer. Dies ist notwendig, damit die Emojie-Dateien an die Browser der Nutzer übermittelt werden können. Der Emojie-Service wird von der Automattic Inc., 60 29th Street #343, San Francisco, CA 94110, USA, angeboten. Datenschutzhinweise von Automattic: <a
|
||||
href="https://automattic.com/privacy/" rel="noopener noreferrer" target="_blank">https://automattic.com/privacy/</a>. Die verwendeten Server-Domains sind s.w.org und twemoji.maxcdn.com, wobei es sich unseres Wissens nach um sog. Content-Delivery-Networks handelt, also Server, die lediglich einer schnellen und sicheren Übermittlung der Dateien dienen und die personenbezogenen Daten der Nutzer nach der Übermittlung gelöscht werden.</span>
|
||||
</p>
|
||||
<p>Die Nutzung der Emojis erfolgt auf Grundlage unserer berechtigten Interessen, d.h. Interesse an einer attraktiven
|
||||
Gestaltung unseres Onlineangebotes gem. Art. 6 Abs. 1 lit. f. DSGVO.</p>
|
||||
<h3 id="dsg-flattr">Flattr</h3>
|
||||
<p><span class="ts-muster-content">Innerhalb dieses Onlineangebotes sind Schaltflächen des Micropayment-Dienstes „Flattr“ eingebunden, der von der Firma Flattr Network Ltd. mit Sitz in 2nd Floor, White bear yard 114A, Clerkenwell Road, London, Middlesex, England, EC1R 5DF, Großbritannien, betrieben wird. Wenn Sie Seiten dieses Internetangebots, die diese Schaltflächen enthalten, aufrufen, wird von Ihrem Browser eine direkte Verbindung zu Servern von Flattr hergestellt.</span>
|
||||
</p>
|
||||
<p>Sofern Nutzer bei Flattr ein Konto angelegt haben, mit dem sie gleichzeitig eingeloggt sind, erhält Flattr die
|
||||
Information, dass Nutzer die jeweilige Seite dieses Onlineangebots besucht haben. Sofern Nutzer ein Flattr-Konto
|
||||
besitzen, eingeloggt sind und mit der Schaltfläche interagieren, werden Informationen darüber an Flattr
|
||||
übermittelt und nach den dort geltenden Richtlinien dort zu Abrechnungszwecken gespeichert. Auch wenn Nutzer
|
||||
nicht eingeloggt sind, können ggf. Nutzungsdaten erhoben und auch gespeichert werden. Wie Ihre Daten genau
|
||||
verarbeitet werden, wenn Sie die Flattr-Schaltfläche anklicken, erfahren Nutzer unter <a
|
||||
href="https://flattr.com/privacy" rel="noopener noreferrer"
|
||||
target="_blank">https://flattr.com/privacy</a>.</p>
|
||||
<h3 id="dsg-contact">Kontaktaufnahme</h3>
|
||||
<p><span class="ts-muster-content">Bei der Kontaktaufnahme mit uns (z.B. per Kontaktformular, E-Mail, Telefon oder via sozialer Medien) werden die Angaben des Nutzers zur Bearbeitung der Kontaktanfrage und deren Abwicklung gem. Art. 6 Abs. 1 lit. b) DSGVO verarbeitet. Die Angaben der Nutzer können in einem Customer-Relationship-Management System ("CRM System") oder vergleichbarer Anfragenorganisation gespeichert werden.</span>
|
||||
</p>
|
||||
<p>Wir löschen die Anfragen, sofern diese nicht mehr erforderlich sind. Wir überprüfen die Erforderlichkeit alle
|
||||
zwei Jahre; Ferner gelten die gesetzlichen Archivierungspflichten.</p>
|
||||
<h3 id="dsg-newsletter-provider-mailjet">Newsletter - Mailjet</h3>
|
||||
<p><span class="ts-muster-content">Der Versand der Newsletter erfolgt mittels des Versanddienstleisters Mailjet SAS,13-13 bis, rue de l’Aubrac, 75012 Paris, France. Die Datenschutzbestimmungen des Versanddienstleisters können Sie hier einsehen: <a
|
||||
href="https://www.mailjet.de/privacy-policy/" rel="noopener noreferrer" target="_blank">https://www.mailjet.de/privacy-policy/</a>. Der Versanddienstleister wird auf Grundlage unserer berechtigten Interessen gem. Art. 6 Abs. 1 lit. f DSGVO und eines Auftragsverarbeitungsvertrages gem. Art. 28 Abs. 3 S. 1 DSGVO eingesetzt.</span>
|
||||
</p>
|
||||
<p>Der Versanddienstleister kann die Daten der Empfänger in pseudonymer Form, d.h. ohne Zuordnung zu einem Nutzer,
|
||||
zur Optimierung oder Verbesserung der eigenen Services nutzen, z.B. zur technischen Optimierung des Versandes
|
||||
und der Darstellung der Newsletter oder für statistische Zwecke verwenden. Der Versanddienstleister nutzt die
|
||||
Daten unserer Newsletterempfänger jedoch nicht, um diese selbst anzuschreiben oder um die Daten an Dritte
|
||||
weiterzugeben.</p>
|
||||
<h3 id="dsg-hostingprovider">Hosting und E-Mail-Versand</h3>
|
||||
<p><span class="ts-muster-content">Die von uns in Anspruch genommenen Hosting-Leistungen dienen der Zurverfügungstellung der folgenden Leistungen: Infrastruktur- und Plattformdienstleistungen, Rechenkapazität, Speicherplatz und Datenbankdienste, E-Mail-Versand, Sicherheitsleistungen sowie technische Wartungsleistungen, die wir zum Zwecke des Betriebs dieses Onlineangebotes einsetzen.</span>
|
||||
</p>
|
||||
<p>Hierbei verarbeiten wir, bzw. unser Hostinganbieter Bestandsdaten, Kontaktdaten, Inhaltsdaten, Vertragsdaten,
|
||||
Nutzungsdaten, Meta- und Kommunikationsdaten von Kunden, Interessenten und Besuchern dieses Onlineangebotes auf
|
||||
Grundlage unserer berechtigten Interessen an einer effizienten und sicheren Zurverfügungstellung dieses
|
||||
Onlineangebotes gem. Art. 6 Abs. 1 lit. f DSGVO i.V.m. Art. 28 DSGVO (Abschluss
|
||||
Auftragsverarbeitungsvertrag).</p>
|
||||
<h3 id="dsg-logfiles">Erhebung von Zugriffsdaten und Logfiles</h3>
|
||||
<p><span class="ts-muster-content">Wir, bzw. unser Hostinganbieter, erhebt auf Grundlage unserer berechtigten Interessen im Sinne des Art. 6 Abs. 1 lit. f. DSGVO Daten über jeden Zugriff auf den Server, auf dem sich dieser Dienst befindet (sogenannte Serverlogfiles). Zu den Zugriffsdaten gehören Name der abgerufenen Webseite, Datei, Datum und Uhrzeit des Abrufs, übertragene Datenmenge, Meldung über erfolgreichen Abruf, Browsertyp nebst Version, das Betriebssystem des Nutzers, Referrer URL (die zuvor besuchte Seite), IP-Adresse und der anfragende Provider.</span>
|
||||
</p>
|
||||
<p>Logfile-Informationen werden aus Sicherheitsgründen (z.B. zur Aufklärung von Missbrauchs- oder Betrugshandlungen)
|
||||
für die Dauer von maximal 7 Tagen gespeichert und danach gelöscht. Daten, deren weitere Aufbewahrung zu
|
||||
Beweiszwecken erforderlich ist, sind bis zur endgültigen Klärung des jeweiligen Vorfalls von der Löschung
|
||||
ausgenommen.</p>
|
||||
<h3 id="dsg-cdn-cloudflare">Content-Delivery-Network von Cloudflare</h3>
|
||||
<p><span class="ts-muster-content">Wir setzen ein so genanntes "Content Delivery Network" (CDN), angeboten von Cloudflare, Inc., 101 Townsend St, San Francisco, CA 94107, USA, ein. Cloudflare ist unter dem Privacy-Shield-Abkommen zertifiziert und bietet hierdurch eine Garantie, das europäische Datenschutzrecht einzuhalten (<a
|
||||
href="https://www.privacyshield.gov/participant?id=a2zt0000000GnZKAA0&status=Active" rel="noopener noreferrer"
|
||||
target="_blank">https://www.privacyshield.gov/participant?id=a2zt0000000GnZKAA0&status=Active</a>).</span>
|
||||
</p>
|
||||
<p>Ein CDN ist ein Dienst, mit dessen Hilfe Inhalte unseres Onlineangebotes, insbesondere große Mediendateien, wie
|
||||
Grafiken oder Skripte mit Hilfe regional verteilter und über das Internet verbundener Server, schneller
|
||||
ausgeliefert werden. Die Verarbeitung der Daten der Nutzer erfolgt alleine zu den vorgenannten Zwecken und der
|
||||
Aufrechterhaltung der Sicherheit und Funktionsfähigkeit des CDN.</p>
|
||||
<p>Die Nutzung erfolgt auf Grundlage unserer berechtigten Interessen, d.h. Interesse an einer sicheren und
|
||||
effizienten Bereitstellung, Analyse sowie Optimierung unseres Onlineangebotes gem. Art. 6 Abs. 1 lit. f.
|
||||
DSGVO.</p>
|
||||
<p>Weitere Informationen erhalten Sie in der Datenschutzerklärung von Cloudflare: <a
|
||||
href="https://www.cloudflare.com/security-policy" rel="noopener noreferrer" target="_blank">https://www.cloudflare.com/security-policy</a>.
|
||||
</p>
|
||||
<h3>Analysedienste</h3>
|
||||
<p>Unsere Website verwendet Matamo, dabei handelt es sich um einen sogenannten Webanalysedienst. Matamo verwendet
|
||||
sog. „Cookies“, das sind Textdateien, die auf Ihrem Computer gespeichert werden und die unsererseits eine
|
||||
Analyse der Benutzung der Webseite ermöglichen. Zu diesem Zweck werden die durch den Cookie erzeugten
|
||||
Nutzungsinformationen (einschließlich Ihrer gekürzten IP-Adresse) an unseren Server übertragen und zu
|
||||
Nutzungsanalysezwecken gespeichert, was der Webseitenoptimierung unsererseits dient. Ihre IP-Adresse wird bei
|
||||
diesem Vorgang umgehend anonymisiert, so dass Sie als Nutzer für uns anonym bleiben. Die durch den Cookie
|
||||
erzeugten Informationen über Ihre Benutzung dieser Webseite werden nicht an Dritte weitergegeben. Sie können die
|
||||
Verwendung der Cookies durch eine entsprechende Einstellung Ihrer Browser Software verhindern, es kann jedoch
|
||||
sein, dass Sie in diesem Fall gegebenenfalls nicht sämtliche Funktionen dieser Website voll umfänglich nutzen
|
||||
können.</p>
|
||||
<p>Wenn Sie mit der Speicherung und Auswertung dieser Daten aus Ihrem Besuch nicht einverstanden sind, dann
|
||||
können Sie der Speicherung und Nutzung nachfolgend per Mausklick jederzeit widersprechen. In diesem Fall
|
||||
wird in Ihrem Browser ein sog. Opt-Out-Cookie abgelegt, was zur Folge hat, dass Matamo keinerlei
|
||||
Sitzungsdaten erhebt. Achtung: Wenn Sie Ihre Cookies löschen, so hat dies zur Folge, dass auch das
|
||||
Opt-Out-Cookie gelöscht wird und ggf. von Ihnen erneut aktiviert werden muss.</p>
|
||||
<p>Aktuelle Einstellungen: [wp-piwik module="opt-out" language="de" width="100%" height="200px"]</p>
|
||||
<h3 id="dsg-thirdparty-einleitung">Einbindung von Diensten und Inhalten Dritter</h3>
|
||||
<p><span class="ts-muster-content">Wir setzen innerhalb unseres Onlineangebotes auf Grundlage unserer berechtigten Interessen (d.h. Interesse an der Analyse, Optimierung und wirtschaftlichem Betrieb unseres Onlineangebotes im Sinne des Art. 6 Abs. 1 lit. f. DSGVO) Inhalts- oder Serviceangebote von Drittanbietern ein, um deren Inhalte und Services, wie z.B. Videos oder Schriftarten einzubinden (nachfolgend einheitlich bezeichnet als “Inhalte”).</span>
|
||||
</p>
|
||||
<p>Dies setzt immer voraus, dass die Drittanbieter dieser Inhalte, die IP-Adresse der Nutzer wahrnehmen, da sie ohne
|
||||
die IP-Adresse die Inhalte nicht an deren Browser senden könnten. Die IP-Adresse ist damit für die Darstellung
|
||||
dieser Inhalte erforderlich. Wir bemühen uns nur solche Inhalte zu verwenden, deren jeweilige Anbieter die
|
||||
IP-Adresse lediglich zur Auslieferung der Inhalte verwenden. Drittanbieter können ferner so genannte Pixel-Tags
|
||||
(unsichtbare Grafiken, auch als "Web Beacons" bezeichnet) für statistische oder Marketingzwecke verwenden. Durch
|
||||
die "Pixel-Tags" können Informationen, wie der Besucherverkehr auf den Seiten dieser Website ausgewertet werden.
|
||||
Die pseudonymen Informationen können ferner in Cookies auf dem Gerät der Nutzer gespeichert werden und unter
|
||||
anderem technische Informationen zum Browser und Betriebssystem, verweisende Webseiten, Besuchszeit sowie
|
||||
weitere Angaben zur Nutzung unseres Onlineangebotes enthalten, als auch mit solchen Informationen aus anderen
|
||||
Quellen verbunden werden.</p>
|
||||
<h3 id="dsg-thirdparty-vimeo">Vimeo</h3>
|
||||
<p><span class="ts-muster-content">Wir können die Videos der Plattform “Vimeo” des Anbieters Vimeo Inc., Attention: Legal Department, 555 West 18th Street New York, New York 10011, USA, einbinden. Datenschutzerklärung: <a
|
||||
href="https://vimeo.com/privacy" rel="noopener noreferrer" target="_blank">https://vimeo.com/privacy</a>. WIr weisen darauf hin, dass Vimeo Google Analytics einsetzen kann und verweisen hierzu auf die Datenschutzerklärung (<a
|
||||
href="https://www.google.com/policies/privacy" rel="noopener noreferrer" target="_blank">https://www.google.com/policies/privacy</a>) sowie Opt-Out-Möglichkeiten für Google-Analytics (<a
|
||||
href="http://tools.google.com/dlpage/gaoptout?hl=de" rel="noopener noreferrer" target="_blank">http://tools.google.com/dlpage/gaoptout?hl=de</a>) oder die Einstellungen von Google für die Datennutzung zu Marketingzwecken (<a
|
||||
href="https://adssettings.google.com/" rel="noopener noreferrer" target="_blank">https://adssettings.google.com/.</a>).</span>
|
||||
</p>
|
||||
<h3 id="dsg-thirdparty-youtube">Youtube</h3>
|
||||
<p><span class="ts-muster-content">Wir binden die Videos der Plattform “YouTube” des Anbieters Google LLC, 1600 Amphitheatre Parkway, Mountain View, CA 94043, USA, ein. Datenschutzerklärung: <a
|
||||
href="https://www.google.com/policies/privacy/" rel="noopener noreferrer" target="_blank">https://www.google.com/policies/privacy/</a>, Opt-Out: <a
|
||||
href="https://adssettings.google.com/authenticated" rel="noopener noreferrer" target="_blank">https://adssettings.google.com/authenticated</a>.</span>
|
||||
</p>
|
||||
<h3 id="dsg-thirdparty-googlefonts">Google Fonts</h3>
|
||||
<p><span class="ts-muster-content">Wir binden die Schriftarten ("Google Fonts") des Anbieters Google LLC, 1600 Amphitheatre Parkway, Mountain View, CA 94043, USA, ein. Datenschutzerklärung: <a
|
||||
href="https://www.google.com/policies/privacy/" rel="noopener noreferrer" target="_blank">https://www.google.com/policies/privacy/</a>, Opt-Out: <a
|
||||
href="https://adssettings.google.com/authenticated" rel="noopener noreferrer" target="_blank">https://adssettings.google.com/authenticated</a>.</span>
|
||||
</p>
|
||||
<h3 id="dsg-thirdparty-googlerecaptcha">Google ReCaptcha</h3>
|
||||
<p><span class="ts-muster-content">Wir binden die Funktion zur Erkennung von Bots, z.B. bei Eingaben in Onlineformularen ("ReCaptcha") des Anbieters Google LLC, 1600 Amphitheatre Parkway, Mountain View, CA 94043, USA, ein. Datenschutzerklärung: <a
|
||||
href="https://www.google.com/policies/privacy/" rel="noopener noreferrer" target="_blank">https://www.google.com/policies/privacy/</a>, Opt-Out: <a
|
||||
href="https://adssettings.google.com/authenticated" rel="noopener noreferrer" target="_blank">https://adssettings.google.com/authenticated</a>.</span>
|
||||
</p>
|
||||
<h3 id="dsg-thirdparty-googlemaps">Google Maps</h3>
|
||||
<p><span class="ts-muster-content">Wir binden die Landkarten des Dienstes “Google Maps” des Anbieters Google LLC, 1600 Amphitheatre Parkway, Mountain View, CA 94043, USA, ein. Zu den verarbeiteten Daten können insbesondere IP-Adressen und Standortdaten der Nutzer gehören, die jedoch nicht ohne deren Einwilligung (im Regelfall im Rahmen der Einstellungen ihrer Mobilgeräte vollzogen), erhoben werden. Die Daten können in den USA verarbeitet werden. Datenschutzerklärung: <a
|
||||
href="https://www.google.com/policies/privacy/" rel="noopener noreferrer" target="_blank">https://www.google.com/policies/privacy/</a>, Opt-Out: <a
|
||||
href="https://adssettings.google.com/authenticated" rel="noopener noreferrer" target="_blank">https://adssettings.google.com/authenticated</a>.</span>
|
||||
</p>
|
||||
<h3 id="dsg-thirdparty-typekit">Typekit-Schriftarten von Adobe</h3>
|
||||
<p><span class="ts-muster-content">Wir setzen auf Grundlage unserer berechtigten Interessen (d.h. Interesse an der Analyse, Optimierung und wirtschaftlichem Betrieb unseres Onlineangebotes im Sinne des Art. 6 Abs. 1 lit. f. DSGVO) externe "Typekit"-Schriftarten des Anbieters Adobe Systems Software Ireland Limited, 4-6 Riverwalk, Citywest Business Campus, Dublin 24, Republic of Ireland ein. Adobe ist unter dem Privacy-Shield-Abkommen zertifiziert und bietet hierdurch eine Garantie, das europäische Datenschutzrecht einzuhalten (https://www.privacyshield.gov/participant?id=a2zt0000000TNo9AAG&status=Active).</span>
|
||||
</p>
|
||||
<p><a class="dsg1-5" href="https://datenschutz-generator.de" rel="nofollow noopener noreferrer" target="_blank">Erstellt
|
||||
mit Datenschutz-Generator.de von RA Dr. Thomas Schwenke</a></p>
|
||||
</div>
|
||||
<jl-footer></jl-footer>
|
||||
<script src="/js/script.js"></script>
|
||||
</body>
|
||||
</html>
|
|
@ -1,119 +0,0 @@
|
|||
<?php
|
||||
include "internal/header.php";
|
||||
include "internal/footer.php";
|
||||
include "internal/comments.php";
|
||||
|
||||
getHeader("DATENSCHUTZERKLÄRUNG", "");
|
||||
?>
|
||||
<h3 id="dsg-general-intro"> </h3>
|
||||
<p>Diese Datenschutzerklärung klärt Sie über die Art, den Umfang und Zweck der Verarbeitung von personenbezogenen Daten (nachfolgend kurz „Daten“) innerhalb unseres Onlineangebotes und der mit ihm verbundenen Webseiten, Funktionen und Inhalte sowie externen Onlinepräsenzen, wie z.B. unser Social Media Profile auf (nachfolgend gemeinsam bezeichnet als „Onlineangebot“). Im Hinblick auf die verwendeten Begrifflichkeiten, wie z.B. „Verarbeitung“ oder „Verantwortlicher“ verweisen wir auf die Definitionen im Art. 4 der Datenschutzgrundverordnung (DSGVO).</p>
|
||||
<h3 id="dsg-general-datatype">Arten der verarbeiteten Daten:</h3>
|
||||
<p>- Bestandsdaten (z.B., Namen, Adressen).<br />- Kontaktdaten (z.B., E-Mail, Telefonnummern).<br />- Inhaltsdaten (z.B., Texteingaben, Fotografien, Videos).<br />- Nutzungsdaten (z.B., besuchte Webseiten, Interesse an Inhalten, Zugriffszeiten).<br />- Meta-/Kommunikationsdaten (z.B., Geräte-Informationen, IP-Adressen).</p>
|
||||
<h3 id="dsg-general-datasubjects">Kategorien betroffener Personen</h3>
|
||||
<p>Besucher und Nutzer des Onlineangebotes (Nachfolgend bezeichnen wir die betroffenen Personen zusammenfassend auch als „Nutzer“).</p>
|
||||
<h3 id="dsg-general-purpose">Zweck der Verarbeitung</h3>
|
||||
<p>- Zurverfügungstellung des Onlineangebotes, seiner Funktionen und Inhalte.<br />- Beantwortung von Kontaktanfragen und Kommunikation mit Nutzern.<br />- Sicherheitsmaßnahmen.<br />- Reichweitenmessung/Marketing</p>
|
||||
<h3 id="dsg-general-terms">Verwendete Begrifflichkeiten</h3>
|
||||
<p>„Personenbezogene Daten“ sind alle Informationen, die sich auf eine identifizierte oder identifizierbare natürliche Person (im Folgenden „betroffene Person“) beziehen; als identifizierbar wird eine natürliche Person angesehen, die direkt oder indirekt, insbesondere mittels Zuordnung zu einer Kennung wie einem Namen, zu einer Kennnummer, zu Standortdaten, zu einer Online-Kennung (z.B. Cookie) oder zu einem oder mehreren besonderen Merkmalen identifiziert werden kann, die Ausdruck der physischen, physiologischen, genetischen, psychischen, wirtschaftlichen, kulturellen oder sozialen Identität dieser natürlichen Person sind.</p>
|
||||
<p>„Verarbeitung“ ist jeder mit oder ohne Hilfe automatisierter Verfahren ausgeführte Vorgang oder jede solche Vorgangsreihe im Zusammenhang mit personenbezogenen Daten. Der Begriff reicht weit und umfasst praktisch jeden Umgang mit Daten.</p>
|
||||
<p>„Pseudonymisierung“ die Verarbeitung personenbezogener Daten in einer Weise, dass die personenbezogenen Daten ohne Hinzuziehung zusätzlicher Informationen nicht mehr einer spezifischen betroffenen Person zugeordnet werden können, sofern diese zusätzlichen Informationen gesondert aufbewahrt werden und technischen und organisatorischen Maßnahmen unterliegen, die gewährleisten, dass die personenbezogenen Daten nicht einer identifizierten oder identifizierbaren natürlichen Person zugewiesen werden.</p>
|
||||
<p>„Profiling“ jede Art der automatisierten Verarbeitung personenbezogener Daten, die darin besteht, dass diese personenbezogenen Daten verwendet werden, um bestimmte persönliche Aspekte, die sich auf eine natürliche Person beziehen, zu bewerten, insbesondere um Aspekte bezüglich Arbeitsleistung, wirtschaftliche Lage, Gesundheit, persönliche Vorlieben, Interessen, Zuverlässigkeit, Verhalten, Aufenthaltsort oder Ortswechsel dieser natürlichen Person zu analysieren oder vorherzusagen.</p>
|
||||
<p>Als „Verantwortlicher“ wird die natürliche oder juristische Person, Behörde, Einrichtung oder andere Stelle, die allein oder gemeinsam mit anderen über die Zwecke und Mittel der Verarbeitung von personenbezogenen Daten entscheidet, bezeichnet.</p>
|
||||
<p>„Auftragsverarbeiter“ eine natürliche oder juristische Person, Behörde, Einrichtung oder andere Stelle, die personenbezogene Daten im Auftrag des Verantwortlichen verarbeitet.</p>
|
||||
<h3 id="dsg-general-legalbasis">Maßgebliche Rechtsgrundlagen</h3>
|
||||
<p>Nach Maßgabe des Art. 13 DSGVO teilen wir Ihnen die Rechtsgrundlagen unserer Datenverarbeitungen mit. Sofern die Rechtsgrundlage in der Datenschutzerklärung nicht genannt wird, gilt Folgendes: Die Rechtsgrundlage für die Einholung von Einwilligungen ist Art. 6 Abs. 1 lit. a und Art. 7 DSGVO, die Rechtsgrundlage für die Verarbeitung zur Erfüllung unserer Leistungen und Durchführung vertraglicher Maßnahmen sowie Beantwortung von Anfragen ist Art. 6 Abs. 1 lit. b DSGVO, die Rechtsgrundlage für die Verarbeitung zur Erfüllung unserer rechtlichen Verpflichtungen ist Art. 6 Abs. 1 lit. c DSGVO, und die Rechtsgrundlage für die Verarbeitung zur Wahrung unserer berechtigten Interessen ist Art. 6 Abs. 1 lit. f DSGVO. Für den Fall, dass lebenswichtige Interessen der betroffenen Person oder einer anderen natürlichen Person eine Verarbeitung personenbezogener Daten erforderlich machen, dient Art. 6 Abs. 1 lit. d DSGVO als Rechtsgrundlage.</p>
|
||||
<h3 id="dsg-general-securitymeasures">Sicherheitsmaßnahmen</h3>
|
||||
<p>Wir treffen nach Maßgabe des Art. 32 DSGVO unter Berücksichtigung des Stands der Technik, der Implementierungskosten und der Art, des Umfangs, der Umstände und der Zwecke der Verarbeitung sowie der unterschiedlichen Eintrittswahrscheinlichkeit und Schwere des Risikos für die Rechte und Freiheiten natürlicher Personen, geeignete technische und organisatorische Maßnahmen, um ein dem Risiko angemessenes Schutzniveau zu gewährleisten.</p>
|
||||
<p>Zu den Maßnahmen gehören insbesondere die Sicherung der Vertraulichkeit, Integrität und Verfügbarkeit von Daten durch Kontrolle des physischen Zugangs zu den Daten, als auch des sie betreffenden Zugriffs, der Eingabe, Weitergabe, der Sicherung der Verfügbarkeit und ihrer Trennung. Des Weiteren haben wir Verfahren eingerichtet, die eine Wahrnehmung von Betroffenenrechten, Löschung von Daten und Reaktion auf Gefährdung der Daten gewährleisten. Ferner berücksichtigen wir den Schutz personenbezogener Daten bereits bei der Entwicklung, bzw. Auswahl von Hardware, Software sowie Verfahren, entsprechend dem Prinzip des Datenschutzes durch Technikgestaltung und durch datenschutzfreundliche Voreinstellungen (Art. 25 DSGVO).</p>
|
||||
<h3 id="dsg-general-coprocessing">Zusammenarbeit mit Auftragsverarbeitern und Dritten</h3>
|
||||
<p>Sofern wir im Rahmen unserer Verarbeitung Daten gegenüber anderen Personen und Unternehmen (Auftragsverarbeitern oder Dritten) offenbaren, sie an diese übermitteln oder ihnen sonst Zugriff auf die Daten gewähren, erfolgt dies nur auf Grundlage einer gesetzlichen Erlaubnis (z.B. wenn eine Übermittlung der Daten an Dritte, wie an Zahlungsdienstleister, gem. Art. 6 Abs. 1 lit. b DSGVO zur Vertragserfüllung erforderlich ist), Sie eingewilligt haben, eine rechtliche Verpflichtung dies vorsieht oder auf Grundlage unserer berechtigten Interessen (z.B. beim Einsatz von Beauftragten, Webhostern, etc.).</p>
|
||||
<p>Sofern wir Dritte mit der Verarbeitung von Daten auf Grundlage eines sog. „Auftragsverarbeitungsvertrages“ beauftragen, geschieht dies auf Grundlage des Art. 28 DSGVO.</p>
|
||||
<h3 id="dsg-general-thirdparty">Übermittlungen in Drittländer</h3>
|
||||
<p>Sofern wir Daten in einem Drittland (d.h. außerhalb der Europäischen Union (EU) oder des Europäischen Wirtschaftsraums (EWR)) verarbeiten oder dies im Rahmen der Inanspruchnahme von Diensten Dritter oder Offenlegung, bzw. Übermittlung von Daten an Dritte geschieht, erfolgt dies nur, wenn es zur Erfüllung unserer (vor)vertraglichen Pflichten, auf Grundlage Ihrer Einwilligung, aufgrund einer rechtlichen Verpflichtung oder auf Grundlage unserer berechtigten Interessen geschieht. Vorbehaltlich gesetzlicher oder vertraglicher Erlaubnisse, verarbeiten oder lassen wir die Daten in einem Drittland nur beim Vorliegen der besonderen Voraussetzungen der Art. 44 ff. DSGVO verarbeiten. D.h. die Verarbeitung erfolgt z.B. auf Grundlage besonderer Garantien, wie der offiziell anerkannten Feststellung eines der EU entsprechenden Datenschutzniveaus (z.B. für die USA durch das „Privacy Shield“) oder Beachtung offiziell anerkannter spezieller vertraglicher Verpflichtungen (so genannte „Standardvertragsklauseln“).</p>
|
||||
<h3 id="dsg-general-rightssubject">Rechte der betroffenen Personen</h3>
|
||||
<p>Sie haben das Recht, eine Bestätigung darüber zu verlangen, ob betreffende Daten verarbeitet werden und auf Auskunft über diese Daten sowie auf weitere Informationen und Kopie der Daten entsprechend Art. 15 DSGVO.</p>
|
||||
<p>Sie haben entsprechend. Art. 16 DSGVO das Recht, die Vervollständigung der Sie betreffenden Daten oder die Berichtigung der Sie betreffenden unrichtigen Daten zu verlangen.</p>
|
||||
<p>Sie haben nach Maßgabe des Art. 17 DSGVO das Recht zu verlangen, dass betreffende Daten unverzüglich gelöscht werden, bzw. alternativ nach Maßgabe des Art. 18 DSGVO eine Einschränkung der Verarbeitung der Daten zu verlangen.</p>
|
||||
<p>Sie haben das Recht zu verlangen, dass die Sie betreffenden Daten, die Sie uns bereitgestellt haben nach Maßgabe des Art. 20 DSGVO zu erhalten und deren Übermittlung an andere Verantwortliche zu fordern.</p>
|
||||
<p>Sie haben ferner gem. Art. 77 DSGVO das Recht, eine Beschwerde bei der zuständigen Aufsichtsbehörde einzureichen.</p>
|
||||
<h3 id="dsg-general-revokeconsent">Widerrufsrecht</h3>
|
||||
<p>Sie haben das Recht, erteilte Einwilligungen gem. Art. 7 Abs. 3 DSGVO mit Wirkung für die Zukunft zu widerrufen</p>
|
||||
<h3 id="dsg-general-object">Widerspruchsrecht</h3>
|
||||
<p>Sie können der künftigen Verarbeitung der Sie betreffenden Daten nach Maßgabe des Art. 21 DSGVO jederzeit widersprechen. Der Widerspruch kann insbesondere gegen die Verarbeitung für Zwecke der Direktwerbung erfolgen.</p>
|
||||
<h3 id="dsg-general-cookies">Cookies und Widerspruchsrecht bei Direktwerbung</h3>
|
||||
<p>Als „Cookies“ werden kleine Dateien bezeichnet, die auf Rechnern der Nutzer gespeichert werden. Innerhalb der Cookies können unterschiedliche Angaben gespeichert werden. Ein Cookie dient primär dazu, die Angaben zu einem Nutzer (bzw. dem Gerät auf dem das Cookie gespeichert ist) während oder auch nach seinem Besuch innerhalb eines Onlineangebotes zu speichern. Als temporäre Cookies, bzw. „Session-Cookies“ oder „transiente Cookies“, werden Cookies bezeichnet, die gelöscht werden, nachdem ein Nutzer ein Onlineangebot verlässt und seinen Browser schließt. In einem solchen Cookie kann z.B. der Inhalt eines Warenkorbs in einem Onlineshop oder ein Login-Status gespeichert werden. Als „permanent“ oder „persistent“ werden Cookies bezeichnet, die auch nach dem Schließen des Browsers gespeichert bleiben. So kann z.B. der Login-Status gespeichert werden, wenn die Nutzer diese nach mehreren Tagen aufsuchen. Ebenso können in einem solchen Cookie die Interessen der Nutzer gespeichert werden, die für Reichweitenmessung oder Marketingzwecke verwendet werden. Als „Third-Party-Cookie“ werden Cookies bezeichnet, die von anderen Anbietern als dem Verantwortlichen, der das Onlineangebot betreibt, angeboten werden (andernfalls, wenn es nur dessen Cookies sind spricht man von „First-Party Cookies“).</p>
|
||||
<p>Wir können temporäre und permanente Cookies einsetzen und klären hierüber im Rahmen unserer Datenschutzerklärung auf.</p>
|
||||
<p>Falls die Nutzer nicht möchten, dass Cookies auf ihrem Rechner gespeichert werden, werden sie gebeten die entsprechende Option in den Systemeinstellungen ihres Browsers zu deaktivieren. Gespeicherte Cookies können in den Systemeinstellungen des Browsers gelöscht werden. Der Ausschluss von Cookies kann zu Funktionseinschränkungen dieses Onlineangebotes führen.</p>
|
||||
<p>Ein genereller Widerspruch gegen den Einsatz der zu Zwecken des Onlinemarketing eingesetzten Cookies kann bei einer Vielzahl der Dienste, vor allem im Fall des Trackings, über die US-amerikanische Seite <a href="http://www.aboutads.info/choices/">http://www.aboutads.info/choices/</a> oder die EU-Seite <a href="http://www.youronlinechoices.com/">http://www.youronlinechoices.com/</a> erklärt werden. Des Weiteren kann die Speicherung von Cookies mittels deren Abschaltung in den Einstellungen des Browsers erreicht werden. Bitte beachten Sie, dass dann gegebenenfalls nicht alle Funktionen dieses Onlineangebotes genutzt werden können.</p>
|
||||
<h3 id="dsg-general-erasure">Löschung von Daten</h3>
|
||||
<p>Die von uns verarbeiteten Daten werden nach Maßgabe der Art. 17 und 18 DSGVO gelöscht oder in ihrer Verarbeitung eingeschränkt. Sofern nicht im Rahmen dieser Datenschutzerklärung ausdrücklich angegeben, werden die bei uns gespeicherten Daten gelöscht, sobald sie für ihre Zweckbestimmung nicht mehr erforderlich sind und der Löschung keine gesetzlichen Aufbewahrungspflichten entgegenstehen. Sofern die Daten nicht gelöscht werden, weil sie für andere und gesetzlich zulässige Zwecke erforderlich sind, wird deren Verarbeitung eingeschränkt. D.h. die Daten werden gesperrt und nicht für andere Zwecke verarbeitet. Das gilt z.B. für Daten, die aus handels- oder steuerrechtlichen Gründen aufbewahrt werden müssen.</p>
|
||||
<p>Nach gesetzlichen Vorgaben in Deutschland, erfolgt die Aufbewahrung insbesondere für 10 Jahre gemäß §§ 147 Abs. 1 AO, 257 Abs. 1 Nr. 1 und 4, Abs. 4 HGB (Bücher, Aufzeichnungen, Lageberichte, Buchungsbelege, Handelsbücher, für Besteuerung relevanter Unterlagen, etc.) und 6 Jahre gemäß § 257 Abs. 1 Nr. 2 und 3, Abs. 4 HGB (Handelsbriefe).</p>
|
||||
<p>Nach gesetzlichen Vorgaben in Österreich erfolgt die Aufbewahrung insbesondere für 7 J gemäß § 132 Abs. 1 BAO (Buchhaltungsunterlagen, Belege/Rechnungen, Konten, Belege, Geschäftspapiere, Aufstellung der Einnahmen und Ausgaben, etc.), für 22 Jahre im Zusammenhang mit Grundstücken und für 10 Jahre bei Unterlagen im Zusammenhang mit elektronisch erbrachten Leistungen, Telekommunikations-, Rundfunk- und Fernsehleistungen, die an Nichtunternehmer in EU-Mitgliedstaaten erbracht werden und für die der Mini-One-Stop-Shop (MOSS) in Anspruch genommen wird.</p>
|
||||
<h3 id="dsg-registration">Registrierfunktion</h3>
|
||||
<p><span class="ts-muster-content">Nutzer können ein Nutzerkonto anlegen. Im Rahmen der Registrierung werden die erforderlichen Pflichtangaben den Nutzern mitgeteilt und auf Grundlage des Art. 6 Abs. 1 lit. b DSGVO zu Zwecken der Bereitstellung des Nutzerkontos verarbeitet. Zu den verarbeiteten Daten gehören insbesondere die Login-Informationen (Name, Passwort sowie eine E-Mailadresse). Die im Rahmen der Registrierung eingegebenen Daten werden für die Zwecke der Nutzung des Nutzerkontos und dessen Zwecks verwendet.</span></p>
|
||||
<p>Die Nutzer können über Informationen, die für deren Nutzerkonto relevant sind, wie z.B. technische Änderungen, per E-Mail informiert werden. Wenn Nutzer ihr Nutzerkonto gekündigt haben, werden deren Daten im Hinblick auf das Nutzerkonto, vorbehaltlich einer gesetzlichen Aufbewahrungspflicht, gelöscht. Es obliegt den Nutzern, ihre Daten bei erfolgter Kündigung vor dem Vertragsende zu sichern. Wir sind berechtigt, sämtliche während der Vertragsdauer gespeicherten Daten des Nutzers unwiederbringlich zu löschen.</p>
|
||||
<p>Im Rahmen der Inanspruchnahme unserer Registrierungs- und Anmeldefunktionen sowie der Nutzung des Nutzerkontos, speichern wird die IP-Adresse und den Zeitpunkt der jeweiligen Nutzerhandlung. Die Speicherung erfolgt auf Grundlage unserer berechtigten Interessen, als auch der Nutzer an Schutz vor Missbrauch und sonstiger unbefugter Nutzung. Eine Weitergabe dieser Daten an Dritte erfolgt grundsätzlich nicht, außer sie ist zur Verfolgung unserer Ansprüche erforderlich oder es besteht hierzu besteht eine gesetzliche Verpflichtung gem. Art. 6 Abs. 1 lit. c DSGVO. Die IP-Adressen werden spätestens nach 7 Tagen anonymisiert oder gelöscht.</p>
|
||||
<h3 id="dsg-comments">Kommentare und Beiträge</h3>
|
||||
<p><span class="ts-muster-content">Wenn Nutzer Kommentare oder sonstige Beiträge hinterlassen, können ihre IP-Adressen auf Grundlage unserer berechtigten Interessen im Sinne des Art. 6 Abs. 1 lit. f. DSGVO für 7 Tage gespeichert werden. Das erfolgt zu unserer Sicherheit, falls jemand in Kommentaren und Beiträgen widerrechtliche Inhalte hinterlässt (Beleidigungen, verbotene politische Propaganda, etc.). In diesem Fall können wir selbst für den Kommentar oder Beitrag belangt werden und sind daher an der Identität des Verfassers interessiert.</span></p>
|
||||
<p>Des Weiteren behalten wir uns vor, auf Grundlage unserer berechtigten Interessen gem. Art. 6 Abs. 1 lit. f. DSGVO, die Angaben der Nutzer zwecks Spamerkennung zu verarbeiten.</p>
|
||||
<p>Auf derselben Rechtsgrundlage behalten wir uns vor, im Fall von Umfragen die IP-Adressen der Nutzer für deren Dauer zu speichern und Cookis zu verwenden, um Mehrfachabstimmungen zu vermeiden.</p>
|
||||
<p>Die im Rahmen der Kommentare und Beiträge angegebenen Daten, werden von uns bis zum Widerspruch der Nutzer dauerhaft gespeichert.</p>
|
||||
<h3 id="dsg-subscribetocomments">Kommentarabonnements</h3>
|
||||
<p><span class="ts-muster-content">Die Nachfolgekommentare können durch Nutzer mit deren Einwilligung gem. Art. 6 Abs. 1 lit. a DSGVO abonniert werden. Die Nutzer erhalten eine Bestätigungsemail, um zu überprüfen, ob sie der Inhaber der eingegebenen Emailadresse sind. Nutzer können laufende Kommentarabonnements jederzeit abbestellen. Die Bestätigungsemail wird Hinweise zu den Widerrufsmöglichkeiten enthalten. Für die Zwecke des Nachweises der Einwilligung der Nutzer, speichern wir den Anmeldezeitpunkt nebst der IP-Adresse der Nutzer und löschen diese Informationen, wenn Nutzer sich von dem Abonnement abmelden.</span></p>
|
||||
<p>Sie können den Empfang unseres Abonnemenets jederzeit kündigen, d.h. Ihre Einwilligungen widerrufen. Wir können die ausgetragenen E-Mailadressen bis zu drei Jahren auf Grundlage unserer berechtigten Interessen speichern bevor wir sie löschen, um eine ehemals gegebene Einwilligung nachweisen zu können. Die Verarbeitung dieser Daten wird auf den Zweck einer möglichen Abwehr von Ansprüchen beschränkt. Ein individueller Löschungsantrag ist jederzeit möglich, sofern zugleich das ehemalige Bestehen einer Einwilligung bestätigt wird.</p>
|
||||
<h3 id="dsg-akismet">Akismet Anti-Spam-Prüfung</h3>
|
||||
<p><span class="ts-muster-content">Unser Onlineangebot nutzt den Dienst „Akismet“, der von der Automattic Inc., 60 29th Street #343, San Francisco, CA 94110, USA, angeboten wird. Die Nutzung erfolgt auf Grundlage unserer berechtigten Interessen im Sinne des Art. 6 Abs. 1 lit. f) DSGVO. Mit Hilfe dieses Dienstes werden Kommentare echter Menschen von Spam-Kommentaren unterschieden. Dazu werden alle Kommentarangaben an einen Server in den USA verschickt, wo sie analysiert und für Vergleichszwecke vier Tage lang gespeichert werden. Ist ein Kommentar als Spam eingestuft worden, werden die Daten über diese Zeit hinaus gespeichert. Zu diesen Angaben gehören der eingegebene Name, die Emailadresse, die IP-Adresse, der Kommentarinhalt, der Referrer, Angaben zum verwendeten Browser sowie dem Computersystem und die Zeit des Eintrags.</span></p>
|
||||
<p>Nähere Informationen zur Erhebung und Nutzung der Daten durch Akismet finden sich in den Datenschutzhinweisen von Automattic: <a href="https://automattic.com/privacy/" target="_blank" rel="noopener noreferrer">https://automattic.com/privacy/</a>.</p>
|
||||
<p>Nutzer können gerne Pseudonyme nutzen, oder auf die Eingabe des Namens oder der Emailadresse verzichten. Sie können die Übertragung der Daten komplett verhindern, indem Sie unser Kommentarsystem nicht nutzen. Das wäre schade, aber leider sehen wir sonst keine Alternativen, die ebenso effektiv arbeiten.</p>
|
||||
<p> </p>
|
||||
<h3 id="dsg-gravatar">Abruf von Profilbildern bei Gravatar</h3>
|
||||
<p><span class="ts-muster-content">Wir setzen innerhalb unseres Onlineangebotes und insbesondere im Blog den Dienst Gravatar der Automattic Inc., 60 29th Street #343, San Francisco, CA 94110, USA, ein.</span></p>
|
||||
<p>Gravatar ist ein Dienst, bei dem sich Nutzer anmelden und Profilbilder und ihre E-Mailadressen hinterlegen können. Wenn Nutzer mit der jeweiligen E-Mailadresse auf anderen Onlinepräsenzen (vor allem in Blogs) Beiträge oder Kommentare hinterlassen, können so deren Profilbilder neben den Beiträgen oder Kommentaren dargestellt werden. Hierzu wird die von den Nutzern mitgeteilte E-Mailadresse an Gravatar zwecks Prüfung, ob zu ihr ein Profil gespeichert ist, verschlüsselt übermittelt. Dies ist der einzige Zweck der Übermittlung der E-Mailadresse und sie wird nicht für andere Zwecke verwendet, sondern danach gelöscht.</p>
|
||||
<p>Die Nutzung von Gravatar erfolgt auf Grundlage unserer berechtigten Interessen im Sinne des Art. 6 Abs. 1 lit. f) DSGVO, da wir mit Hilfe von Gravatar den Beitrags- und Kommentarverfassern die Möglichkeit bieten ihre Beiträge mit einem Profilbild zu personalisieren.</p>
|
||||
<p>Durch die Anzeige der Bilder bringt Gravatar die IP-Adresse der Nutzer in Erfahrung, da dies für eine Kommunikation zwischen einem Browser und einem Onlineservice notwendig ist. Nähere Informationen zur Erhebung und Nutzung der Daten durch Gravatar finden sich in den Datenschutzhinweisen von Automattic: <a href="https://automattic.com/privacy/" target="_blank" rel="noopener noreferrer">https://automattic.com/privacy/</a>.</p>
|
||||
<p>Wenn Nutzer nicht möchten, dass ein mit Ihrer E-Mail-Adresse bei Gravatar verknüpftes Benutzerbild in den Kommentaren erscheint, sollten Sie zum Kommentieren eine E-Mail-Adresse nutzen, welche nicht bei Gravatar hinterlegt ist. Wir weisen ferner darauf hin, dass es auch möglich ist eine anonyme oder gar keine E-Mailadresse zu verwenden, falls die Nutzer nicht wünschen, dass die eigene E-Mailadresse an Gravatar übersendet wird. Nutzer können die Übertragung der Daten komplett verhindern, indem Sie unser Kommentarsystem nicht nutzen.</p>
|
||||
<h3 id="dsg-wordpress-emojis">Abruf von Emojis und Smilies</h3>
|
||||
<p><span class="ts-muster-content">Innerhalb unseres WordPress-Blogs werden grafische Emojis (bzw. Smilies), d.h. kleine grafische Dateien, die Gefühle ausdrücken, eingesetzt, die von externen Servern bezogen werden. Hierbei erheben die Anbieter der Server, die IP-Adressen der Nutzer. Dies ist notwendig, damit die Emojie-Dateien an die Browser der Nutzer übermittelt werden können. Der Emojie-Service wird von der Automattic Inc., 60 29th Street #343, San Francisco, CA 94110, USA, angeboten. Datenschutzhinweise von Automattic: <a href="https://automattic.com/privacy/" target="_blank" rel="noopener noreferrer">https://automattic.com/privacy/</a>. Die verwendeten Server-Domains sind s.w.org und twemoji.maxcdn.com, wobei es sich unseres Wissens nach um sog. Content-Delivery-Networks handelt, also Server, die lediglich einer schnellen und sicheren Übermittlung der Dateien dienen und die personenbezogenen Daten der Nutzer nach der Übermittlung gelöscht werden.</span></p>
|
||||
<p>Die Nutzung der Emojis erfolgt auf Grundlage unserer berechtigten Interessen, d.h. Interesse an einer attraktiven Gestaltung unseres Onlineangebotes gem. Art. 6 Abs. 1 lit. f. DSGVO.</p>
|
||||
<h3 id="dsg-flattr">Flattr</h3>
|
||||
<p><span class="ts-muster-content">Innerhalb dieses Onlineangebotes sind Schaltflächen des Micropayment-Dienstes „Flattr“ eingebunden, der von der Firma Flattr Network Ltd. mit Sitz in 2nd Floor, White bear yard 114A, Clerkenwell Road, London, Middlesex, England, EC1R 5DF, Großbritannien, betrieben wird. Wenn Sie Seiten dieses Internetangebots, die diese Schaltflächen enthalten, aufrufen, wird von Ihrem Browser eine direkte Verbindung zu Servern von Flattr hergestellt.</span></p>
|
||||
<p>Sofern Nutzer bei Flattr ein Konto angelegt haben, mit dem sie gleichzeitig eingeloggt sind, erhält Flattr die Information, dass Nutzer die jeweilige Seite dieses Onlineangebots besucht haben. Sofern Nutzer ein Flattr-Konto besitzen, eingeloggt sind und mit der Schaltfläche interagieren, werden Informationen darüber an Flattr übermittelt und nach den dort geltenden Richtlinien dort zu Abrechnungszwecken gespeichert. Auch wenn Nutzer nicht eingeloggt sind, können ggf. Nutzungsdaten erhoben und auch gespeichert werden. Wie Ihre Daten genau verarbeitet werden, wenn Sie die Flattr-Schaltfläche anklicken, erfahren Nutzer unter <a href="https://flattr.com/privacy" target="_blank" rel="noopener noreferrer">https://flattr.com/privacy</a>.</p>
|
||||
<h3 id="dsg-contact">Kontaktaufnahme</h3>
|
||||
<p><span class="ts-muster-content">Bei der Kontaktaufnahme mit uns (z.B. per Kontaktformular, E-Mail, Telefon oder via sozialer Medien) werden die Angaben des Nutzers zur Bearbeitung der Kontaktanfrage und deren Abwicklung gem. Art. 6 Abs. 1 lit. b) DSGVO verarbeitet. Die Angaben der Nutzer können in einem Customer-Relationship-Management System ("CRM System") oder vergleichbarer Anfragenorganisation gespeichert werden.</span></p>
|
||||
<p>Wir löschen die Anfragen, sofern diese nicht mehr erforderlich sind. Wir überprüfen die Erforderlichkeit alle zwei Jahre; Ferner gelten die gesetzlichen Archivierungspflichten.</p>
|
||||
<h3 id="dsg-newsletter-provider-mailjet">Newsletter - Mailjet</h3>
|
||||
<p><span class="ts-muster-content">Der Versand der Newsletter erfolgt mittels des Versanddienstleisters Mailjet SAS,13-13 bis, rue de l’Aubrac, 75012 Paris, France. Die Datenschutzbestimmungen des Versanddienstleisters können Sie hier einsehen: <a href="https://www.mailjet.de/privacy-policy/" target="_blank" rel="noopener noreferrer">https://www.mailjet.de/privacy-policy/</a>. Der Versanddienstleister wird auf Grundlage unserer berechtigten Interessen gem. Art. 6 Abs. 1 lit. f DSGVO und eines Auftragsverarbeitungsvertrages gem. Art. 28 Abs. 3 S. 1 DSGVO eingesetzt.</span></p>
|
||||
<p>Der Versanddienstleister kann die Daten der Empfänger in pseudonymer Form, d.h. ohne Zuordnung zu einem Nutzer, zur Optimierung oder Verbesserung der eigenen Services nutzen, z.B. zur technischen Optimierung des Versandes und der Darstellung der Newsletter oder für statistische Zwecke verwenden. Der Versanddienstleister nutzt die Daten unserer Newsletterempfänger jedoch nicht, um diese selbst anzuschreiben oder um die Daten an Dritte weiterzugeben.</p>
|
||||
<h3 id="dsg-hostingprovider">Hosting und E-Mail-Versand</h3>
|
||||
<p><span class="ts-muster-content">Die von uns in Anspruch genommenen Hosting-Leistungen dienen der Zurverfügungstellung der folgenden Leistungen: Infrastruktur- und Plattformdienstleistungen, Rechenkapazität, Speicherplatz und Datenbankdienste, E-Mail-Versand, Sicherheitsleistungen sowie technische Wartungsleistungen, die wir zum Zwecke des Betriebs dieses Onlineangebotes einsetzen.</span></p>
|
||||
<p>Hierbei verarbeiten wir, bzw. unser Hostinganbieter Bestandsdaten, Kontaktdaten, Inhaltsdaten, Vertragsdaten, Nutzungsdaten, Meta- und Kommunikationsdaten von Kunden, Interessenten und Besuchern dieses Onlineangebotes auf Grundlage unserer berechtigten Interessen an einer effizienten und sicheren Zurverfügungstellung dieses Onlineangebotes gem. Art. 6 Abs. 1 lit. f DSGVO i.V.m. Art. 28 DSGVO (Abschluss Auftragsverarbeitungsvertrag).</p>
|
||||
<h3 id="dsg-logfiles">Erhebung von Zugriffsdaten und Logfiles</h3>
|
||||
<p><span class="ts-muster-content">Wir, bzw. unser Hostinganbieter, erhebt auf Grundlage unserer berechtigten Interessen im Sinne des Art. 6 Abs. 1 lit. f. DSGVO Daten über jeden Zugriff auf den Server, auf dem sich dieser Dienst befindet (sogenannte Serverlogfiles). Zu den Zugriffsdaten gehören Name der abgerufenen Webseite, Datei, Datum und Uhrzeit des Abrufs, übertragene Datenmenge, Meldung über erfolgreichen Abruf, Browsertyp nebst Version, das Betriebssystem des Nutzers, Referrer URL (die zuvor besuchte Seite), IP-Adresse und der anfragende Provider.</span></p>
|
||||
<p>Logfile-Informationen werden aus Sicherheitsgründen (z.B. zur Aufklärung von Missbrauchs- oder Betrugshandlungen) für die Dauer von maximal 7 Tagen gespeichert und danach gelöscht. Daten, deren weitere Aufbewahrung zu Beweiszwecken erforderlich ist, sind bis zur endgültigen Klärung des jeweiligen Vorfalls von der Löschung ausgenommen.</p>
|
||||
<h3 id="dsg-cdn-cloudflare">Content-Delivery-Network von Cloudflare</h3>
|
||||
<p><span class="ts-muster-content">Wir setzen ein so genanntes "Content Delivery Network" (CDN), angeboten von Cloudflare, Inc., 101 Townsend St, San Francisco, CA 94107, USA, ein. Cloudflare ist unter dem Privacy-Shield-Abkommen zertifiziert und bietet hierdurch eine Garantie, das europäische Datenschutzrecht einzuhalten (<a href="https://www.privacyshield.gov/participant?id=a2zt0000000GnZKAA0&status=Active" target="_blank" rel="noopener noreferrer">https://www.privacyshield.gov/participant?id=a2zt0000000GnZKAA0&status=Active</a>).</span></p>
|
||||
<p>Ein CDN ist ein Dienst, mit dessen Hilfe Inhalte unseres Onlineangebotes, insbesondere große Mediendateien, wie Grafiken oder Skripte mit Hilfe regional verteilter und über das Internet verbundener Server, schneller ausgeliefert werden. Die Verarbeitung der Daten der Nutzer erfolgt alleine zu den vorgenannten Zwecken und der Aufrechterhaltung der Sicherheit und Funktionsfähigkeit des CDN.</p>
|
||||
<p>Die Nutzung erfolgt auf Grundlage unserer berechtigten Interessen, d.h. Interesse an einer sicheren und effizienten Bereitstellung, Analyse sowie Optimierung unseres Onlineangebotes gem. Art. 6 Abs. 1 lit. f. DSGVO.</p>
|
||||
<p>Weitere Informationen erhalten Sie in der Datenschutzerklärung von Cloudflare: <a href="https://www.cloudflare.com/security-policy" target="_blank" rel="noopener noreferrer">https://www.cloudflare.com/security-policy</a>.</p>
|
||||
<h3>Analysedienste</h3>
|
||||
<p>Unsere Website verwendet Matamo, dabei handelt es sich um einen sogenannten Webanalysedienst. Matamo verwendet sog. „Cookies“, das sind Textdateien, die auf Ihrem Computer gespeichert werden und die unsererseits eine Analyse der Benutzung der Webseite ermöglichen. Zu diesem Zweck werden die durch den Cookie erzeugten Nutzungsinformationen (einschließlich Ihrer gekürzten IP-Adresse) an unseren Server übertragen und zu Nutzungsanalysezwecken gespeichert, was der Webseitenoptimierung unsererseits dient. Ihre IP-Adresse wird bei diesem Vorgang umgehend anonymisiert, so dass Sie als Nutzer für uns anonym bleiben. Die durch den Cookie erzeugten Informationen über Ihre Benutzung dieser Webseite werden nicht an Dritte weitergegeben. Sie können die Verwendung der Cookies durch eine entsprechende Einstellung Ihrer Browser Software verhindern, es kann jedoch sein, dass Sie in diesem Fall gegebenenfalls nicht sämtliche Funktionen dieser Website voll umfänglich nutzen können.</p>
|
||||
<p>Wenn Sie mit der Speicherung und Auswertung dieser Daten aus Ihrem Besuch nicht einverstanden sind, dann können Sie der Speicherung und Nutzung nachfolgend per Mausklick jederzeit widersprechen. In diesem Fall wird in Ihrem Browser ein sog. Opt-Out-Cookie abgelegt, was zur Folge hat, dass Matamo keinerlei Sitzungsdaten erhebt. Achtung: Wenn Sie Ihre Cookies löschen, so hat dies zur Folge, dass auch das Opt-Out-Cookie gelöscht wird und ggf. von Ihnen erneut aktiviert werden muss.</p>
|
||||
<p>Aktuelle Einstellungen: [wp-piwik module="opt-out" language="de" width="100%" height="200px"]</p>
|
||||
<h3 id="dsg-thirdparty-einleitung">Einbindung von Diensten und Inhalten Dritter</h3>
|
||||
<p><span class="ts-muster-content">Wir setzen innerhalb unseres Onlineangebotes auf Grundlage unserer berechtigten Interessen (d.h. Interesse an der Analyse, Optimierung und wirtschaftlichem Betrieb unseres Onlineangebotes im Sinne des Art. 6 Abs. 1 lit. f. DSGVO) Inhalts- oder Serviceangebote von Drittanbietern ein, um deren Inhalte und Services, wie z.B. Videos oder Schriftarten einzubinden (nachfolgend einheitlich bezeichnet als “Inhalte”).</span></p>
|
||||
<p>Dies setzt immer voraus, dass die Drittanbieter dieser Inhalte, die IP-Adresse der Nutzer wahrnehmen, da sie ohne die IP-Adresse die Inhalte nicht an deren Browser senden könnten. Die IP-Adresse ist damit für die Darstellung dieser Inhalte erforderlich. Wir bemühen uns nur solche Inhalte zu verwenden, deren jeweilige Anbieter die IP-Adresse lediglich zur Auslieferung der Inhalte verwenden. Drittanbieter können ferner so genannte Pixel-Tags (unsichtbare Grafiken, auch als "Web Beacons" bezeichnet) für statistische oder Marketingzwecke verwenden. Durch die "Pixel-Tags" können Informationen, wie der Besucherverkehr auf den Seiten dieser Website ausgewertet werden. Die pseudonymen Informationen können ferner in Cookies auf dem Gerät der Nutzer gespeichert werden und unter anderem technische Informationen zum Browser und Betriebssystem, verweisende Webseiten, Besuchszeit sowie weitere Angaben zur Nutzung unseres Onlineangebotes enthalten, als auch mit solchen Informationen aus anderen Quellen verbunden werden.</p>
|
||||
<h3 id="dsg-thirdparty-vimeo">Vimeo</h3>
|
||||
<p><span class="ts-muster-content">Wir können die Videos der Plattform “Vimeo” des Anbieters Vimeo Inc., Attention: Legal Department, 555 West 18th Street New York, New York 10011, USA, einbinden. Datenschutzerklärung: <a href="https://vimeo.com/privacy" target="_blank" rel="noopener noreferrer">https://vimeo.com/privacy</a>. WIr weisen darauf hin, dass Vimeo Google Analytics einsetzen kann und verweisen hierzu auf die Datenschutzerklärung (<a href="https://www.google.com/policies/privacy" target="_blank" rel="noopener noreferrer">https://www.google.com/policies/privacy</a>) sowie Opt-Out-Möglichkeiten für Google-Analytics (<a href="http://tools.google.com/dlpage/gaoptout?hl=de" target="_blank" rel="noopener noreferrer">http://tools.google.com/dlpage/gaoptout?hl=de</a>) oder die Einstellungen von Google für die Datennutzung zu Marketingzwecken (<a href="https://adssettings.google.com/" target="_blank" rel="noopener noreferrer">https://adssettings.google.com/.</a>).</span></p>
|
||||
<h3 id="dsg-thirdparty-youtube">Youtube</h3>
|
||||
<p><span class="ts-muster-content">Wir binden die Videos der Plattform “YouTube” des Anbieters Google LLC, 1600 Amphitheatre Parkway, Mountain View, CA 94043, USA, ein. Datenschutzerklärung: <a href="https://www.google.com/policies/privacy/" target="_blank" rel="noopener noreferrer">https://www.google.com/policies/privacy/</a>, Opt-Out: <a href="https://adssettings.google.com/authenticated" target="_blank" rel="noopener noreferrer">https://adssettings.google.com/authenticated</a>.</span></p>
|
||||
<h3 id="dsg-thirdparty-googlefonts">Google Fonts</h3>
|
||||
<p><span class="ts-muster-content">Wir binden die Schriftarten ("Google Fonts") des Anbieters Google LLC, 1600 Amphitheatre Parkway, Mountain View, CA 94043, USA, ein. Datenschutzerklärung: <a href="https://www.google.com/policies/privacy/" target="_blank" rel="noopener noreferrer">https://www.google.com/policies/privacy/</a>, Opt-Out: <a href="https://adssettings.google.com/authenticated" target="_blank" rel="noopener noreferrer">https://adssettings.google.com/authenticated</a>.</span></p>
|
||||
<h3 id="dsg-thirdparty-googlerecaptcha">Google ReCaptcha</h3>
|
||||
<p><span class="ts-muster-content">Wir binden die Funktion zur Erkennung von Bots, z.B. bei Eingaben in Onlineformularen ("ReCaptcha") des Anbieters Google LLC, 1600 Amphitheatre Parkway, Mountain View, CA 94043, USA, ein. Datenschutzerklärung: <a href="https://www.google.com/policies/privacy/" target="_blank" rel="noopener noreferrer">https://www.google.com/policies/privacy/</a>, Opt-Out: <a href="https://adssettings.google.com/authenticated" target="_blank" rel="noopener noreferrer">https://adssettings.google.com/authenticated</a>.</span></p>
|
||||
<h3 id="dsg-thirdparty-googlemaps">Google Maps</h3>
|
||||
<p><span class="ts-muster-content">Wir binden die Landkarten des Dienstes “Google Maps” des Anbieters Google LLC, 1600 Amphitheatre Parkway, Mountain View, CA 94043, USA, ein. Zu den verarbeiteten Daten können insbesondere IP-Adressen und Standortdaten der Nutzer gehören, die jedoch nicht ohne deren Einwilligung (im Regelfall im Rahmen der Einstellungen ihrer Mobilgeräte vollzogen), erhoben werden. Die Daten können in den USA verarbeitet werden. Datenschutzerklärung: <a href="https://www.google.com/policies/privacy/" target="_blank" rel="noopener noreferrer">https://www.google.com/policies/privacy/</a>, Opt-Out: <a href="https://adssettings.google.com/authenticated" target="_blank" rel="noopener noreferrer">https://adssettings.google.com/authenticated</a>.</span></p>
|
||||
<h3 id="dsg-thirdparty-typekit">Typekit-Schriftarten von Adobe</h3>
|
||||
<p><span class="ts-muster-content">Wir setzen auf Grundlage unserer berechtigten Interessen (d.h. Interesse an der Analyse, Optimierung und wirtschaftlichem Betrieb unseres Onlineangebotes im Sinne des Art. 6 Abs. 1 lit. f. DSGVO) externe "Typekit"-Schriftarten des Anbieters Adobe Systems Software Ireland Limited, 4-6 Riverwalk, Citywest Business Campus, Dublin 24, Republic of Ireland ein. Adobe ist unter dem Privacy-Shield-Abkommen zertifiziert und bietet hierdurch eine Garantie, das europäische Datenschutzrecht einzuhalten (https://www.privacyshield.gov/participant?id=a2zt0000000TNo9AAG&status=Active).</span></p>
|
||||
<p><a class="dsg1-5" href="https://datenschutz-generator.de" target="_blank" rel="nofollow noopener noreferrer">Erstellt mit Datenschutz-Generator.de von RA Dr. Thomas Schwenke</a></p>
|
||||
<?php
|
||||
getFooter();
|
75
public/impressum.html
Normal file
75
public/impressum.html
Normal file
|
@ -0,0 +1,75 @@
|
|||
<!DOCTYPE html >
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta content="width=device-width, initial-scale=1.0" name="viewport">
|
||||
<title></title>
|
||||
<link href="/css/style.css" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<jl-header data-title="Impressum"></jl-header>
|
||||
<div id="content">
|
||||
<script async defer src='https://www.hCaptcha.com/1/api.js'></script>
|
||||
<h2>Impressum</h2>
|
||||
<p>Jonas Leder</p>
|
||||
<jl-contact_mail_button></jl-contact_mail_button>
|
||||
Matrix: <a href="https://matrix.jonasled.de/invite/#/@jonasled:jonasled.de">@matrix:jonasled.de</a>
|
||||
|
||||
<h2>Haftungsausschluss</h2>
|
||||
|
||||
<h3>Haftung für Inhalte</h3>
|
||||
<p>Als Diensteanbieter sind wir gemäß § 7 Abs.1 TMG für eigene Inhalte auf diesen Seiten nach
|
||||
den allgemeinen Gesetzen verantwortlich. Nach §§ 8 bis 10 TMG sind wir als Diensteanbieter jedoch
|
||||
nicht verpflichtet, übermittelte oder gespeicherte fremde Informationen zu überwachen oder nach Umständen
|
||||
zu forschen, die auf eine rechtswidrige Tätigkeit hinweisen.</p>
|
||||
<p>Verpflichtungen zur Entfernung oder Sperrung der Nutzung von Informationen nach den allgemeinen Gesetzen bleiben
|
||||
hiervon unberührt. Eine diesbezügliche Haftung ist jedoch erst ab dem Zeitpunkt der Kenntnis einer
|
||||
konkreten Rechtsverletzung möglich. Bei Bekanntwerden von entsprechenden Rechtsverletzungen werden wir
|
||||
diese Inhalte umgehend entfernen.</p>
|
||||
<h3>Haftung für Links</h3>
|
||||
<p>Unser Angebot enthält Links zu externen Websites Dritter, auf deren Inhalte wir keinen Einfluss haben.
|
||||
Deshalb können wir für diese fremden Inhalte auch keine Gewähr übernehmen. Für die
|
||||
Inhalte der verlinkten Seiten ist stets der jeweilige Anbieter oder Betreiber der Seiten verantwortlich. Die
|
||||
verlinkten Seiten wurden zum Zeitpunkt der Verlinkung auf mögliche Rechtsverstöße überprüft.
|
||||
Rechtswidrige Inhalte waren zum Zeitpunkt der Verlinkung nicht erkennbar.</p>
|
||||
<p>Eine permanente inhaltliche Kontrolle der verlinkten Seiten ist jedoch ohne konkrete Anhaltspunkte einer
|
||||
Rechtsverletzung nicht zumutbar. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Links umgehend
|
||||
entfernen.</p>
|
||||
<h3>Urheberrecht</h3>
|
||||
<p>Die durch die Seitenbetreiber erstellten Inhalte und Werke auf diesen Seiten unterliegen dem deutschen
|
||||
Urheberrecht. Die Vervielfältigung, Bearbeitung, Verbreitung und jede Art der Verwertung außerhalb
|
||||
der Grenzen des Urheberrechtes bedürfen der schriftlichen Zustimmung des jeweiligen Autors bzw. Erstellers.
|
||||
Downloads und Kopien dieser Seite sind nur für den privaten, nicht kommerziellen Gebrauch gestattet.</p>
|
||||
<p>Soweit die Inhalte auf dieser Seite nicht vom Betreiber erstellt wurden, werden die Urheberrechte Dritter
|
||||
beachtet. Insbesondere werden Inhalte Dritter als solche gekennzeichnet. Sollten Sie trotzdem auf eine
|
||||
Urheberrechtsverletzung aufmerksam werden, bitten wir um einen entsprechenden Hinweis. Bei Bekanntwerden von
|
||||
Rechtsverletzungen werden wir derartige Inhalte umgehend entfernen.</p>
|
||||
|
||||
<p>Quelle: <a href="https://www.e-recht24.de">https://www.e-recht24.de</a></p>
|
||||
|
||||
<br><br>
|
||||
This site is protected by hCaptcha and its
|
||||
<a href="https://hcaptcha.com/privacy">Privacy Policy</a> and
|
||||
<a href="https://hcaptcha.com/terms">Terms of Service</a> apply.
|
||||
<script type="text/javascript">
|
||||
function onSubmit(token) {
|
||||
let xmlhttp = new XMLHttpRequest();
|
||||
xmlhttp.onreadystatechange = function () {
|
||||
if (this.readyState == 4 && this.status == 200) {
|
||||
let button = document.getElementById("emailButton");
|
||||
let emailElement = document.createElement("p");
|
||||
emailElement.className = "emailBox";
|
||||
emailElement.innerText = this.responseText;
|
||||
button.parentNode.replaceChild(emailElement, button);
|
||||
}
|
||||
};
|
||||
xmlhttp.open("POST", "/API/getMail.php", true);
|
||||
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
|
||||
xmlhttp.send("h-captcha-response=" + token);
|
||||
}
|
||||
</script>
|
||||
</div>
|
||||
<jl-footer></jl-footer>
|
||||
<script src="/js/script.js"></script>
|
||||
</body>
|
||||
</html>
|
|
@ -1,42 +0,0 @@
|
|||
<?php
|
||||
include "internal/header.php";
|
||||
include "internal/footer.php";
|
||||
include "internal/comments.php";
|
||||
|
||||
getHeader("Impressum", "");
|
||||
?>
|
||||
<script src='https://www.hCaptcha.com/1/api.js' async defer></script>
|
||||
<h2>Impressum</h2>
|
||||
<p>Jonas Leder</p>
|
||||
<jl-contact_mail_button></jl-contact_mail_button>
|
||||
Matrix: <a href="https://matrix.jonasled.de/invite/#/@jonasled:jonasled.de">@matrix:jonasled.de</a>
|
||||
|
||||
<h2>Haftungsausschluss</h2>
|
||||
|
||||
<h3>Haftung für Inhalte</h3> <p>Als Diensteanbieter sind wir gemäß § 7 Abs.1 TMG für eigene Inhalte auf diesen Seiten nach den allgemeinen Gesetzen verantwortlich. Nach §§ 8 bis 10 TMG sind wir als Diensteanbieter jedoch nicht verpflichtet, übermittelte oder gespeicherte fremde Informationen zu überwachen oder nach Umständen zu forschen, die auf eine rechtswidrige Tätigkeit hinweisen.</p> <p>Verpflichtungen zur Entfernung oder Sperrung der Nutzung von Informationen nach den allgemeinen Gesetzen bleiben hiervon unberührt. Eine diesbezügliche Haftung ist jedoch erst ab dem Zeitpunkt der Kenntnis einer konkreten Rechtsverletzung möglich. Bei Bekanntwerden von entsprechenden Rechtsverletzungen werden wir diese Inhalte umgehend entfernen.</p> <h3>Haftung für Links</h3> <p>Unser Angebot enthält Links zu externen Websites Dritter, auf deren Inhalte wir keinen Einfluss haben. Deshalb können wir für diese fremden Inhalte auch keine Gewähr übernehmen. Für die Inhalte der verlinkten Seiten ist stets der jeweilige Anbieter oder Betreiber der Seiten verantwortlich. Die verlinkten Seiten wurden zum Zeitpunkt der Verlinkung auf mögliche Rechtsverstöße überprüft. Rechtswidrige Inhalte waren zum Zeitpunkt der Verlinkung nicht erkennbar.</p> <p>Eine permanente inhaltliche Kontrolle der verlinkten Seiten ist jedoch ohne konkrete Anhaltspunkte einer Rechtsverletzung nicht zumutbar. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Links umgehend entfernen.</p> <h3>Urheberrecht</h3> <p>Die durch die Seitenbetreiber erstellten Inhalte und Werke auf diesen Seiten unterliegen dem deutschen Urheberrecht. Die Vervielfältigung, Bearbeitung, Verbreitung und jede Art der Verwertung außerhalb der Grenzen des Urheberrechtes bedürfen der schriftlichen Zustimmung des jeweiligen Autors bzw. Erstellers. Downloads und Kopien dieser Seite sind nur für den privaten, nicht kommerziellen Gebrauch gestattet.</p> <p>Soweit die Inhalte auf dieser Seite nicht vom Betreiber erstellt wurden, werden die Urheberrechte Dritter beachtet. Insbesondere werden Inhalte Dritter als solche gekennzeichnet. Sollten Sie trotzdem auf eine Urheberrechtsverletzung aufmerksam werden, bitten wir um einen entsprechenden Hinweis. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Inhalte umgehend entfernen.</p>
|
||||
|
||||
<p>Quelle: <a href="https://www.e-recht24.de">https://www.e-recht24.de</a></p>
|
||||
|
||||
<br><br>
|
||||
This site is protected by hCaptcha and its
|
||||
<a href="https://hcaptcha.com/privacy">Privacy Policy</a> and
|
||||
<a href="https://hcaptcha.com/terms">Terms of Service</a> apply.
|
||||
<script type="text/javascript">
|
||||
function onSubmit(token) {
|
||||
let xmlhttp = new XMLHttpRequest();
|
||||
xmlhttp.onreadystatechange = function() {
|
||||
if (this.readyState == 4 && this.status == 200) {
|
||||
let button = document.getElementById("emailButton");
|
||||
let emailElement = document.createElement("p");
|
||||
emailElement.className = "emailBox";
|
||||
emailElement.innerText = this.responseText;
|
||||
button.parentNode.replaceChild(emailElement, button);
|
||||
}
|
||||
};
|
||||
xmlhttp.open("POST", "/API/getMail.php", true);
|
||||
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
|
||||
xmlhttp.send("h-captcha-response=" + token);
|
||||
};
|
||||
</script>
|
||||
<?php
|
||||
getFooter();
|
44
public/index.html
Normal file
44
public/index.html
Normal file
|
@ -0,0 +1,44 @@
|
|||
<!DOCTYPE html >
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta content="width=device-width, initial-scale=1.0" name="viewport">
|
||||
|
||||
<link href="/css/style.css" rel="stylesheet">
|
||||
<title></title>
|
||||
</head>
|
||||
<body>
|
||||
<jl-header data-title="Jonas Leder"></jl-header>
|
||||
<div id="content">
|
||||
<div class="center">
|
||||
<img data-noPreview="true" id="homeImage" src="img/bildHome.webp">
|
||||
<h2>Über mich</h2>
|
||||
<p class="left block">Hallo, mein Name ist Jonas Leder. Ich bin aktuell Student an der Dualen Hochschule
|
||||
Baden-Württemberg in Mannheim Fachrichtung Angewandte Informatik.</p>
|
||||
<p><a href="about.html">
|
||||
<button>Mehr</button>
|
||||
</a></p>
|
||||
<div class="spacer"></div>
|
||||
|
||||
<h2>Blog</h2>
|
||||
<jl-blog_index id="blog"></jl-blog_index>
|
||||
<div id="banner">
|
||||
<h2>Banner</h2>
|
||||
<a href="https://ipv6.he.net" target="_blank"><img
|
||||
data-noPreview="true"
|
||||
src="https://ipv6.he.net/certification/create_badge.php?pass_name=jonasled&badge=3"></a>
|
||||
<a href="https://www.abuseipdb.com/user/45130" target="_blank"><img class="abuseIpImg"
|
||||
data-noPreview="true"
|
||||
src="https://www.abuseipdb.com/contributor/45130.svg"></a>
|
||||
</div>
|
||||
<br>
|
||||
<br>
|
||||
<p class="breakWord">Diese Website ist auch als hidden Service unter folgendem URL zu erreichen: <a
|
||||
href="http://jonasledtmdcrenuxuobwqn3n6onq3smssicbeyocolgx4sk75xwmxqd.onion">jonasledtmdcrenuxuobwqn3n6onq3smssicbeyocolgx4sk75xwmxqd.onion</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<jl-footer></jl-footer>
|
||||
<script src="/js/script.js"></script>
|
||||
</body>
|
||||
</html>
|
|
@ -1,30 +0,0 @@
|
|||
<?php
|
||||
include "internal/header.php";
|
||||
include "internal/footer.php";
|
||||
|
||||
getHeader("Jonas Leder", "home");
|
||||
?>
|
||||
<div class="center">
|
||||
<img id="homeImage" src="img/bildHome.webp" data-noPreview="true">
|
||||
<h2>Über mich</h2>
|
||||
<p class="left block">Hallo, mein Name ist Jonas Leder. Ich bin aktuell Student an der Dualen Hochschule Baden-Württemberg in Mannheim Fachrichtung Angewandte Informatik.</p>
|
||||
<p><a href="about.php"><button>Mehr</button></a></p>
|
||||
<div class="spacer"></div>
|
||||
|
||||
<h2>Blog</h2>
|
||||
<jl-blog_index id="blog"></jl-blog_index>
|
||||
<div id="banner">
|
||||
<h2>Banner</h2>
|
||||
<a target="_blank" href="https://ipv6.he.net"><img src="https://ipv6.he.net/certification/create_badge.php?pass_name=jonasled&badge=3" data-noPreview="true"></a>
|
||||
<a target="_blank" href="https://www.abuseipdb.com/user/45130"><img class="abuseIpImg" src="https://www.abuseipdb.com/contributor/45130.svg" data-noPreview="true"></a>
|
||||
</div>
|
||||
<br>
|
||||
<br>
|
||||
<?php
|
||||
if (strpos($_SERVER['HTTP_HOST'], '.onion') == false) {
|
||||
echo('<p class="breakWord">Diese Website ist auch als hidden Service unter folgendem URL zu erreichen: <a href="http://jonasledtmdcrenuxuobwqn3n6onq3smssicbeyocolgx4sk75xwmxqd.onion">jonasledtmdcrenuxuobwqn3n6onq3smssicbeyocolgx4sk75xwmxqd.onion</a></p>');
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
<?php
|
||||
getFooter();
|
|
@ -1,10 +1,8 @@
|
|||
<?php
|
||||
function getFooter(){
|
||||
echo (<<<EOF
|
||||
</div>
|
||||
<jl-footer></jl-footer>
|
||||
<script src="/js/script.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
EOF);
|
||||
}
|
||||
<h2>Kommentare:</h2>
|
||||
<jl-comments_display></jl-comments_display>
|
||||
<jl-new_comment id="newComment"></jl-new_comment>
|
||||
</div>
|
||||
<jl-footer></jl-footer>
|
||||
|
||||
<script src='https://www.hCaptcha.com/1/api.js' async defer></script>
|
||||
<script src="/js/script.js"></script>
|
|
@ -1,23 +1,11 @@
|
|||
<?php
|
||||
|
||||
function getHeader($pagetitle)
|
||||
{
|
||||
include "config.php";
|
||||
echo(<<<EOF
|
||||
<!DOCTYPE html >
|
||||
<html lang = "de" >
|
||||
<html >
|
||||
<head >
|
||||
<meta charset = "UTF-8" >
|
||||
<meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
|
||||
|
||||
<link href = "/css/style.css" rel = "stylesheet" >
|
||||
</head >
|
||||
<body >
|
||||
<jl-header data-title="$pagetitle"></jl-header>
|
||||
<div id = "content" >
|
||||
<!--Matomo Image Tracker -->
|
||||
<img src = "" style = "border:0" alt = "" />
|
||||
<!--End Matomo -->
|
||||
EOF);
|
||||
}
|
||||
<!DOCTYPE html >
|
||||
<html lang = "de" >
|
||||
<head >
|
||||
<meta charset = "UTF-8" >
|
||||
<meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
|
||||
<title></title>
|
||||
<link href = "/css/style.css" rel = "stylesheet" >
|
||||
</head >
|
||||
<body >
|
||||
<jl-header data-title="$pagetitle"></jl-header>
|
||||
<div id = "content" >
|
|
@ -9,9 +9,6 @@
|
|||
<body>
|
||||
<jl-header data-title="NTP Status"></jl-header>
|
||||
<div id="content">
|
||||
<!--Matomo Image Tracker -->
|
||||
<img src="" style="border:0" alt=""/>
|
||||
<!--End Matomo -->
|
||||
<p>Da ich selber viel auf NTP zur Zeitsynchronisation setze habe ich mich dazu entschlossen selber einen NTP Server,
|
||||
welche im ntp pool gelistet ist aufzusetzen. Unten sind die Statistiken zum Server für IPv4 und für IPv6</p>
|
||||
|
||||
|
|
Loading…
Reference in a new issue