# Manual Setup

## 1. Problems

Proxyman **could not capture** HTTP/HTTPS traffic from the following setup:

* **NodeJS**: Axios, got, superagent, fetch, and node-fetch
* Python: http, https, aiohttp, requests
* Ruby: http, net/http, net/htps, faraday, httparty and fastlane
* cURL

It's a known issue since NodeJS, Python, Ruby, and cURL which are executed from the Terminal app, don't respect the system HTTP Proxy. Thus, there is no traffic on Proxyman.

You have to read through the Technical Documentation of each library and manually config:

* The HTTP Proxy
* Trust a self-signed certificate

\=> Time-consuming and error-prone ❌

## 2. Solution: Manual Setup

### Benefit:

* ✅ Run on your favorite Terminal app: iTerm2 with Bash, Zsh, and Fish Shell
* Capture HTTP(s) traffic from NodeJS, Python, Ruby, Terminal or Web Browser, etc
* Safe. Work on your current session, not affect your OS

### How to use:

1. Open Proxyman -> Setup Menu -> Manual Setup
2. Open your favorite Terminal app, such as iTerm2
3. Copy & Paste the script to your Terminal -> Run it
4. Done ✅
5. You can start your Backend Server or run a script => Proxyman automatically captures all HTTP/HTTPS traffic out of the box

<figure><img src="https://1856518738-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LlPt_6BePnJ3oK3saP1%2Fuploads%2FzbMaji0jVt041M5UqANl%2FCleanShot%202023-04-22%20at%2015.23.20%402x.jpg?alt=media&#x26;token=b8d90470-da77-4a0b-9a8e-f655bd80a777" alt=""><figcaption><p>Manual Setup</p></figcaption></figure>

### Support Libraries:

Proxyman (with Manual Setup) can work out of the box with the following network libraries.

* NodeJS: [axios](https://www.npmjs.com/package/axios), [fetch](https://nodejs.org/dist/latest-v18.x/docs/api/globals.html#fetch) (v18+), [node-fetch](https://www.npmjs.com/package/node-fetch), [got](https://www.npmjs.com/package/got), [https](https://nodejs.org/api/https.html), and [superagent](https://www.npmjs.com/package/superagent)
* Ruby: [http](https://ruby-doc.org/stdlib-3.0.2/libdoc/net/http/rdoc/Net/HTTP.html), [net/http](https://ruby-doc.org/stdlib-2.7.0/libdoc/net/http/rdoc/Net/HTTP.html), [net/https](https://ruby-doc.org/stdlib-2.7.0/libdoc/net/http/rdoc/Net/HTTP.html), [httparty](https://github.com/jnunemaker/httparty), [faraday](https://github.com/lostisland/faraday), and fastlane
* Python: [request](https://pypi.org/project/requests/), [aiohttp](https://docs.aiohttp.org/en/stable/), http.client, urllib3 and httpx
* cURL without --proxy flag

## 3. Advanced: How does it work?

See the [Automatic Setup: How does it work?](https://docs.proxyman.com/automatic-setup#3.-advanced-how-does-it-work)

## 4. Troubleshooting

See the [Troubleshooting](https://docs.proxyman.com/automatic-setup/troubleshooting) page


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.proxyman.com/automatic-setup/manual-setup.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
