Skip to content
/ proxer Public

Proxy all macOS network requests with domain-based filtering. Basic spoof DPI for direct connections.

Notifications You must be signed in to change notification settings

doroved/proxer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Proxer

Subscribe to us on Telegram to receive notifications about new versions and updates.

Network request proxy manager with host filtering on macOS + spoofDPI direct connections. 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/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/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.
  • Basic SpoofDPI support.
  • Setting secret token for Proxerver to protect against proxy detection.
proxer --help

Proxy all macOS network requests with domain-based filtering. Basic spoof DPI for direct connections.

Usage: proxer [OPTIONS]

Options:
      --port <u16>       Set port for proxer. By default, a random port is used.
      --dpi              Enable DPI spoofing for direct connections. Spoofing is disabled by default.
      --config <string>  Path to the configuration file. Example: '/path/to/proxer.(json5|json)'. Default is ~/.proxer/config.json5.
      --token <string>   Secret token to access the HTTP/S proxerver. Must match the token specified in the proxerver configuration.
      --log-error-all    Show all errors. By default, only critical errors are shown. This option is useful for debugging.
  -h, --help             Print help
  -V, --version          Print version

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

open -a TextEdit ~/.proxer/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 --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 5555 for the local Proxer server.

proxer --port 5555

Enable basic DPI bypass.

proxer --dpi

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 --token 'HelloProxerver'

Enable display of all proxy server connection errors.

proxer --log-error-all

To run the Proxer in the background, use nohup, for example:

nohup proxer [OPTIONS] >/dev/null 2>&1 &

Running the Proxer in the background using nohup and saving the output to a file:

nohup proxer [OPTIONS] > ~/.proxer/log.txt 2>&1 &

Local Build and Run

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

Interesting projects

About

Proxy all macOS network requests with domain-based filtering. Basic spoof DPI for direct connections.

Resources

Stars

Watchers

Forks

Packages

No packages published