Skip to content

doroved/proxer-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Proxer-cli

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. Currently works only with IPv4 HTTP(S) proxies.

proxer screenshot

How to Install

Just log into your macOS terminal and run the command:

curl -fsSL https://raw.githubusercontent.com/doroved/proxer-cli/main/install.sh | bash

After installation, be sure to run this command to make proxer available in the current terminal session:

export PATH=$PATH:~/.proxer-cli/bin

To update proxer to the latest version, use the same command that was used for installation.

Key Features:

  • Traffic filtering by hosts with caching.
  • Setting secret token for Proxerver to protect against proxy detection.
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.(json5|json)'. Default is ~/.proxer-cli/config.json5.
      --token <string>   Secret token to access the HTTP/S proxerver. Must match the token specified in the proxerver configuration.
  -h, --help             Print help
  -V, --version          Print version

The default configuration file is located in ~/.proxer-cli/config.json5. To edit it, you can quickly open it using the terminal command:

open -a TextEdit ~/.proxer-cli/config.json5

If 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.json5

Configuration file structure:

[
  {
    name: "Proxer Free [DE] proxerver",
    enabled: true,
    scheme: "HTTPS",
    host: "proxerver.freemyip.com",
    port: 443,
    auth_credentials: {
      username: "proxerver",
      password: "onelove",
    },
    filter: [
      {
        name: "YouTube",
        domains: ["*.youtube.com", "*.googlevideo.com", "*.ggpht.com"],
      },
      {
        name: "Discord",
        domains: [
          "discord.com",
          "*.discord.com",
          "*.discordapp.com",
          "discord-attachments-*.storage.googleapis.com",
          "*.discordapp.net",
          "gateway.discord.gg",
        ],
      },
      {
        name: "Test",
        domains: ["api.ipify.org"],
      },
    ],
  },
]

If your proxies don't require authentication, you can leave the auth_credentials.username and auth_credentials.password fields empty.

Examples of Proxer Launch Commands

Set port 6666 for the local Proxer server.

proxer-cli --port 6666

Set the secret token that was set when starting the Proxerver proxy server. This will allow the proxy server to accept requests only from your client.

proxer-cli --token 'HelloProxerver'

To 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 &

Local Build and Run

  1. Clone the repository.
git clone https://github.com/doroved/proxer-cli.git
  1. Run cargo build --release to build the binary.
cargo build --release
  1. Run the Proxer binary with configuration.
./target/release/proxer-cli --config 'config.dev.json5'
  1. Or run it in background process using nohup.
nohup ./target/release/proxer-cli --config 'config.dev.json5' >/dev/null 2>&1 &
  1. To stop Proxer, run this command.
kill $(pgrep proxer-cli)
  1. See Proxer running on your machine
lsof -i -P | grep LISTEN | grep proxer-cli

Interesting projects