Start with the quick start, then jump to whichever recipe matches what you are
actually trying to do. Everything shown here works during the 30-day trial.
Start here
Quick start
About a minute from a finished install to traffic on the adapter you chose. The last
step is the one people skip and then wonder about, so do it.
01
Check both lines are visible
Launch the application — it will ask for Administrator rights, which routing needs —
and open Adapters. Every adapter you intend to use must show as up with
its own gateway. One that cannot carry traffic says why in plain words, and the app
refuses to assign an application to it rather than letting you fail later.
02
Pick an application and assign it
Open Applications for installed programs, or Processes
for what is running now. Select one, choose the connection it should use, and press
Assign. Pick something you can easily generate traffic with — a browser
or a download client — rather than something that only talks occasionally.
03
Restart that application
Rules apply to connections opened after the rule exists. Sockets already
established stay where they were, so a browser that has been open for hours will
keep using its old path until you restart it. This is the single most common
reason a new rule looks like it did nothing.
04
Confirm the traffic actually moved
Generate some load and watch Activity — throughput should appear on the
adapter you chose and not the other one. Check the rule reads Enforced in
Rules; if it does not, the message next to it says why. The log folder, openable from
Licence & about, records exactly which filters were installed.
Nothing you do here is permanent
The filters belong to the running application, so closing it makes Windows discard
them, and any adapter metric it changed is restored on the way out. If anything looks
wrong, press Remove all in Rules, or simply close the app — the machine
is back to where it started.
Recipes
Setups worth copying
Search or filter, then take the rules verbatim and change the adapter names to
match yours.
No guide matches that. Try a broader term, or ask us directly.
Game traffic on fibre, downloads on the second line
The problem with a big game update is not the bandwidth, it is the queueing. A
saturated uplink adds tens of milliseconds of buffer delay to everything sharing it,
which is exactly what a match server punishes. Moving the download rather than the
game is the trick: the download does not care about latency, and the game barely uses
bandwidth.
Rules name an executable, so this works when the launcher and the game are
different programs — which is the usual case. The launcher does the downloading;
the game does the playing.
Setting it up
In Applications, find the launcher (Steam,
EpicGamesLauncher, Battle.net). Select it, choose your second
line as the connection, and press Assign.
Find the game’s own executable and assign it to the fibre line. If you are not sure
which executable that is, launch the game and look in Processes — it
shows what is actually running.
Press Apply all, then restart both. Filters only affect connections
opened after they exist.
Save the pair as a profile called Gaming so you can switch back and forth in
one click.
Confirming it worked
Start a download and watch Activity: the throughput should appear on the
second line, not the fibre one. Both rules should read Enforced in Rules.
If the launcher and the game are one executable
Some platforms download and play through the same process. In that case this recipe
cannot separate them — a rule names the executable, and one executable can only be on
one line. Splitting by destination would fix it, and destination routing is on the
roadmap rather than in this release.
Corporate VPN without tunnelling everything
Most corporate VPN clients are all-or-nothing: connect, and every packet on the
machine goes through the tunnel, including a video call with your family and a
400 GB game download. Split tunnelling on the client side is often disabled by
policy, and rightly so — but that policy is about company traffic, not yours.
A VPN adapter with its own gateway is just another connection as far as this app is
concerned, so you can put the work applications on the tunnel and leave everything else
direct. Nothing here weakens the VPN: traffic you send through it still goes through it.
Setting it up
Connect the VPN first, so its adapter appears in Adapters with an
address and a gateway. If it shows as not routable, the client has not finished
connecting.
Assign the work applications — the internal tooling, the corporate mail client — to the
VPN adapter.
Assign the applications you want kept off it — the personal browser, the game launcher,
the conferencing client — to your ordinary connection.
Save it as a Work profile, and give the profile a weekday schedule if you want
it to arrange itself in office hours.
Check your acceptable use policy first
Some organisations require all traffic on a managed device to traverse the tunnel
for monitoring or compliance reasons. That is a policy question, not a technical
one — ask before you deploy this on a work machine. Some clients also enforce
full-tunnel policy and will simply re-assert their own configuration.
DNS is separate, and this app does not manage it
A split like this can resolve badly: an internal hostname queried through your home
resolver will not resolve at all. This application does not configure DNS — each adapter
keeps whatever resolver Windows gave it. Set the corporate resolver on the VPN adapter in
Windows network settings, and check with
Resolve-DnsName internal.corp.example.com.
Protecting a metered line from bulk traffic
When the second line is a hotspot or a capped LTE plan, the goal inverts: you are not
trying to use it, you are trying to make sure nothing large wanders onto it. Windows
respects its own metered flag for some system traffic, but third-party applications
largely ignore it.
Setting it up
Assign the known offenders — the backup agent, the torrent client, the game launcher —
to your unmetered connection. Pinning them there is what keeps them off the meter,
because a confined application cannot wander.
Consider isolating the metered adapter as well (select it in
Adapters and press Isolate). That raises its interface
metric so the rest of the system treats it as a last resort, which catches general
traffic you have not written a rule for.
Save it as a profile so you can turn the whole arrangement on when you tether and off
when you are home.
Isolation is coarse, and that is the point
Raising an adapter’s metric affects all system traffic, not one application.
Use it when you want a line kept clear in general. The original metric is journalled
before it changes, so Restore always puts it back — even if the app is
killed rather than closed.
Overnight instead of never
If the cheap hours are what you are after, make two profiles rather than one rule: a
daytime profile that pins the backup agent to the unmetered line, and an overnight
profile that does not. Give the second a 02:00–06:00 window and the scheduler will swap
them for you.
One caution before running a speed test on a metered adapter: it moves real data. Run it
deliberately, not out of curiosity, when an allowance is involved.
Isolating a stream upload
Live encoding is unusually fragile. A sustained upload wants a stable share of the
uplink, and anything else that uploads — a cloud sync finishing, someone else’s video
call, a torrent seeding — takes it away in a way the encoder can only respond to by
dropping bitrate.
Setting it up
Assign the encoder (obs64, or whatever you use) to the line you want it to
own.
Assign the other heavy uploaders — the cloud sync client, the torrent client, the
browser — to your other line. This is the half people skip, and without it
isolating the encoder achieves nothing, because everything else is still sharing its
uplink.
Save it as a Streaming profile. Activate it before you go live and switch back
afterwards — one click each way.
There is no trigger that arms a profile when the encoder launches, so this is a deliberate
switch rather than an automatic one. If your streams are scheduled, a daily window on the
profile does the same job.
Test the failure case before you go live
If the encoder’s line drops mid-stream, the encoder loses its connection — it is not
moved to the other line, because there is no automatic failover. Unplug the cable once
in a rehearsal and see what your software does, rather than finding out during a show.
Profiles that switch themselves on a schedule
A schedule belongs to a profile, not to a rule. You build the rule set you want, save it
as a profile, then give that profile a daily window. When the window opens the profile is
activated for you; when it closes, its enforcement is cleared.
Setting it up
Build the rules you want active during the window, then go to Profiles
and press Save current. Name it for the situation — Work,
Overnight — rather than for the rules inside it.
Select the profile and set its schedule: a start time, an end time, and which days it
applies to (every day, weekdays or weekends).
Enable the schedule. The status bar tells you when a scheduled activation happens, and
you get a tray notification if the window is hidden.
Windows that cross midnight
22:00 to 06:00 is treated as one overnight span rather than an impossible one, so an
overnight download profile works the way you would expect. The days you select are the
days the window starts on.
Two things to know
The app has to be running. The scheduler lives inside it, not in a
a service — there is none. Turn on Start with Windows and
Start minimised so it is there from sign-in without a window appearing.
Activation is a single transaction. The previous profile’s enforcement is
torn down and the new set applied together, so you never sit in a half-applied state.
Failures are reported with a reason rather than passing silently.
Scheduling is time-based only
Nothing switches a profile because a line got slow or an application launched. There
are no health probes, no thresholds and no automatic failover — a schedule fires on the
clock, and everything else is a decision you make.
Deploying to a fleet from one JSON file
The shape that works today: install silently, then hand every machine the same exported
profile. A profile carries its rules and its schedule, so one file is the whole
configuration.
1 — Install silently
It is a standard per-machine MSI, so the usual switches apply. There are no custom
properties: the licence key and the profile are supplied afterwards, not at install time.
Build the rules on one reference machine, save them as a profile, then
Export it to JSON. Put that file on your share. The export contains a
schema version, the profile name and schedule, and one entry per rule with the
process name, its executable path and the adapter name.
3 — Import on each machine
On each machine, Import the file and activate the profile. A name collision
gets a suffix rather than overwriting, so importing twice never silently replaces what was
already there.
There is no command-line interface or PowerShell module in this release, so this step is
performed in the application rather than scripted. If unattended convergence is a hard
requirement for your rollout, say so when you get in touch — it is the main thing driving
the scripting work.
Adapter names differ across machines
This is the thing that catches fleets out. A profile naming Ethernet will not
match the laptop where the dock enumerates as Ethernet 2, and rules whose
adapter cannot be found will not be enforced — the Rules list will say so rather than
failing quietly.
Either standardise adapter names during imaging, or keep one exported profile per hardware
model. Checking the Rules list after import is worth building into your rollout: it is the
fastest way to catch a name mismatch on a machine you cannot see.
When it does not work
Troubleshooting
Ordered by how often each one turns out to be the answer. Work down the list.
Did you press Apply? Creating a rule and enforcing it are two steps.
The Rules list shows which state each rule is in — Enforced or
Inactive — and a rule that could not be enforced shows the reason.
If it says enforced, restart the application you are routing. Filters affect
connections opened after they exist, so a browser that has been open for hours keeps
its existing ones. This is the single most common cause.
The traffic probably does not belong to the executable you named. Some applications
delegate networking to a shared host process, so the connection belongs to that host
and a rule naming the visible program cannot catch it. Processes shows
what is actually running.
A child process running a different executable is also not covered by its
parent’s rule — a launcher that spawns a separate game binary needs its own rule.
The log folder, openable from Licence & about, records exactly which
filters were installed and on which adapters.
Open Adapters. Every adapter found is listed, and one that cannot carry
traffic says why in plain words rather than being hidden. The usual reasons are no
gateway, no assigned address (a 169.254.x.x address means no DHCP lease), or
a status other than up.
The app refuses to assign an application to a non-routable adapter on purpose: doing so
would take that application offline the moment the rule applied.
Two adapters on the same subnet will both appear, but splitting traffic between them
rarely achieves anything — they share the same path.
Expected, and deliberate. Filters belong to the running process, so a reboot clears
them, and saved rules are reloaded disabled — a rule that was enforced last
session is not enforced now, and showing it as active would be a lie.
For them to come back on their own, turn on Start with Windows and
Re-apply rules on launch in Settings. The second is off by default
because it changes how the machine routes traffic before anyone has looked at it.
If enforcement fails on launch, the usual cause is a security product blocking
filtering-platform registration. The log will show the error; add the installation
directory to the scanner’s exclusions.
This is DNS, not routing. The traffic may be going down the right adapter while the
name was resolved through the other line’s resolver — so the answer is optimised for
the wrong network, or for an internal name does not exist there at all.
This application does not configure DNS: each adapter keeps whatever resolver Windows
gave it. Set the resolver on the adapter itself in Windows network settings, and check
what each one answers with
Resolve-DnsName example.com -Server <resolver>.
Close the application. That is the whole recovery path: the filters
belong to the process, so Windows discards them when it exits, and any adapter metric
it changed is restored on the way out.
If it was killed rather than closed, launch it again — it reads its journal and
restores any adapter left isolated before doing anything else. Or press
Remove all in Rules to clear everything immediately.
If you cannot launch it at all, an adapter left at metric 9999 can be handed back to
Windows from an elevated prompt:
Then press Copy diagnostics in Licence & about and send us that
text — it names your adapters, rules, enforcement state and licence status, and you
can read it before sending.