Komponent serwera STUN dla Delphi & C++ Builder | eSeGeCe

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.

Serwer STUN, najczęściej zadawane pytania

Częste pytania o uruchamianie własnego serwera STUN w Delphi i C++ Builder.

Upuść komponent TsgcSTUNServer, ustaw Port (domyślnie 3478) i ustaw Active := True. Serwer odpowiada wtedy na przychodzące żądania Binding kanoniczną odpowiedzią XOR-MAPPED-ADDRESS. Opcjonalnie włącz Authentication i obsłuż OnSTUNAuthenticate, aby wymagać MESSAGE-INTEGRITY z poświadczeniami długoterminowymi.
Implementuje STUN zgodnie z RFC 8489, przetwarzając komunikaty Binding i Indication oraz odpowiadając XOR-MAPPED-ADDRESS, starszym MAPPED-ADDRESS i FINGERPRINT. Obsługuje IPv4 i IPv6, opcjonalne STUN-over-TLS i odwołuje się do RFC 5780 dla wykrywania zachowania NAT.
Nie. TsgcSTUNServer to własny serwer STUN, który osadzasz bezpośrednio we własnej aplikacji Delphi lub C++ Builder, więc nie musisz wdrażać i utrzymywać osobnej instancji coturn. Jest idealny do sieci prywatnych, lokalnych wdrożeń WebRTC i bootstrapowania ICE pod Twoją własną kontrolą.
Serwer STUN jest częścią edycji Enterprise sgcWebSockets i obsługuje Delphi 7 aż po najnowsze wydanie Delphi oraz odpowiadające im wersje C++ Builder, w systemach Windows, macOS, Linux, iOS i Android. Pobierz bezpłatną wersję próbną, aby postawić punkt końcowy STUN we własnym projekcie.

Gotowy, by uruchomić własny serwer STUN?

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