Subscribe to us on Telegram to receive notifications about new versions and updates.
Check out the desktop version of Proxer.
Network request proxy manager with host filtering on macOS.
Just log into your macOS terminal and run the command:
curl -fsSL https://raw.githubusercontent.com/doroved/proxer-cli/main/install.sh | bashAfter installation, be sure to run this command to make proxer available in the current terminal session:
export PATH=$PATH:~/.proxer-cli/binTo update proxer to the latest version, use the same command that was used for installation.
- Traffic filtering by hosts.
- Support for HTTP(S) proxies with authentication via username/password or token (must match the token specified in the configuration file proxerver-cli).
proxer-cli --help
Proxy TCP traffic on macOS with domain filtering.
Usage: proxer-cli [OPTIONS]
Options:
--port <u16> Set port for proxer. By default 5555.
--config <string> Path to the configuration file. Example: '/path/to/config.json'. Default is ~/.proxer-cli/config.json.
-h, --help Print help
-V, --version Print version
The default configuration file is located in ~/.proxer-cli/config.json. To edit it, you can quickly open it using the terminal command:
open -a TextEdit ~/.proxer-cli/config.jsonIf you want to use your own configuration file, you can specify it at startup using the --config flag.
For example, if you are in a directory with the config, you can run proxer as follows:
proxer-cli --config ./config.jsonConfiguration file structure:
[
{
"name": "Proxerver Test",
"enabled": true,
"scheme": "HTTPS",
"host": "proxerver.freemyip.com",
"port": 443,
"auth": {
"credentials": {
"username": "",
"password": ""
},
"token": "fe3181d2f5e5e529efa280a474c0e949997c604518624893b1cd0e7c4c8f3727"
},
"rules": [
{
"name": "YouTube",
"hosts": [
"youtu.be",
"*.googlevideo.com",
"*.youtube.com",
"*.ytimg.com",
"*.ggpht.com",
"*.googleapis.com"
]
},
{
"name": "Discord",
"hosts": ["*discord*.*"]
},
{
"name": "Test",
"hosts": ["api.ipify.org"]
}
]
}
]The configuration file is a JSON array containing proxy settings. Each proxy configuration includes the following fields:
- name: A descriptive name for the proxy (e.g., "Proxerver Test").
- enabled: A boolean value indicating whether the proxy is active (
trueorfalse). - scheme: The protocol used by the proxy ("HTTP or HTTPS").
- host: The hostname or IP address of the proxy server.
- port: The port number on which the proxy server listens (e.g., 443).
- auth: An object containing authentication details:
- credentials: An object with
usernameandpasswordfields for basic authentication. - token: A token for authentication, if required.
- credentials: An object with
- rules: An array of objects defining traffic rules:
- name: A descriptive name for the filter (e.g., "YouTube").
- hosts: An array of domain patterns to be filtered (e.g.,
["*.youtube.com"]).
If your proxies don't require authentication, you can leave the auth.credentials.username and auth.credentials.password or auth.token fields empty.
Set port 6666 for the local Proxer server.
proxer-cli --port 6666To run the Proxer in the background, use nohup, for example:
nohup proxer-cli [OPTIONS] >/dev/null 2>&1 &Running the Proxer in the background using nohup and saving the output to a file:
nohup proxer-cli [OPTIONS] > ~/.proxer-cli/log.txt 2>&1 &- Clone the repository.
git clone https://github.com/doroved/proxer-cli.git- Run
cargo build --releaseto build the binary.
cargo build --release- Run the Proxer binary with configuration.
./target/release/proxer-cli --config 'config.dev.json'- Or run it in background process using
nohup.
nohup ./target/release/proxer-cli --config 'config.dev.json' >/dev/null 2>&1 &- To stop Proxer, run this command.
kill $(pgrep proxer-cli)- See Proxer running on your machine
lsof -i -P | grep LISTEN | grep proxer-cli- DumbProxy - Great proxy server with various features
- SpoofDPI - macOS
- GoodbyeDPI - Windows
- ByeDPI - Windows, Linux
