jpillora/chisel

A fast TCP/UDP tunnel over HTTP

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 42 minutes ago
Added to GitGenius on September 3rd, 2026
Created on February 25th, 2015
Open Issues & Pull Requests: 246 (+0)
GitHub issues: Enabled
Number of forks: 1,612
Total Stargazers: 16,506 (+0)
Total Subscribers: 208 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 21.3 days
Mean response time: 308.0 days
90th percentile: 954.9 days
Tracked items: 70

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 96% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 3% of issues opened in the past year have been closed. Three people close 77% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 57
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,080 days
Stale 30+ days: 56
Stale 90+ days: 21

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • need-more-info (4)
  • question (3)
  • duplicate (1)
  • enhancement (1)
  • help wanted (1)
  • wontfix (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Chisel is a fast TCP/UDP tunnel transported over HTTP, secured via SSH.

Chisel solves the problem of accessing services behind firewalls or restrictive network boundaries by tunneling traffic over HTTP, which is typically allowed through most firewalls. The tool works by establishing an encrypted SSH connection over HTTP between a client and server, allowing both TCP and UDP traffic to pass through. It runs as a single executable that includes both client and server components, written in Go for cross-platform compatibility. The approach supports multiple tunnel endpoints over a single connection, client auto-reconnection with exponential backoff to handle network interruptions, and keepalive detection to identify silently dead connections.

Chisel suits scenarios where you need secure network access through restrictive firewalls or want to provide a secure endpoint into your network. It is particularly useful for penetration testing, remote access, and network debugging. The tool supports several deployment patterns: clients can pass through SOCKS or HTTP CONNECT proxies, servers can function as reverse proxies, and reverse port forwarding allows connections to flow through the server and out the client. SOCKS5 support is available on both client and server sides. For SSH users, the tool supports connections over stdio with ProxyCommand integration. Binaries are available for Windows, macOS, Linux, and FreeBSD, with Docker images provided for containerized deployments.

The project maintains active development with regular updates and bug fixes. The maintainers respond to issues and pull requests, indicating ongoing engagement with the user community. Documentation is kept current with usage examples and deployment guides, including a demonstration setup for fly.io. The codebase remains focused on core tunneling functionality without feature bloat, and performance is tracked through benchmarking documentation.