Winfoom is a HTTP(s) proxy server facade that allows applications to authenticate through a NTML/Kerberos authenticated proxy server, typically used in corporate environments, without having to deal with the actual handshake.
A lot of software applications have problems when dealing with an authenticated proxy server's protocol. Winfoom sits between the corporate proxy and applications and offloads the authentication and the proxy's protocol, acting as a facade. This way, the software application will only have to deal with a basic proxy with no authentication.
An example of such facade for NTLM proxies is CNTLM
👉 Note: Winfoom only works on Windows OS!
Winfoom is a Java application and comes with a release that includes a Java environment AdoptOpenJDK, so you don't have to install anything.
Starting with v1.5.1, the release contains a single executable file: launch.bat
.
Available commands:
launch.bat
launches the application using the bundled JRE.launch.bat --debug
launches the application using the bundled JRE in debug mode.launch.bat --systemjre
launches the application using your system JRE - you'll need a JRE v.11 (at least).launch.bat --debug --systemjre
launches the application using your system JRE in debug mode.
The installation is pretty basic, just unzip the content of the released archive then double click on launch.bat
file.
The application log file is placed under logs
directory.
Winfoom has a graphical user interface that allows the user to configure proxy host, port and the URL for testing the settings. These fields are pre-filled with the values gathered from your system.
To test it, open a browser, let's say Firefox and configure proxy like this:
Now you should be able to access any URL without Firefox asking for credentials.
If you don't have an available proxy, you still can test WinFoom by installing WinGate and configure it to act as a NTML proxy.
👉 Note: Winfoom uses the current user credentials to authenticate to the remote proxy! For this, it uses org.apache.http.impl.auth.win.WindowsCredentialsProvider
If you decide to build the executable jar file from source code, you would need this prerequisites:
- Java JDK 11(+)
- Maven 3.x version
- Git for Windows
Then open a terminal and execute the commands:
git clone https://github.com/ecovaci/winfoom.git
cd winfoom
mvn clean package
Now you should have the generated executable jar file under the target directory.
- Performance tests.
Please review these docs below about coding practices.
Any feedback or suggestions are welcome. It is hosted with an Apache 2.0 license so issues, forks and PRs are most appreciated.