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.

proxer-cli 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.
  • 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.json

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.json

Configuration 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"]
}
]
}
]

Configuration File Overview

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 (true or false).
  • 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 username and password fields for basic authentication.
    • token: A token for authentication, if required.
  • 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.

Examples of Proxer Launch Commands

Set port 6666 for the local Proxer server.

proxer-cli --port 6666

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.json'
  1. Or run it in background process using nohup.
nohup ./target/release/proxer-cli --config 'config.dev.json'>/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

About

Proxy TCP traffic on macOS with domain filtering.

Topics

Resources

Stars

24 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

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.

proxer-cli 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.
  • 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.json

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.json

Configuration 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"]
}
]
}
]

Configuration File Overview

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 (true or false).
  • 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 username and password fields for basic authentication.
    • token: A token for authentication, if required.
  • 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.

Examples of Proxer Launch Commands

Set port 6666 for the local Proxer server.

proxer-cli --port 6666

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.json'
  1. Or run it in background process using nohup.
nohup ./target/release/proxer-cli --config 'config.dev.json'>/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

About

Proxy TCP traffic on macOS with domain filtering.

Topics

Resources

Stars

24 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

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.

proxer-cli 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.
  • 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.json

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.json

Configuration 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"]
}
]
}
]

Configuration File Overview

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 (true or false).
  • 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 username and password fields for basic authentication.
    • token: A token for authentication, if required.
  • 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.

Examples of Proxer Launch Commands

Set port 6666 for the local Proxer server.

proxer-cli --port 6666

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.json'
  1. Or run it in background process using nohup.
nohup ./target/release/proxer-cli --config 'config.dev.json'>/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

About

Proxy TCP traffic on macOS with domain filtering.

Topics

Resources

Stars

24 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

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.

proxer-cli 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.
  • 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.json

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.json

Configuration 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"]
}
]
}
]

Configuration File Overview

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 (true or false).
  • 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 username and password fields for basic authentication.
    • token: A token for authentication, if required.
  • 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.

Examples of Proxer Launch Commands

Set port 6666 for the local Proxer server.

proxer-cli --port 6666

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.json'
  1. Or run it in background process using nohup.
nohup ./target/release/proxer-cli --config 'config.dev.json'>/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

About

Proxy TCP traffic on macOS with domain filtering.

Topics

Resources

Stars

24 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

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.

proxer-cli 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.
  • 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.json

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.json

Configuration 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"]
}
]
}
]

Configuration File Overview

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 (true or false).
  • 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 username and password fields for basic authentication.
    • token: A token for authentication, if required.
  • 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.

Examples of Proxer Launch Commands

Set port 6666 for the local Proxer server.

proxer-cli --port 6666

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.json'
  1. Or run it in background process using nohup.
nohup ./target/release/proxer-cli --config 'config.dev.json'>/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

About

Proxy TCP traffic on macOS with domain filtering.

Topics

Resources

Stars

24 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

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.

proxer-cli 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.
  • 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.json

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.json

Configuration 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"]
}
]
}
]

Configuration File Overview

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 (true or false).
  • 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 username and password fields for basic authentication.
    • token: A token for authentication, if required.
  • 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.

Examples of Proxer Launch Commands

Set port 6666 for the local Proxer server.

proxer-cli --port 6666

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.json'
  1. Or run it in background process using nohup.
nohup ./target/release/proxer-cli --config 'config.dev.json'>/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

About

Proxy TCP traffic on macOS with domain filtering.

Topics

Resources

Stars

24 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

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.

proxer-cli 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.
  • 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.json

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.json

Configuration 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"]
}
]
}
]

Configuration File Overview

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 (true or false).
  • 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 username and password fields for basic authentication.
    • token: A token for authentication, if required.
  • 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.

Examples of Proxer Launch Commands

Set port 6666 for the local Proxer server.

proxer-cli --port 6666

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.json'
  1. Or run it in background process using nohup.
nohup ./target/release/proxer-cli --config 'config.dev.json'>/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

About

Proxy TCP traffic on macOS with domain filtering.

Topics

Resources

Stars

24 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

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.

proxer-cli 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.
  • 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.json

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.json

Configuration 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"]
}
]
}
]

Configuration File Overview

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 (true or false).
  • 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 username and password fields for basic authentication.
    • token: A token for authentication, if required.
  • 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.

Examples of Proxer Launch Commands

Set port 6666 for the local Proxer server.

proxer-cli --port 6666

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.json'
  1. Or run it in background process using nohup.
nohup ./target/release/proxer-cli --config 'config.dev.json'>/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

About

Proxy TCP traffic on macOS with domain filtering.

Topics

Resources

Stars

24 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages