84 Einträge gefunden
# 🕷 MetaCrawler ### AI-powered SEO Meta Generator · v1.0.0 MetaCrawler crawlt das Web nach einem Stichwort oder einer URL, analysiert die gefundenen Seiten und generiert mithilfe einer KI automatisch **3 optimierte Vorschläge** für Titel, Meta-Description und Keywords. Zusätzlich können vollständige Artikel generiert werden. **Komplett kostenlos nutzbar · Kein Login · Kein Abo · Einmal einrichten, dauerhaft nutzen.** --- ## ✨ Features | Feature | Beschreibung | |---|---| | 🔍 **Web-Crawling** | Bing, DuckDuckGo, Wikipedia + direkte URLs | | 🤖 **Multi-Provider AI** | OpenAI, Claude, Gemini, Mistral, Ollama | | 📊 **3 Vorschläge** | Titel (50–60 Z.), Description (150–160 Z.), Keywords | | 📝 **Artikel-Generator** | ~800 Wörter, 4 Schreibstile, DE + EN | | 🧠 **Lernpool** | Wörter aus Crawls werden gespeichert & gewichtet | | 📥 **JSON-Export** | Jede Analyse als JSON-Datei exportierbar | | 💾 **SQLite** | Kein MySQL nötig – läuft auf jedem Hosting | | 🌐 **DE + EN** | Deutsche und englische Ausgabe wählbar | --- ## 🚀 Installation ### 1. Voraussetzungen | Anforderung | Version | |---|---| | PHP | 8.0 oder höher | | cURL Extension | Pflicht | | PDO SQLite Extension | Pflicht | | Schreibrechte | `storage/` und `logs/` Ordner | ### 2. Dateien hochladen Alle Dateien in ein Verzeichnis auf dem Webserver hochladen, z.B.: ``` https://ihre-domain.de/metacrawler/ ``` ### 3. config.php anpassen ```php // Provider wählen define('AI_PROVIDER', 'claude'); // openai | claude | gemini | mistral | ollama // Nur den gewählten Provider ausfüllen: define('CLAUDE_API_KEY', 'sk-ant-...'); define('CLAUDE_MODEL', 'claude-3-5-haiku-20241022'); ``` ### 4. Ordner-Rechte setzen ```bash chmod 755 storage/ chmod 755 logs/ ``` ### 5. Fertig – aufrufen ``` https://ihre-domain.de/metacrawler/ ``` Die SQLite-Datenbank wird beim ersten Aufruf automatisch erstellt. --- ## 🤖 AI-Provider Übersicht ### OpenAI - **API-Key**: https://platform.openai.com/api-keys - **Empfohlenes Modell**: `gpt-4o-mini` (günstig, schnell) - **Kosten**: ~$0.15 / 1M Input-Tokens ```php define('AI_PROVIDER', 'openai'); define('OPENAI_API_KEY', 'sk-...'); define('OPENAI_MODEL', 'gpt-4o-mini'); ``` --- ### Anthropic Claude - **API-Key**: https://console.anthropic.com/ - **Empfohlenes Modell**: `claude-3-5-haiku-20241022` (schnell & günstig) - **Kosten**: ~$0.25 / 1M Input-Tokens ```php define('AI_PROVIDER', 'claude'); define('CLAUDE_API_KEY', 'sk-ant-...'); define('CLAUDE_MODEL', 'claude-3-5-haiku-20241022'); ``` --- ### Google Gemini - **API-Key**: https://makersuite.google.com/app/apikey - **Empfohlenes Modell**: `gemini-1.5-flash` - **Kosten**: Kostenlos bis 1M Tokens/Monat ```php define('AI_PROVIDER', 'gemini'); define('GEMINI_API_KEY', 'AIza...'); define('GEMINI_MODEL', 'gemini-1.5-flash'); ``` --- ### Mistral AI - **API-Key**: https://console.mistral.ai/api-keys/ - **Empfohlenes Modell**: `mistral-small-latest` - **Kosten**: ~$0.20 / 1M Tokens ```php define('AI_PROVIDER', 'mistral'); define('MISTRAL_API_KEY', '...'); define('MISTRAL_MODEL', 'mistral-small-latest'); ``` --- ### Ollama (lokal – kostenlos) - **Download**: https://ollama.ai - **Kein API-Key nötig** – läuft komplett lokal - **Kosten**: 100% kostenlos ```bash # Ollama installieren & Modell laden ollama pull llama3.2 ollama serve ``` ```php define('AI_PROVIDER', 'ollama'); define('OLLAMA_HOST', 'http://localhost:11434'); define('OLLAMA_MODEL', 'llama3.2'); ``` > **Hinweis:** Ollama funktioniert nur wenn MetaCrawler auf demselben Server > wie Ollama läuft (Localhost). Für Shared-Hosting empfiehlt sich ein Cloud-Provider. --- ## 📁 Dateistruktur ``` metacrawler/ ├── config.php ← Konfiguration (Provider, API-Keys) ├── index.php ← Hauptseite: Analyse & 3 Vorschläge ├── artikel.php ← Artikel-Generator ├── history.php ← Analyse-Verlauf ├── keywords.php ← Keyword-Lernpool visualisiert ├── einstellungen.php ← Setup-Übersicht & Systeminfo │ ├── includes/ │ ├── header.php ← Navigation & CSS │ ├── footer.php ← Footer │ ├── crawler.php ← Web-Crawling Engine (cURL + Parser) │ ├── ai.php ← Multi-Provider AI Interface │ └── storage.php ← SQLite Datenbankschicht & Lernfunktion │ ├── storage/ │ ├── metacrawler.db ← SQLite Datenbank (auto-erstellt) │ └── exports/ ← JSON-Exporte │ └── logs/ ← Fehler-Logs ``` --- ## 🧠 Lernfunktion Bei jeder Analyse extrahiert MetaCrawler die häufigsten Wörter aus allen gecrawlten Seiten und speichert sie in der lokalen SQLite-Datenbank (`keywords`-Tabelle). **Was passiert konkret:** - Stoppwörter (der, die, das, the, and, ...) werden gefiltert - Wörter unter 3 Zeichen werden ignoriert - Jedes Wort erhält einen Häufigkeitszähler - Bei erneuter Verwendung wird der Zähler erhöht **Auswirkung:** - Auf der Hauptseite werden verwandte Keywords aus dem Lernpool vorgeschlagen - Je mehr Analysen, desto treffsicherer die Vorschläge - Unter `keywords.php` ist der gesamte Lernpool als Wortwolke sichtbar --- ## 📊 Seiten-Übersicht ### 🔍 index.php – Analyse Stichwort oder URL eingeben → Web wird gecrawlt → KI generiert 3 Vorschläge. Jeder Vorschlag enthält: - **Title Tag** mit Zeichenzähler (Ziel: 50–60 Zeichen, grün markiert) - **Meta Description** mit Zeichenzähler (Ziel: 150–160 Zeichen) - **Keywords** als klickbare Tags - **\"Alles kopieren\"** Button – alle 3 Felder in einem Rutsch ### 📝 artikel.php – Artikel-Generator Generiert einen ~800-Wörter-Artikel auf Basis gecrawlter Daten. Schreibstile: - **Informativ** – sachlich, für breites Publikum - **Blog** – locker, persönlich, mit \"Ich/Wir\" - **SEO-optimiert** – höhere Keyword-Dichte - **Verkauf** – überzeugend, mit Call-to-Actions ### 📋 history.php – Verlauf Alle bisherigen Analysen. Details und JSON-Export pro Eintrag. ### 🏷 keywords.php – Lernpool Alle gesammelten Keywords als gewichtete Wortwolke. Je häufiger ein Begriff gefunden wurde, desto größer dargestellt. ### ⚙️ einstellungen.php – Setup - Übersicht aller Provider mit Konfigurationsbeispielen - Links zu den jeweiligen API-Key-Seiten - Systemprüfung (PHP-Version, cURL, SQLite, Schreibrechte) --- ## 🔧 Konfigurationsreferenz ```php // config.php – alle Optionen // Provider (eines wählen) define('AI_PROVIDER', 'claude'); // openai | claude | gemini | mistral | ollama // Crawling-Einstellungen define('CRAWL_TIMEOUT', 10); // Sekunden pro Request define('CRAWL_MAX_URLS', 5); // Max. zu crawlende URLs pro Analyse define('CRAWL_USER_AGENT', '...'); // User-Agent-String // Limits define('FREE_SUGGESTIONS', 3); // Anzahl Vorschläge pro Analyse define('FREE_ARTICLE_LEN', 800); // Ziel-Wortanzahl für Artikel // Sprache define('DEFAULT_LANG', 'de'); // de | en define('TIMEZONE', 'Europe/Berlin'); ``` --- ## 🔒 Sicherheitshinweise - Die `config.php` enthält API-Keys – Zugriff per `.htaccess` schützen: ```apache # .htaccess im Hauptverzeichnis <Files \"config.php\"> Order allow,deny Deny from all </Files> ``` - Den `storage/` Ordner vor direktem Webzugriff schützen: ```apache # storage/.htaccess Deny from all ``` - Den `logs/` Ordner ebenfalls schützen: ```apache # logs/.htaccess Deny from all ``` --- ## 🗺 Geplante Erweiterungen (Roadmap) > Diese Features sind **noch nicht implementiert** und können in einer späteren Version > hinzugefügt werden. ### 👤 Benutzerverwaltung (Login/Register) - Eigene Analyse-Historien pro Nutzer - Eigene Keyword-Listen und Projekte - Getrennte Lernpools pro Nutzer ### 💳 Premium-Modell - Kostenlose Version: 3 Analysen/Tag - Premium (Einmalkauf oder Abo): Unbegrenzte Analysen - PayPal IPN Integration (analog PasswortBox) ### 📦 Projekt-Verwaltung - Mehrere URLs/Keywords als \"Projekt\" zusammenfassen - Regelmäßige Re-Analyse (Cron-Job) mit Änderungs-Benachrichtigung - Vergleich: Wie haben sich Rankings verändert? ### 🔄 Bulk-Analyse - CSV-Upload mit mehreren Keywords/URLs - Batch-Verarbeitung im Hintergrund - Export als Excel/CSV ### 📈 Ranking-Tracking - Keyword-Positionen bei Google/Bing tracken - Historische Verläufe und Grafiken - Benachrichtigung bei Positions-Änderungen ### 🌍 Mehr Crawling-Quellen - Google (mit Proxy-Rotation) - Reddit, Quora für Community-Keywords - Amazon (für Produkt-Keywords) - YouTube (für Video-SEO) ### 🔌 API-Endpunkt - REST-API für externe Anbindung - Webhook-Support - WordPress-Plugin --- ## ❓ Häufige Fragen **Warum werden manchmal keine Ergebnisse gefunden?** Manche Websites blockieren Crawler. Versuche ein anderes Stichwort oder eine direkte URL einer zugänglichen Seite. **Warum ist die AI-Antwort manchmal unvollständig?** Bei günstigeren Modellen (z.B. Haiku, gpt-4o-mini) kann das Token-Limit erreicht werden. In `ai.php` den `$maxTokens`-Wert in der `complete()`-Methode erhöhen. **Kann ich MetaCrawler auf Shared-Hosting betreiben?** Ja, solange PHP 8+, cURL und PDO-SQLite verfügbar sind. Ollama funktioniert nur auf eigenen Servern (VPS/Root-Server). **Wo werden die Daten gespeichert?** Ausschließlich lokal in `storage/metacrawler.db` (SQLite). Es werden keine Daten an externe Server gesendet außer an den gewählten AI-Provider. **Wie kann ich den Lernpool zurücksetzen?** Die Datei `storage/metacrawler.db` löschen. Sie wird beim nächsten Aufruf neu erstellt. --- ## 📄 Lizenz MIT Einzel-License – frei verwendbar, anpassbar. Bei Weitergabe bitte diese README beilegen. --- *MetaCrawler v1.0.0 · Erstellt mit PHP 8 · SQLite · Web Crypto API*
# 🎭 AvatarMaker v2.0 ### Avatar-Generator für Foren, Communities & Webseiten AvatarMaker ermöglicht es Besuchern, aus vorgefertigten Vorlagen eigene personalisierte Avatare zu erstellen – mit eigenem Text, sofortigem Download und optionaler Server-Speicherung. Kein Login, kein Abo, sofort einsatzbereit. --- ## ✨ Features | Feature | Beschreibung | |---|---| | 🎨 **Vorlagen-System** | Beliebig viele Vorlagen hochladbar, 24 bereits inklusive | | ✍️ **2 Texte pro Avatar** | Name, Titel oder Motto frei eingebbar (max. 20 Zeichen) | | 👁 **Live-Vorschau** | Echtzeit-Vorschau während der Texteingabe per AJAX | | 💾 **Server-Speicherung** | Erstellte Avatare optional speichern + Link anzeigen | | ⬇️ **Direktdownload** | Avatar sofort herunterladen ohne Login | | 🎭 **24 Beispiel-Avatare** | Farben, Gesichter, Muster, Pixel-Art, Tiere uvm. | | ⚙️ **Admin-Bereich** | Vorlagen verwalten, bearbeiten, löschen | | 🔍 **Auto-Scan** | scan.php trägt neue Bilder automatisch in die DB ein | --- ## 🚀 Installation ### 1. Voraussetzungen | Anforderung | Version | |---|---| | PHP | 7.4 oder höher | | GD Extension | Pflicht (für Bildverarbeitung) | | PDO SQLite Extension | Pflicht | | Schreibrechte | `storage/`, `avatars/templates/`, `avatars/created/` | ### 2. Dateien hochladen Alle Dateien in ein Verzeichnis auf dem Webserver hochladen: ``` https://ihre-domain.de/avatarmaker/ ``` ### 3. config.php anpassen ```php define('AM_URL', 'https://ihre-domain.de/avatarmaker'); // Ihre URL define('SITE_URL', 'https://ihre-domain.de'); // Link zur Hauptseite define('ADMIN_PASS', 'IhrSicheresPasswort'); // !! Bitte ändern !! define('SAVE_ENABLED', true); // false = keine Server-Speicherung ``` ### 4. Ordner-Rechte setzen ```bash chmod 755 storage/ chmod 755 avatars/templates/ chmod 755 avatars/created/ ``` ### 5. Datenbank initialisieren ``` https://ihre-domain.de/avatarmaker/install.php ``` Die SQLite-Datenbank wird erstellt und alle 24 Beispiel-Vorlagen werden registriert. **Danach `install.php` löschen!** ### 6. Fertig – aufrufen ``` https://ihre-domain.de/avatarmaker/ ← Frontend https://ihre-domain.de/avatarmaker/admin/ ← Admin-Bereich ``` --- ## 📁 Dateistruktur ``` avatarmaker/ ├── config.php ← Konfiguration (URL, Passwort, Einstellungen) ├── index.php ← Frontend: Vorlage wählen & Avatar erstellen ├── install.php ← Einmalige DB-Installation (danach löschen!) ├── scan.php ← mehrere Neue Templates auto-eintragen (danach löschen!) │ ├── includes/ │ └── avatar_engine.php ← GD-Bildverarbeitung (Text, Farben, Skalierung) │ ├── admin/ │ ├── index.php ← Admin-Dashboard (Stats, Vorlagen, Avatare) │ ├── template-upload.php ← Neue Vorlage hochladen │ └── template-edit.php ← Vorlage bearbeiten │ ├── avatars/ │ ├── templates/ ← Vorlagen-Bilder (PNG/JPG/GIF) │ └── created/ ← Erstellte Avatare der Besucher │ ├── storage/ │ └── avatarmaker.db ← SQLite Datenbank (auto-erstellt) │ └── .htaccess ← Sicherheit (config.php & DB schützen) ``` --- ## 🎨 Vorlagen-Übersicht (24 inklusive) ### Farb-Vorlagen (1–12) Einfarbige Hintergründe mit geometrischen Formen und Anfangsbuchstaben. | # | Name | Farbe | |---|---|---| | 1 | Ocean | Blau | | 2 | Fire | Rot-Orange | | 3 | Forest | Grün | | 4 | Purple | Lila | | 5 | Teal | Türkis | | 6 | Gold | Gold | | 7 | Dark | Dunkelblau | | 8 | Red | Rot | | 9 | Mint | Mintgrün | | 10 | Navy | Dunkelblau | | 11 | Amber | Orange | | 12 | Wine | Weinrot | ### Charakter & Muster (13–24) | # | Name | Beschreibung | |---|---|---| | 13 | Smiley | Klassisches Lächeln-Gesicht | | 14 | Cool-Face | Gesicht mit Sonnenbrille | | 15 | Pixel-Art | Retro 8-Bit Gesicht | | 16 | Roboter | Sci-Fi Roboterkopf mit LEDs | | 17 | Katze | Katzenkopf mit Schnurrhaaren | | 18 | Alien | Großäugiges Alien-Gesicht | | 19 | Hexagon | Abstraktes Lila-Muster | | 20 | Neon-Dreiecke | Geometrisch auf schwarz | | 21 | Mandala | Buntes Kreismuster | | 22 | Wellen | Ozean-Muster mit Mond | | 23 | Gaming | Controller-Design | | 24 | Blume | Pinkes Blumenmuster | --- ## ⚙️ Admin-Bereich ### Login ``` https://ihre-domain.de/avatarmaker/admin/ Passwort: wie in config.php → ADMIN_PASS eingestellt ``` ### Funktionen **Dashboard (`admin/index.php`)** - Statistiken: Anzahl Vorlagen, erstellte Avatare gesamt, heute - Vorlagen-Übersicht mit Thumbnail, Bearbeiten- und Löschen-Button - Tabelle aller erstellten Avatare mit Vorschau, Texten, IP und Datum **Neue Vorlage hochladen (`admin/template-upload.php`)** - PNG, JPG oder GIF hochladen (max. 2 MB) - Wird automatisch auf 120×120 Pixel skaliert - Text-Positionen für Text 1 und Text 2 einstellen (X/Y-Koordinaten) - Ausrichtung: Links, Mitte oder Rechts - Schriftgröße (8–24 px), Schriftfarbe, Konturfarbe - Sortierungsreihenfolge **Vorlage bearbeiten (`admin/template-edit.php`)** - Alle Einstellungen nachträglich ändern - Neues Bild hochladen (ersetzt das alte) - Vorlage aktiv/inaktiv schalten (inaktive sind im Frontend nicht sichtbar) --- ## 🔍 Neue Vorlagen per scan.php einbinden Wenn du mehrere Bilder auf einmal in `avatars/templates/` hochlädst, kannst du sie mit `scan.php` automatisch registrieren lassen – statt jede einzeln im Admin einzutragen. **Ablauf:** 1. Bilder in `avatars/templates/` hochladen 2. `https://ihre-domain.de/avatarmaker/scan.php` aufrufen 3. Bereits registrierte Dateien werden übersprungen, neue eingetragen 4. **`scan.php` danach löschen!** Namen und Einstellungen kannst du anschließend im Admin unter **✏️ Bearbeiten** anpassen. --- ## 🔧 Konfigurationsreferenz ```php // config.php – alle Optionen define('AM_URL', 'https://ihre-domain.de/avatarmaker'); // Basis-URL (kein /) define('SITE_URL', 'https://ihre-domain.de'); // Link \"← Zur Webseite\" define('SAVE_ENABLED', true); // true = Avatare auf Server speichern define('MAX_FILE_SIZE', 2097152); // Max. Upload-Größe in Bytes (Standard: 2 MB) define('AVATAR_SIZE', 120); // Ausgabegröße in Pixel (quadratisch) define('ADMIN_PASS', 'admin123'); // Admin-Passwort – bitte ändern! ``` --- ## 🔒 Sicherheitshinweise - Admin-Passwort in `config.php` sofort nach Installation ändern - `install.php` nach der Installation löschen - `scan.php` nach Nutzung löschen - `storage/` Ordner ist per `.htaccess` vor Direktzugriff geschützt - `config.php` ist per `.htaccess` vor Direktzugriff geschützt **Empfohlene Ordner-Rechte:** ``` storage/ → 755 avatars/created/ → 755 avatars/templates/→ 755 ``` --- ## ❓ Häufige Fragen **Warum erscheint kein Avatar nach dem Erstellen?** Prüfe ob `avatars/created/` Schreibrechte hat (`chmod 755`). Prüfe ob die GD-Extension in PHP aktiv ist. **Kann ich die Avatar-Größe ändern?** Ja – `AVATAR_SIZE` in `config.php` anpassen. Standard ist 120×120 Pixel. Vorlagen-Bilder werden automatisch auf diese Größe skaliert. **Kann ich eigene Schriftarten einbinden?** Ja – TTF-Dateien in den `fonts/` Ordner legen und in `config.php` unter `FONTS` eintragen. Im Admin kann dann pro Vorlage eine Schriftart gewählt werden. **Wie deaktiviere ich die Server-Speicherung?** `define('SAVE_ENABLED', false)` in `config.php` – Avatare werden dann nur angezeigt aber nicht gespeichert, kein Download-Link wird generiert. **Wie setze ich den erstellten Avatar in ein Forum ein?** Den angezeigten Link kopieren und im Forum als Avatar-URL eintragen – die meisten Foren unterstützen externe Bild-URLs. --- ## 🗺 Geplante Erweiterungen (Roadmap) > Diese Features sind noch nicht implementiert und können in einer späteren Version hinzugefügt werden. - **Benutzer-Login** – eigene Avatar-Sammlung pro Account - **Farbfilter** – Helligkeit, Kontrast, Sättigung per Schieberegler anpassen - **Sticker/Overlays** – zusätzliche Grafik-Elemente auf den Avatar legen - **Rahmen-System** – verschiedene Rahmen um den Avatar wählbar - **Galerie** – öffentliche Übersicht aller erstellten Avatare - **API-Endpunkt** – Avatar per GET-Parameter programmatisch generieren - **Wasserzeichen** – automatisches Logo auf alle erstellten Avatare --- ## 📄 Lizenz MIT License – frei verwendbar, anpassbar und weitervertreibbar. Bei Weitergabe bitte diese README beilegen. --- *AvatarMaker v2.0 · PHP 7.4+ · GD · SQLite · Kein Login erforderlich*
# 🔐 PasswortBox v1.0 ### Sicherer Passwort-Manager mit AES-256 Client-seitiger Verschlüsselung PasswortBox ist ein selbst gehosteter Passwort-Manager mit Zero-Knowledge-Architektur. Alle Passwörter werden **ausschließlich im Browser** verschlüsselt – der Server sieht niemals Ihre echten Daten. Einmalige Zahlung, kein Abo, läuft auf Ihrem eigenen Server. --- ## ✨ Features | Feature | Beschreibung | |---|---| | 🔒 **AES-256-GCM** | Militärgrade-Verschlüsselung direkt im Browser | | 🧠 **Zero-Knowledge** | Server speichert nur Ciphertext – niemals Klartext | | 🔑 **Mastercode** | 64-stelliger Schlüssel, nur du kennst ihn | | 📋 **Unbegrenzte Einträge** | Bezeichnung, Username, Passwort, Notiz – alles verschlüsselt | | 🔍 **Client-seitige Suche** | Suche läuft komplett im Browser, ohne Server-Anfrage | | ⭐ **Favoriten & Kategorien** | Einträge organisieren und filtern | | 🔧 **Passwort-Generator** | Sicher, zufällig, 8–64 Zeichen konfigurierbar | | 📊 **Passwortstärke** | Echtzeit-Anzeige beim Eingeben | | 📥 **Backup-Export** | Verschlüsselter JSON-Export aller Einträge | | 💳 **PayPal-Zahlung** | Einmalig 24,99 € – keine Folgekosten | | 👤 **Admin-Bereich** | Nutzer verwalten, Zahlungen einsehen | --- ## 🛡 Sicherheitsarchitektur ``` Mastercode (64 Zeichen) ↓ PBKDF2 (100.000 Iterationen, SHA-256) AES-256-GCM Schlüssel ↓ Verschlüsselung im Browser (Web Crypto API) Ciphertext + IV → Server/Datenbank ``` **Was der Server NICHT sieht:** - Mastercode (wird niemals übertragen) - Entschlüsselte Passwörter, Benutzernamen, Notizen - Den AES-Schlüssel **Was der Server speichert:** - Ciphertext (unlesbarer Datenmüll ohne Mastercode) - IV (Initialisierungsvektor – nicht geheim, für Entschlüsselung nötig) - Mastercode-Hash (SHA-256, nur zur Validierung beim Entsperren) --- ## 🚀 Installation ### 1. Voraussetzungen | Anforderung | Details | |---|---| | PHP | 8.0 oder höher | | PDO SQLite | Pflicht | | SMTP-Zugang | Für E-Mail-Verifizierung | | HTTPS | **Zwingend erforderlich** (Web Crypto API braucht HTTPS) | | Schreibrechte | Datenbankordner muss schreibbar sein | ### 2. Dateien hochladen ``` https://ihre-domain.de/passwortbox/ ``` ### 3. config.php anpassen ```php // Datenbank define('DB_PATH', __DIR__ . '/storage/passwortbox.db'); // PayPal define('PAYPAL_EMAIL', 'ihre@email.de'); define('PAYPAL_SANDBOX', true); // false für Live-Betrieb define('PRICE', 24.99); // SMTP (für Verifizierungs-E-Mails) define('SMTP_HOST', 'mail.ihre-domain.de'); define('SMTP_PORT', 587); define('SMTP_USER', 'ihre@email.de'); define('SMTP_PASS', 'IhrPasswort'); define('SMTP_FROM', 'ihre@email.de'); define('SMTP_NAME', 'PasswortBox'); // Admin define('ADMIN_EMAIL', 'admin@ihre-domain.de'); // Basis-URL define('BASE_URL', 'https://ihre-domain.de/passwortbox'); ``` ### 4. Datenbank installieren ``` https://ihre-domain.de/passwortbox/install.php ``` Erstellt alle Tabellen und den Admin-Account. **Danach `install.php` löschen!** ### 5. Admin-Passwort ändern ``` Login: E-Mail aus ADMIN_EMAIL in config.php Passwort: admin123 ``` **Sofort nach der Installation ändern!** ### 6. PayPal konfigurieren Im PayPal-Konto unter **Kontoeinstellungen → Sofortige Zahlungsbenachrichtigung (IPN)**: ``` IPN-URL: https://ihre-domain.de/passwortbox/paypal-ipn.php ``` Zum Testen: `PAYPAL_SANDBOX` auf `true` lassen und PayPal Sandbox nutzen. Für Live-Betrieb: `PAYPAL_SANDBOX` auf `false` setzen. --- ## 📁 Dateistruktur ``` passwortbox/ ├── config.php ← Konfiguration (DB, PayPal, SMTP) ├── functions.php ← Hilfsfunktionen ├── install.php ← Einmalige Installation (danach löschen!) │ ├── register.php ← Registrierung (2 Schritte inkl. Mastercode) ├── login.php ← Login ├── logout.php ← Abmelden ├── verify.php ← E-Mail-Verifizierung │ ├── dashboard.php ← Passwort-Tresor (Hauptseite) ├── eintrag-neu.php ← Neuen Eintrag erstellen / bearbeiten ├── eintrag-save.php ← Eintrag speichern (AJAX) ├── eintrag-delete.php ← Eintrag löschen (AJAX) ├── export.php ← Verschlüsselter Backup-Export │ ├── kaufen.php ← Kaufseite mit PayPal-Button ├── paypal-ipn.php ← PayPal IPN Handler ├── zahlung-erfolg.php ← Erfolgsseite nach Zahlung │ ├── konto.php ← Kontoeinstellungen & Aktivitätslog │ ├── admin/ │ ├── index.php ← Admin-Dashboard (Nutzer, Umsatz, Stats) │ └── user-edit.php ← Nutzer bearbeiten │ ├── includes/ │ ├── header.php ← Design & Navigation │ └── footer.php ← Footer │ └── storage/ └── passwortbox.db ← SQLite Datenbank (auto-erstellt) ``` --- ## 🗄 Datenbank-Schema ```sql -- Benutzer users: id, email, username, password, mastercode_hash, role, status, paid, paid_at, paypal_txn, verify_token, reset_token, reset_expires, created_at, last_login -- Verschlüsselte Einträge entries: id, user_id, label_enc, username_enc, password_enc, note_enc, ← alles AES-256 iv, category, is_fav, created_at, updated_at -- Zahlungen payments: id, user_id, txn_id, amount, status, paypal_data, created_at -- Aktivitätslog logs: id, user_id, action, detail, ip, created_at ``` --- ## 🔑 Der Mastercode – das Wichtigste Der Mastercode ist ein **64-stelliger zufälliger Schlüssel** der beim Registrieren einmalig generiert und angezeigt wird. **Eigenschaften:** - Wird **niemals** auf dem Server gespeichert (nur ein Hash zur Validierung) - Ohne Mastercode sind alle gespeicherten Daten **nicht wiederherstellbar** - Wird nur im `sessionStorage` des Browsers gehalten (nur aktuelle Session) - Beim Schließen des Browsers muss er beim nächsten Besuch neu eingegeben werden **Empfohlene Aufbewahrung (den Nutzern mitteilen):** - 🖨 Ausdrucken und sicher aufbewahren - 💾 Auf USB-Stick speichern (verschlüsselt) - 📓 In ein physisches Notizbuch schreiben - 🔒 In einem zweiten Passwort-Manager speichern **⚠️ Verlust des Mastercodes = alle Passwörter unwiederbringlich verloren.** Es gibt keine Passwort-Reset-Funktion für den Mastercode – das ist by Design so. --- ## 💳 Zahlungsablauf ``` 1. Nutzer registriert sich (kostenlos) 2. Nutzer sieht Kaufseite (kaufen.php) 3. Nutzer zahlt 24,99 € via PayPal 4. PayPal sendet IPN an paypal-ipn.php 5. IPN wird verifiziert → Nutzer wird freigeschaltet (paid=1) 6. Bestätigungs-E-Mail wird gesendet 7. Nutzer hat Zugriff auf den vollen Tresor ``` **Manuell freischalten** (Admin): ``` Admin → Nutzerverwaltung → Nutzer bearbeiten → Bezahlstatus: Bezahlt ``` --- ## 👤 Admin-Bereich ``` https://ihre-domain.de/passwortbox/admin/ Login: ADMIN_EMAIL aus config.php ``` **Dashboard zeigt:** - Nutzer gesamt / bezahlt / aktiv heute - Anzahl verschlüsselter Einträge - Gesamtumsatz - Letzte Registrierungen und Zahlungen **Nutzerverwaltung:** - Status ändern: aktiv / ausstehend / gesperrt - Bezahlstatus manuell setzen - Anzahl der Einträge pro Nutzer einsehen --- ## 🔧 Konfigurationsreferenz ```php // Datenbank define('DB_PATH', __DIR__ . '/storage/passwortbox.db'); // PayPal define('PAYPAL_EMAIL', 'shop@ihre-domain.de'); define('PAYPAL_SANDBOX', false); // true = Testmodus define('PRICE', 24.99); // Preis in Euro // SMTP define('SMTP_HOST', 'mail.ihre-domain.de'); define('SMTP_PORT', 587); // 587 (STARTTLS) oder 465 (SSL) define('SMTP_USER', 'ihre@email.de'); define('SMTP_PASS', 'passwort'); define('SMTP_FROM', 'ihre@email.de'); define('SMTP_NAME', 'PasswortBox'); // URLs define('BASE_URL', 'https://ihre-domain.de/passwortbox'); define('ADMIN_EMAIL', 'admin@ihre-domain.de'); ``` --- ## 🔒 Sicherheitshinweise - **HTTPS ist Pflicht** – die Web Crypto API funktioniert nur über HTTPS - `config.php` per `.htaccess` schützen oder außerhalb des Webroots ablegen - `storage/` Ordner per `.htaccess` vor Direktzugriff schützen - `install.php` nach Installation sofort löschen - Admin-Passwort `admin123` sofort nach Installation ändern - PayPal IPN immer verifizieren (ist bereits implementiert) - Regelmäßige Backups der `passwortbox.db` empfohlen **.htaccess Empfehlung:** ```apache <Files \"config.php\"> Order allow,deny Deny from all </Files> ``` --- ## ❓ Häufige Fragen **Kann ich meinen Mastercode zurücksetzen?** Nein – das ist technisch nicht möglich ohne alle Daten zu verlieren. Der Mastercode ist der einzige Schlüssel zu deinen Daten. **Was passiert wenn ich den Browser schließe?** Der Mastercode wird aus dem sessionStorage gelöscht. Beim nächsten Login muss er erneut eingegeben werden. Die verschlüsselten Daten bleiben erhalten. **Kann der Server-Admin meine Passwörter lesen?** Nein. Der Server speichert nur AES-256-verschlüsselte Daten. Ohne den Mastercode sind diese Daten wertlos. **Funktioniert PasswortBox ohne HTTPS?** Nein. Die Web Crypto API (für AES-256) ist aus Sicherheitsgründen nur über HTTPS verfügbar. Lokale Entwicklung auf `localhost` funktioniert. **Wie exportiere ich meine Daten?** Unter **Konto → Backup herunterladen** – die exportierte JSON-Datei ist ebenfalls AES-256-verschlüsselt mit deinem Mastercode. **Kann ich PasswortBox für mehrere Nutzer betreiben?** Ja – jeder Nutzer hat seinen eigenen Mastercode und eigene verschlüsselte Einträge. Die Daten sind vollständig voneinander getrennt. --- ## 🗺 Geplante Erweiterungen (Roadmap) > Diese Features sind noch nicht implementiert und können in einer späteren Version > hinzugefügt werden. - **Browser-Extension** – Passwörter direkt im Browser automatisch ausfüllen - **TOTP / 2FA** – Zwei-Faktor-Authentifizierung (Google Authenticator) - **Passwort-Teilen** – Einträge sicher mit anderen Nutzern teilen - **Ablaufdatum** – Erinnerung wenn Passwörter zu alt werden - **Passwort-Audit** – Schwache oder doppelte Passwörter erkennen - **Import** – CSV-Import aus anderen Passwort-Managern (LastPass, Bitwarden) - **Mobile App** – PWA für Smartphone-Nutzung --- ## 📄 Lizenz MIT Einzelplatz - License – frei verwendbar, anpassbar und weitervertreibbar. Bei Weitergabe bitte diese README beilegen. --- *PasswortBox v1.0 · PHP 8.0+ · SQLite · AES-256-GCM · Web Crypto API · PayPal IPN*
Das Bild zeigt einen CSS Button Generator, ein webbasiertes Werkzeug zur visuellen Gestaltung von Schaltflächen für Webseiten. Das Interface ist in einem modernen Dark Mode gehalten und bietet folgende Funktionen: Anpassungsoptionen (Linke Seite) Generatoren-Menü: Ermöglicht den Wechsel zwischen verschiedenen CSS-Werkzeugen wie Button, Box Shadow, Border Radius, Gradient, Text Shadow und Animation. Button-Einstellungen: Button Text: Der Text auf der Schaltfläche kann frei editiert werden (hier: \"Klick mich\"). Farbauswahl: Es gibt separate Steuerungen für Hintergrundfarbe (#6c63ff), Textfarbe (#ffffff) und Hover-Farbe (#9c63ff). Schieberegler (Sliders): Für präzise Einstellungen von Border Radius (Abrundung), Font Size (Schriftgröße) sowie Padding X und Padding Y (Innenabstände). Vorschau und Code (Rechte Seite) Live Vorschau: Ein interaktives Fenster zeigt sofort, wie der Button mit den aktuellen Einstellungen aussieht. Code-Ausgabe: Das Tool generiert automatisch den dazugehörigen CSS- und HTML-Code. In der Ansicht ist ein CSS-Klassen-Selektor .myButton mit Attributen wie background, color, border-radius und padding zu sehen. Kopieren-Funktion: Ein Button ermöglicht es, den fertigen Code direkt in die Zwischenablage zu kopieren. Datenbank-Funktion Wie du richtig angemerkt hast, verfügt das Tool über eine Datenbank-Integration. Speichern: Über den Button „Speichern“ (unten links oder rechts beim Code) können die erstellten Designs gesichert werden. Abrufen: Über den Menüpunkt Datenbank in der linken Seitenleiste oder den Button oben rechts lassen sich gespeicherte Codes jederzeit wieder aufrufen und weiterbearbeiten. einfach config anpassen und direkt loslegen.
# DNSBL Checker Ein PHP-basierter Dienst zur Prüfung von Domains und IP-Adressen gegen 20 DNSBL-Blacklisten mit automatischer Zertifikatsgenerierung und Auto-Check-Funktion. ## Features - Prüfung gegen 20 DNSBL-Listen (Spamhaus ZEN, SpamCop, Barracuda, SORBS, Blocklist.de u.v.m.) - Score-Berechnung: 0–100% (Sauber / Gut / Auffällig / Kritisch) - Online-Zertifikat mit eindeutigem Token nach jeder Prüfung - SVG-Badge zum Einbinden auf der eigenen Website - Auto-Check alle 7 / 14 / 28 / 31 Tage per Cronjob - E-Mail-Benachrichtigung bei Auto-Check mit Abmelde-Link - Prüfverlauf (bis zu 10 letzte Checks) - Abmeldung über Token-Link in der E-Mail ## Dateien | Datei | Beschreibung | |---|---| | `config.php` | Datenbank, SMTP, Timeouts, Intervalle | | `dnsbl_lists.php` | Die 20 DNSBL-Listen | | `functions.php` | Hilfsfunktionen (DNS, Score, Mail) | | `install.php` | Erstellt die DB-Tabellen | | `index.php` | Hauptseite mit Formular und AJAX-Check | | `check.php` | AJAX-Endpoint für die Prüfung | | `zertifikat.php` | Zertifikat-Anzeige + SVG-Badge | | `cron.php` | Cronjob für Auto-Checks | | `abmelden.php` | Auto-Check deaktivieren | | `impressum.php` | Impressum | | `datenschutz.php` | Datenschutzerklärung | ## Installation ### 1. Dateien hochladen Alle Dateien in ein Verzeichnis auf dem Webserver hochladen, z.B. `/dnsbl/`. ### 2. config.php anpassen ```php define('DB_HOST', 'localhost'); define('DB_NAME', 'dnsbl_checker'); define('DB_USER', 'dein_user'); define('DB_PASS', 'dein_passwort'); define('SITE_URL', 'https://deine-domain.de/dnsbl'); define('SMTP_HOST', 'mail.deine-domain.de'); define('SMTP_USER', 'info@deine-domain.de'); define('SMTP_PASS', 'mail-passwort'); define('ADMIN_EMAIL', 'admin@deine-domain.de'); ``` ### 3. Datenbank anlegen `install.php` im Browser aufrufen: ``` https://deine-domain.de/dnsbl/install.php ``` Nach erfolgreicher Installation `install.php` löschen! ### 4. Cronjob einrichten Für den Auto-Check täglich ausführen (prüft nur fällige Einträge): ``` 0 6 * * * php /pfad/zu/dnsbl/cron.php ``` Oder per URL (falls kein Shell-Zugriff): ``` 0 6 * * * curl -s https://deine-domain.de/dnsbl/cron.php ``` ### 5. Impressum & Datenschutz anpassen In `impressum.php` und `datenschutz.php` die Platzhalter ersetzen: - `Vorname Nachname` → Ihr Name - `Musterstraße 1, 12345 Musterstadt` → Ihre Adresse - `info@deine-domain.de` → Ihre E-Mail ## DNSBL-Listen | Liste | DNS-Suffix | |---|---| | Spamhaus ZEN | zen.spamhaus.org | | SpamCop | bl.spamcop.net | | Barracuda | b.barracudacentral.org | | SORBS Spam | spam.dnsbl.sorbs.net | | SORBS HTTP | http.dnsbl.sorbs.net | | SORBS SOCKS | socks.dnsbl.sorbs.net | | SORBS Zombie | zombie.dnsbl.sorbs.net | | Blocklist.de | bl.blocklist.de | | UCEPROTECT L1 | dnsbl-1.uceprotect.net | | UCEPROTECT L2 | dnsbl-2.uceprotect.net | | PSBL | psbl.surriel.com | | WPBL | db.wpbl.info | | DroneBL | dnsbl.dronebl.org | | Woody's SMTP | blacklist.woody.ch | | iX Manitu | ix.dnsbl.manitu.net | | GBUdb | truncate.gbudb.net | | S5H | all.s5h.net | | Interserver | rbl.interserver.net | | NordSpam | bl.nordspam.com | | SpamRATS | all.spamrats.com | ## Badge einbinden ```html <a href=\"https://deine-domain.de/dnsbl/zertifikat.php?token=DEIN_TOKEN\"> <img src=\"https://deine-domain.de/dnsbl/zertifikat.php?token=DEIN_TOKEN&badge=1\" alt=\"DNSBL geprüft\" width=\"200\"> </a> ``` ## Anforderungen - PHP 8.0+ - MySQL / MariaDB - PHP-Extensions: `pdo_mysql`, `openssl` (für SMTP TLS) - Cronjob-Zugang (optional, für Auto-Check) ## Lizenz Privates Projekt – alle Rechte vorbehalten.
# Generator Suite Eine umfassende Sammlung von **15 Web-Generatoren** – ohne Anmeldung, einfach nutzen. ## Features **15 Generatoren:** 1. 📰 **RSS Feed Generator** – Erstelle RSS 2.0 Feeds 2. 🏷️ **Meta Tags Generator** – SEO Meta Tags + Open Graph + Twitter Cards 3. 🎨 **CSS Generator** – Button Styles mit Live-Vorschau 4. 🗺️ **Sitemap Generator** – XML Sitemaps für SEO 5. 🔐 **.htaccess Generator** – HTTPS, WWW, GZIP, Caching, etc. 6. 🔑 **Passwort Generator** – Sichere Passwörter mit Konfiguration 7. 📱 **QR Code Generator** – QR Codes für URLs/Text 8. 🎨 **Farbpaletten Generator** – Monochrome, Analogous, Complementary, Triadic 9. 📏 **Lorem Ipsum Generator** – Platzhalter-Text (Wörter, Sätze, Paragraphen) 10. 🔗 **Base64 Encoder/Decoder** – Encode & Decode 11. 🔤 **Slug Generator** – URL-freundliche Slugs aus Text 12. 📐 **Image Placeholder Generator** – Placeholder-Bilder mit via.placeholder.com 13. 🎭 **Favicon Generator** – HTML-Links für Favicons 14. 📧 **Mailto Link Generator** – E-Mail-Links mit CC, BCC, Betreff 15. 🔢 **Hash Generator** – MD5, SHA-1, SHA-256, SHA-512 **Technologie:** - Vanilla JavaScript (kein jQuery) - SQLite für History (letzte 10 pro Generator) - Kein Login erforderlich - Mobile-optimiert - Clean & Modern Design ## Installation ### 1. Dateien hochladen Alle Dateien in ein Verzeichnis auf dem Webserver hochladen. ### 2. Permissions setzen ```bash chmod 755 . chmod 666 generators.db # Wenn die Datei existiert ``` Die SQLite-Datenbank wird beim ersten Aufruf automatisch angelegt. ### 3. Fertig! ``` https://deine-domain.de/generators/ ``` ## Verwendung ### RSS Feed Generator 1. **Titel**, **Beschreibung**, **Link** und **Sprache** eingeben 2. **RSS generieren** klicken 3. XML kopieren und als `feed.xml` speichern ### Meta Tags Generator 1. **Title** (max. 60 Zeichen), **Description** (max. 160 Zeichen) eingeben 2. Optional: **Keywords**, **Author**, **Canonical URL**, **OG Image** 3. **Meta Tags generieren** klicken 4. Code in `<head>` einfügen ### CSS Generator 1. **Button Text** eingeben 2. **Farben** wählen (BG & Text) 3. **Border Radius** und **Padding** einstellen 4. Live-Vorschau anschauen 5. **CSS generieren** → Code kopieren ### Sitemap Generator 1. **URLs** eingeben (eine pro Zeile) 2. **Change Frequency** wählen (daily, weekly, monthly, yearly) 3. **Priority** wählen (0.5, 0.8, 1.0) 4. **Sitemap generieren** → XML als `sitemap.xml` speichern ### .htaccess Generator 1. Gewünschte Features auswählen: - HTTPS Redirect - WWW erzwingen - GZIP Compression - Browser Caching - Directory Listing verbieten 2. Optional: Custom 404 Seite 3. **.htaccess generieren** → Als `.htaccess` speichern ### Passwort Generator 1. **Länge** einstellen (8-64 Zeichen) 2. **Zeichen-Typen** wählen (Groß, Klein, Zahlen, Sonderzeichen) 3. **Anzahl** wählen (1-20 Passwörter) 4. **Passwörter generieren** ### QR Code Generator 1. **Text oder URL** eingeben 2. **Größe** wählen (200-500px) 3. **QR Code generieren** 4. Rechtsklick → Bild speichern ### Farbpaletten Generator 1. **Basis Farbe** wählen 2. **Typ** auswählen: - **Monochrome**: Verschiedene Helligkeiten - **Analogous**: Benachbarte Farben - **Complementary**: Gegenüberliegende Farben - **Triadic**: Gleichmäßig verteilte Farben 3. **Palette generieren** → Farbe klicken zum Kopieren ### Lorem Ipsum Generator 1. **Typ** wählen (Paragraphen, Sätze, Wörter) 2. **Anzahl** eingeben 3. **Text generieren** ### Base64 Encoder/Decoder 1. Text im **Input** eingeben 2. **→ Encode** für Kodierung 3. **← Decode** für Dekodierung ### Slug Generator (NEU!) 1. **Text** eingeben (z.B. \"Mein toller Blog Artikel 2024!\") 2. Optionen wählen: - Kleinbuchstaben - Bindestriche statt Leerzeichen - Sonderzeichen entfernen 3. **Slug generieren** → Ergebnis: \"mein-toller-blog-artikel-2024\" ### Image Placeholder Generator (NEU!) 1. **Breite** und **Höhe** eingeben 2. **Farben** wählen (BG & Text) 3. Optional: **Custom Text** 4. **Format** wählen (png, jpg, gif, webp) 5. **Placeholder generieren** → HTML & URL kopieren ### Favicon Generator (NEU!) 1. **Favicon-Pfade** eingeben (Standard: /favicon.ico, /favicon-32x32.png, etc.) 2. **Theme Color** wählen 3. **Favicon Links generieren** → HTML in `<head>` einfügen ### Mailto Link Generator (NEU!) 1. **E-Mail Adresse** eingeben 2. Optional: **CC**, **BCC**, **Betreff**, **Nachricht** 3. **Mailto Link generieren** → HTML-Link kopieren oder testen ### Hash Generator (NEU!) 1. **Text** eingeben 2. **Algorithmus** wählen (MD5, SHA-1, SHA-256, SHA-512) 3. **Hash generieren** → Hash wird im Browser berechnet ## Technische Details **Stack:** - PHP 8.0+ (nur für SQLite History) - SQLite3 - Vanilla JavaScript - CSS3 - SubtleCrypto API (für SHA-Hashes) **Datei-Struktur:** ``` generators/ ├── index.php # Hauptseite (19KB) ├── init.php # SQLite Setup (1.3KB) ├── generators.js # JavaScript Logik (jetzt ~16KB mit neuen Funktionen) ├── generators.db # SQLite Datenbank (wird auto-erstellt) └── README.md # Diese Datei ``` **Browser-Support:** - Chrome 90+ - Firefox 88+ - Safari 14+ - Edge 90+ ## Externe APIs - **QR Code**: api.qrserver.com (kostenlos, kein API-Key nötig) - **Image Placeholder**: via.placeholder.com (kostenlos, kein API-Key nötig) ## Sicherheit ✓ Alle Generatoren arbeiten clientseitig (JavaScript) ✓ Keine Daten werden an externe Server gesendet (außer QR/Placeholder APIs) ✓ Hashes werden im Browser berechnet (SubtleCrypto API) ✓ SQLite History ist optional und lokal ✓ Keine Tracking-Cookies ## Anpassungen **Design ändern:** CSS-Variablen in `index.php` bearbeiten: ```css :root { --primary: #6366f1; /* Primärfarbe */ --accent: #ec4899; /* Akzentfarbe */ --bg: #fafafa; /* Hintergrund */ } ``` **Weitere Generatoren hinzufügen:** 1. Tab in `<div class=\"nav-tabs\">` hinzufügen 2. Generator-HTML in `<div class=\"generator\" id=\"gen-NAME\">` erstellen 3. JavaScript-Funktion in `generators.js` hinzufügen ## Changelog **v2.0 (2024-02-16)** - ➕ 5 neue Generatoren: Slug, Placeholder, Favicon, Mailto, Hash - ✨ Jetzt 15 Generatoren total - 🎨 MD5-Implementation für Legacy-Support - 📱 Verbesserte Mobile-Optimierung **v1.0 (2024-02-16)** - 🚀 Initial Release mit 10 Generatoren ## Lizenz Privates Projekt – alle Rechte vorbehalten.
# FeedbackHub auf unserer Seite finden Sie das widget unten rechts Ein modernes Feedback-Widget-System ähnlich Facebook/Google Reviews – vollständig in deine Website integrierbar. ## Features **Bewertungs-Modi:** - ⭐ Sterne (1-5) - 😀😐😞 Emoji-Skala - 🏷️ Kategorien (Service, Qualität, Speed) - 💬 Freitext-Kommentar **Widget-Optionen:** - 💬 Floating Button (unten rechts/links) - 📌 Fest eingebettet (div mit ID) - 📱 Voll responsive & mobile-optimiert - 📊 Live-Durchschnitt anzeigen **Dashboard:** - Mehrere Websites verwalten - Widget-Code-Generator - Statistiken pro Site - API-Key Management ## Installation ### 1. Dateien hochladen Alle Dateien in ein Verzeichnis auf dem Webserver, z.B. `/feedbackhub/`. ### 2. Installation starten ``` https://deine-domain.de/feedbackhub/install.php ``` Eingeben: - Datenbank Host (meist `localhost`) - Datenbank Name (wird automatisch angelegt) - Datenbank User & Passwort - Site URL (z.B. `https://deine-domain.de/feedbackhub`) Die `install.php` erstellt: - Datenbank & Tabellen - `config.php` mit deinen Einstellungen **WICHTIG:** Nach erfolgreicher Installation `install.php` löschen! ### 3. Registrieren & einloggen ``` https://deine-domain.de/feedbackhub/register.php ``` ### 4. Website hinzufügen Im Dashboard: - **Website Name** eingeben - **Domain** der Website (z.B. `https://meine-seite.de`) - **Widget-Typ** wählen: - **Float:** Schwebendes Icon unten rechts/links - **Embed:** Fest eingebettet in einem Div - **Farbe** anpassen - **Position** wählen (nur bei Float) ### 5. Code einbinden **Floating Button:** ```html <!-- Vor </body> einfügen --> <script src=\"https://deine-domain.de/feedbackhub/widget.js\" data-fh-site=\"SITE_ID\" data-fh-key=\"API_KEY\" data-fh-type=\"float\" data-fh-color=\"#6366f1\" data-fh-position=\"bottom-right\"> </script> ``` **Eingebettet:** ```html <!-- Wo das Widget erscheinen soll --> <div id=\"feedbackhub\"></div> <!-- Vor </body> einfügen --> <script src=\"https://deine-domain.de/feedbackhub/widget.js\" data-fh-site=\"SITE_ID\" data-fh-key=\"API_KEY\" data-fh-type=\"embed\" data-fh-color=\"#6366f1\"> </script> ``` Den fertigen Code bekommst du im Dashboard mit einem Klick auf **\"📋 Code\"**. ## Attribute erklärt | Attribut | Wert | Beschreibung | |---|---|---| | `data-fh-site` | `123` | Site-ID (aus Dashboard) | | `data-fh-key` | `abc123...` | Dein API-Key (aus Dashboard) | | `data-fh-type` | `float` oder `embed` | Widget-Typ | | `data-fh-color` | `#6366f1` | Primärfarbe des Widgets | | `data-fh-position` | `bottom-right` oder `bottom-left` | Position (nur bei Float) | ## Funktionen ### Besucher-Ansicht 1. **Floating Button** erscheint unten rechts/links 2. Klick öffnet Modal mit 4 Tabs: - ⭐ **Sterne:** 1-5 Sterne vergeben - 😀 **Emoji:** Happy, Neutral, Sad wählen - 📊 **Kategorien:** Service, Qualität, Speed bewerten (1-5) - 💬 **Kommentar:** Freitext-Feedback (max. 500 Zeichen) 3. Nach Absenden: Danke-Seite mit Live-Stats ### Dashboard - **Übersicht:** Alle Websites mit Stats (Bewertungen, Ø Sterne, Ø Kategorien, Emoji-Verteilung) - **Widget-Code:** Per Klick generieren & kopieren - **API-Key:** Sichtbar im Dashboard (bei Verlust neu generieren) ### Duplicate Prevention - IP-basiert: Jede IP kann nur 1x pro Tag bewerten - Hash: `SHA256(IP + Site-ID + Datum)` ## Technische Details **Stack:** - PHP 8.0+ - MySQL / MariaDB - Vanilla JavaScript (kein jQuery) - CSS3 Animations **Tabellen:** - `fh_users` – Registrierte User - `fh_sites` – Websites mit Widget-Config - `fh_ratings` – Alle Bewertungen **API Endpoints:** - `POST /api.php` → `action: submit` (Bewertung senden) - `POST /api.php` → `action: stats` (Live-Stats laden) ## Design **Aesthetic:** Cyber-Modern mit Neon-Akzenten - Fonts: Syne (Headings), Work Sans (Body) - Colors: Cyan-Türkis Primary (#00d9ff), Pink Accent (#ff00aa) - Dark Background mit Radial Gradient - Smooth Animations & Transitions ## Sicherheit ✓ Password Hashing (bcrypt) ✓ CSRF-Protection (Session-based) ✓ SQL Injection Prevention (Prepared Statements) ✓ XSS Protection (htmlspecialchars auf allen Outputs) ✓ IP-basierter Duplicate Check ✓ User-Agent Logging (max. 300 Zeichen) ## Anpassungen **Widget-Farbe ändern:** ```html data-fh-color=\"#ff0066\" ``` **Widget-Position ändern:** ```html data-fh-position=\"bottom-left\" ``` **CSS überschreiben:** ```css /* Eigenes CSS nach dem Widget-Script */ .fh-btn { width: 64px !important; height: 64px !important; } .fh-title { color: #ff0066 !important; } ``` ## Lizenz Privates Projekt – alle Rechte vorbehalten.
# 🌐 DomainWert – Professionelles Domainbewertungssystem ## Features - **10 Bewertungskriterien**: TLD, Länge, Lesbarkeit, Bindestrich, Zahlen, SSL, Erreichbarkeit, PageRank, Alter, Backlinks - **Marktwertschätzung**: Automatische Preisspanne basierend auf Score + TLD + Länge - **Marktplatz**: Domains kostenlos zum Verkauf inserieren - **Käuferkontakt**: Direktes Kontaktformular, E-Mail-Weiterleitung - **Rate-Limiting**: Max. 5 kostenlose Bewertungen/Tag/IP - **24h Caching**: Ergebnisse werden gecacht, schnelle Wiederholung - **Admin-Panel**: Alle Bewertungen verwalten, Inserate freischalten/sperren ## Installation 1. Dateien hochladen 2. `install.php` aufrufen 3. Datenbankdaten, Admin-Login und API-Keys eingeben 4. `install.php` nach Installation löschen! ## Optionale API-Keys (empfohlen) ### OpenPageRank (kostenlos) - URL: https://www.domcop.com/openpagerank/ - Liefert: PageRank-Score (0-10) + Backlink-Ranking - Kostenloses Kontingent: 1.000 Abfragen/Tag ### WhoisXML API (kostenlos Kontingent) - URL: https://whois.whoisxmlapi.com/ - Liefert: Domain-Registrierungsdatum → Altersberechnung - Kostenloses Kontingent: 500 Abfragen/Monat ## Bewertungsalgorithmus | Kriterium | Max. Punkte | Gewichtung | |----------------|-------------|------------| | TLD-Qualität | 20 | Hoch | | Länge | 15 | Hoch | | Lesbarkeit | 15 | Mittel | | PageRank | 15 | Hoch* | | Bindestrich | 10 | Mittel | | Zahlen | 10 | Mittel | | SSL | 10 | Mittel | | Backlinks | 10 | Hoch* | | Domain-Alter | 10 | Mittel* | | Erreichbarkeit | 5 | Niedrig | *Erfordert API-Key für volle Punktzahl ## Dateistruktur ``` domainbewertung/ ├── index.php # Hauptseite + Bewertung ├── marktplatz.php # Domain-Marktplatz ├── verkauf-anmelden.php # Inserat erstellen ├── faq.php # Häufige Fragen ├── install.php # Setup-Wizard ├── config.php # Konfiguration (generiert) ├── impressum.php ├── agb.php ├── datenschutz.php ├── includes/ │ ├── bewertung.php # Bewertungs-Engine (Kernlogik) │ ├── functions.php # Hilfsfunktionen │ ├── header.php │ └── footer.php └── admin/ ├── index.php # Admin-Dashboard ├── login.php └── logout.php ```
# ShareHub Social Share Buttons für Websites – DSGVO-konform, Europa-fokussiert mit Share-Tracking. ## Features **8 Plattformen:** - 📘 Facebook - 📷 Instagram - 🐦 X (Twitter) - 📌 Pinterest - 🧵 Threads - 🎵 TikTok - 💬 WhatsApp - 💼 LinkedIn - 🔗 Link kopieren **Design-Optionen:** - Icons mit Text-Labels - Nur Icons (rund) - Nur Icons (eckig) **Features:** - 📊 Floating Sidebar (links oder rechts) - 🔗 Copy-Link Button - 📈 Share-Counter pro Plattform - 🗄️ SQLite Datenbank für Share-Tracking - 📱 Mobile-optimiert - 🎨 Anpassbare Farben (Plattform-Standard) ## Installation ### 1. Dateien hochladen Alle Dateien in ein Verzeichnis auf dem Webserver. ### 2. Permissions ```bash chmod 755 . chmod 666 shares.db # Wird automatisch erstellt ``` ### 3. Generator öffnen ``` https://deine-domain.de/sharehub/ ``` ## Verwendung ### Widget einbinden **Schritt 1:** Generator auf `index.php` öffnen **Schritt 2:** Optionen wählen: - Plattformen auswählen - Design-Stil wählen (Icons+Labels, nur rund, nur eckig) - Position wählen (links/rechts) **Schritt 3:** Code generieren & kopieren **Schritt 4:** Vor `</body>` einfügen: ```html <script src=\"https://deine-domain.de/sharehub/sharehub.js\" data-style=\"icons-labels\" data-position=\"left\" data-platforms=\"facebook,twitter,whatsapp,linkedin,copy\"> </script> ``` ### Parameter | Parameter | Werte | Beschreibung | |---|---|---| | `data-style` | `icons-labels`, `icons-round`, `icons-square` | Design-Stil | | `data-position` | `left`, `right` | Position der Sidebar | | `data-platforms` | Komma-getrennt | Plattformen (facebook,instagram,twitter,pinterest,threads,tiktok,whatsapp,linkedin,copy) | ### Beispiele **Mit Labels links:** ```html <script src=\".../sharehub.js\" data-style=\"icons-labels\" data-position=\"left\" data-platforms=\"facebook,twitter,whatsapp,linkedin,copy\"> </script> ``` **Nur Icons rund rechts:** ```html <script src=\".../sharehub.js\" data-style=\"icons-round\" data-position=\"right\" data-platforms=\"facebook,instagram,twitter,pinterest,whatsapp\"> </script> ``` **Minimalst (nur Twitter & Copy):** ```html <script src=\".../sharehub.js\" data-style=\"icons-square\" data-position=\"left\" data-platforms=\"twitter,copy\"> </script> ``` ## Funktionen ### Share-Tracking Jeder Share wird automatisch in der SQLite-Datenbank getrackt: - URL die geteilt wurde - Plattform - Timestamp **Keine personenbezogenen Daten** (keine IPs, keine Cookies) ### Share-Counter Neben jedem Button wird die Anzahl der Shares angezeigt (nur wenn > 0). ### Copy-Link Button Kopiert die aktuelle URL in die Zwischenablage und zeigt \"✓ Kopiert!\" Feedback. ### Floating Sidebar - Fixiert links oder rechts - Mittig vertikal positioniert - Smooth Animationen - Mobile-optimiert (Icons ohne Labels) ## Statistiken Die Hauptseite (`index.php`) zeigt: - **Gesamt Shares** über alle URLs - **Pro Plattform** Statistiken - **Top Shared URLs** (Top 10) ## Technische Details **Stack:** - PHP 8.0+ - SQLite3 - Vanilla JavaScript - CSS3 **Datei-Struktur:** ``` sharehub/ ├── index.php # Generator + Statistiken ├── sharehub.js # Widget JavaScript (176 Zeilen) ├── api.php # Share-Tracking API ├── init.php # SQLite Setup ├── shares.db # SQLite Datenbank (auto-erstellt) └── README.md ``` **Browser-Support:** - Chrome 90+ - Firefox 88+ - Safari 14+ - Edge 90+ ## API Endpoints ### Track Share ``` POST /api.php?action=track Body: url=https://example.com&platform=facebook Response: {\"ok\":true,\"count\":5} ``` ### Get Count ``` GET /api.php?action=count&url=https://example.com&platform=facebook Response: {\"ok\":true,\"count\":5} ``` ### Top Shares ``` GET /api.php?action=top Response: {\"ok\":true,\"data\":[{\"url\":\"...\",\"count\":42}]} ``` ## DSGVO-Konformität ✓ Keine Cookies ✓ Keine IP-Speicherung ✓ Keine Tracking-Pixel ✓ Keine externen Requests (außer Share-URLs) ✓ Lokale SQLite-Datenbank ✓ Opt-in durch Website-Betreiber **Hinweis:** Die Share-Buttons öffnen die jeweiligen Plattformen in einem neuen Tab. Die Datenverarbeitung erfolgt dann bei der jeweiligen Plattform. ## Anpassungen ### Farben ändern In `sharehub.js` die `platformConfig` bearbeiten: ```javascript facebook: { name: 'Facebook', icon: '📘', color: '#1877f2', // <- Hier Farbe ändern url: url => `https://...` } ``` ### Icons ändern Icons sind Emojis in der `platformConfig`. Einfach austauschen: ```javascript icon: '🎯', // Beliebiges Emoji oder Unicode ``` ### Weitere Plattformen Neue Plattform in `platformConfig` hinzufügen und in `validPlatforms` (api.php) ergänzen. ## Performance - JavaScript: ~8KB (unminified) - CSS: Inline (~2KB) - Keine externen Dependencies - Lazy Loading möglich (defer/async) ## Lizenz Privates Projekt – alle Rechte vorbehalten.