A minimal authenticating HTTP(S) forward proxy based on LittleProxy.
Runs locally and forwards requests to a corporate upstream proxy, handling basic-auth and a no_proxy regex.
mvn clean verify
- Unit + integration tests run under JUnit Jupiter.
- Shaded runnable JAR:
target/dist/proxy-<version>.jar.
java -jar target/dist/proxy-<version>.jar
The first start writes a default ~/.proxy/proxy.properties and opens it for editing.
pwsh .\packaging\build-native.ps1
Produces target/native/output/Proxy/ containing Proxy.exe + runtime/ + app/.
The whole folder is self-contained — copy it anywhere and run Proxy.exe.
The Chocolatey package lives in a separate repository at
..\chocolatey-internalizer-v2\custompackages\baloise-proxy2\.
Full release flow = one script + one choco command:
pwsh .\packaging\release-to-choco.ps1 # tests + build + stage + cert import
cd ..\chocolatey-internalizer-v2\custompackages\baloise-proxy2
# bump <version> in baloise-proxy2.nuspec
choco pack .\baloise-proxy2.nuspecrelease-to-choco.ps1 does:
mvn clean verify— tests must be green (pass-SkipTeststo skip).packaging\build-native.ps1— jlink + jpackage →target\native\output\Proxy\.- Copies the app-image into the choco package's
tools\. - Imports
zscaler-ca.crtfrom..\certbundler\certs\into the embedded JRE cacerts.
If your repo layout differs, override paths:
pwsh .\packaging\release-to-choco.ps1 -ChocoDir '...' -ZscalerCert '...'
The file is watched; edits are picked up without restart when they change anything effective.
Set the upstream credentials via the tray Password entry, or headless:
java -jar proxy.jar -password=secret
The password is XOR-obfuscated and stored in the user-scoped Java Preferences node
com/baloise/proxy/password (or com/baloise/windows if already present).
