Serwer STUN

Uruchom własny serwer STUN (RFC 8489) w Delphi. Odpowiadaj na żądania binding kanoniczną odpowiedzią XOR-MAPPED-ADDRESS — przydatne w sieciach prywatnych, wdrożeniach on-premise i bootstrappingu ICE.

TsgcSTUNServer

Typowany serwer STUN zgodny z RFC 8489 — przetwarza wiadomości Binding / Indication, odpowiada XOR-MAPPED-ADDRESS, opcjonalnie wymusza MESSAGE-INTEGRITY dla uwierzytelniania long-term.

Klasa komponentu

TsgcSTUNServer

Protokół

STUN (RFC 8489)

Platformy

Windows, macOS, Linux, iOS, Android

Edycja

Enterprise

Upuść, ustaw port, masz endpoint STUN

Ustaw Port (domyślnie 3478), Active := True — serwer odpowiada teraz na żądania Binding kanoniczną odpowiedzią XOR-MAPPED-ADDRESS zgodną z RFC 8489.

uses
  sgcP2P;

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

  // opcjonalnie: poświadczenia long-term
  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;

Co jest w środku

Samohostowany serwer STUN — idealny do wdrożeń WebRTC on-premise i testów w chmurze prywatnej.

Obsługa żądań Binding

Przychodzące żądania Binding otrzymują w odpowiedzi XOR-MAPPED-ADDRESS, MAPPED-ADDRESS (legacy) i FINGERPRINT — zgodnie ze standardowym kształtem odpowiedzi RFC 8489.

Uwierzytelnianie long-term / short-term

Przełącz Authentication.Enabled, aby wymagać MESSAGE-INTEGRITY. OnSTUNAuthenticate udostępnia nazwę użytkownika z żądania, dzięki czemu możesz zwrócić pasujące hasło ze swojego magazynu.

Limit zapytań na adres IP

Połącz z TsgcWSRateLimiter, aby ograniczyć przepustowość przychodzących żądań STUN na źródłowy adres IP — przydatna ochrona przed nadużyciami typu amplification.

IPv4 / IPv6

Powiąż z jedną z rodzin lub dual-stack przez IPVersion. Odpowiedź XOR-MAPPED-ADDRESS używa rodziny przychodzącego transportu.

TLS przez TCP (RFC 8489 §5)

Dla wariantu STUN-over-TLS skonfiguruj nasłuchującego TCP z opcjami SSL — przydatne, gdy UDP jest blokowane na styku z siecią.

Diagnostyka

OnSTUNRequest / OnSTUNResponse logują każdą transakcję, w tym Method, MessageType i sparsowaną listę atrybutów — świetne do debugowania wdrożeń.

Specyfikacje i odniesienia

Wiarygodne źródła protokołu, który implementuje ten komponent.

Dokumentacja i dema

Przejdź bezpośrednio do dokumentacji komponentu, pobierz gotowy do uruchomienia projekt demonstracyjny i pobierz wersję próbną.

Pomoc online — TsgcSTUNServer Pełna dokumentacja właściwości, metod i zdarzeń tego komponentu.
Projekt demonstracyjny — Demos\35.P2P\02.STUN Gotowy do uruchomienia projekt przykładowy. Dostarczany w pakiecie sgcWebSockets — pobierz wersję próbną poniżej.
Dokument techniczny (PDF) Funkcje, szybki start, przykłady kodu dla Delphi i C++ Builder oraz odniesienia do źródeł — tylko ten komponent.
Podręcznik użytkownika (PDF) Kompleksowy podręcznik obejmujący każdy komponent biblioteki.

Gotowy, by uruchomić własny serwer STUN?

Pobierz bezpłatną wersję próbną i postaw endpoint STUN w Delphi.