proxinject logo

proxinject PragmaTwice

Use this command to install proxinject:
winget install --id=PragmaTwice.proxinject -e

A socks5 proxy injection tool for Windows, making selected processes proxy-able

Proxinject is a socks5 proxy injection tool designed for Windows, enabling selected processes to utilize a proxy server seamlessly. This utility allows users to inject proxy settings into specific applications, ensuring they route their traffic through the desired proxy without requiring modifications to the applications themselves.

Key Features:

  • Process Selection: Target specific applications or processes that need proxy support, providing granular control over which services use the proxy.
  • Socks5 Protocol Support: Leverages the socks5 protocol for secure and efficient proxy connections, ensuring compatibility with a wide range of proxy servers.
  • Real-Time Monitoring: Offers live monitoring to track which processes are currently using the proxy, allowing users to adjust settings as needed.
  • Configuration Options: Provides flexible configuration options to tailor proxy injection to meet individual needs, including support for multiple proxies and advanced routing rules.
  • Compatibility with Winget: Can be easily installed via winget, making it straightforward to integrate into existing workflows and environments.

Audience & Benefit:

Ideal for developers, network administrators, and security professionals who need precise control over application-level proxy usage. Proxinject benefits users by enabling seamless integration of proxy functionality without altering applications, enhancing privacy and flexibility in managing network connections. It is particularly valuable for those requiring secure testing environments or specific routing configurations.

README

proxinject

Build Release WinGet

A socks5 proxy injection tool for Windows: just select some processes and make them proxy-able!

Preview

proxinject GUI

screenshot

proxinject CLI

$ ./proxinjector-cli -h
Usage: proxinjector-cli [options]

A socks5 proxy injection tool for Windows: just select some processes and make them proxy-able!
Please visit https://github.com/PragmaTwice/proxinject for more information.

Optional arguments:
-h --help                       shows help message and exits [default: false]
-v --version                    prints version information and exits [default: false]
-i --pid                        pid of a process to inject proxy (integer) [default: {}]
-n --name                       short filename of a process with wildcard matching to inject proxy (string, without directory and file extension, e.g. `python`, `py*`, `py??on`) [default: {}]
-P --path                       full filename of a process with wildcard matching to inject proxy (string, with directory and file extension, e.g. `C:/programs/python.exe`, `C:/programs/*.exe`) [default: {}]
-r --name-regexp                regular expression for short filename of a process to inject proxy (string, without directory and file extension, e.g. `python`, `py.*|exp.*`) [default: {}]
-R --path-regexp                regular expression for full filename of a process to inject proxy (string, with directory and file extension, e.g. `C:/programs/python.exe`, `C:/programs/(a|b).*\.exe`) [default: {}]
-e --exec                       command line started with an executable to create a new process and inject proxy (string, e.g. `python` or `C:\Program Files\a.exe --some-option`) [default: {}]
-l --enable-log                 enable logging for network connections [default: false]
-p --set-proxy                  set a proxy address for network connections (string, e.g. `127.0.0.1:1080`) [default: ""]
-w --new-console-window         create a new console window while a new console process is executed in `-e` [default: false]
-s --subprocess                 inject subprocesses created by these already injected processes [default: false]

How to Install

Choose whichever method you like:

  • Download the latest portable archive (.zip) or installer (.exe) from the Releases Page, OR
  • Type winget install PragmaTwice.proxinject in the terminal (winget is required)

Or build from source (not recommended for non-professionals):

# make sure your develop environment is well configured in powershell
git clone https://github.com/PragmaTwice/proxinject.git
cd proxinject
./build.ps1 -mode Release -arch x64 # build the project via CMake and msbuild
# your built binaries are now in the `./release` directory, enjoy it now!
makensis /DVERSION=$(git describe --tags) setup.nsi # (optional) genrate an installer via NSIS

Development Dependencies

environments:

  • C++ compiler (with C++20 support, currently MSVC)
  • Windows SDK (with winsock2 support)
  • CMake 3

libraries:

(you do not need to download/install them manually)

proxinjectee

  • minhook
  • asio (standalone)
  • PragmaTwice/protopuf

proxinjector GUI

  • asio (standalone)
  • PragmaTwice/protopuf
  • cycfi/elements

proxinjector CLI

  • asio (standalone)
  • PragmaTwice/protopuf
  • p-ranav/argparse
  • gabime/spdlog
Versions
0.5.0-pre
0.4.2-pre
0.4.1-pre
0.4.0-pre
0.3.2-pre
0.3.1-pre
0.3.0-pre
Website
License