Testing & Auto Selector
Test profiles for latency, exit IP and speed, sort and filter the list, remove dead profiles, and let the auto selector pick the best server.
Throne can test your profiles and help you keep only the good ones. This page covers the URL test, the IP and country test and the speed test, sorting and filtering, cleaning up, and the auto selector, which picks the best server for you.
Tests do not stop the running profile. They skip auto selector profiles; test the group that the auto selector uses instead.
URL test
The URL test checks that a profile works and measures its latency. Throne requests the Latency Test URL through the profile two times and shows how long the second request took, in milliseconds.
To start a URL test:
- Selected profiles: right-click them and choose
Url Test Selected(Ctrl+Shift+S). - The whole group: choose
Groups→Url Test Group(Ctrl+Shift+G), or right-click the group tab and chooseUrl Test selected Group. - The running profile: click the profile name at the left of the status bar. Throne tests the live connection once and shows
Test Result:with the time, orUnavailable, in the status bar.
While a test runs, Stop Testing (Ctrl+.) appears in the right-click menu and in the Groups menu.
The Test Result column shows one of these:
| Result | Meaning |
|---|---|
A time such as 85 ms |
The profile works. The time is green up to 100 ms, yellow up to 300 ms and red above that. |
Unavailable |
The test failed. The log has a line with test error and the reason. |
Connect OK |
An OpenVPN or OpenConnect profile connected, but the test URL did not answer through it. |
The test settings are in Settings → Basic Settings → Common, under Testing:
| Setting | Default | What it does |
|---|---|---|
Latency Test URL |
http://cp.cloudflare.com/ |
The address that Throne requests through each profile. |
Timeout (next to Concurrency) |
3000 ms |
The time limit for each request. Do not set it too low: profiles with multiplexing need more time for their first request, and a short timeout marks them as failed. |
Concurrency |
10 |
How many profiles are tested at the same time. |
Direct Test URL |
empty | Fetched without any proxy, so that the auto selector can tell a dead Internet connection from dead servers. Use an address that works on your network without a proxy. Empty means that Throne uses the network state of the operating system. |
To copy the results of selected profiles, right-click them and choose Share → Copy Test Result.
IP and country test
This test shows the exit IP address of each profile and its country. This is the address that websites see.
- Selected profiles: right-click them and choose
Resolve Selected Out IP. - The whole group: choose
Groups→Resolve out IP for group.
Throne requests https://api.ip2location.io/ through each profile. The Test Result column then shows the country flag, and the exit IP if Out IP is included (see Sort and filter). The test uses the Timeout and Concurrency of the URL test.
The country is used by the country filter and by the auto selector's Only countries option. For the services that Throne contacts, see Privacy.
Speed test
The speed test measures the download and upload speed of a profile.
- Selected profiles: right-click them and choose
Speedtest Selected(Ctrl+Shift+P). - The whole group: choose
Groups→Speedtest Group(Ctrl+Alt+P), or right-click the group tab and chooseSpeed Test selected Group. - The live connection: while a profile runs, choose
Tools→Speedtest Current(F6).
Throne tests the profiles one at a time. The Test Result column then shows the download speed after ↓ and the upload speed after ↑, if Speed is included.
Choose what the test does in Settings → Basic Settings → Common → Speedtest mode:
| Mode | What it does |
|---|---|
Download + Upload (default) |
Finds a nearby Speedtest server, then measures download and upload. |
Only Download |
Measures download only. |
Only Upload |
Measures upload only. |
Simple Download |
Downloads the file at Simple Download URL, by default http://cachefly.cachefly.net/1mb.test. No server search. |
Only Country |
Only finds the nearest Speedtest server and shows its country. It is fast, uses almost no data and tests many profiles at the same time. |
The Timeout next to Speedtest mode (default 5000 ms) limits each part of the test.
Sort and filter
To sort the profiles of a group:
- Click a column header to sort by that column. Click it again to reverse the order. Throne saves the new order.
- When you sort by latency with the first click, the fastest profiles come first. Failed profiles follow, and untested profiles come last.
- Right-click the
Test Resultheader to choose what the column shows (Include:Out IP,Speed) and what it sorts by (Sort By:Latency,Download Speed,Upload Speed,IP Out). - Right-click the
Trafficheader to sort byTotal,DownloadedorUploaded. - Drag rows to put them in any order. This does not work while the filter is on.
A subscription update puts the profiles back in the provider's order. To sort a subscription group after each update, use its Sort by latency option; see After each update.
To filter the list:
- Press
Ctrl+F, or click the filter button at the right end of the group tab bar. - Type in the field under the
Type,AddressorNameheader, or inFilter by country...underTest Result.
The list then shows only the profiles that contain the text; case does not matter. In the Address field, port=443 shows the profiles on port 443, and port=1000:2000 the profiles on a port from 1000 to 2000. One end of the range can be empty, for example port=8000:. The country field matches the country code from the IP or speed test, for example DE. Press Ctrl+F again to hide the fields; this also clears them.
Clean up
These commands are in the Groups menu. They work on the current group.
| Command | Shortcut | What it removes |
|---|---|---|
Remove Duplicates |
Ctrl+Shift+D |
Profiles that are exact copies of an earlier profile, including the name. The first copy stays. |
Remove Unavailable |
Ctrl+Shift+R |
Profiles whose last test failed. It never removes the running profile. |
Remove Invalid |
Ctrl+Alt+I |
Profiles that the core rejects as invalid. |
Remove Insecure Configs |
– | Profiles whose traffic is not properly protected: no encryption, TLS without certificate checks, or old Shadowsocks ciphers. |
Clear Group test result |
Ctrl+Shift+C |
Only the test results. The profiles stay. |
Throne asks before it deletes anything, unless Settings → Basic Settings → Style → Skip confirmation When Deleting Profiles is on. If Remove Duplicates, Remove Invalid or Remove Insecure Configs removes the running profile, Throne stops it.
To see which profiles count as insecure, turn on Settings → Basic Settings → Style → Show Config Security. The Type column then shows the security of each profile, and insecure profiles get a warning sign.
To clean up automatically:
- The group option
Auto Clear Unavailable Profilesdeletes failed profiles after every URL test of the group, without asking. See Group options. - A subscription group can remove duplicate, insecure, invalid and failed profiles after each update. See After each update.
Auto selector
An auto selector is a special profile. When you start it, it picks the best working profile from one group, keeps checking the others, and switches when the current one gets worse or fails. New servers from a subscription update join it by themselves.
To create one:
- Select the tab of the group that it should use.
- Choose
Program→New profile(Ctrl+N). The editor opens withAuto Selectoralready chosen as theType. - Enter a
Name. - Check
Servers from. It is the group that the auto selector picks from. - Click
OK, then start the new profile like any other profile.
The editor shows a summary of what will happen, for example how many profiles of the group can be used. The basic options are:
| Setting | Default | What it does |
|---|---|---|
Servers from |
the current group | The group whose profiles the auto selector uses. |
Only names matching |
empty | An optional regular expression. Only profiles whose name matches are used, for example to pick one country or provider. Case does not matter. |
Share traffic between the best profiles |
off | Off: one profile carries all traffic, and the other ready profiles stand by. On: traffic is spread over the working profiles; see Load balancing below. |
Preferred profile |
– | Appears only after you chose a profile with Use this profile in the stats window. Use automatic returns the choice to the auto selector. |
Advanced… shows more options, in the parts Which profiles to use, Health checks, Switching, Load balancing and Test endpoints. All of them have working defaults.
| Setting | Default | What it does |
|---|---|---|
Only countries |
empty | Country codes separated by commas, for example DE,NL,FR. Uses the country from the IP test, so profiles that were never IP-tested are skipped while this is set. |
Run the best |
300 profiles | How many profiles are loaded into the running config. The auto selector switches between them without reconnecting. |
Rank at most |
1000 profiles | How many profiles are measured and kept in the ranked list. Replacements come from this list. |
Trust results for |
1440 min | URL test results this recent are reused instead of testing again. 0 means always test again. |
Skip failed profiles |
on | Leaves out profiles whose last test failed, while that result is still trusted. |
Keep ready |
3 profiles | How many profiles are kept confirmed working, so that a failure is covered at once. |
Check closely |
8 profiles | How many of the best profiles are checked at every Check interval. |
Check interval |
300 s | How often the closely checked profiles are measured. |
Full sweep every |
600 s | How long one pass over all running profiles takes. |
Watch profile in use |
15 s | How often the profile that carries your traffic is checked on its own. |
Samples kept |
10 | How many recent checks the ranking uses for average latency and jitter. |
Switch tolerance |
300 ms | Another profile must be at least this much faster before the auto selector switches to it. |
Maximum latency |
no limit | Profiles slower than this are never chosen. |
Failover attempts |
2 | When the chosen profile fails to connect, how many others are tried at once before the app sees an error. |
Drop connections on switch |
on | On: after a switch caused by a problem, all connections move to the new profile at once. Off: open downloads finish on the old profile. |
Mode (load balancing) |
Rotate on a timer (keeps sessions stable) |
Used with Share traffic between the best profiles. The other mode is Per connection (widest spread), where every new connection can take a different profile and your exit IP can change during a session. |
Rotate every |
30 s | For the timer mode: how long the auto selector stays on one profile before new connections move to the next. |
Test URL |
empty | The address used to measure profiles. Empty means the global Latency Test URL. |
Connectivity URL |
empty | Fetched without the proxy to notice when your Internet connection is down. Empty means the Direct Test URL from the test settings. |
How it runs:
- Before it starts, it URL-tests the profiles that have no result newer than
Trust results forand ranks them. Then it loads the best of them, as many asRun the best, into the running config. The log shows lines that start with[Auto selector]. - If all running profiles stop working for 20 seconds, it rebuilds from the next best profiles. It waits longer between repeated rebuilds, from 60 seconds up to 10 minutes.
- If your computer has no network connection, the checks pause until it comes back.
While an auto selector runs, Tools → Auto Selector Stats opens its stats window. The table shows each profile with Profile, Status (Working, Unstable, Not checked, Failing or Paused), Latency, Jitter, Checks, Connects, Last OK and Notes. Only show profiles with problems hides the working ones. The buttons are:
Use this profile: keep the selected profile in use instead of the ranking's choice.Back to automatic: let the ranking choose again.Check all now: measure all running profiles now.
Limits:
- An auto selector cannot be a hop in a chain, or the
Front ProxyorLanding Proxyof a group. - It skips these profiles of the group: chains and other auto selectors, OpenVPN and OpenConnect, Tailscale, Extra Core, custom sing-box full configs, and custom configs that cannot be read. Xray full configs are skipped when they cannot be combined with the group's front or landing proxy.
On Android
Throne for Android has the same tests and the same auto selector.
- On the Profiles screen, the
⋮menu hasURL test,IP & country test,Speed test,Speed test current connectionandStop testingfor the current group. It also hasClear test results,Remove(Duplicates,Unavailable,Invalid,Insecure configs) andSort. For selected profiles, useTestin the selection menu. - Before a speed test of more than one profile, the app asks for confirmation: "Speed testing can use significant data."
- A test panel shows the progress, the counts
Working,Failed,PendingandSkipped, a latency chart (≤100 ms, ≤300 ms, >300 ms, fail), the fastest profile, the countries and the number of distinct exit IPs. It also offers actions such asSort by latencyorSort by speed,Remove unavailable(with the number of failed profiles),Connect to fastest(Select fastestwhen you are not connected) andDismiss test results. - While connected, tap the statistics bar ("Connected, tap to check connection") to test the live connection. The result looks like "Success: HTTP handshake took 120ms" or "Failed: …".
- To create an auto selector, choose
Add profile→Manual settings→Auto selector. The options and defaults are the same as on desktop, written in sentence case, for exampleServers from,Only names matchingandRun the best. Tap the auto selector's status line on the Profiles screen to openAuto selector stats, withUse this profile,Back to automaticandCheck all now.