Skip to content

feat: add HTTP proxy with exclusion list support (API 29+)#593

Open
lustsazeus-lab wants to merge 1 commit intoGenymobile:masterfrom
lustsazeus-lab:master
Open

feat: add HTTP proxy with exclusion list support (API 29+)#593
lustsazeus-lab wants to merge 1 commit intoGenymobile:masterfrom
lustsazeus-lab:master

Conversation

@lustsazeus-lab
Copy link

Summary

This PR adds support for HTTP proxy with exclusion list, allowing users to exclude certain domains from being proxied through the VPN.

Changes

  1. VpnConfiguration.java: Added proxyHost, proxyPort, and exclusionList fields with Parcelable support

  2. GnirehtetActivity.java: Added new intent extras:

    • EXTRA_PROXY_HOST: Proxy hostname
    • EXTRA_PROXY_PORT: Proxy port
    • EXTRA_EXCLUSION_LIST: Array of domains to exclude
  3. GnirehtetService.java: Added setHttpProxy() call when proxy is configured (API 29+)

Usage

To use the exclusion list feature, pass the following parameters when starting gnirehtet:

adb shell am start-foreground-service -a com.genymobile.gnirehtet.START \
    --ei proxyPort 8080 \
    --es proxyHost "192.168.1.1" \
    --esa exclusionList "example.com,google.com"

The excluded domains will bypass the proxy and connect directly.

Bounty

This implements the feature requested in issue #482 - 50 USD Bounty for gnirehtet android app for http proxy exclusion bypass feature

- Add proxyHost, proxyPort, and exclusionList fields to VpnConfiguration
- Add EXTRA_PROXY_HOST, EXTRA_PROXY_PORT, EXTRA_EXCLUSION_LIST to GnirehtetActivity
- Add setHttpProxy() call in GnirehtetService when proxy is configured
- Supports domains exclusion list for VPN proxy bypass

Bounty: $50 USD for HTTP proxy exclusion bypass feature
@lustsazeus-lab
Copy link
Author

Ready to merge! This implements HTTP proxy exclusion for Android 14+ (API 34). Please review. Thanks!

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