ProxiFyre: Open Source SOCKS5 Proxifier for Windows

 

ProxiFyre: Open Source SOCKS5 Proxifier for Windows

Hornbeam
3 min

In the context of ever- increasing government control over the Internet, which manifests itself, among other things, in the blocking of VPN protocols, the problem of developing alternative connection methods is becoming increasingly urgent. This question is not only theoretical, but also very practical. Having moved from Russia about a year ago, I continue to actively use the home infrastructure built over many years. Until recently, I was only able to use a Wireguard-based VPN to access my home networks, but from time to time certain anomalies are observed - an increase in the loss of UDP packets and it seems that there are attempts to block the protocol itself. While in some cases it is possible to work around these issues by changing the settings of the homebrew Wireguard client , the overall picture is somewhat concerning. That is why today it is becoming extremely important to look for and develop alternative ways to access home networks in case of mass blocking of popular VPN protocols.

One time-tested and reliable method that does not require complex specialized infrastructure is tunneling TCP connections using SSH. This protocol is critical to the stability of the Internet, and the likelihood of its mass blocking seems extremely low. Probably the biggest challenge we may encounter is connection speed limitations. However, even in this case, access to home networks will be preserved, leaving time to search and explore other possible solutions. A unique feature of SSH is the built-in SOCKS5 proxy server, which provides functionality similar to VPN with the ability to implement split tunneling at the level of individual applications. This is where we come to the main topic of our discussion.

ProxiFyre is an Open Source tool that functions as a "soxifier" for applications that do not have built-in support for running SOCKS proxies. The program is an improved version of one of the demos for Windows Packet Filter . Unlike the basic version, ProxiFyre provides support for the UDP protocol and offers the function of simultaneous use of several SOCKS5 proxy instances, which significantly expands its functionality. The application in a similar form has existed for a couple of years, but I published it just a couple of weeks ago after a short review. The reason for publication was several consecutive requests for additional functionality (in particular UDP support), as well as the modest hope that those who ask for these improvements will take part in the further development of the project.

To make working with ProxiFyre easier, I added the ability to customize the configuration using the app-config.json file. This JSON file includes an array of configurations for a variety of applications, which provides a high degree of flexibility and allows detailed control over the Internet connection settings of each individual application.

Configuration example:

[
    {
        "appNames": ["chrome", "chrome_canary"],
        "socks5ProxyEndpoint": "158.101.205.51:1080",
        "username": "username1",
        "password": "password1"
    },
    {
        "appNames": ["firefox", "firefox_dev"],
        "socks5ProxyEndpoint": "159.101.205.52:1080",
        "username": "username2",
        "password": "password2"
    }
]

In the context of using SOCKS5 with SSH, ProxiFyre is used as follows. Let's say you connect to an SSH server using the command ssh -D 8080 user@hostThen, using the following configuration file, you can route Google Chrome application and RDP client traffic through the SSH tunnel:

[
    {
        "appNames": ["chrome", "mstsc"],
        "socks5ProxyEndpoint": "127.0.0.1:8080"
    }
]

The Google Chrome example may not fully capture the benefits of ProxiFyre, since most web browsers already have built-in support for explicit proxy settings. However, many other applications do not have this functionality. This is where ProxiFyre comes into its own, providing the ability to configure proxies for all applications, thereby providing advanced control over your Internet connection settings.

Architecturally, ProxiFyre consists of three main projects:

  1. ndisapi.lib : Adapted Windows Packet Filter static library project .

  2. socksify : .NET C++/CLI class library implementing SOCKS5 local router functionality.

  3. ProxiFyre : A simple .NET console application for Windows that uses functionality provided by the .NET C++/CLI class library socksify.

Detailed instructions for use, including build requirements, can be found in the README of the repository.

I hope someone will find this application useful in the current difficult circumstances.

Коментарі

Популярні дописи з цього блогу

Як видалити троян Conteban з вашої системи

INFERNUM1488 :: Trojan Win32 Conteban A Ml — | что это и как бороться?