Torna agli aggiornamenti
New releaseSep 15, 2026

warpgate v0.29.0-beta.1

Fully transparent SSH, HTTPS, Kubernetes, database e bastion/PAM RDP/VNC che non richiede software aggiuntivo lato client

Condividi


Mostra un logo nero in modalità chiara e uno bianco in modalità scura.


GitHub All Releases     Discord   Docs


Warpgate è un bastion host intelligente e completamente trasparente per SSH, HTTPS, Kubernetes, MySQL, PostgreSQL, RDP e VNC che non richiede un'app client o un wrapper SSH.

  • Configuralo nella tua DMZ, aggiungi account utente e assegnagli facilmente host e URL specifici all'interno della rete.
  • Warpgate registrerà ogni sessione per consentirti di visualizzarla (in diretta) e riprodurla in seguito tramite una web UI di amministrazione integrata.
  • L'accesso SSH, RDP e VNC basato su browser è integrato; i client nativi continuano a funzionare.
  • Non è un jump host: inoltra la connessione direttamente al target in modo completamente trasparente per il client.
  • Supporto nativo per 2FA e SSO (TOTP e OpenID Connect)
  • Protezione integrata contro la forza bruta con blocco IP e blocco utente
  • Singolo binario senza dipendenze.
  • Scritto in Rust 100% sicuro.

Supportato da:

Badge FLOSS/fund

Per iniziare e download

Documentazione

La documentazione completa è disponibile su warpgate.null.page, inclusi:

In cosa Warpgate è diverso da un jump host / VPN / Teleport?

WarpgateSSH jump hostVPNTeleport
Assegnazione precisa 1:1 tra utenti e servizi(Di solito) accesso completo alla rete dietro il jump host(Di solito) accesso completo alla reteAssegnazione precisa 1:1 tra utenti e servizi
Nessun client personalizzato necessarioConfigurazione del jump host necessariaNessun client personalizzato necessarioClient personalizzato richiesto
2FA inclusa🟡 2FA possibile con plugin PAM aggiuntivi🟡 Dipende dal provider2FA inclusa
SSO incluso🟡 SSO possibile con plugin PAM aggiuntivi🟡 Dipende dal providerA pagamento
Audit a livello di comando🟡 Audit a livello di connessione sul jump host, nessun audit sicuro sul target se viene concesso l'accesso rootNessun audit sicuro sul target se viene concesso l'accesso rootAudit a livello di comando
Registrazione completa della sessioneNessuna registrazione sicura possibile sul target se viene concesso l'accesso rootNessuna registrazione sicura possibile sul target se viene concesso l'accesso rootRegistrazione completa della sessione
Connessioni non interattive🟡 Le connessioni non interattive sono possibili se i client supportano nativamente i jump hostConnessioni non interattiveLe connessioni non interattive richiedono l'uso di un wrapper client SSH o l'esecuzione di un tunnel
Self-hosted, i dati sono tuoiSelf-hosted, i dati sono tuoi🟡 Dipende dal providerSaaS
Protezione integrata contro la forza bruta🟡 Richiede la configurazione di fail2ban🟡 Dipende dal providerProtezione integrata contro la forza bruta
image

Segnalazione di problemi di sicurezza

Utilizza il sistema di segnalazione delle vulnerabilità di GitHub.

Stato del progetto

Warpgate è attivamente utilizzato in ambienti enterprise.

Ciò che è pianificato e su cui si sta lavorando è tracciato nella roadmap pubblica.

Come funziona

Warpgate è un servizio che distribuisci sull'host bastion/DMZ, che accetterà connessioni SSH, HTTPS, Kubernetes, MySQL, PostgreSQL, RDP e VNC e fornirà una web UI di amministrazione (opzionale).

Esegui warpgate setup per generare in modo interattivo un file di configurazione, inclusi i binding delle porte. Consulta Per iniziare per i dettagli.

Riceve connessioni con credenziali formattate in modo specifico, autentica l'utente localmente, si connette al target stesso e quindi collega entrambe le parti mentre (opzionalmente) registra la sessione.

Quando ci si connette tramite HTTPS, Warpgate presenta una selezione dei target disponibili e quindi inoltrerà tutto il traffico della sessione al target selezionato. Puoi passare da un target all'altro in qualsiasi momento.

Gestisci gli elenchi di target e utenti e li assegni tra loro tramite la UI di amministrazione, e la cronologia delle sessioni è archiviata in un database SQLite (predefinito: in /var/lib/warpgate).

Puoi anche utilizzare l'interfaccia web di amministrazione per visualizzare l'elenco delle sessioni in diretta, rivedere le registrazioni delle sessioni, i log e altro.

Informativa sulla trasparenza dell'IA

A fine 2025, questo progetto ha iniziato ad accettare contributi assistiti dall'IA. Ai contributori è richiesto di dichiarare l'uso dell'IA. Credo che applicando lo stesso standard di alta qualità a tutte le PR, assistite dall'IA o meno, non sia necessario alcun sacrificio in termini di qualità o sicurezza.

Poiché l'IA è uno spettro tra utenti superficiali e utenti di autocompletamento, credo che essere trasparenti sul suo utilizzo aiuti a stabilire e limitare il posto dell'IA in questo progetto.

Le decisioni architetturali e di sicurezza su questo progetto sono al 100% umane.

Contribuire / compilare dal sorgente

  • Ti serviranno Rust, NodeJS e NPM
  • Clona il repository
  • Just viene utilizzato per eseguire le attività - installalo: cargo install just
  • Installa le dipendenze della UI di amministrazione: just npm install
  • Compila il frontend: just npm run build
  • Compila Warpgate: cargo build (opzionalmente --release)

Il binario si trova in target/{debug|release}.

Stack tecnologico

  • Rust 🦀
    • HTTP: poem-web
    • Database: SQLite tramite sea-orm + sqlx
    • SSH: russh
  • Typescript
    • Svelte 5
    • Bootstrap

API backend

  • Le API rivolte all'amministratore e all'utente di Warpgate utilizzano schemi OpenAPI e SDK generati automaticamente. Per aggiornare gli SDK dopo aver modificato le strutture di query/risposta, esegui just openapi-all.

Collaboratori ✨

Un ringraziamento va a queste persone meravigliose (chiave emoji):

Questo progetto segue la specifica all-contributors. Ogni tipo di contributo è benvenuto!

Categorie