
chisel v1.13.0
Schneller TCP/UDP-Tunnel über HTTP mit SSH-Verschlüsselung, der Reverse-Port-Forwarding, SOCKS5-Proxy und Client-Authentifizierung für sichere Netzwerkdurchquerung und Firewall-Umgehung unterstützt.
Chisel
Chisel ist ein schneller TCP/UDP-Tunnel, der über HTTP transportiert und mittels SSH abgesichert wird. Eine einzige ausführbare Datei, die sowohl Client als auch Server enthält. Geschrieben in Go (golang). Chisel ist hauptsächlich nützlich, um Firewalls zu durchqueren, kann aber auch verwendet werden, um einen sicheren Endpunkt in Ihr Netzwerk bereitzustellen.

Inhaltsverzeichnis
Funktionen
- Einfach zu bedienen
- Leistungsstark*
- Verschlüsselte Verbindungen unter Verwendung des SSH-Protokolls (über
crypto/ssh) - Authentifizierte Verbindungen; authentifizierte Client-Verbindungen mit einer Benutzerkonfigurationsdatei, authentifizierte Server-Verbindungen mit Fingerprint-Abgleich.
- Client verbindet sich automatisch neu mit exponentiellem Backoff (einstellbar über
--min/max-retry-interval); Keepalive-Pings laufen ab, sodass stillschweigend tote Verbindungen (Sleep/Wake, NAT-Timeouts, Server-Neustarts) erkannt und wiederhergestellt werden - Clients können mehrere Tunnel-Endpunkte über eine einzige TCP-Verbindung erstellen
- Clients können optional SOCKS- oder HTTP-CONNECT-Proxys durchlaufen
- Reverse-Port-Weiterleitung (Verbindungen gehen durch den Server und hinaus zum Client)
- Server kann optional auch als Reverse-Proxy dienen
- Server erlaubt optional SOCKS5-Verbindungen (siehe Anleitung unten)
- Clients erlauben optional SOCKS5-Verbindungen von einer umgekehrten Port-Weiterleitung
- Client-Verbindungen über stdio, was
ssh -o ProxyCommandunterstützt und SSH über HTTP ermöglicht
Installation
Binärdateien
Siehe das neueste Release oder laden Sie es jetzt herunter und installieren Sie es mit curl https://i.jpillora.com/chisel! | bash
Binärdateien werden mit der neuesten Go-Version erstellt, was die minimalen Betriebssystemversionen festlegt: Windows 10 / Server 2016, macOS 12, Linux-Kernel 3.2, FreeBSD 12.2. Für ältere Systeme (z. B. Windows 7) verwenden Sie Release v1.8.1 oder früher.
Docker
docker run --rm -it jpillora/chisel --help
Images sind Multi-Arch und werden sowohl auf Docker Hub (jpillora/chisel) als auch auf der GitHub Container Registry (ghcr.io/jpillora/chisel) veröffentlicht.
Fedora
Das Paket wird von der Fedora-Community gepflegt. Wenn Probleme bei der Verwendung des RPM auftreten, verwenden Sie bitte diesen Issue-Tracker.
sudo dnf -y install chisel
Quelle
$ go install github.com/jpillora/chisel@latest
Demo
Sie können Ihren eigenen Demo-Server in Minuten betreiben (das alte Heroku-Demo verschwand mit dem kostenlosen Tarif von Heroku). example/fly.toml stellt diesen chisel server auf dem kostenlosen Kontingent von fly.io bereit:
$ chisel server --port $PORT --backend http://example.com
# listens on $PORT, proxies normal web requests to http://example.com
Stelle es mit fly launch --copy-config aus dem Verzeichnis example/ bereit und tunnle dann zu einem beliebigen Dienst, der neben dem Server läuft, z. B.:
$ chisel client https://<your-app>.fly.dev 3000
# connects to your chisel server,
# tunnels your localhost:3000 to the server's localhost:3000
Wenn Sie die URL Ihrer App in einem Browser aufrufen, wird der Standard-Backend-Proxy des Servers angesprochen und eine Kopie von example.com angezeigt.
Verwendung
$ chisel --help
Usage: chisel [command] [--help]
Version: X.Y.Z
Commands:
server - runs chisel in server mode
client - runs chisel in client mode
Read more:
https://github.com/jpillora/chisel
$ chisel server --help
Usage: chisel server [options]
Options:
--host, Defines the HTTP listening host – the network interface
(defaults the environment variable HOST and falls back to 0.0.0.0).
--port, -p, Defines the HTTP listening port (defaults to the environment
variable PORT and falls back to port 8080).
--key, (deprecated use --keygen and --keyfile instead)
An optional string to seed the generation of a ECDSA public
and private key pair. All communications will be secured using this
key pair. Share the subsequent fingerprint with clients to enable detection
of man-in-the-middle attacks (defaults to the CHISEL_KEY environment
variable, otherwise a new key is generate each run).
--keygen, A path to write a newly generated PEM-encoded SSH private key file.
If users depend on your --key fingerprint, you may also include your --key to
output your existing key. Use - (dash) to output the generated key to stdout.
--keyfile, An optional path to a PEM-encoded SSH private key. When
this flag is set, the --key option is ignored, and the provided private key
is used to secure all communications. (defaults to the CHISEL_KEY_FILE
environment variable). Since ECDSA keys are short, you may also set keyfile
to the inline key string itself, exactly as printed by --keygen (a base64
string with a "ck-" prefix); no extra base64 encoding is needed.