Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
hosting — Automatisierter Tor-basierter Shared-Webhosting-Server mit PHP-Multi-Version-Unterstützung, E-Mail-Routing, automatisch skalierenden Tor-Instanzen und integrierter Sicherheitshärtung einschließlich CSRF-Schutz, CSP und verschlüsselten Zwiebelkeys. | Kitploit
Tools/GitHubGitHub/danwin/hosting
Scripting & AutomatisierungKonfigurationsprüfungWebsicherheitNetzwerksicherheitPrivatsphäreDienstprogramme & Frameworks
GitHubdanwin/hosting

hosting

Automatisierter Tor-basierter Shared-Webhosting-Server mit PHP-Multi-Version-Unterstützung, E-Mail-Routing, automatisch skalierenden Tor-Instanzen und integrierter Sicherheitshärtung einschließlich CSRF-Schutz, CSP und verschlüsselten Zwiebelkeys.

Repository anzeigen
371126vor 4 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Webseite

Allgemeine Informationen:

Dies ist ein Setup für einen Tor-basierten Shared-Hosting-Server. Es wird so bereitgestellt, wie es ist, und bevor Sie es in Produktion nehmen, sollten Sie Änderungen entsprechend Ihren Bedürfnissen vornehmen. Dies ist eine Arbeit in Bearbeitung, und Sie sollten die Commit-Historie sorgfältig auf Änderungen prüfen, bevor Sie aktualisieren. Für einen Produktionsserver werden mindestens 1 TB SSD-Speicherplatz, 32 GB RAM und 8 CPU-Kerne empfohlen. Für einen kleinen Test-/Persönlichen Server reichen 4 GB RAM und 1 CPU-Kern.

Übersetzung:

Übersetzungen werden in Weblate verwaltet. Wenn Sie Übersetzungen lieber manuell einreichen möchten, kann das Skript update-translations.sh verwendet werden, um die Sprachvorlage und Übersetzungsdateien aus der Quelle zu aktualisieren. Es erzeugt die Datei var/www/locale/hosting.pot, die Sie dann als Grundlage verwenden können, um eine neue Sprachdatei in var/www/IHRE_SPRACHE/LC_MESSAGES/hosting.po zu erstellen und mit einem Übersetzungsprogramm wie Poedit zu bearbeiten. Sobald Sie fertig sind, können Sie einen Pull-Request öffnen oder mir eine E-Mail senden, um die Übersetzung einzufügen.

Installationsanleitung:

Die Konfiguration wurde mit Debian 13 (Trixie) und Ubuntu 24.04 LTS getestet. Es wird empfohlen, Debian 13 oder Ubuntu 24.04 auf Ihrem Server zu installieren, aber mit ein wenig Anpassung können Sie dies möglicherweise auch auf anderen Distributionen und/oder Versionen zum Laufen bringen. Wenn Sie es auf einem Raspberry Pi aufbauen möchten, verwenden Sie bitte nicht die Raspbian-Images, da einige Dinge kaputt gehen. Laden Sie stattdessen ein Image für Ihr Pi-Modell von https://raspi.debian.net/daily-images/ herunter.

Automatisierte Installation

Der einfachste Weg zur Installation ist mit dem automatischen Installer:

root@kitploit:~
apt update && apt install git && git clone https://github.com/DanWin/hosting && cd hosting
./install.sh

Der Installer kümmert sich um alles: Paketinstallation, PHP/ImageMagick-Kompilierung, Tor-Konfiguration, MySQL-Setup und Bereitstellung von Diensten. Er wird nach Passwörtern fragen oder diese automatisch generieren.

Optionen:

root@kitploit:~
./install.sh --non-interactive        # Überspringe Eingabeaufforderungen, generiere zufällige Passwörter
./install.sh --vanity <prefix>        # Generiere eine Vanity-.onion-Adresse
./install.sh --skip-binaries          # Überspringe Kompilierung (verwende, wenn bereits gebaut)
./install.sh --db-pass <pass>         # Setze Hosting-MySQL-Passwort
./install.sh --pma-pass <pass>        # Setze phpMyAdmin-MySQL-Passwort
./install.sh --admin-pass <pass>      # Setze Admin-Panel-Passwort

Die Vanity-.onion-Generierung verwendet mkp224o (wird automatisch kompiliert). Nur Zeichen a-z und 2-7 sind gültig. Ein 4-Zeichen-Präfix dauert Minuten, 5 Zeichen dauert 10-30 Minuten, 6+ Zeichen dauert Stunden.

Anmeldeinformationen werden in /root/hosting-credentials.txt gespeichert.

Aktualisieren

root@kitploit:~
cd hosting
./update.sh              # Aktualisiere Code, behalte Konfiguration
./update.sh --rebuild    # Baue auch PHP/ImageMagick neu
./update.sh --code-only  # Aktualisiere nur PHP-Dateien

Das Update-Skript erstellt ein Backup Ihrer Konfiguration, zieht den neuesten Code, stellt Passwörter und die Onion-Adresse wieder her und startet Dienste neu. Es erkennt, ob sich install_binaries.sh geändert hat, und warnt Sie vor einem Neubau.

Manuelle Installation

Wenn Sie es vorziehen, manuell zu installieren, folgen Sie den untenstehenden Schritten.

Entfernen Sie Pakete, die dieses Setup stören könnten:

root@kitploit:~
DEBIAN_FRONTEND=noninteractive apt purge -y apache2* dnsmasq* eatmydata exim4* imagemagick-6-common mysql-client* mysql-server* nginx* libnginx-mod* php7* resolvconf && systemctl disable systemd-resolved.service && systemctl stop systemd-resolved.service

Wenn Sie nach diesem Schritt Probleme bei der Auflösung von Hostnamen haben, wechseln Sie vorübergehend zu einem öffentlichen Nameserver wie 1.1.1.1 (von CloudFlare) oder 8.8.8.8 (von Google)

root@kitploit:~
rm /etc/resolv.conf && echo "nameserver 1.1.1.1" > /etc/resolv.conf

Fügen Sie zusätzliche Repositorien hinzu (nur Debian – Ubuntu hat nginx und brotli nativ):

root@kitploit:~
apt update && apt install git apt-transport-tor curl lsb-release
curl -sSL https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc > /etc/apt/trusted.gpg.d/torproject.asc
curl -sSL https://packages.sury.org/nginx/apt.gpg > /etc/apt/trusted.gpg.d/sury.gpg
echo "deb tor://apow7mjfryruh65chtdydfmqfpj5btws7nbocgtaovhvezgccyjazpqd.onion/torproject.org/ `lsb_release -cs` main" >> /etc/apt/sources.list
echo "deb https://packages.sury.org/nginx/ `lsb_release -cs` main" >> /etc/apt/sources.list
apt update && apt upgrade

Installieren Sie git und klonen Sie dieses Repository

root@kitploit:~
apt update && apt install git && git clone https://github.com/DanWin/hosting && cd hosting

Installieren Sie benutzerdefinierte optimierte Binärdateien

root@kitploit:~
./install_binaries.sh

Beachten Sie, dass Debian auch ein Onion-Service-Paketarchiv hat, daher möchten Sie möglicherweise /etc/apt/sources.list bearbeiten, um von dort zu laden:

root@kitploit:~
deb tor://2s4yqjx5ul6okpp3f2gaunr2syex5jgbfpfvhxxbbjwnrsvbk5v3qbid.onion/debian `lsb_release -cs` main

Kopieren (und nach Ihren Bedürfnissen anpassen) Sie die Site-Dateien in var/www nach /var/www und die Konfigurationsdateien in etc nach /etc, nachdem die Installation abgeschlossen ist. Starten Sie dann einige Dienste neu:

root@kitploit:~
systemctl daemon-reload && systemctl restart bind9.service && systemctl restart [email protected]

Ersetzen Sie die Standard-.onion-Domain durch Ihre Domain:

root@kitploit:~
sed -i "s/dhosting4xxoydyaivckq7tsmtgi4wfs3flpeyitekkmqwu4v4r46syd.onion/`cat /var/lib/tor/hidden_service/hostname`/g" /etc/postfix/sql/alias.cf /etc/postfix/sender_login_maps /etc/postfix/main.cf /var/www/skel/www/index.hosting.html /var/www/common.php /etc/postfix/canonical /etc/postfix-clearnet/canonical /var/www/html/squirrelmail/config/config.php

Für Ihre Clearnet-Domain müssen Sie sie zu relay_domains in /etc/postfix/main.cf hinzufügen und die Standard-Domain in den folgenden Dateien bearbeiten:

root@kitploit:~
/var/www/common.php
/etc/postfix/canonical
/etc/postfix-clearnet/canonical

Dieses Setup hat zwei Postfix-Instanzen, eine zum Empfangen und Senden von E-Mails an andere .onion-Dienste und eine zum Umschreiben von Adressen, um sie an einen Clearnet-Mail-Relay weiterzuleiten. Sie möchten möglicherweise die zweite Instanz erstellen oder nicht, indem Sie Folgendes ausführen:

root@kitploit:~
postmulti -e init
postmulti -I postfix-clearnet -e create
postmulti -i clearnet -e enable
postmulti -i clearnet -p start

Wenn Sie eine Instanz erstellt haben, kommentieren Sie die clearnet-relay-bezogene Konfiguration in etc/postfix/main.cf aus und stellen Sie sicher, dass Sie auch die Konfigurationsdateien von etc/postfix-clearnet kopieren und ändern.

Wenn Sie auf das folgende Problem gestoßen sind: postfix: fatal: chdir(/var/spool/postfix-clearnet): No such file or directory können Sie einfach das chroot von der Standard-Postfix-Instanz wie folgt kopieren: cd /var/spool/ && cp -a postfix/ postfix-clearnet/

Nach dem Kopieren (und Ändern) der Postfix-Konfiguration müssen Sie aus den Mapping-Dateien Datenbanken erstellen (auch jedes Mal, wenn Sie diese Dateien aktualisieren):

root@kitploit:~
postalias /etc/aliases
postmap /etc/postfix/canonical /etc/postfix/sender_login_maps /etc/postfix/transport
postmap /etc/postfix-clearnet/canonical /etc/postfix-clearnet/sasl_password /etc/postfix-clearnet/transport #nur wenn Sie eine zweite Instanz haben

Um temporäre Dateien im Speicher zu speichern, fügen Sie Folgendes zu /etc/fstab hinzu:

root@kitploit:~
tmpfs /tmp tmpfs defaults,noatime 0 0
tmpfs /var/log/nginx tmpfs rw,user,noatime 0 0

Um das System zu härten und PIDs vor Nicht-Root-Benutzern zu verbergen, fügen Sie auch Folgendes hinzu:

root@kitploit:~
proc /proc proc defaults,hidepid=2 0 0

Und fügen Sie die Optionen noatime,usrjquota=aquota.user,jqfmt=vfsv1 zum Mountpunkt /home hinzu, initialisieren Sie dann das Quota. Ersetzen Sie /home durch /, wenn Sie keine separate Partition haben:

root@kitploit:~
systemctl daemon-reload
mount -o remount $(findmnt -n -o TARGET --target /home)
quotacheck -cMu $(findmnt -n -o TARGET --target /home)
quotaon $(findmnt -n -o TARGET --target /home)

In einigen Fällen erhalten Sie möglicherweise einen Fehler, dass Quota nicht unterstützt wird. Dies ist normalerweise in virtuellen Umgebungen der Fall. Stellen Sie sicher, dass Sie den vollständigen Kernel installiert haben, nicht einen mit einem -virtual-Paket. Diese sind normalerweise linux-image-amd64, linux-image-arm64 oder linux-image-generic, abhängig von Ihrer Distribution. Stellen Sie auch sicher, dass Sie eine echte virtuelle Maschine ausführen (z.B. KVM). Einige Anbieter verkaufen containerisierte VPS (z.B. OpenVZ), was bedeutet, dass Sie keinen eigenen Kernel ausführen...

Installieren Sie sodium_compat für v3 hidden_service-Unterstützung

root@kitploit:~
cd /var/www && composer install

Erstellen Sie einen MySQL-Benutzer für phpmyadmin und konfigurieren Sie ihn in /var/www/html/phpmyadmin/config.inc.php und füllen $cfg['blowfish_secret'] mit zufälligen Zeichen:

root@kitploit:~
mysql
CREATE USER 'phpmyadmin'@'%' IDENTIFIED BY 'MEIN_PASSWORT';
CREATE DATABASE phpmyadmin;
GRANT ALL PRIVILEGES ON phpmyadmin.* TO 'phpmyadmin'@'%';
FLUSH PRIVILEGES;
quit
mysql phpmyadmin < /var/www/html/phpmyadmin/sql/create_tables.sql

Erstellen Sie einen MySQL-Benutzer mit allen Berechtigungen für unser Hosting-Management:

root@kitploit:~
mysql
CREATE USER 'hosting'@'%' IDENTIFIED BY 'MEIN_PASSWORT';
GRANT ALL PRIVILEGES ON *.* TO 'hosting'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
quit

Bearbeiten Sie dann die Datenbankkonfiguration in /var/www/common.php und /etc/postfix/sql/alias.cf

Zu guter Letzt richten Sie die Datenbank ein, indem Sie Folgendes ausführen

root@kitploit:~
php /var/www/setup.php

Aktivieren Sie systemd-Timer, um regelmäßig verschiedene Verwaltungsaufgaben auszuführen:

root@kitploit:~
systemctl enable hosting-del.timer && systemctl enable hosting.timer && systemctl enable hosting-autoscale.timer

Der letzte Schritt ist ein Neustart, warten Sie etwa 5 Minuten, bis alle Dienste gestartet sind, und überprüfen Sie, ob alles funktioniert, indem Sie ein Testkonto erstellen.

PHP-Versionen:

Benutzer können bei der Registrierung zwischen PHP 8.2, 8.3, 8.4 und 8.5 wählen und ihre Version im Dashboard ändern. Die Standardeinstellung ist PHP 8.5.

Auto-Skalierung:

Tor-Instanzen skalieren automatisch basierend auf der Kontenanzahl. Der hosting-autoscale.timer läuft stündlich und fügt eine neue Instanz für etwa alle 250 Konten hinzu. Instanz-IDs gehen von a bis z, dann aa, ab usw. Sie können Instanzen auch manuell in SERVICE_INSTANCES in /var/www/common.php setzen und setup.php ausführen.

Sicherheit:

  • CSRF-Token verwenden kryptographisch sichere Zufallsbytes
  • Admin-Passwort als bcrypt-Hash gespeichert
  • Sitzungs-ID wird bei Anmeldung neu generiert
  • Alle dynamischen Ausgaben werden mit htmlspecialchars() maskiert
  • Nginx-Rewrite-Regeln gegen Konfigurationsinjektion validiert
  • Onion-Private-Key mit libsodium verschlüsselt gespeichert
  • SFTP-Passwörter in der Sitzung mit einer Stunde Gültigkeit verschlüsselt
  • Admin-Anmeldeversuche mit exponentiellem Backoff ratenbegrenzt
  • Content Security Policy mit script-src 'none'
  • Kein JavaScript auf keiner Seite
  • Generische Anmeldefehlermeldungen, um Benutzernamen-Enumeration zu verhindern
  • FileManager-Pfad-Traversal-Schutz

TODO: Multi-Server / Clustering:

  • Datenbankreplikation (MariaDB Primary-Replica)
  • Gemeinsamer Speicher für /home über Knoten hinweg (GlusterFS/CephFS)
  • Load Balancer für Tor-zugewandte Knoten
  • Zentrale Konfiguration (gemeinsame Datenbank oder etcd)
  • Knotenübergreifende Instanzenzuweisung basierend auf Serverauslastung
  • Verteiltes Autoscaling über Server hinweg
  • Redis-basierte PHP-Sitzungsteilung
  • Mail-Routing zum richtigen Knoten pro Konto
  • Gesundheitsüberwachung über Knoten hinweg
  • Rollierende Updates mit Traffic-Drainage
  • Onion-Key-Migrationswerkzeug zwischen Servern
  • Gemeinsames ClamAV/Rspamd auf dedizierten Knoten
  • Koordinierte Backup-Orchestrierung
Tool herunterladen