667 lines
20 KiB
HTML
667 lines
20 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="de">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<title>🐢 GeoTurtl v0.9.7-beta – Dokumentation</title>
|
||
<style>
|
||
* { box-sizing: border-box; margin: 0; padding: 0; }
|
||
|
||
:root {
|
||
--color-canvas-default: #ffffff;
|
||
--color-canvas-subtle: #f6f8fa;
|
||
--color-border-default: #d0d7de;
|
||
--color-border-muted: #d8dee4;
|
||
--color-fg-default: #1f2328;
|
||
--color-fg-muted: #656d76;
|
||
--color-fg-subtle: #6e7781;
|
||
--color-accent: #2da44e;
|
||
--color-accent-subtle: #dafbe1;
|
||
--color-accent-emphasis: #1a7f37;
|
||
--color-turtle: #2da44e;
|
||
--color-link: #0969da;
|
||
--color-warning-subtle: #fff8c5;
|
||
--color-warning-border: #d4a72c;
|
||
--color-danger-subtle: #ffebe9;
|
||
--color-danger-border: #ff8182;
|
||
--radius: 6px;
|
||
--font-mono: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, monospace;
|
||
}
|
||
|
||
body {
|
||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
|
||
font-size: 16px;
|
||
line-height: 1.6;
|
||
color: var(--color-fg-default);
|
||
background: var(--color-canvas-default);
|
||
}
|
||
|
||
/* ── Header ── */
|
||
.gh-header {
|
||
background: #24292f;
|
||
padding: 16px 0;
|
||
border-bottom: 1px solid #30363d;
|
||
position: sticky;
|
||
top: 0;
|
||
z-index: 100;
|
||
}
|
||
.gh-header-inner {
|
||
max-width: 1012px;
|
||
margin: 0 auto;
|
||
padding: 0 32px;
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 16px;
|
||
}
|
||
.gh-logo { font-size: 24px; }
|
||
.gh-repo {
|
||
font-size: 20px;
|
||
color: #ffffff;
|
||
font-weight: 600;
|
||
letter-spacing: -0.3px;
|
||
}
|
||
.gh-repo span { color: #848d97; font-weight: 400; }
|
||
.gh-badge {
|
||
background: var(--color-accent-subtle);
|
||
color: var(--color-accent-emphasis);
|
||
border: 1px solid #82e0a0;
|
||
border-radius: 2em;
|
||
font-size: 12px;
|
||
font-weight: 600;
|
||
padding: 2px 10px;
|
||
margin-left: 4px;
|
||
}
|
||
|
||
/* ── Layout ── */
|
||
.layout {
|
||
max-width: 1012px;
|
||
margin: 0 auto;
|
||
padding: 32px 32px;
|
||
display: grid;
|
||
grid-template-columns: 1fr 260px;
|
||
gap: 32px;
|
||
align-items: start;
|
||
}
|
||
|
||
/* ── Sidebar ── */
|
||
.sidebar {
|
||
position: sticky;
|
||
top: 72px;
|
||
background: var(--color-canvas-subtle);
|
||
border: 1px solid var(--color-border-default);
|
||
border-radius: var(--radius);
|
||
padding: 16px;
|
||
font-size: 14px;
|
||
}
|
||
.sidebar h3 {
|
||
font-size: 12px;
|
||
font-weight: 600;
|
||
color: var(--color-fg-muted);
|
||
text-transform: uppercase;
|
||
letter-spacing: 0.05em;
|
||
margin-bottom: 12px;
|
||
}
|
||
.sidebar ul { list-style: none; }
|
||
.sidebar ul li { margin: 4px 0; }
|
||
.sidebar ul li a {
|
||
color: var(--color-link);
|
||
text-decoration: none;
|
||
display: block;
|
||
padding: 3px 0;
|
||
border-radius: 4px;
|
||
transition: color 0.15s;
|
||
}
|
||
.sidebar ul li a:hover { color: var(--color-accent-emphasis); text-decoration: underline; }
|
||
.sidebar-meta {
|
||
margin-top: 20px;
|
||
padding-top: 16px;
|
||
border-top: 1px solid var(--color-border-default);
|
||
}
|
||
.sidebar-meta p {
|
||
font-size: 12px;
|
||
color: var(--color-fg-muted);
|
||
margin: 4px 0;
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 6px;
|
||
}
|
||
.sidebar-meta a { color: var(--color-link); text-decoration: none; }
|
||
.sidebar-meta a:hover { text-decoration: underline; }
|
||
|
||
/* ── Markdown Body ── */
|
||
.markdown-body h1 {
|
||
font-size: 2em;
|
||
font-weight: 700;
|
||
border-bottom: 1px solid var(--color-border-muted);
|
||
padding-bottom: 10px;
|
||
margin-bottom: 20px;
|
||
margin-top: 0;
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 12px;
|
||
}
|
||
.markdown-body h1 .turtle-badge {
|
||
font-size: 0.6em;
|
||
background: var(--color-accent-subtle);
|
||
color: var(--color-accent-emphasis);
|
||
border: 1px solid #82e0a0;
|
||
border-radius: 2em;
|
||
padding: 2px 12px;
|
||
font-weight: 600;
|
||
vertical-align: middle;
|
||
}
|
||
.markdown-body h2 {
|
||
font-size: 1.4em;
|
||
font-weight: 600;
|
||
border-bottom: 1px solid var(--color-border-muted);
|
||
padding-bottom: 8px;
|
||
margin-top: 36px;
|
||
margin-bottom: 16px;
|
||
scroll-margin-top: 80px;
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 10px;
|
||
}
|
||
.markdown-body h2 .anchor {
|
||
color: var(--color-turtle);
|
||
font-size: 0.8em;
|
||
opacity: 0;
|
||
transition: opacity 0.2s;
|
||
}
|
||
.markdown-body h2:hover .anchor { opacity: 1; }
|
||
.markdown-body h3 {
|
||
font-size: 1.1em;
|
||
font-weight: 600;
|
||
margin-top: 24px;
|
||
margin-bottom: 10px;
|
||
}
|
||
.markdown-body p { margin-bottom: 16px; }
|
||
.markdown-body ul, .markdown-body ol {
|
||
padding-left: 2em;
|
||
margin-bottom: 16px;
|
||
}
|
||
.markdown-body li { margin: 4px 0; }
|
||
.markdown-body strong { font-weight: 600; }
|
||
.markdown-body a { color: var(--color-link); text-decoration: none; }
|
||
.markdown-body a:hover { text-decoration: underline; }
|
||
.markdown-body hr {
|
||
border: none;
|
||
border-top: 1px solid var(--color-border-muted);
|
||
margin: 32px 0;
|
||
}
|
||
|
||
/* ── Code ── */
|
||
.markdown-body code {
|
||
font-family: var(--font-mono);
|
||
font-size: 85%;
|
||
background: var(--color-canvas-subtle);
|
||
border: 1px solid var(--color-border-default);
|
||
border-radius: 4px;
|
||
padding: 2px 6px;
|
||
color: #cf222e;
|
||
}
|
||
.markdown-body pre {
|
||
background: #f6f8fa;
|
||
border: 1px solid var(--color-border-default);
|
||
border-radius: var(--radius);
|
||
padding: 16px;
|
||
overflow-x: auto;
|
||
margin-bottom: 16px;
|
||
position: relative;
|
||
}
|
||
.markdown-body pre code {
|
||
background: none;
|
||
border: none;
|
||
padding: 0;
|
||
color: var(--color-fg-default);
|
||
font-size: 14px;
|
||
line-height: 1.5;
|
||
}
|
||
.copy-btn {
|
||
position: absolute;
|
||
top: 8px;
|
||
right: 8px;
|
||
background: var(--color-canvas-default);
|
||
border: 1px solid var(--color-border-default);
|
||
border-radius: 4px;
|
||
padding: 4px 10px;
|
||
font-size: 12px;
|
||
cursor: pointer;
|
||
color: var(--color-fg-muted);
|
||
font-family: var(--font-mono);
|
||
transition: all 0.15s;
|
||
}
|
||
.copy-btn:hover {
|
||
background: var(--color-accent-subtle);
|
||
color: var(--color-accent-emphasis);
|
||
border-color: var(--color-accent);
|
||
}
|
||
.copy-btn.copied {
|
||
background: var(--color-accent-subtle);
|
||
color: var(--color-accent-emphasis);
|
||
border-color: var(--color-accent);
|
||
}
|
||
|
||
/* ── Callouts ── */
|
||
.callout {
|
||
border-radius: var(--radius);
|
||
padding: 16px 20px;
|
||
margin-bottom: 20px;
|
||
border-left: 4px solid;
|
||
font-size: 15px;
|
||
}
|
||
.callout-note {
|
||
background: #ddf4ff;
|
||
border-color: #54aeff;
|
||
color: #0550ae;
|
||
}
|
||
.callout-warning {
|
||
background: var(--color-warning-subtle);
|
||
border-color: var(--color-warning-border);
|
||
color: #633c01;
|
||
}
|
||
.callout-danger {
|
||
background: var(--color-danger-subtle);
|
||
border-color: var(--color-danger-border);
|
||
color: #82071e;
|
||
}
|
||
.callout-success {
|
||
background: var(--color-accent-subtle);
|
||
border-color: var(--color-accent);
|
||
color: var(--color-accent-emphasis);
|
||
}
|
||
.callout strong { display: block; margin-bottom: 4px; font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; }
|
||
|
||
/* ── Steps ── */
|
||
.steps { counter-reset: step; margin-bottom: 20px; }
|
||
.step {
|
||
counter-increment: step;
|
||
display: flex;
|
||
gap: 16px;
|
||
margin-bottom: 20px;
|
||
align-items: flex-start;
|
||
}
|
||
.step-num {
|
||
flex-shrink: 0;
|
||
width: 32px;
|
||
height: 32px;
|
||
border-radius: 50%;
|
||
background: var(--color-turtle);
|
||
color: white;
|
||
font-weight: 700;
|
||
font-size: 14px;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
margin-top: 2px;
|
||
}
|
||
.step-body { flex: 1; }
|
||
.step-body p { margin-bottom: 8px; }
|
||
|
||
/* ── Disclaimer ── */
|
||
.disclaimer-box {
|
||
background: var(--color-danger-subtle);
|
||
border: 1px solid var(--color-danger-border);
|
||
border-radius: var(--radius);
|
||
padding: 20px 24px;
|
||
margin-bottom: 16px;
|
||
}
|
||
.disclaimer-box h3 {
|
||
color: #82071e;
|
||
margin-top: 0;
|
||
font-size: 14px;
|
||
text-transform: uppercase;
|
||
letter-spacing: 0.05em;
|
||
}
|
||
.disclaimer-box p, .disclaimer-box li {
|
||
font-size: 13px;
|
||
color: #57071e;
|
||
line-height: 1.6;
|
||
}
|
||
|
||
/* ── Footer ── */
|
||
.gh-footer {
|
||
background: var(--color-canvas-subtle);
|
||
border-top: 1px solid var(--color-border-default);
|
||
padding: 24px 32px;
|
||
text-align: center;
|
||
font-size: 13px;
|
||
color: var(--color-fg-muted);
|
||
margin-top: 48px;
|
||
}
|
||
.gh-footer a { color: var(--color-link); text-decoration: none; }
|
||
.gh-footer a:hover { text-decoration: underline; }
|
||
|
||
/* ── Responsive ── */
|
||
@media (max-width: 768px) {
|
||
.layout { grid-template-columns: 1fr; }
|
||
.sidebar { position: static; }
|
||
.gh-header-inner, .layout { padding: 16px; }
|
||
}
|
||
</style>
|
||
</head>
|
||
<body>
|
||
|
||
<!-- Header -->
|
||
<header class="gh-header">
|
||
<div class="gh-header-inner">
|
||
<span class="gh-logo">🐢</span>
|
||
<span class="gh-repo"><span>H. Linz /</span> GeoTurtl</span>
|
||
<span class="gh-badge">v0.9.7-beta</span>
|
||
</div>
|
||
</header>
|
||
|
||
<div class="layout">
|
||
|
||
<!-- Main Content -->
|
||
<main class="markdown-body">
|
||
|
||
<h1>🐢 GeoTurtl <span class="turtle-badge">v0.9.7-beta</span></h1>
|
||
|
||
<p>
|
||
<strong>GeoTurtl</strong> ist eine kleine, unauffällige App für deinen Mac.
|
||
Sie sitzt als Schildkröten-Symbol 🐢 in der Menüleiste und zeigt dir jederzeit
|
||
auf Knopfdruck, wo du gerade bist – und wie deine Verbindung ins Internet aussieht.
|
||
</p>
|
||
|
||
<div class="callout callout-note">
|
||
<strong>📋 Beta-Hinweis</strong>
|
||
Dies ist eine Beta-Version (v0.9.0). Sie ist funktionsfähig, kann aber noch
|
||
kleinere Fehler enthalten. Rückmeldungen sind herzlich willkommen!
|
||
</div>
|
||
|
||
<hr>
|
||
|
||
<!-- Was ist GeoTurtl -->
|
||
<h2 id="was-ist">Was ist GeoTurtl und was macht es?</h2>
|
||
|
||
<p>GeoTurtl zeigt dir zwei Dinge auf einen Blick:</p>
|
||
|
||
<h3>📍 Deinen Standort</h3>
|
||
<p>
|
||
GeoTurtl nutzt die eingebaute Ortungsfunktion deines Macs – dieselbe Technik,
|
||
die auch Apple Maps verwendet. Es zeigt dir:
|
||
</p>
|
||
<ul>
|
||
<li>Deine aktuelle <strong>Adresse</strong></li>
|
||
<li><strong>Koordinaten</strong> (Breiten- und Längengrad)</li>
|
||
<li><strong>Höhe</strong> über dem Meeresspiegel</li>
|
||
<li><strong>Genauigkeit</strong> der Ortung</li>
|
||
</ul>
|
||
<p>
|
||
Mit einem Klick öffnest du deinen Standort direkt in
|
||
Google Maps, Apple Maps oder OpenStreetMap.
|
||
</p>
|
||
|
||
<h3>🌐 Deine IP-Adressen</h3>
|
||
<p>
|
||
GeoTurtl ermittelt deine öffentliche IPv4- und (falls vorhanden) IPv6-Adresse –
|
||
also die Adresse, unter der du im Internet sichtbar bist. Zusätzlich siehst du
|
||
den ungefähren Standort dieser Adresse und deinen Internetanbieter.
|
||
Per Klick kannst du beide Adressen direkt in die Zwischenablage kopieren.
|
||
</p>
|
||
|
||
<div class="callout callout-success">
|
||
<strong>⏱ Auto-Update</strong>
|
||
GeoTurtl aktualisiert sich automatisch – du kannst selbst einstellen,
|
||
wie oft: alle 1, 5 oder 15 Minuten, oder manuell auf Knopfdruck.
|
||
</div>
|
||
|
||
<hr>
|
||
|
||
<!-- Voraussetzungen -->
|
||
<h2 id="voraussetzungen">Welche Installations- und Systemvoraussetzungen gibt es?</h2>
|
||
|
||
<ul>
|
||
<li>Einen <strong>Mac mit macOS</strong> (ab macOS Ventura, optimiert für macOS Tahoe)</li>
|
||
<li><strong>Python 3</strong> – auf modernen Macs in der Regel bereits vorinstalliert</li>
|
||
<li>Eine aktive <strong>Internetverbindung</strong> für die Installation</li>
|
||
<li><strong>Aktivierte Ortungsdienste</strong> auf deinem Mac</li>
|
||
</ul>
|
||
|
||
<p>Die Installation erledigt alles Weitere automatisch für dich.</p>
|
||
|
||
<hr>
|
||
|
||
<!-- Sicherheit -->
|
||
<h2 id="sicherheit">Ist die Software sicher?</h2>
|
||
|
||
<p>Ja. GeoTurtl ist quelloffen (MIT-Lizenz) – du kannst den kompletten
|
||
Programmcode jederzeit selbst einsehen. Das Programm:</p>
|
||
|
||
<ul>
|
||
<li>sendet <strong>keine</strong> Daten an Dritte außer den öffentlichen Ortungs- und IP-Diensten (ipinfo.io, ipify.org)</li>
|
||
<li>speichert <strong>keine</strong> persönlichen Daten dauerhaft</li>
|
||
<li>läuft ausschließlich <strong>lokal</strong> auf deinem Mac</li>
|
||
<li>ist <strong>werbefrei</strong> und kostenlos</li>
|
||
</ul>
|
||
|
||
<p>
|
||
Die Ortungsdienste werden nur auf ausdrückliche Anfrage genutzt –
|
||
macOS fragt beim ersten Start nach deiner Erlaubnis.
|
||
</p>
|
||
|
||
<hr>
|
||
|
||
<!-- Installation -->
|
||
<h2 id="installation">Wie installiere ich GeoTurtl?</h2>
|
||
|
||
<p>
|
||
Du benötigst nur die Datei <code>GeoTurtl_install_v0.9.7-beta.sh</code>
|
||
aus dem heruntergeladenen ZIP-Paket. Öffne das Terminal
|
||
(Programme → Dienstprogramme → Terminal) und führe diese zwei Befehle aus:
|
||
</p>
|
||
|
||
<div class="steps">
|
||
<div class="step">
|
||
<div class="step-num">1</div>
|
||
<div class="step-body">
|
||
<p><strong>Datei ausführbar machen</strong></p>
|
||
<pre><code>chmod +x ~/Downloads/GeoTurtl_v0.9.7-beta/GeoTurtl_install_v0.9.7-beta.sh</code><button class="copy-btn" onclick="copyCode(this)">copy</button></pre>
|
||
</div>
|
||
</div>
|
||
<div class="step">
|
||
<div class="step-num">2</div>
|
||
<div class="step-body">
|
||
<p><strong>Installation starten</strong></p>
|
||
<pre><code>~/Downloads/GeoTurtl_v0.9.7-beta/GeoTurtl_install_v0.9.7-beta.sh</code><button class="copy-btn" onclick="copyCode(this)">copy</button></pre>
|
||
</div>
|
||
</div>
|
||
<div class="step">
|
||
<div class="step-num">3</div>
|
||
<div class="step-body">
|
||
<p><strong>Ortungsdienste erlauben</strong></p>
|
||
<p>Beim ersten Start erscheint eine macOS-Meldung. Klicke auf
|
||
<strong>„Beim Verwenden erlauben"</strong>. Falls die Meldung ausbleibt:</p>
|
||
<p>Systemeinstellungen → Datenschutz & Sicherheit → Ortungsdienste → Terminal → „Beim Verwenden"</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="callout callout-note">
|
||
<strong>ℹ️ Was passiert bei der Installation?</strong>
|
||
Das Script installiert die benötigten Python-Pakete, legt den Programmordner an,
|
||
richtet den automatischen Start beim Mac-Login ein und startet GeoTurtl sofort.
|
||
</div>
|
||
|
||
<hr>
|
||
|
||
<!-- Starten & Stoppen -->
|
||
<h2 id="starten-stoppen">Wie starte und stoppe ich GeoTurtl?</h2>
|
||
|
||
<p>Nach der Installation erscheint das 🐢-Symbol automatisch in der Menüleiste.
|
||
Bei Bedarf kannst du GeoTurtl auch manuell über das Terminal steuern:</p>
|
||
|
||
<h3>▶ Starten</h3>
|
||
<pre><code>geoturtl_start</code><button class="copy-btn" onclick="copyCode(this)">copy</button></pre>
|
||
|
||
<h3>■ Stoppen</h3>
|
||
<pre><code>geoturtl_stop</code><button class="copy-btn" onclick="copyCode(this)">copy</button></pre>
|
||
|
||
<div class="callout callout-success">
|
||
<strong>🔄 Autostart</strong>
|
||
GeoTurtl startet nach der Installation automatisch bei jedem Mac-Login –
|
||
du musst nichts weiter tun.
|
||
</div>
|
||
|
||
<hr>
|
||
|
||
<!-- Log -->
|
||
<h2 id="log">Wo finde ich die Log-Dateien?</h2>
|
||
|
||
<p>GeoTurtl schreibt alle wichtigen Ereignisse in eine Log-Datei:</p>
|
||
<pre><code>~/Library/Logs/GeoTurtl.log</code><button class="copy-btn" onclick="copyCode(this)">copy</button></pre>
|
||
|
||
<h3>Log live verfolgen</h3>
|
||
<pre><code>tail -f ~/Library/Logs/GeoTurtl.log</code><button class="copy-btn" onclick="copyCode(this)">copy</button></pre>
|
||
|
||
<h3>Letzte 50 Zeilen anzeigen</h3>
|
||
<pre><code>tail -50 ~/Library/Logs/GeoTurtl.log</code><button class="copy-btn" onclick="copyCode(this)">copy</button></pre>
|
||
|
||
<h3>Log im Texteditor öffnen</h3>
|
||
<pre><code>open ~/Library/Logs/GeoTurtl.log</code><button class="copy-btn" onclick="copyCode(this)">copy</button></pre>
|
||
|
||
<hr>
|
||
|
||
<!-- Deinstallation -->
|
||
<h2 id="deinstallation">Wie deinstalliere ich GeoTurtl restlos?</h2>
|
||
|
||
<p>Alles mit einem einzigen Befehl entfernen – einfach ins Terminal kopieren:</p>
|
||
|
||
<pre><code>geoturtl_stop 2>/dev/null; \
|
||
launchctl unload ~/Library/LaunchAgents/com.user.geoturtl.plist 2>/dev/null; \
|
||
rm -f ~/Library/LaunchAgents/com.user.geoturtl.plist; \
|
||
rm -rf /Applications/Scripte/python/GeoTurtl; \
|
||
rm -f ~/Library/Logs/GeoTurtl.log; \
|
||
rm -f ~/Library/Application\ Support/GeoTurtl.pid; \
|
||
sed -i '' '/geoturtl/d' ~/.zshrc; \
|
||
source ~/.zshrc; \
|
||
echo "✓ GeoTurtl vollständig entfernt."</code><button class="copy-btn" onclick="copyCode(this)">copy</button></pre>
|
||
|
||
<p>Dieser Befehl:</p>
|
||
<ul>
|
||
<li>Beendet GeoTurtl, falls es gerade läuft</li>
|
||
<li>Entfernt den Autostart beim Login</li>
|
||
<li>Löscht alle Programmdateien</li>
|
||
<li>Löscht die Log-Datei</li>
|
||
<li>Entfernt die Terminal-Kürzel</li>
|
||
</ul>
|
||
|
||
<hr>
|
||
|
||
<!-- Haftungsausschluss -->
|
||
<h2 id="haftung">Haftungsausschluss</h2>
|
||
|
||
<div class="disclaimer-box">
|
||
<h3>⚠️ Wichtiger Hinweis – Bitte vor der Installation lesen</h3>
|
||
|
||
<p>
|
||
GeoTurtl wurde von <strong>H. Linz</strong> nach bestem Wissen und Gewissen
|
||
entwickelt und kostenlos zur Verfügung gestellt. Dennoch gilt:
|
||
</p>
|
||
|
||
<ul style="margin: 12px 0 12px 20px;">
|
||
<li style="margin-bottom: 6px;">
|
||
Die Software wird <strong>„so wie sie ist" (as is)</strong> bereitgestellt –
|
||
ohne Garantie auf Fehlerfreiheit, ununterbrochenen Betrieb oder
|
||
Eignung für einen bestimmten Zweck.
|
||
</li>
|
||
<li style="margin-bottom: 6px;">
|
||
<strong>H. Linz übernimmt keine Haftung</strong> für direkte oder indirekte
|
||
Schäden, Datenverluste oder sonstige Beeinträchtigungen, die durch die
|
||
Installation, Nutzung oder Deinstallation dieser Software entstehen könnten.
|
||
</li>
|
||
<li style="margin-bottom: 6px;">
|
||
Die Nutzung von Drittdiensten wie <strong>ipinfo.io</strong> und
|
||
<strong>ipify.org</strong> zur IP-Ermittlung unterliegt den jeweiligen
|
||
Nutzungsbedingungen dieser Anbieter und liegt außerhalb der Verantwortung
|
||
des Autors.
|
||
</li>
|
||
<li style="margin-bottom: 6px;">
|
||
Die Ortungsfunktion verwendet ausschließlich die von Apple bereitgestellte
|
||
<strong>CoreLocation-API</strong>. Die Genauigkeit der Standortangaben
|
||
hängt von der Verfügbarkeit von WLAN-Signalen ab und kann variieren.
|
||
</li>
|
||
<li style="margin-bottom: 6px;">
|
||
<strong>Jede Person installiert und nutzt diese Software auf eigene
|
||
Gefahr und eigene Verantwortung.</strong>
|
||
</li>
|
||
<li>
|
||
Durch die Installation und Nutzung von GeoTurtl erkennst du diese
|
||
Bedingungen an.
|
||
</li>
|
||
</ul>
|
||
|
||
<p style="margin-top: 12px; font-size: 12px; color: #82071e;">
|
||
Diese Software steht unter der <strong>MIT-Lizenz</strong>.
|
||
Der vollständige Lizenztext ist im Programmordner enthalten.
|
||
</p>
|
||
</div>
|
||
|
||
<hr>
|
||
|
||
<!-- Kontakt -->
|
||
<h2 id="kontakt">Fragen, Anregungen oder konstruktive Kritik?</h2>
|
||
|
||
<p>
|
||
Du schickst mir eine Nachricht an
|
||
<a href="mailto:linz.on.tour@gmail.com?subject=GeoTurtl%20v0.9.7-beta">linz.on.tour@gmail.com</a>.
|
||
Ich beantworte sie dann, so schnell es mir möglich ist.
|
||
</p>
|
||
|
||
<p><strong>H. Linz</strong></p>
|
||
|
||
</main>
|
||
|
||
<!-- Sidebar -->
|
||
<aside class="sidebar">
|
||
<h3>Inhalt</h3>
|
||
<ul>
|
||
<li><a href="#was-ist">Was ist GeoTurtl?</a></li>
|
||
<li><a href="#voraussetzungen">Voraussetzungen</a></li>
|
||
<li><a href="#sicherheit">Sicherheit</a></li>
|
||
<li><a href="#installation">Installation</a></li>
|
||
<li><a href="#starten-stoppen">Starten & Stoppen</a></li>
|
||
<li><a href="#log">Log-Dateien</a></li>
|
||
<li><a href="#deinstallation">Deinstallation</a></li>
|
||
<li><a href="#haftung">Haftungsausschluss</a></li>
|
||
<li><a href="#kontakt">Kontakt</a></li>
|
||
</ul>
|
||
|
||
<div class="sidebar-meta">
|
||
<p>🐢 GeoTurtl</p>
|
||
<p>📦 v0.9.7-beta</p>
|
||
<p>📅 Juni 2026</p>
|
||
<p>👤 H. Linz</p>
|
||
<p>⚖️ MIT License</p>
|
||
<p>✉️ <a href="mailto:linz.on.tour@gmail.com?subject=GeoTurtl%20v0.9.7-beta">linz.on.tour@gmail.com</a></p>
|
||
</div>
|
||
</aside>
|
||
|
||
</div>
|
||
|
||
<!-- Footer -->
|
||
<footer class="gh-footer">
|
||
🐢 GeoTurtl v0.9.7-beta ·
|
||
MIT License ·
|
||
© 2026 H. Linz ·
|
||
<a href="mailto:linz.on.tour@gmail.com?subject=GeoTurtl%20v0.9.7-beta">linz.on.tour@gmail.com</a>
|
||
</footer>
|
||
|
||
<script>
|
||
function copyCode(btn) {
|
||
const code = btn.previousElementSibling || btn.parentElement.querySelector('code');
|
||
navigator.clipboard.writeText(code.innerText.trim()).then(() => {
|
||
btn.textContent = '✓ copied';
|
||
btn.classList.add('copied');
|
||
setTimeout(() => {
|
||
btn.textContent = 'copy';
|
||
btn.classList.remove('copied');
|
||
}, 2000);
|
||
});
|
||
}
|
||
</script>
|
||
|
||
</body>
|
||
</html>
|