Repository navigation
Conversation
schwabe
reviewed
Oct 9, 2026
| Country routing | ||
| ##################################################### | ||
|
|
||
| An optional app-wide country IPv4 bypass is available in Settings -> Routing. |
There was a problem hiding this comment.
Apart from if this is really the right place to implement something like we do not really like features that are IPv4 only.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds an optional Settings → Routing page for bypassing the VPN for destination IPv4 ranges allocated to selected countries. For example, selecting IR sends matching IPv4 traffic through the normal internet gateway. The setting is global, off by default, and leaves existing .ovpn profiles unchanged.
The page provides a country checklist, a Search button accepting names or ISO codes, and an explicit update action that fetches aggregated CIDRs from IPdeny over HTTPS. Search cycles through matching names without changing checkboxes. Downloads are validated before replacing the local cache; connecting uses the offline cache.
The GUI merges the selected ranges and passes a temporary, routes-only configuration containing
route ... net_gatewaydirectives alongside the original profile. The temporary file is protected against modification while in use and cleaned up after failure or exit. Normal interactive-service authorization remains in place.Scope
Validation
ipaddress.collapse_addresses, and isolated native Windows UI/preferences/file-lifecycle tests. Search coverage includes ISO precedence, case-insensitive names, wraparound, whitespace, and preserving checkboxes.COUNTRY_ROUTING.rstdocuments data sources, behavior, limits, and manual tunnel verification.