Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
punchline — Messenger peer-to-peer crittografato in Rust con Noise IK e UDP NAT hole punching | Kitploit
Strumenti/GitHubGitHub/michal-pielka/punchline
Strumenti di Crittografia/DecrittografiaSicurezza di RetePrivacyUtilità e FrameworkAutenticazione
GitHubmichal-pielka/punchline

punchline

Messenger peer-to-peer crittografato in Rust con Noise IK e UDP NAT hole punching

Vedi Repository
192566 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

punchline

Chat peer-to-peer crittografata end-to-end su UDP. Niente account, nessun server centrale che inoltra/memorizza messaggi, nessun intermediario. Solo due peer, una connessione diretta e crittografia con il protocollo Noise.

https://github.com/user-attachments/assets/939e96d3-45e3-4484-9a27-28c3a0457b05

Indice

  • Cosa fa
  • Avvio rapido
  • Come funziona
  • Riferimento CLI
  • Utilizzo
    • Configurazione
    • Gestione dei peer
    • Verifica dello stato
    • Opzioni del server
    • Tema
    • Completamenti per shell
  • Crittografia
    • Handshake IK
    • Determinazione dell'iniziatore
    • Archiviazione delle chiavi
  • Protocollo di rete
    • Protocollo di hole punch
    • Protocollo di trasporto
    • Protocollo di segnalazione
    • Protocollo STUN
  • Struttura del progetto
  • Installazione
    • Da crates.io
    • Compilazione dai sorgenti
  • Esecuzione dei test
  • Stack tecnologico
  • Licenza

Cosa fa

Due persone eseguono punchline connect <peer> sulle loro macchine. Punchline buca i loro NAT, esegue un handshake crittografato e li porta in una chat privata – tutto in pochi millisecondi. I server STUN e di segnalazione inclusi gestiscono la scoperta, poi si mettono da parte. conversazione


Avvio rapido

cargo build --release

Avvia i server (su una macchina raggiungibile da entrambi i peer), oppure usa quelli pubblici che ospito su 64.225.107.28 (STUN: porta 3478, segnalazione: porta 8743):

punchline-stund                  # Server STUN – dice ai peer il loro IP pubblico
punchline-signald                # Server di segnalazione – abbina i peer che vogliono parlare
server

Su ogni macchina peer:

# Genera la tua identità (coppia di chiavi X25519)
punchline keygen

# Condividi la tua chiave pubblica con il peer
punchline pubkey

# Salva la loro chiave
punchline peers add alice a1b2c3d4...64_caratteri_hex

# Connettiti (entrambi i peer eseguono questo, puntandosi l'un l'altro)
punchline connect alice --stun <server>:3478 --signal <server>:8743

La TUI si avvia con una vista dell'avanzamento della connessione in tempo reale:

  1. Scoperta STUN – risoluzione del tuo indirizzo esterno tramite punchline-stund

  2. Server di segnalazione – connessione a punchline-signald

  3. Attesa del peer – il server di segnalazione abbina entrambi i peer

  4. Hole punch – creazione del percorso UDP diretto

  5. Handshake Noise – scambio di chiavi crittografato

    dashboard

Una volta completato, sei nella chat. Digita e premi Invio. Premi Esc per uscire.


Come funziona

L'intero sistema è composto da tre binari, tutti inclusi in questo repository:

BinarioRuoloQuando viene usato
punchline-stundServer STUN (UDP) – risponde con l'IP:porta esterno del clientSolo durante la fase di configurazione
punchline-signaldServer di segnalazione (WebSocket) – abbina i peer e scambia indirizziSolo durante la fase di configurazione
punchlineIl messenger stesso – CLI, TUI, crittografia, hole punchSempre

Dopo la configurazione iniziale, i server STUN e di segnalazione non vengono più contattati. Tutto fluisce direttamente peer-to-peer.


Riferimento CLI

punchline

ComandoDescrizione
keygen [--force] [-i path]Genera una nuova coppia di chiavi identità X25519. Usa --force per sovrascrivere senza richiesta. Usa -i per specificare il percorso di output.
pubkey [-i path]Stampa la tua chiave pubblica (64 caratteri esadecimali). Usa -i per derivare da un file di chiave specifico.
connect <peer> [-i path] [--stun addr] [--signal addr]Connettiti a un peer tramite alias o chiave hex grezza. Usa -i per specificare la chiave identità. Avvia la TUI.
peersElenca tutti i peer conosciuti.
peers add <name> <key>Salva la chiave pubblica di un peer sotto un soprannome.
peers remove <name>Rimuovi un peer tramite soprannome.
config pathStampa il percorso del file di configurazione.
config showMostra i valori correnti di configurazione.
statusMostra identità, configurazione, raggiungibilità del server e numero di peer.
completions <shell>Genera i completamenti per shell (bash, zsh o fish).

Flag globali:

FlagDescrizione
-vAumenta la verbosità del log (-v = debug, -vv = trace).
-q, --quietSopprime tutto l'output dei log.

punchline-stund

FlagDescrizione
--address <addr>Indirizzo di bind (predefinito: 0.0.0.0).
--port <port>Porta di bind (predefinito: 3478).
-v / -vvLogging debug / trace.
-qModalità silenziosa.

punchline-signald

FlagDescrizione
--address <addr>Indirizzo di bind (predefinito: 0.0.0.0).
--port <port>Porta di bind (predefinito: 8743).
-v / -vvLogging debug / trace.
-qModalità silenziosa.

Utilizzo

Configurazione

Invece di passare --stun e --signal ogni volta, crea ~/.config/punchline/config.toml:

stun_server = "203.0.113.10:3478"
signal_server = "203.0.113.10:8743"

Gestione dei peer

punchline peers                              # elenca tutti
punchline peers add alice a1b2c3d4...        # aggiungi
punchline peers remove alice                 # rimuovi

Gli alias sono memorizzati in ~/.punchline/known_peers.toml. Puoi anche connetterti direttamente con una chiave hex di 64 caratteri.

Verifica dello stato

punchline status

Mostra la tua identità, configurazione, raggiungibilità del server (invia una vera sonda STUN e una connessione TCP) e numero di peer.

Opzioni del server

Entrambi i server supportano -v (debug), -vv (trace), -q (silenzioso), --address e --port:

punchline-stund -v --port 3478
punchline-signald -v --port 8743

Tema

Personalizza la TUI tramite ~/.config/punchline/style.toml Stili usati nel video:

[colors]
my_text = "#ebdbb2"
peer_text = "#bdae93"
input_text = "#ebdbb2"
border = "#ebdbb2"
sidebar_key = "#ebdbb2"
sidebar_value = "#bdae93"

[padding]
chat_horizontal = 2
chat_vertical = 1

Tutti i colori sono RGB esadecimali. Se il file è assente, vengono usati i colori predefiniti del terminale.

Completamenti per shell

punchline completions bash > ~/.local/share/bash-completion/completions/punchline
punchline completions zsh > ~/.zfunc/_punchline
punchline completions fish > ~/.config/fish/completions/punchline.fish

Crittografia

Nome completo del protocollo: Noise_IK_25519_ChaChaPoly_SHA256

Scarica lo strumento