Create README.md

had chatgpt do this for me because i was lazy
This commit is contained in:
Merith 2024-08-01 16:00:28 -07:00 committed by GitHub
parent 8516cb9f1a
commit a4b5f518cf
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

98
README.md Normal file
View file

@ -0,0 +1,98 @@
# SimpleProxy Usage Guide
## Overview
`SimpleProxy` is a lightweight proxy tool that uses a configuration file to define proxy settings. The configuration file, `config.json`, is **required** for the proxy to function.
## Usage
To run SimpleProxy, execute the following command in your terminal:
```sh
simpleproxy config.json
```
### Configuration File
The `config.json` file is essential for SimpleProxy to know which ports to bind to and which remote addresses to proxy from. Below is an example of the configuration file:
```json
{
"proxy": [
/*
{
"local" : ":port", // Port to bind to, defaults to remote port
"remote": "addr:port", // Remote address to proxy from
"type" : "both" // Protocol type: tcp, udp, or both; defaults to both
}
*/
{
"remote": "example.com:25565"
},
{
"remote": "example.com:42420"
}
]
}
```
### Configuration Options
Each entry in the `proxy` array represents a proxy rule with the following options:
- **local**: Optional. The port to bind to locally. If omitted, the proxy will use the port specified in the `remote` field.
- **remote**: Required. The remote address and port to proxy from.
- **type**: Optional. Specifies the protocol type (`tcp`, `udp`, or `both`). Defaults to `both` if not specified.
### Example Configuration
Here are a couple of examples based on the configuration options:
1. **Basic Configuration:**
```json
{
"proxy": [
{
"remote": "example.com:25565"
},
{
"remote": "example.com:42420"
}
]
}
```
In this configuration, SimpleProxy will bind to ports `25565` and `42420` locally, and proxy traffic to `example.com` on the same ports.
2. **Custom Local Port and Protocol Type:**
```json
{
"proxy": [
{
"local": ":8080",
"remote": "example.com:25565",
"type": "tcp"
},
{
"remote": "example.com:42420",
"type": "udp"
}
]
}
```
In this configuration:
- The first proxy rule binds to port `8080` locally and proxies TCP traffic to `example.com:25565`.
- The second proxy rule binds to port `42420` locally (same as the remote port) and proxies UDP traffic to `example.com:42420`.
## Running the Proxy
After setting up the `config.json` file with your desired proxy rules, run SimpleProxy using the command mentioned earlier:
```sh
simpleproxy config.json
```
This will start the proxy based on the defined configuration. Make sure the `config.json` file is in the same directory as the `simpleproxy` executable or provide the correct path to the configuration file.