STUN-Server-Komponente für Delphi & C++ Builder | eSeGeCe

STUN-Server

Betreibe deinen eigenen STUN-Server (RFC 8489) in Delphi. Beantworte Binding-Requests mit der kanonischen XOR-MAPPED-ADDRESS-Antwort — nützlich in privaten Netzwerken, On-Premise-Deployments und beim ICE-Bootstrap.

TsgcSTUNServer

Ein typisierter RFC-8489-STUN-Server — verarbeitet Binding-/Indication-Nachrichten, antwortet mit XOR-MAPPED-ADDRESS und erzwingt optional MESSAGE-INTEGRITY für Long-Term-Authentifizierung.

Komponentenklasse

TsgcSTUNServer

Protokoll

STUN (RFC 8489)

Plattformen

Windows, macOS, Linux, iOS, Android

Edition

Enterprise

Platzieren, Port setzen, fertig ist dein STUN-Endpunkt

Setze Port (Standard 3478), Active := True — dein Server beantwortet jetzt Binding-Requests mit der kanonischen RFC-8489-XOR-MAPPED-ADDRESS-Antwort.

uses
  sgcP2P;

var
  STUNServer: TsgcSTUNServer;
begin
  STUNServer := TsgcSTUNServer.Create(nil);
  STUNServer.Port := 3478;

  // optional: long-term credentials
  STUNServer.Authentication.Enabled  := True;
  STUNServer.Authentication.Realm    := 'example.com';
  STUNServer.OnSTUNAuthenticate := procedure(Sender: TObject;
    const aUsername: string; var aPassword: string;
    var Accept: Boolean)
  begin
    aPassword := LookupPassword(aUsername);
    Accept    := aPassword <> '';
  end;

  STUNServer.Active := True;
end;
// uses: sgcP2P
TsgcSTUNServer *STUNServer = new TsgcSTUNServer(this);
STUNServer->Port = 3478;
STUNServer->Active = true;

Was steckt drin

Ein selbst gehosteter STUN-Server — ideal für On-Premise-WebRTC-Deployments und Private-Cloud-Tests.

Binding-Request-Handler

Eingehende Binding-Requests werden mit XOR-MAPPED-ADDRESS, MAPPED-ADDRESS (Legacy) und FINGERPRINT beantwortet — entsprechend der Standard-RFC-8489-Antwortstruktur.

Long-Term-/Short-Term-Authentifizierung

Aktiviere Authentication.Enabled, um MESSAGE-INTEGRITY zu verlangen. OnSTUNAuthenticate liefert den Benutzernamen aus der Anfrage, sodass du das passende Passwort aus deinem Speicher zurückgibst.

Per-IP-Rate-Limit

Kombiniere mit TsgcWSRateLimiter, um eingehende STUN-Requests pro Quell-IP zu drosseln — nützlicher Schutz gegen Amplification-Missbrauch.

IPv4 / IPv6

Bindung an eine der Familien oder Dual-Stack über IPVersion. Die XOR-MAPPED-ADDRESS-Antwort verwendet die Familie des eingehenden Transports.

TLS über TCP (RFC 8489 §5)

Für die STUN-over-TLS-Variante konfiguriere den zugrundeliegenden TCP-Listener mit SSL-Optionen — nützlich, wenn UDP am Netzwerk-Egress blockiert ist.

Diagnose

OnSTUNRequest / OnSTUNResponse protokollieren jede Transaktion inklusive Method, MessageType und der geparsten Attributliste — ideal für das Debugging von Deployments.

Spezifikationen & Referenzen

Maßgebliche Quellen für das Protokoll, das diese Komponente implementiert.

Dokumentation & Demos

Springe direkt zur Komponentenreferenz, hole dir das sofort lauffähige Demo-Projekt und lade die Testversion herunter.

Online-Hilfe — TsgcSTUNServer Vollständige Referenz zu Eigenschaften, Methoden und Ereignissen dieser Komponente.
Demo-Projekt — Demos\35.P2P\02.STUN Sofort lauffähiges Beispielprojekt. Wird im sgcWebSockets-Paket mitgeliefert — lade unten die Testversion herunter.
Technisches Dokument (PDF) Funktionen, Schnellstart, Code-Beispiele für Delphi & C++ Builder und Primärquellen-Referenzen — nur diese Komponente.
Benutzerhandbuch (PDF) Umfassendes Handbuch, das jede Komponente der Bibliothek abdeckt.

STUN-Server – Häufig gestellte Fragen

Häufige Fragen zum Betrieb eines selbst gehosteten STUN-Servers in Delphi und C++ Builder.

Platziere eine TsgcSTUNServer-Komponente, setze Port (Standard 3478) und setze Active := True. Der Server beantwortet eingehende Binding-Requests dann mit der kanonischen XOR-MAPPED-ADDRESS-Antwort. Aktiviere optional Authentication und behandle OnSTUNAuthenticate, um MESSAGE-INTEGRITY mit Long-Term-Credentials zu verlangen.
Er implementiert STUN gemäß RFC 8489, verarbeitet Binding- und Indication-Nachrichten und antwortet mit XOR-MAPPED-ADDRESS, dem veralteten MAPPED-ADDRESS und FINGERPRINT. Er unterstützt IPv4 und IPv6, optionales STUN-over-TLS und verweist auf RFC 5780 für die NAT-Behaviour-Discovery.
Nein. TsgcSTUNServer ist ein selbst gehosteter STUN-Server, den du direkt in deine eigene Delphi- oder C++ Builder-Anwendung einbettest, sodass du keine separate coturn-Instanz bereitstellen und betreiben musst. Er ist ideal für private Netzwerke, On-Premise-WebRTC-Deployments und das ICE-Bootstrapping unter deiner eigenen Kontrolle.
Der STUN-Server ist Teil der sgcWebSockets-Enterprise-Edition und unterstützt Delphi 7 bis zum aktuellen Delphi-Release und die passenden C++ Builder-Versionen, unter Windows, macOS, Linux, iOS und Android. Lade die kostenlose Testversion herunter, um einen STUN-Endpunkt in deinem eigenen Projekt aufzusetzen.

Bereit, deinen eigenen STUN-Server zu betreiben?

Lade die kostenlose Testversion herunter und richte einen STUN-Endpunkt in Delphi ein.