connect-proxy
Version, currently 2.0.014 versions
- 2.0.5latestJul 15, 2026
- 2.0.4not indexedJul 15, 2026
- 2.0.3not indexedJul 15, 2026
- 2.0.2not indexedJul 15, 2026
- 2.0.1not indexedJul 15, 2026
- 2.0.0not indexedJul 15, 2026
- 1.4.1not indexedJul 15, 2026
- 1.4.0not indexedJul 15, 2026
- 1.3.0not indexedJul 15, 2026
- 1.2.1not indexedJul 15, 2026
- 1.2.0not indexedJul 15, 2026
- 1.1.0not indexedJul 15, 2026
- 1.0.1not indexedJul 15, 2026
- 1.0.0not indexedJul 15, 2026
github.com/spider-gazelle/connect-proxy
crystal lang connect / HTTP proxy implementation
7 stars
1 dependent
License: MIT
Nothing has been indexed for 2.0.0 yet. The tag is recorded, its shard.yml has not been read, so the manifest and dependency list below are empty because they are unknown rather than because they are absent.
Installation
# Add this to your shard.yml
dependencies:
connect-proxy:
github: spider-gazelle/connect-proxy
version: ~> 2.0.0Then run:
shards installshard.yml
No shard.yml has been indexed for 2.0.0. You can read it on the repository.
Dependencies
Unknown: the shard.yml for this version has not been read yet.
README
This README is the one indexed from the repository at its latest ref, not from the tag for this version.
# Connect Proxy
[](https://github.com/spider-gazelle/connect-proxy/actions/workflows/ci.yml)
A simple implementation of the [connect method](https://en.wikipedia.org/wiki/HTTP_tunnel#HTTP_CONNECT_method) for HTTP tunnelling.
Most commonly used in [HTTP proxy servers](https://en.wikipedia.org/wiki/Proxy_server#Web_proxy_servers).
# Usage
The most common usage of this shard is to use the crystal `::HTTP::Client` via a proxy server
```crystal
host = URI.parse("https://www.google.com")
response = ConnectProxy::HTTPClient.new(host) do |client|
client.exec("GET", "/")
end
response.success?
```
By default the HTTP client will pick up the `https_proxy` or `http_proxy` environment variables and use the URLs configured in there.
However you can override the environment or provide your own proxy server.
```crystal
host = URI.parse("https://www.google.com")
client = ConnectProxy::HTTPClient.new(host)
proxy = ConnectProxy.new("134.209.219.234", 80, {username: "admin", password: "pass"})
client.set_proxy(proxy)
response = client.exec("GET", "/")
response.success?
```
## Forcing Proxy Support
It's possible to simply introduce proxy support to any app by including extensions to the core classes.
I wouldn't recommend this unless there are too many libs to patch / you don't control the code directly
```crystal
# Patches ::HTTP::Client
require "connect-proxy/ext/http-client"
# Patches ::HTTP::Websocket
require "connect-proxy/ext/websocket"
```
This method requires you to use the standard proxy ENV vars
Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This release
- Version
2.0.0- Tagged
- Jul 15, 2026
- Commit
d9cf8a4e3424- Indexed
- not yet
Dependents
Repository
github.com/spider-gazelle/connect-proxy
Metadata
- Created
- Aug 12, 2026
- Updated
- Aug 12, 2026
- Synced
- Aug 12, 2026
- Versions
- 14