Voltar às atualizações
New releaseOct 12, 2026

chisel v1.13.0

Túnel rápido TCP/UDP sobre HTTP com criptografia SSH, suportando encaminhamento de porta reverso, proxy SOCKS5 e autenticação de cliente para travessia segura de rede e evasão de firewall.

Compartilhar

Chisel

GoDoc CI

Chisel é um túnel TCP/UDP rápido, transportado sobre HTTP, protegido via SSH. Executável único incluindo tanto cliente quanto servidor. Escrito em Go (golang). Chisel é principalmente útil para atravessar firewalls, embora também possa ser usado para fornecer um endpoint seguro para sua rede.

overview

Índice

Recursos

  • Fácil de usar
  • Performático*
  • Conexões criptografadas usando o protocolo SSH (via crypto/ssh)
  • Conexões autenticadas; conexões de cliente autenticadas com um arquivo de configuração de usuários, conexões de servidor autenticadas com correspondência de fingerprint.
  • O cliente se reconecta automaticamente com backoff exponencial (ajustável via --min/max-retry-interval); pings de keepalive expiram, então conexões silenciosamente mortas (sleep/wake, timeouts de NAT, reinicializações do servidor) são detectadas e restabelecidas
  • Clientes podem criar múltiplos endpoints de túnel sobre uma única conexão TCP
  • Clientes podem opcionalmente passar por proxies SOCKS ou HTTP CONNECT
  • Encaminhamento de porta reverso (Conexões passam pelo servidor e saem pelo cliente)
  • O servidor opcionalmente também funciona como um proxy reverso
  • O servidor opcionalmente permite conexões SOCKS5 (Veja guia abaixo)
  • Clientes opcionalmente permitem conexões SOCKS5 a partir de um encaminhamento de porta reverso
  • Conexões de cliente sobre stdio que suporta ssh -o ProxyCommand fornecendo SSH sobre HTTP

Instalação

Binários

Releases Releases

Veja a versão mais recente ou baixe e instale agora com curl https://i.jpillora.com/chisel! | bash

Os binários são compilados com a versão mais recente do Go, que define as versões mínimas de SO: Windows 10 / Server 2016, macOS 12, kernel Linux 3.2, FreeBSD 12.2. Para sistemas mais antigos (por exemplo, Windows 7), use a versão v1.8.1 ou anterior.

Docker

Docker Pulls Image Size

docker run --rm -it jpillora/chisel --help

As imagens são multi-arquitetura e publicadas tanto no Docker Hub (jpillora/chisel) quanto no GitHub Container Registry (ghcr.io/jpillora/chisel).

Fedora

O pacote é mantido pela comunidade Fedora. Se você encontrar problemas relacionados ao uso do RPM, por favor use este rastreador de issues.

sudo dnf -y install chisel

Fonte

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

Demonstração

Você pode executar seu próprio servidor de demonstração em minutos (a antiga demonstração no Heroku desapareceu junto com o plano gratuito do Heroku). example/fly.toml implanta este chisel server na fly.io dentro da cota gratuita:

$ chisel server --port $PORT --backend http://example.com
# listens on $PORT, proxies normal web requests to http://example.com

Implante-o com fly launch --copy-config a partir do diretório example/, depois faça túnel para qualquer serviço em execução ao lado do servidor, por exemplo:

$ chisel client https://<your-app>.fly.dev 3000
# connects to your chisel server,
# tunnels your localhost:3000 to the server's localhost:3000

Visitar a URL do seu app em um navegador acessa o proxy de backend padrão do servidor e mostra uma cópia de example.com.

Uso

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

Categorias