
chisel v1.12.0-rc3
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 per SSH abgesichert wird. Eine einzelne ausführbare Datei, die sowohl Client als auch Server enthält. Geschrieben in Go (golang). Chisel ist hauptsächlich nützlich, um Firewalls zu umgehen, kann aber auch verwendet werden, um einen sicheren Endpunkt in dein Netzwerk bereitzustellen.

Inhaltsverzeichnis
Funktionen
- Einfach zu bedienen
- Leistungsstark*
- Verschlüsselte Verbindungen über das SSH-Protokoll (via
crypto/ssh) - Authentifizierte Verbindungen; authentifizierte Client-Verbindungen mit einer Benutzerkonfigurationsdatei, authentifizierte Server-Verbindungen durch Fingerprint-Abgleich.
- Der Client verbindet sich automatisch mit exponentiellem Backoff neu (einstellbar über
--min/max-retry-interval); Keepalive-Pings laufen in einen Timeout, sodass still tote Verbindungen (Schlafen/Aufwachen, 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-Forwarding (Verbindungen gehen durch den Server und hinaus über den Client)
- Der Server fungiert optional zusätzlich als Reverse-Proxy
- Der Server erlaubt optional SOCKS5-Verbindungen (Siehe Anleitung unten)
- Clients erlauben optional SOCKS5-Verbindungen über einen umgekehrten Port-Forward
- Client-Verbindungen über stdio, was
ssh -o ProxyCommandunterstützt und SSH über HTTP bereitstellt
Installation
Binärdateien
Siehe die neueste Version oder lade sie jetzt herunter und installiere sie mit curl https://i.jpillora.com/chisel! | bash
Die Binärdateien werden mit der neuesten Go-Version erstellt, die die Mindestversionen der Betriebssysteme festlegt: Windows 10 / Server 2016, macOS 12, Linux-Kernel 3.2, FreeBSD 12.2. Für ältere Systeme (z. B. Windows 7) verwende Version v1.8.1 oder früher.
Docker
```sh
docker run --rm -it jpillora/chisel --help
Bilder sind Multi-Arch und werden sowohl auf Docker Hub (`jpillora/chisel`) als auch auf GitHub Container Registry (`ghcr.io/jpillora/chisel`) veröffentlicht.
### Fedora
Das Paket wird von der Fedora-Community gepflegt. Wenn du Probleme im Zusammenhang mit der Verwendung des RPM hast, verwende bitte diesen [Issue-Tracker](https://bugzilla.redhat.com/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&classification=Fedora&component=chisel&list_id=11614537&product=Fedora&product=Fedora%20EPEL).```sh
sudo dnf -y install chisel
Quelltext```sh
$ go install github.com/jpillora/chisel@latest
## Demo
Du kannst in wenigen Minuten einen eigenen Demo-Server betreiben (die alte Heroku-Demo verschwand mit Herokus kostenlosem Tarif). [`example/fly.toml`](https://github.com/jpillora/chisel/blob/master/example/fly.toml) stellt diesen `chisel server` auf dem kostenlosen Kontingent von [fly.io](https://fly.io) bereit:```sh
$ chisel server --port $PORT --backend http://example.com
# listens on $PORT, proxies normal web requests to http://example.com
Deploy it with fly launch --copy-config from the example/ directory, then tunnel to any service running beside the server, e.g.:```sh
$ chisel client https://.fly.dev 3000
connects to your chisel server,
tunnels your localhost:3000 to the server's localhost:3000
Besuchst du die URL deiner App in einem Browser, trifft das auf den standardmäßigen Backend-Proxy des Servers und zeigt eine Kopie von [example.com](http://example.com).
## Verwendung
<!-- render these help texts by hand,
or use https://github.com/jpillora/md-tmpl
with $ md-tmpl -w README.md -->
<!--tmpl,code=plain:echo "$ chisel --help" && go run main.go --help | sed 's#0.0.0-src (go1\..*)#X.Y.Z#' -->``` plain
$ 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
``` plain
$ 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.