RebreakVpnService.onStartCommand crashed with SecurityException because Android 16's validateForegroundServiceType rejects the implicit 2-arg startForeground(). Now passes FOREGROUND_SERVICE_TYPE_SPECIAL_USE explicitly (Google's documented best practice) and guards the call so a failed foreground promotion stops the service cleanly instead of crashing the app. Verified vs reported Galaxy A54 / Android 16 signature (97% of crash events, 1-user crash loop). Bundles pending working-tree work across native/marketing/locales/mac + graphify-out rebuild. gitignore: google-services.json + /screenshots/. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
136 lines
6.0 KiB
Vue
136 lines
6.0 KiB
Vue
<template>
|
||
<div class="min-h-screen bg-gray-950 text-white flex flex-col items-center justify-center px-4 py-16">
|
||
<div class="w-full max-w-md">
|
||
<!-- Logo / Brand -->
|
||
<div class="flex items-center gap-3 mb-10">
|
||
<div class="w-12 h-12 rounded-2xl bg-indigo-500 flex items-center justify-center">
|
||
<span class="text-2xl font-bold">R</span>
|
||
</div>
|
||
<div>
|
||
<h1 class="text-2xl font-bold tracking-tight">ReBreak für Windows</h1>
|
||
<p class="text-sm text-gray-400">Glücksspiel-Schutz für deinen PC</p>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Header -->
|
||
<h2 class="text-3xl font-extrabold mb-2">Schutz für deinen Windows-PC</h2>
|
||
<p class="text-gray-400 mb-1 text-sm">
|
||
Version {{ version }} · {{ buildDate }}
|
||
</p>
|
||
<span
|
||
class="inline-block bg-amber-500/15 text-amber-400 text-xs font-semibold px-2.5 py-1 rounded-full mb-6"
|
||
>
|
||
Beta, für Pro & Legend
|
||
</span>
|
||
|
||
<!-- Was es macht -->
|
||
<div class="bg-indigo-950/30 border border-indigo-800/30 rounded-2xl p-5 mb-6">
|
||
<p class="text-sm text-indigo-200 leading-relaxed">
|
||
<strong>Systemweiter Schutz.</strong> ReBreak für Windows blockt Glücksspielseiten
|
||
auf <strong>DNS-Ebene</strong>, in jedem Browser und jeder App. Auch Chrome, Edge und
|
||
Brave, die normalerweise das System-DNS umgehen, werden zuverlässig gefiltert.
|
||
Ein Hintergrunddienst schützt die Einstellung vor dem Abschalten.
|
||
</p>
|
||
</div>
|
||
|
||
<!-- Download Button -->
|
||
<a
|
||
:href="exeUrl"
|
||
class="block w-full bg-indigo-600 hover:bg-indigo-500 active:bg-indigo-700 transition-colors text-white text-center font-bold text-lg py-4 rounded-2xl mb-4 shadow-lg shadow-indigo-900/40"
|
||
download
|
||
>
|
||
Installer herunterladen ({{ exeSize }})
|
||
</a>
|
||
|
||
<!-- SHA256 -->
|
||
<p class="text-xs text-gray-500 text-center break-all mb-10">
|
||
SHA256: <span class="font-mono">{{ sha256 }}</span>
|
||
</p>
|
||
|
||
<!-- Install Instructions -->
|
||
<div class="bg-gray-900 rounded-2xl p-6 mb-8">
|
||
<h3 class="font-bold text-base mb-4 text-white">Setup in 3 Schritten</h3>
|
||
<ol class="space-y-4">
|
||
<li class="flex gap-3">
|
||
<span class="w-7 h-7 shrink-0 rounded-full bg-indigo-600 flex items-center justify-center text-sm font-bold">1</span>
|
||
<div>
|
||
<p class="font-medium text-sm text-white">Installer laden & ausführen</p>
|
||
<p class="text-xs text-gray-400 mt-0.5">Doppelklick auf die .exe. Windows-SmartScreen ggf. „Weitere Informationen → Trotzdem ausführen" (App ist noch nicht signiert).</p>
|
||
</div>
|
||
</li>
|
||
<li class="flex gap-3">
|
||
<span class="w-7 h-7 shrink-0 rounded-full bg-indigo-600 flex items-center justify-center text-sm font-bold">2</span>
|
||
<div>
|
||
<p class="font-medium text-sm text-white">Mit ReBreak verbinden</p>
|
||
<p class="text-xs text-gray-400 mt-0.5">In der ReBreak-App auf dem Handy einen 6-stelligen Code erzeugen (Geräte → Gerät hinzufügen → Windows) und in der PC-App eingeben.</p>
|
||
</div>
|
||
</li>
|
||
<li class="flex gap-3">
|
||
<span class="w-7 h-7 shrink-0 rounded-full bg-indigo-600 flex items-center justify-center text-sm font-bold">3</span>
|
||
<div>
|
||
<p class="font-medium text-sm text-white">Fertig</p>
|
||
<p class="text-xs text-gray-400 mt-0.5">Der Schutz läuft ab sofort im Hintergrund, auch nach einem Neustart.</p>
|
||
</div>
|
||
</li>
|
||
</ol>
|
||
</div>
|
||
|
||
<!-- Voraussetzungen -->
|
||
<div class="bg-gray-900 rounded-2xl p-6 mb-8">
|
||
<h3 class="font-bold text-base mb-3 text-white">Voraussetzungen</h3>
|
||
<ul class="space-y-2 text-xs text-gray-400">
|
||
<li>• Windows 10 ({{ minWindows }}) oder Windows 11, 64-Bit</li>
|
||
<li>• Administrator-Rechte für die Installation</li>
|
||
<li>• Ein ReBreak-Account mit Pro oder Legend</li>
|
||
<li>• Die ReBreak-App auf deinem Handy (für die Kopplung)</li>
|
||
</ul>
|
||
</div>
|
||
|
||
<!-- Deaktivieren -->
|
||
<div class="bg-gray-900 rounded-2xl p-6 mb-8">
|
||
<h3 class="font-bold text-base mb-3 text-white">Wie wird der Schutz wieder gelöst?</h3>
|
||
<p class="text-xs text-gray-400 leading-relaxed">
|
||
Bewusst nicht per Klick: Der Schutz lässt sich nur mit Wartezeit (Cooldown) wieder
|
||
pausieren. Das schützt dich vor dem Impuls, der ihn im Drang-Moment loswerden will.
|
||
Bei Abo-Ende oder Account-Löschung wird der Schutz ordnungsgemäß freigegeben.
|
||
</p>
|
||
</div>
|
||
|
||
<!-- Beta Notice -->
|
||
<div class="bg-amber-950/40 border border-amber-800/30 rounded-xl p-4 mb-8">
|
||
<p class="text-amber-300 text-xs leading-relaxed">
|
||
<strong>Beta-Hinweis:</strong> ReBreak für Windows ist in geschlossener Beta. Bei Problemen oder
|
||
Feedback bitte E-Mail an
|
||
<a href="mailto:support@rebreak.org" class="underline">support@rebreak.org</a>.
|
||
</p>
|
||
</div>
|
||
|
||
<!-- Footer -->
|
||
<p class="text-center text-xs text-gray-600">
|
||
© {{ new Date().getFullYear() }} Rebreak ·
|
||
<NuxtLink to="/datenschutz" class="hover:text-gray-400">Datenschutz</NuxtLink>
|
||
</p>
|
||
</div>
|
||
</div>
|
||
</template>
|
||
|
||
<script setup lang="ts">
|
||
// Werte bei jedem Windows-Release aktualisieren (oder per Script aus dem Build).
|
||
const version = "0.1.0";
|
||
const buildDate = "Juni 2026";
|
||
const exeSize = "3,7 MB";
|
||
const minWindows = "21H2";
|
||
const sha256 = "f1d073b28cc3cf31f3b9da826eff71cd73e1169a1c6ae1ff64a056ee4cf0dd87";
|
||
const exeUrl = "/downloads/RebreakMagic-Setup.exe";
|
||
|
||
useSeoMeta({
|
||
title: "ReBreak für Windows – Glücksspiel-Schutz für deinen PC",
|
||
description:
|
||
"Blockt Glücksspielseiten systemweit auf deinem Windows-PC, in jedem Browser, auch Chrome und Edge. Per DNS-over-HTTPS, mit Tamper-Schutz im Hintergrund.",
|
||
});
|
||
|
||
definePageMeta({
|
||
layout: false,
|
||
});
|
||
</script>
|