Retour aux mises à jour
New releaseAug 9, 2026

chisel v1.12.0-rc3

Tunnel TCP/UDP rapide sur HTTP avec chiffrement SSH, prenant en charge le forwarding de port inversé, le proxy SOCKS5 et l'authentification client pour une traversée sécurisée du réseau et le contournement des pare-feu.

Partager

Chisel

GoDoc CI

Chisel est un tunnel TCP/UDP rapide, transporté via HTTP, sécurisé via SSH. Un seul exécutable incluant à la fois le client et le serveur. Écrit en Go (golang). Chisel est principalement utile pour traverser les pare-feu, mais il peut également être utilisé pour fournir un point de terminaison sécurisé vers votre réseau.

overview

Table des matières

Fonctionnalités

  • Facile à utiliser
  • Performant*
  • Connexions chiffrées utilisant le protocole SSH (via crypto/ssh)
  • Connexions authentifiées ; connexions client authentifiées avec un fichier de configuration utilisateurs, connexions serveur authentifiées avec correspondance d'empreintes.
  • Le client se reconnecte automatiquement avec backoff exponentiel (réglable via --min/max-retry-interval) ; les pings keepalive expirent, donc les connexions silencieusement mortes (veille/réveil, expirations NAT, redémarrages du serveur) sont détectées et rétablies
  • Les clients peuvent créer plusieurs points de terminaison de tunnel sur une seule connexion TCP
  • Les clients peuvent éventuellement passer par des proxys SOCKS ou HTTP CONNECT
  • Redirection de port inversée (les connexions passent par le serveur et sortent par le client)
  • Le serveur peut éventuellement servir de proxy inverse
  • Le serveur permet éventuellement les connexions SOCKS5 (Voir le guide ci-dessous)
  • Les clients permettent éventuellement les connexions SOCKS5 depuis un port redirigé inversé
  • Connexions client via stdio qui prennent en charge ssh -o ProxyCommand fournissant SSH sur HTTP

Installation

Binaires

Releases Releases

Voir la dernière version ou téléchargez-la et installez-la maintenant avec curl https://i.jpillora.com/chisel! | bash

Les binaires sont compilés avec la dernière version de Go, qui définit les versions minimales du système d'exploitation : Windows 10 / Server 2016, macOS 12, noyau Linux 3.2, FreeBSD 12.2. Pour les systèmes plus anciens (par exemple Windows 7), utilisez la version v1.8.1 ou antérieure.

Docker

Docker Pulls Image Size```sh docker run --rm -it jpillora/chisel --help

Les images sont multi-architectures et publiées à la fois sur Docker Hub (`jpillora/chisel`) et sur le registre de conteneurs GitHub (`ghcr.io/jpillora/chisel`).

### Fedora

Le paquet est maintenu par la communauté Fedora. Si vous rencontrez des problèmes liés à l'utilisation du RPM, veuillez utiliser ce [suivi de problèmes](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

Source

Source```sh

$ go install github.com/jpillora/chisel@latest

## Démo

Vous pouvez lancer votre propre serveur de démonstration en quelques minutes (l'ancienne démo Heroku a disparu avec le niveau gratuit de Heroku). [`example/fly.toml`](https://github.com/jpillora/chisel/blob/master/example/fly.toml) déploie ce `chisel server` sur l'allocation gratuite de [fly.io](https://fly.io) :```sh
$ chisel server --port $PORT --backend http://example.com
# listens on $PORT, proxies normal web requests to http://example.com

Déployez-le avec fly launch --copy-config depuis le répertoire example/, puis créez un tunnel vers n'importe quel service exécuté à côté du serveur, par exemple :```sh $ chisel client https://.fly.dev 3000

connects to your chisel server,

tunnels your localhost:3000 to the server's localhost:3000

Visiter l'URL de votre application dans un navigateur atteint le proxy backend par défaut du serveur et affiche une copie de [example.com](http://example.com).

## Utilisation

<!-- 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.

Catégories