HTTP पर SSH एन्क्रिप्शन के साथ तेज़ TCP/UDP टनल, जो रिवर्स पोर्ट फ़ॉरवर्डिंग, SOCKS5 प्रॉक्सी और क्लाइंट प्रमाणीकरण का समर्थन करता है, सुरक्षित नेटवर्क ट्रैवर्सल और फ़ायरवॉल से बचने के लिए।
Chisel एक तेज़ TCP/UDP टनल है, जो HTTP के ऊपर परिवहन किया जाता है, और SSH के माध्यम से सुरक्षित किया जाता है। क्लाइंट और सर्वर दोनों सहित एकल निष्पादन योग्य। Go (golang) में लिखा गया। Chisel मुख्य रूप से फ़ायरवॉल को पार करने के लिए उपयोगी है, हालाँकि इसका उपयोग आपके नेटवर्क में एक सुरक्षित एंडपॉइंट प्रदान करने के लिए भी किया जा सकता है।

crypto/ssh के माध्यम से)--min/max-retry-interval के माध्यम से ट्यूनेबल); कीपअलाइव पिंग टाइमआउट हो जाते हैं, इसलिए चुपचाप मृत कनेक्शन (स्लीप/वेक, NAT टाइमआउट, सर्वर पुनःआरंभ) का पता लगाया जाता है और पुनः स्थापित किया जाता हैssh -o ProxyCommand का समर्थन करता है, जो HTTP पर SSH प्रदान करता हैनवीनतम रिलीज़ देखें या अभी curl https://i.jpillora.com/chisel! | bash के साथ डाउनलोड और इंस्टॉल करें
बाइनरी नवीनतम Go रिलीज़ के साथ बनाई गई हैं, जो न्यूनतम OS संस्करण निर्धारित करती हैं: Windows 10 / Server 2016, macOS 12, Linux kernel 3.2, FreeBSD 12.2। पुराने सिस्टम (जैसे Windows 7) के लिए, रिलीज़ v1.8.1 या उससे पहले का उपयोग करें।
```sh
docker run --rm -it jpillora/chisel --help
छवियाँ मल्टी-आर्क हैं और Docker Hub (`jpillora/chisel`) और GitHub Container Registry (`ghcr.io/jpillora/chisel`) दोनों पर प्रकाशित की जाती हैं।
### Fedora
यह पैकेज Fedora समुदाय द्वारा अनुरक्षित है। यदि आप RPM के उपयोग से संबंधित समस्याओं का सामना करते हैं, तो कृपया इस [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
$ 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
इसे example/ डायरेक्टरी से fly launch --copy-config के साथ डिप्लॉय करें, फिर सर्वर के बगल में चल रही किसी भी सेवा के लिए टनल करें, जैसे:```sh
$ chisel client https://.fly.dev 3000
अपने ऐप के URL को ब्राउज़र में खोलने पर सर्वर के डिफ़ॉल्ट बैकएंड प्रॉक्सी से टकराता है और [example.com](http://example.com) की एक प्रति दिखाता है।
## उपयोग
<!-- 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.