You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A proxy CLI for capturing HTTP(S) & WS(S) Traffic.
7
+
A powerful and flexible proxy CLI for capturing and inspecting HTTP(S) and WS(S) traffic.
8
8
9
-
## Features
9
+
## Key Features
10
10
11
-
- Supports forward/reverse proxy
12
-
- Supports HTTP/HTTPS/WS/WSS protocols
13
-
- Supports filtering & searching
14
-
- Provides terminal user interface (TUI)
15
-
- Provides web user interface (WebUI)
16
-
- Provides CA certificates installation tool
17
-
- Enables export in Markdown, cURL, or HAR formats
18
-
- Captures request/response in a non-blocking, streaming way
19
-
20
-
> Proxyfor, written in Rust, is distributed as a single executable file for Windows, macOS, and Linux, requiring no further installation steps or dependencies.
11
+
***Forward & Reverse Proxy:** Supports both forward proxy (client explicitly uses the proxy) and reverse proxy (proxy sits in front of the server).
Download from [Github Releases](https://github.com/sigoden/proxyfor/releases), unzip and add proxyfor to your $PATH.
47
45
48
-
## Proxy Type
46
+
## Proxy Modes Explained
49
47
50
48
### Forward Proxy
51
49
52
-
The client sets the proxy to`http://127.0.0.1:8080`.
50
+
In this mode, your client applications (e.g., web browsers, curl) are configured to send their requests to `proxyfor`, which then forwards them to the target servers. You would configure your client to use a proxy at`http://127.0.0.1:8080`.
53
51
54
-
```sh
55
-
$ proxyfor
56
-
$ curl -x http://127.0.0.1:8080 httpbin.org/ip
52
+
```bash
53
+
proxyfor
54
+
curl -x http://127.0.0.1:8080 httpbin.org/ip
57
55
```
58
56
59
57
### Reverse Proxy
60
58
61
-
The client accesses to `http://127.0.0.1:8080/*`.
62
-
63
-
**This mode is suitable for scenarios where client cannot set a proxy.**
59
+
In reverse proxy mode, `proxyfor` sits in front of a target server. Clients access `proxyfor` and it forwards the requests to the defined URL. This mode is ideal when clients cannot be configured to use a proxy.
64
60
65
-
```sh
66
-
$ proxyfor https://httpbin.org
67
-
$ curl http://127.0.0.1:8080/ip
61
+
```bash
62
+
proxyfor https://httpbin.org
63
+
curl http://127.0.0.1:8080/ip
68
64
```
69
65
70
-
## Command Line
66
+
## Command Line Interface (CLI)
71
67
72
68
```
73
69
Usage: proxyfor [OPTIONS] [URL]
@@ -88,7 +84,7 @@ Options:
88
84
89
85
### Choosing User Interface
90
86
91
-
You can select different interfaces with the following commands:
87
+
`proxyfor` provides several ways to interact with captured traffic:
92
88
93
89
```sh
94
90
proxyfor # Enter TUI, equal to `proxyfor --tui`
@@ -98,40 +94,40 @@ proxyfor --dump # Dump all traffics to console
98
94
proxyfor > proxyfor.md # Dump all traffics to markdown file
99
95
```
100
96
101
-
### Changing IP and Port
97
+
### Specifying Address and Port
102
98
103
-
You can specify different listening addresses:
99
+
Customize the listening address and port:
104
100
105
101
```sh
106
102
proxyfor -l 8081
107
103
proxyfor -l 127.0.0.1
108
104
proxyfor -l 127.0.0.1:8081
109
105
```
110
106
111
-
### Applying Filter
107
+
### Filtering Traffic
112
108
113
-
Filter traffic by setting method and URI:
109
+
Apply regex filters to limit captured traffic based on method and URI:
Proxyfor can decrypt encrypted traffic on the fly, as long as the client trusts proxyfor’s built-in certificate authority. Usually this means that the proxyfor CA certificate has to be installed on the client device.
125
+
To decrypt HTTPS traffic, you must install `proxyfor`'s CA certificate on your device. The easiest way to do this is to use the built-in certificate installation app.
131
126
132
-
By far the easiest way to [install the proxyfor CA certificate](./assets/install-certificate.md) is to use the built-in certificate installation app.
133
-
To do this, start proxyfor and configure your target device with the correct proxy settings.
134
-
Now start a browser on the device, and visit the magic domain [proxyfor.local](http://proxyfor.local).
127
+
1. Start `proxyfor` with desired proxy settings.
128
+
2. On your target device, configure the device to use `proxyfor` as the proxy.
129
+
3. Open a web browser on the target device and navigate to [proxyfor.local](http://proxyfor.local).
130
+
4. Follow the on-screen instructions to download and install the CA certificate.
0 commit comments