Zum Inhalt springen
GProxy
Registrierung
Гайды 5 Min. Lesezeit 31 Aufrufe

Tinyproxy

Entdecken Sie Tinyproxy, einen minimalistischen HTTP-Proxy für Linux. Dieser Leitfaden behandelt die einfache Einrichtung und Konfiguration für einen schlanken Server.

Tinyproxy

Tinyproxy ist ein leichtgewichtiger, quelloffener HTTP/HTTPS-Proxyserver, der für minimalen Ressourcenverbrauch auf Linux-Systemen entwickelt wurde. Er bietet grundlegende Proxy-Funktionalität, die für eingebettete Geräte, den persönlichen Gebrauch oder kleine Netzwerkumgebungen geeignet ist, wo Ressourceneffizienz entscheidend ist.

Überblick und Anwendungsfälle

Tinyproxy priorisiert einen geringen Platzbedarf und eine einfache Konfiguration gegenüber umfangreichen Funktionen wie erweitertes Caching, umfassende Authentifizierungsmethoden oder SOCKS-Proxy-Fähigkeiten, die in größeren Proxy-Lösungen zu finden sind. Er fungiert primär als HTTP/HTTPS (CONNECT-Methode) Proxy.

Typische Anwendungsfälle für Tinyproxy sind:

  • Persönlicher Proxy: Abschirmen von Client-IP-Adressen oder Umgehen grundlegender Geo-Beschränkungen für einzelne Benutzer.
  • Eingebettete Systeme: Bereitstellung von Proxy-Diensten auf Geräten mit begrenzten CPU-, RAM- und Speicherressourcen.
  • Entwicklungsumgebungen: Lokales Testen von Proxy-fähigen Anwendungen oder Überprüfung des Netzwerkverkehrs.
  • Kleines Netzwerk-Gateway: Ein einfacher, nicht-caching-Proxy für eine begrenzte Anzahl von Clients.
  • Proxy-Ketten: Fungiert als Vermittler in einer Multi-Proxy-Einrichtung.

Installation

Tinyproxy ist in den Standard-Paket-Repositories der meisten Linux-Distributionen verfügbar.

Debian/Ubuntu

sudo apt update
sudo apt install tinyproxy

RHEL/CentOS/Fedora

sudo dnf install tinyproxy
# Oder für ältere CentOS/RHEL:
# sudo yum install tinyproxy

Nach der Installation startet Tinyproxy typischerweise automatisch und lauscht auf Port 8888.

Konfiguration

Die Konfiguration von Tinyproxy wird über eine einzige Datei verwaltet, die sich typischerweise unter /etc/tinyproxy/tinyproxy.conf befindet. Alle Direktiven sind in der Standarddatei kommentiert und bieten so eine Selbstdokumentation.

Wesentliche Direktiven

  • Port: Gibt den Port an, auf dem Tinyproxy lauscht.
    Port 8888
    Eine Änderung erfordert einen Neustart des Tinyproxy-Dienstes.

  • Listen: Bindet Tinyproxy an eine bestimmte IP-Adresse. Standardmäßig lauscht es auf allen verfügbaren Schnittstellen (0.0.0.0). Die Angabe einer Adresse schränkt den Zugriff ein.
    Listen 192.168.1.10

  • Allow: Definiert IP-Adressen oder Subnetze, die sich mit dem Proxy verbinden dürfen. Mehrere Allow-Direktiven können verwendet werden. Wenn keine Allow-Direktiven angegeben sind, erlaubt Tinyproxy Verbindungen von allen Hosts. Explizites Verweigern aller und anschließendes Zulassen spezifischer Bereiche ist eine gängige Sicherheitspraxis.
    # Alle standardmäßig verweigern (wenn keine Allow-Direktiven vorhanden sind, ist dies implizit falsch) # Allow 127.0.0.1 # Allow 192.168.1.0/24

  • Timeout: Legt das Leerlauf-Timeout für Verbindungen in Sekunden fest.
    Timeout 600

  • User / Group: Gibt den Benutzer und die Gruppe an, auf die Tinyproxy nach dem Start die Privilegien herabsetzen soll. Das Ausführen als Nicht-Root-Benutzer ist eine bewährte Sicherheitspraxis.
    User tinyproxy Group tinyproxy

  • LogLevel: Steuert die Ausführlichkeit der Protokollierung. Optionen umfassen Critical, Error, Warning, Notice, Info, Debug.
    LogLevel Info

  • LogFile: Gibt den Pfad zur Protokolldatei an.
    LogFile "/var/log/tinyproxy/tinyproxy.log"

  • MaxClients: Legt die maximale Anzahl gleichzeitiger Client-Verbindungen fest, die Tinyproxy verarbeiten wird. Das Überschreiten dieses Limits führt zur Ablehnung der Verbindung.
    MaxClients 100

  • DisableViaHeader: Wenn aktiviert, fügt Tinyproxy keinen Via-Header zu ausgehenden Anfragen hinzu. Dies kann die Privatsphäre verbessern, indem die Offenlegung der Proxy-Präsenz verhindert wird.
    DisableViaHeader Yes

  • ConnectPort: Gibt an, welche Ports Tinyproxy für CONNECT-Anfragen (für HTTPS-Tunneling verwendet) zulässt. Mehrere ConnectPort-Direktiven können verwendet werden.
    ConnectPort 443 ConnectPort 563

Erweiterte Konfigurationsdirektiven

  • Upstream: Verbindet Tinyproxy mit einem anderen Proxyserver. Diese Direktive gibt einen Upstream-Proxy für bestimmte Domänen oder den gesamten Datenverkehr an.
    ```
    # Verwenden Sie upstream_proxy.example.com:8080 für alle Anfragen
    Upstream http upstream_proxy.example.com:8080

    Verwenden Sie einen anderen Upstream für bestimmte Domänen

    Upstream http 10.0.0.1:3128 "example.com"
    Upstream http 10.0.0.1:3128 ".example.org"
    `` Das Schlüsselworthttpzeigt einen HTTP-Proxy an.Upstream`-Direktiven werden in der Reihenfolge verarbeitet; die erste Übereinstimmung gilt.

  • NoCache: Verhindert, dass Tinyproxy bestimmte HTTP-Header sendet, die clientseitiges Caching verursachen könnten. Dies bedeutet nicht, dass Tinyproxy selbst einen Caching-Mechanismus hat.
    NoCache

  • Filter / FilterURLs / FilterBypass: Bietet grundlegende Inhaltsfilterung basierend auf regulären Ausdrücken.

    • Filter "/etc/tinyproxy/filter.txt": Gibt eine Datei an, die reguläre Ausdrücke für zu blockierende URLs enthält.
    • FilterURLs Yes: Aktiviert die URL-Filterung.
    • FilterBypass "192.168.1.0/24": Ermöglicht es bestimmten Clients, die Filterung zu umgehen.

    Die Datei filter.txt würde einen regulären Ausdruck pro Zeile enthalten. Zum Beispiel, um Facebook zu blockieren:
    .*facebook\.com.*
    Dies ist ein rudimentärer Filtermechanismus und kein Ersatz für dedizierte Inhaltsfilterlösungen.

Dienstverwaltung

Nach dem Ändern von tinyproxy.conf muss der Tinyproxy-Dienst neu gestartet werden, damit die Änderungen wirksam werden.

Systemd (Moderne Linux-Distributionen)

sudo systemctl restart tinyproxy
sudo systemctl enable tinyproxy # Sicherstellen, dass es beim Booten startet
sudo systemctl status tinyproxy

SysVinit (Ältere Linux-Distributionen)

sudo /etc/init.d/tinyproxy restart
sudo /etc/init.d/tinyproxy status

Testen des Proxys

Nach Konfiguration und Dienstneustart kann der Proxy getestet werden.

Verwendung von curl

curl -x http://localhost:8888 http://ipinfo.io/ip

Ersetzen Sie localhost:8888 durch die IP und den Port des Tinyproxy-Servers, wenn Sie von einem anderen Computer aus testen. Die Ausgabe sollte die öffentliche IP-Adresse des Tinyproxy-Servers widerspiegeln, nicht die des Clients.

Browser-Konfiguration

Konfigurieren Sie Ihren Webbrowser (z.B. Firefox, Chrome) so, dass er einen HTTP-Proxy unter der IP-Adresse und dem Port des Tinyproxy-Servers verwendet. Greifen Sie auf eine Website zu, um die Konnektivität zu bestätigen.

Sicherheitsüberlegungen

  • Zugriffskontrolle: Beschränken Sie den Zugriff auf den Proxy immer mit der Allow-Direktive. Standardmäßig kann Tinyproxy Verbindungen von allen Hosts zulassen, wenn keine Allow-Direktiven vorhanden sind.
  • Firewall: Konfigurieren Sie die Firewall Ihres Systems (z.B. ufw, firewalld) so, dass nur eingehende Verbindungen zum Tinyproxy-Port von vertrauenswürdigen IP-Bereichen zugelassen werden.
    bash # Beispiel mit ufw sudo ufw allow from 192.168.1.0/24 to any port 8888 sudo ufw enable
  • Nicht-Root-Benutzer: Stellen Sie sicher, dass Tinyproxy als Nicht-Root-Benutzer (User- und Group-Direktiven) ausgeführt wird, um potenzielle Sicherheitsrisiken zu minimieren.
  • Protokollierung: Überwachen Sie die Tinyproxy-Protokolle auf ungewöhnliche Aktivitäten.
  • DisableViaHeader: Erwägen Sie die Aktivierung für erhöhte Privatsphäre, obwohl dies keine Anonymität bietet.

Vergleich mit Squid

Tinyproxy und Squid sind beides HTTP-Proxyserver für Linux, aber sie zielen auf unterschiedliche Anwendungsfälle ab und bieten unterschiedliche Funktionssätze.

Funktion Tinyproxy Squid
Primäres Ziel Minimaler Ressourcenverbrauch, Einfachheit Hohe Leistung, umfangreiche Funktionen, Caching
Ressourcenverbrauch Sehr geringer CPU-/RAM-Platzbedarf Moderater bis hoher CPU/RAM, insbesondere bei großen Caches und hohem Datenverkehr
Caching Kein integriertes Caching Umfangreiches, konfigurierbares Caching für HTTP-Objekte
Authentifizierung Keine nativ Basic, Digest, NTLM, Kerberos, externe Helfer
Zugriffskontrolle IP-basiert (Allow-Direktive) Hochgradig granulare ACLs basierend auf IP, Domäne, URL, Benutzer, Zeit, Methoden usw.
Protokolle HTTP, HTTPS (CONNECT) HTTP, HTTPS (CONNECT), FTP, Gopher, SOCKS (Client-Seite für Upstream)
Transparenz Keine transparente Proxy-Unterstützung Volle transparente Proxy-Unterstützung
Komplexität Einfache Konfiguration, wenige Direktiven Komplexe Konfiguration, viele Direktiven, leistungsstarke Skripting-Funktionen
Typische Verwendung Eingebettete Systeme, persönlicher Proxy, kleines LAN Unternehmensnetzwerke, ISPs, große Organisationen, Inhaltsfilterung, Sicherheit

Fehlerbehebung

  • Protokolle überprüfen: Die LogFile-Direktive gibt an, wohin Tinyproxy seine Protokolle schreibt. Erhöhen Sie LogLevel auf Debug für eine detailliertere Ausgabe während der Fehlerbehebung.
    bash sudo tail -f /var/log/tinyproxy/tinyproxy.log
  • Dienststatus: Überprüfen Sie, ob Tinyproxy läuft, indem Sie systemctl status tinyproxy oder /etc/init.d/tinyproxy status verwenden.
  • Firewall: Bestätigen Sie, dass Ihre Firewall keine Verbindungen zum Tinyproxy-Port blockiert. Deaktivieren Sie die Firewall bei Bedarf vorübergehend zum Testen.
  • Konfigurationssyntax: Überprüfen Sie tinyproxy.conf auf Syntaxfehler. Tinyproxy wird oft nicht starten oder Fehler in seinen Protokollen melden, wenn die Konfiguration fehlerhaft ist.
  • Netzwerkverbindung: Stellen Sie sicher, dass der Tinyproxy-Server über Netzwerkverbindung zu seinen beabsichtigten Zielen verfügt.
Aktualisiert: 04.03.2026
Zurück zur Kategorie

Testen Sie unsere Proxys

20.000+ Proxys in über 100 Ländern weltweit

support_agent
GProxy Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.