Skip to content

Add HTTP proxy host/port and exclusion list support#592

Open
energypantry wants to merge 1 commit intoGenymobile:masterfrom
energypantry:feat/http-proxy-exclusion-list
Open

Add HTTP proxy host/port and exclusion list support#592
energypantry wants to merge 1 commit intoGenymobile:masterfrom
energypantry:feat/http-proxy-exclusion-list

Conversation

@energypantry
Copy link

Summary

This PR adds optional HTTP proxy support to gnirehtet, including an exclusion list for hosts that should bypass that proxy.

This addresses the use case described in #482: use gnirehtet while also configuring an additional HTTP proxy with per-domain bypass.

What changed

  • Android app (VpnService.Builder) side:
    • Added support for proxyHost, proxyPort, and proxyExclusionList extras.
    • Added proxy configuration to VpnConfiguration.
    • When API level >= 29, call Builder.setHttpProxy(...) with ProxyInfo built from host/port and exclusions.
    • Relay CLI side (Java + Rust):
    • Added --proxy-host HOST
    • Added --proxy-port PORT
    • Added --proxy-exclusion-list HOST[,HOST2,...]
    • Validation rules:
  • - `--proxy-host` and `--proxy-port` must be provided together.
    
  • - `--proxy-exclusion-list` requires host+port.
    
    • Start command wiring:
    • Pass proxy extras through adb shell am start ... to the Android app.
    • Documentation:
    • Updated README with new CLI flags and examples.

Validation

  • relay-rust: cargo test passed (including new proxy argument tests).
    • ⚠️ relay-java: ./gradlew -p relay-java test fails in this environment due to old Gradle/Groovy vs installed JDK 17 (NoClassDefFoundError: org.codehaus.groovy.vmplugin.v7.Java7).
      If preferred, I can also split this into smaller commits (CLI-only vs Android-side) for easier review.

@energypantry energypantry changed the title Add HTTP proxy host/port and exclusion list supportAdd HTTP proxy host/port and exclusion list support Add HTTP proxy host/port and exclusion list support Feb 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant