If you keep only one conclusion from this remote-work VPN guide: for video meetings watch packet loss and jitter first, for document collaboration watch latency, and for code hosting and package managers watch bandwidth and the cost of retransmits. Route order: dedicated line first, relay second, direct last. Below, the three metrics are unpacked, then a comparison method you can reproduce yourself, and finally split-routing rules and the differences between platform clients.
The biggest difference between office broadband and home broadband isn't peak speed — it's stability. International gateways are relatively idle during the day, but after 8pm packet loss on the same routes climbs noticeably. Almost every remote-work complaint lands in that window, so pick routes by their worst hours, not by the one speed test that looked best.
Packet loss, latency, jitter: three hard metrics
Packet loss is the share of packets that never reach their destination in a given period. Video meetings run over UDP, and dropped packets are not retransmitted — the picture degrades into blocky artefacts and the audio turns into clipped, robotic speech; loss of even one or two percent is usually audible. Pulling code or syncing a cloud drive runs over TCP, where loss triggers retransmits, so the symptom isn't worse quality but a progress bar frozen for tens of seconds. On the same route the two kinds of tool can feel completely different, which is the usual reason one person calls a line fine while another calls it unusable.
Latency is the round-trip time, RTT. In a voice meeting, anything past 200 ms turns into people talking over each other; remote desktops and collaborative editing are even more sensitive, and the cursor visibly lags behind. Cross-border access has a physical floor: light takes tens of milliseconds to travel one way through fibre, and routing detours add more, so no “zero latency” claim holds up — all you can do is shorten the detour.
Jitter is how much latency varies — the variance of the delay. It affects call quality more than average latency does: a route averaging 80 ms with 60 ms of jitter usually sounds worse than one holding steady at 150 ms. A large share of “the meeting keeps freezing” complaints are really jitter, not a lack of bandwidth.
Route quality shifts with region, ISP and time of day, so any speed-test screenshot goes stale. A method beats a number: run the commands below on your own network and what you get is the answer for your location.
How the three tool types differ
Everyday remote-work tools fall into three traffic shapes: continuous small packets for meetings and documents, bursty large packets for code and package managers, and long-lived but sparse requests for AI completion. They stress a route in different ways, so they should not all sit in the same proxy group.
| Tool type | Typical examples | Most sensitive metric | Suggested route | Why |
|---|---|---|---|---|
| Video meetings | Zoom, Teams, Tencent Meeting | Jitter > loss > latency | Dedicated line first, relay as backup | Runs on UDP; dropped packets are not resent, so quality drops immediately |
| Real-time collaborative docs | Notion, Feishu Docs, Google Docs | Latency and connection stability | Dedicated line or high-quality relay | Long-lived connections with frequent small packets; a drop means reconnecting everything |
| Code hosting and package managers | GitHub、npm、PyPI | Bandwidth and packet loss | Relay is enough; use a dedicated line for large repos | Large one-off transfers where retransmits are expensive |
| AI completion and chat | Cursor、Copilot | Time to first byte and long-lived connections | Stable relay | Streamed responses; a mid-stream break means regenerating |
Putting meetings and downloads in the same proxy group is the most common mistake: one system update can saturate the meeting route's bandwidth, and all you notice in the call is that people cannot hear you. Grouping is not about tidy categories — it is about keeping different traffic types from competing.
Dedicated, relayed and direct: real differences
Direct means the client connects straight to an overseas node and traffic exits mainland China through a public international gateway. It is the cheapest option, but when that gateway congests at peak hours, loss and jitter rise together. It suits one-off downloads and mirror syncs — tasks you can retry — not real-time work that cannot be redone.
Relay means connecting first to a nearby relay node — usually Hong Kong, Japan or Singapore — and going out to the world from there. The leg inside mainland China runs over an optimised path while the international leg still uses the public internet, so it is steadier than direct and cheaper than a dedicated line. Most day-to-day document collaboration and code hosting sits at this tier.
A dedicated line (IEPL and similar) is a carrier-grade international Ethernet circuit that exits mainland China over a private path rather than a public international gateway. Its value is not peak bandwidth but the smallest swings at peak hours. Video meetings, remote desktops and live streaming — anything that cannot be retried — are what justify tying up dedicated capacity.
| Route type | Exit path | Peak-hour stability | Best for | Trade-off |
|---|---|---|---|---|
| Direct | Public international gateway | Noticeable swings | One-off downloads, mirror syncs, retryable tasks | Cheap, but not recommended for meetings |
| Relay | Forwarded through a nearby node, then out | Fairly stable | Document collaboration, code hosting, everyday browsing | One extra hop, longer path |
| Dedicated line | Private path straight out | Most stable | Video meetings, remote desktop, live streaming | Scarce capacity, usually allocated per route |
Choosing routes: four steps
Putting the conclusions above into practice takes four steps, and the order matters — change them out of sequence and the numbers you measure have nothing to compare against.
- Measure your local baseline first. With no proxy running, ping the target service directly and record loss and jitter; this is your control group.
- Give meetings their own dedicated line. Put the meeting service's domains in a separate proxy group that only uses the dedicated line, never sharing an exit with downloads or updates.
- Send documents and code through the relay. These make many requests but tolerate a few hundred milliseconds of extra latency, so the relay group saves dedicated bandwidth.
- Leave direct connections for non-real-time work. System updates, mirror syncs and large downloads go direct — do not let them occupy the meeting route.
If your subscription offers only one route, give meetings exclusive use of it during meeting hours and let other tools have it the rest of the time. Meetings usually take two or three hours a day; locking down route quality for those hours matters more than the all-day average.
A reproducible test method
Use only the built-in ping, mtr and curl. The three commands cover loss and jitter, hop-by-hop path quality, and TCP handshake plus time to first byte — enough to judge whether a route can carry a meeting. Swap in the domains of the services you actually use.
# 1. Loss and jitter: 200 packets in a row, read loss% and mdev
ping -c 200 zoom.us
# 2. Hop-by-hop quality: where the loss starts
mtr -rwzc 100 github.com
# 3. TCP handshake and time to first byte: rule out UDP noise
curl -o /dev/null -s -w 'dns %{time_namelookup} connect %{time_connect} tls %{time_appconnect} ttfb %{time_starttransfer}\n' https://github.com
How to read the results: ping's loss% is the packet loss rate and mdev approximates jitter — look at the distribution across all 200 packets, not the best single sample. In mtr, read Loss% hop by hop; if it climbs steadily from a particular hop, the problem sits on that segment and changing clients will not help. In curl, time_connect and time_starttransfer map to the TCP handshake and time to first byte, which are the two numbers that matter for document collaboration and AI completion.
How to compare: in the same window (say 8pm to 11pm), test direct, relay and dedicated line in turn, three rounds each with two minutes between rounds, and take the median. Only data from the same window, the same target and the same machine can be compared side by side; cross-window comparisons mean nothing.
Split routing and DNS leaks: what to do
Split routing means grouping domains by purpose so the client can match them against rules. Clash-based clients pull domain sets through rule-providers; sing-box uses route.rules with domain_suffix. Rules match from top to bottom, so the meeting group has to come first — otherwise a later rule captures it and the setup looks correct while doing nothing.
A DNS leak means DNS queries skip the proxy and are still resolved by your local ISP. That causes two problems: the queries are exposed in plaintext DNS, and the answers may point to a CDN node further away, so the extra detour leaves you with higher latency. The fix is to let the client handle DNS, using fake-ip mode or remote resolution, and to turn off the browser's own “secure DNS”, which otherwise resolves queries itself and bypasses the proxy.
At the protocol level: Shadowsocks (AEAD encryption), VMess, Trojan (using TLS to look like ordinary web traffic) and VLESS (lighter, often paired with XTLS or Reality) are TCP-based; Hysteria2 and TUIC run over QUIC on UDP and hold up better on lossy, high-latency paths, though some networks rate-limit or block UDP outright. Every route in the subscription uses the same military-grade encryption; the protocol differences show up mainly in traffic characteristics and behaviour on poor networks.
Hysteria2 and TUIC may fail to connect at all. Keep one TCP route (Trojan or VLESS) in the subscription as a backup, and confirm which one works before an important meeting rather than finding out after it starts.
How clients differ by platform
The same subscription behaves differently across systems, and the differences come down to two things: whether the client can take over all traffic, and whether the system suspends it in the background.
- Windows: use TUN mode to capture all traffic, and do not run the system proxy and TUN at the same time — the two rule sets overwrite each other.
- macOS: the first launch needs network extension approval; if a meeting app has a “direct connection” option enabled, it bypasses the proxy and uses the local exit.
- iOS: after importing the subscription, confirm the VPN configuration is enabled; background processes get suspended, so reopen the client before a meeting and check the connection status.
- Android: add the client to the battery optimisation whitelist, otherwise the process is killed once the screen is off and the call drops mid-meeting.
- Linux: run the command-line client under systemd for persistence; desktop environments need the proxy set separately, or just use TUN.
Rechecking the connection before a meeting saves far more time than troubleshooting afterwards. Laptops in particular often show “connected” after the lid is closed and reopened, when the link is already gone.
Pre-flight checklist
The checklist below is organised around meeting scenarios; run through it item by item and most last-minute problems disappear.
- ✅ Run a ping ten minutes before the meeting and confirm zero packet loss
- ✅ Give meeting domains their own proxy group, not shared with downloads or updates
- ✅ Use curl to confirm the exit IP and region are what you expect
- ✅ Let the client handle DNS and turn off the browser's built-in secure DNS
- ✅ Keep one TCP route in the subscription as a backup for when UDP is rate-limited
- ❌ Running a client meeting on free public nodes
- ❌ Switching routes or editing rules mid-meeting
- ❌ Posting the subscription link in a public repo or chat group
Conclusion and which plan fits
VPNDH's route list is grouped by region and route type, so the meeting group can draw only on dedicated nodes. Monthly plans: ¥9.9 for 60GB, ¥18 for 250GB, ¥28 for 500GB; data resets each month on your activation date, and upgrading mid-cycle is prorated by the days remaining. There is no device limit — laptop, tablet and office desktop can all be signed in at once. No email address is required: a username and password are enough, and a no-questions-asked refund can be requested within 60 days of the first payment, so trying a route that does not fit costs little.
Three common follow-up questions
Do remote workers really need a dedicated line?
Not always. Only real-time work that cannot be retried needs it — client-facing video meetings, remote desktops, live streaming. A high-quality relay is enough for document collaboration and code hosting, and it is better value to keep dedicated capacity for meeting hours.
Can one route handle meetings and downloads at the same time?
Technically yes, in practice no. A large download saturates the exit bandwidth and jitter on the meeting side climbs noticeably. Splitting the two traffic types with routing rules is more direct than buying a bigger plan.
Why does the meeting still stutter when measured latency is low?
Most likely jitter or short bursts of loss, which a single ping average will not show. Use ping -c 200 to see the whole distribution, then mtr hop by hop to find which segment is dropping packets.