Preflight checks
Problem or motivation
The desktop app currently limits the split-tunneling hostname list to 50 entries.
This is restrictive for users who maintain larger domain-based routing lists, such as lists for work services, self-hosted applications, regional services, or domains that must bypass the VPN.
Once the limit is reached, the app refuses additional hostname entries. The settings validation also discards hostname routes that exceed the limit, so importing or otherwise adding a larger list does not provide a workaround.
The hostname limit is also significantly lower than the existing IP/CIDR route limit of 4096.
Proposed solution
Please raise the hostname limit defined in:
src/client/client-common/types/splittunneling.h
The current value is:
static constexpr int kMaxHostnames = 50;
I propose raising it to 4096, matching kMaxIpRoutes:
static constexpr int kMaxHostnames = 4096;
A smaller but substantially higher value would also be an improvement if 4096 is considered excessive.
Because the UI and the SplitTunneling::validate() logic use this limit, changing the shared constant should keep the user-facing check and settings validation consistent.
Expected behavior:
- Users can add and import more than 50 hostname routes.
- Entries remain present after saving or restarting the app.
- Existing hostname validation remains in place.
- The app only displays the “too many hostnames” error after reaching the new limit.
Alternatives considered
I considered maintaining a custom build with kMaxHostnames changed locally. However, this requires rebuilding and distributing an unsigned development version of the application and makes future updates more difficult.
Splitting the hostname list across multiple configurations is not supported.
Wildcard or regex hostname support, as requested in issue #69, could reduce the number of entries for some use cases, but it does not solve cases where users need a large list of unrelated exact hostnames.
Which platforms should this apply to?
Windows
Additional context
Issue #69 is related because it discusses hostname-list scalability and wildcard support, but this request is specifically for raising the hard-coded hostname count limit and does not depend on wildcard or regex support.
Preflight checks
Problem or motivation
The desktop app currently limits the split-tunneling hostname list to 50 entries.
This is restrictive for users who maintain larger domain-based routing lists, such as lists for work services, self-hosted applications, regional services, or domains that must bypass the VPN.
Once the limit is reached, the app refuses additional hostname entries. The settings validation also discards hostname routes that exceed the limit, so importing or otherwise adding a larger list does not provide a workaround.
The hostname limit is also significantly lower than the existing IP/CIDR route limit of 4096.
Proposed solution
Please raise the hostname limit defined in:
src/client/client-common/types/splittunneling.h
The current value is:
static constexpr int kMaxHostnames = 50;
I propose raising it to 4096, matching kMaxIpRoutes:
static constexpr int kMaxHostnames = 4096;
A smaller but substantially higher value would also be an improvement if 4096 is considered excessive.
Because the UI and the SplitTunneling::validate() logic use this limit, changing the shared constant should keep the user-facing check and settings validation consistent.
Expected behavior:
Alternatives considered
I considered maintaining a custom build with kMaxHostnames changed locally. However, this requires rebuilding and distributing an unsigned development version of the application and makes future updates more difficult.
Splitting the hostname list across multiple configurations is not supported.
Wildcard or regex hostname support, as requested in issue #69, could reduce the number of entries for some use cases, but it does not solve cases where users need a large list of unrelated exact hostnames.
Which platforms should this apply to?
Windows
Additional context
Issue #69 is related because it discusses hostname-list scalability and wildcard support, but this request is specifically for raising the hard-coded hostname count limit and does not depend on wildcard or regex support.