Skip to content

Proxies

Orb supports routing requests through HTTP and SOCKS5 proxies.

Use -x or --proxy with an HTTP proxy URL:

Terminal window
orb -x http://proxy.example.com:8080 https://api.example.com
Terminal window
orb -x http://user:password@proxy.example.com:8080 https://api.example.com

For HTTPS requests through an HTTP proxy, orb uses the CONNECT method:

Terminal window
orb -x http://proxy.example.com:8080 https://secure.example.com

The proxy creates a tunnel, and TLS is established end-to-end with the target server.

Use a socks5:// URL:

Terminal window
orb -x socks5://proxy.example.com:1080 https://api.example.com
Terminal window
orb -x socks5://user:password@proxy.example.com:1080 https://api.example.com
TypeUse CaseDNS Resolution
HTTPWeb traffic, corporate proxiesProxy resolves
SOCKS5Generic TCP, anonymityProxy resolves
Terminal window
orb -x http://corporate-proxy.internal:8080 \
https://external-api.example.com

If you have an SSH tunnel:

Terminal window
# In another terminal: ssh -D 1080 user@server
orb -x socks5://localhost:1080 https://api.example.com
Terminal window
# Charles Proxy, Fiddler, mitmproxy, etc.
orb -x http://localhost:8888 https://api.example.com
# May need to trust proxy's CA for HTTPS inspection
orb -x http://localhost:8888 \
--cacert ~/.mitmproxy/mitmproxy-ca-cert.pem \
https://api.example.com
Terminal window
orb -x http://proxy:8080 \
-u api-user:api-password \
https://api.example.com/protected
Terminal window
orb -x http://proxy:8080 \
-H "X-Forwarded-For: 192.168.1.1" \
https://api.example.com
Terminal window
orb -v -x http://proxy:8080 https://api.example.com

Shows proxy connection details:

* Connecting via proxy http://proxy:8080
* CONNECT api.example.com:443 HTTP/1.1
* Proxy CONNECT response: 200
* TLS handshake completed
  • Only HTTP CONNECT and SOCKS5 proxies are supported
  • No SOCKS4 support
  • No automatic proxy detection
  • No proxy bypass/exclusion lists