Faraday Proxy Configuration

← Back to Ruby Libraries

Faraday is a popular Ruby HTTP client with middleware and adapters. Pass proxy: to Faraday.new for basic proxying. Use RubyProxyHeaders::FaradayIntegration so CONNECT response headers (such as X-ProxyMesh-IP) appear on Faraday responses.

Installation

gem install faraday faraday-net_http ruby-proxy-headers

Faraday 2.x uses the faraday-net_http adapter for the default stack.

Basic Proxy Configuration

Matches proxy-examples/ruby/faraday-proxy.rb:

require 'faraday'

conn = Faraday.new(proxy: 'http://username:password@proxyhost:31280') do |f|
  f.adapter Faraday.default_adapter
end

response = conn.get('https://api.ipify.org?format=json')
puts response.body
puts response.status

IP authentication

conn = Faraday.new(proxy: 'http://proxyhost:port') do |f|
  f.adapter Faraday.default_adapter
end

Custom Proxy Headers

require 'ruby_proxy_headers/faraday'

conn = RubyProxyHeaders::FaradayIntegration.connection(
  proxy: 'http://username:password@proxyhost:31280',
  proxy_connect_headers: { 'X-ProxyMesh-Country' => 'US' }
)
res = conn.get('https://api.ipify.org?format=json')
puts res.body
puts res.headers['X-ProxyMesh-IP']

ProxyMesh Headers Reference

Send these headers to control proxy behavior:

  • X-ProxyMesh-Country - Route through a specific country (e.g., "US"). Only works with world proxy or open proxy
  • X-ProxyMesh-IP - Request a specific outgoing IP address
  • X-ProxyMesh-Not-IP - Exclude specific IPs from rotation

The proxy returns X-ProxyMesh-IP with the IP address used for the request (when your stack exposes CONNECT response headers).

Resources

Related Ruby Proxy Guides

Explore proxy configuration for other Ruby HTTP libraries:

Start Free Trial