Назад к обновлениям
New releaseAug 9, 2026

chisel v1.12.0-rc3

Быстрый TCP/UDP туннель через HTTP с шифрованием SSH, поддерживающий обратное перенаправление портов, прокси SOCKS5 и аутентификацию клиентов для безопасного обхода сети и обхода брандмауэров.

Поделиться

Chisel

GoDoc CI

Chisel — это быстрый TCP/UDP-туннель, передаваемый через HTTP и защищённый через SSH. Один исполняемый файл включает и клиент, и сервер. Написан на Go (golang). Chisel в основном полезен для обхода межсетевых экранов, но также может использоваться для предоставления защищённой конечной точки в вашу сеть.

overview

Содержание

Возможности

  • Прост в использовании
  • Производительный*
  • Зашифрованные соединения с использованием протокола SSH (через crypto/ssh)
  • Аутентифицированные соединения; аутентификация клиентских подключений с помощью файла конфигурации пользователей, аутентификация серверных подключений с помощью сопоставления отпечатков.
  • Клиент автоматически переподключается с экспоненциальной задержкой (настраивается через --min/max-retry-interval); keepalive-пинги имеют тайм-аут, поэтому молча оборванные соединения (сон/пробуждение, тайм-ауты NAT, перезапуски сервера) обнаруживаются и восстанавливаются
  • Клиенты могут создавать несколько конечных точек туннеля через одно TCP-соединение
  • Клиенты могут опционально проходить через прокси SOCKS или HTTP CONNECT
  • Обратный проброс портов (соединения проходят через сервер и выходят через клиент)
  • Сервер опционально работает как обратный прокси
  • Сервер опционально разрешает SOCKS5-соединения (см. руководство ниже)
  • Клиенты опционально разрешают SOCKS5-соединения через обратный проброс портов
  • Клиентские соединения через stdio, что поддерживает ssh -o ProxyCommand, обеспечивая SSH через HTTP

Установка

Бинарные файлы

Releases Releases

См. последний релиз или скачайте и установите его сейчас с помощью curl https://i.jpillora.com/chisel! | bash

Бинарные файлы собираются с последней версией Go, которая задаёт минимальные версии ОС: Windows 10 / Server 2016, macOS 12, ядро Linux 3.2, FreeBSD 12.2. Для более старых систем (например, Windows 7) используйте релиз v1.8.1 или более ранние.

Docker

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

Изображения являются мультиархитектурными и публикуются как в Docker Hub (`jpillora/chisel`), так и в GitHub Container Registry (`ghcr.io/jpillora/chisel`).

### Fedora

Пакет поддерживается сообществом Fedora. Если вы столкнулись с проблемами, связанными с использованием RPM, пожалуйста, воспользуйтесь этим [трекером проблем](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

Перевод

Источник```sh

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

## Демо

Вы можете запустить собственный демо-сервер за считанные минуты (старое демо на Heroku исчезло вместе с бесплатным тарифом Heroku). [`example/fly.toml`](https://github.com/jpillora/chisel/blob/master/example/fly.toml) разворачивает этот `chisel server` на бесплатном лимите [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

Разверните его с помощью fly launch --copy-config из каталога example/, затем создайте туннель к любому сервису, работающему рядом с сервером, например:```sh $ chisel client https://.fly.dev 3000

connects to your chisel server,

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

Посещение URL вашего приложения в браузере обращается к прокси-серверу бэкенда по умолчанию и показывает копию [example.com](http://example.com).

## Использование

<!-- отображайте эти тексты справки вручную,
  или используйте https://github.com/jpillora/md-tmpl
    с $ 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.

Категории