Before You Start: Understand Clients, Subscriptions, and System Permissions

Setting up a VPN on Android means connecting a client, subscription configuration, and Android’s VPN permission. Installing an app doesn’t mean a route is ready to use, and a successful import doesn’t prove your traffic is going through the selected exit. Follow the steps below in order—prepare, import, connect, and verify—and check the result at each stage.

The client reads configuration, lets you select nodes, and handles traffic. A subscription link provides the nodes and related configuration offered by the service. Android’s VPN permission lets an app use the system interface to handle eligible network traffic. Missing any one of these can leave you with a setup that looks complete but still can’t load webpages.

VPNGD doesn’t require an email address; you can create an account with a username and password. After signing in, get your subscription. Eligibility to download a client depends on the details shown in your dashboard. First check your service status and traffic there, then visit the client downloads page. Avoid installation files shared in unfamiliar chats or file-sharing sites, even if they use a familiar app name.

Install an Android Client and Check Compatibility

Check your dashboard for an Android-compatible client and its import instructions. If you have an APK file, Android may ask you to allow your current browser or file manager to install unknown apps. Grant permission only to the source you actually used to download the file, and turn it off again afterward if you wish. This installation permission is separate from the VPN permission required to connect later.

Don’t choose a client based only on a similar name. Shadowsocks, VMess, Trojan, VLESS, Hysteria2, and TUIC are different proxy protocols. Client support depends on its core and version, and support for one protocol doesn’t guarantee compatibility with every subscription format. This is a general compatibility overview, not a claim that VPNGD offers all of these protocols.

Android’s “Add VPN” setting is generally for VPN types supported natively by the system; it won’t accept a generic proxy subscription link. If your service provides a proxy subscription, import it into a compatible client instead of entering the link in Android’s server address field.

  1. Download the installation file for your device from the source recommended in your dashboard. Check for any system warning about an incompatible version or device architecture.
  2. After installation, open the app and look for an option such as “Configuration” or “Subscriptions.” Don’t turn on the connection yet.
  3. Return to the dashboard and check the instructions for your client to confirm the correct import format, then copy the subscription link.

If installation fails, first check that the file downloaded completely, your system is compatible, and there isn’t already an app with the same name but a different signature on your device. Don’t clear an existing app’s data just to install over it. Before switching apps, make sure you can retrieve your subscription from the dashboard.

Import the Subscription and Confirm the Nodes Load

A subscription link isn’t a node name or a regular website homepage. It usually points to configuration data that can be updated, and the client needs to access it to retrieve the nodes. The option may be called “Import from URL,” “Add remote configuration,” or “Subscription management,” depending on the app. Follow the labels in your client.

  1. Copy the subscription link for your current client from the dashboard. Make sure you don’t copy nearby instructions or leave off the end of the link.
  2. Return to the client, add a remote configuration, and paste the link. Give the configuration a name that’s easy for you to recognize.
  3. Save the configuration and select the update or download option. Wait for the client to confirm success; seeing an empty configuration name isn’t enough.
  4. Select the configuration you just imported, open the nodes or policy groups page, and make sure selectable routes appear.

If the app can open the import screen from your dashboard, you can use that option—but return to the client afterward and confirm that the configuration is enabled. If you see “Invalid format,” check the subscription type first. If you see “Failed to fetch,” check your local connection and access to the dashboard. Pasting the same link repeatedly usually won’t fix an incompatible format.

Don’t edit parameters in the link or manually assemble node passwords. To refresh your nodes, use the client’s subscription update feature. Before deleting and re-importing a configuration, note any routing rules you’ve customized so you don’t lose settings that were working.

Grant VPN Access and Choose a Routing Mode

After selecting a configuration and node, turn on the connection. Android will usually show a system connection request explaining that the app wants to establish a VPN connection. Check the app name before allowing it. This permission lets the app handle traffic; it doesn’t confirm that the subscription imported successfully. Once connected, Android will generally show a VPN status icon, though its location varies by system.

Android generally can’t run multiple apps that use a VPN interface at the same time within the same user profile or work profile. If another VPN, ad blocker using local VPN mode, or firewall is active, stop it before testing. Always-on VPN or “Block connections without VPN” may also affect switching, so check these settings for your intended use.

Mode names vary between clients; refer to each client’s documentation for their exact meaning
Mode How it usually handles traffic When to use it What to check
Rule-based mode Uses rules such as domains, addresses, or apps to choose between direct and proxied connections Everyday access to a mix of local and international websites Whether the target app matches the expected policy
Global proxy mode Usually proxies traffic that falls within the client’s scope A quick test for possible rule-matching issues Whether app exclusions and LAN bypass settings are still in effect
Direct mode Usually doesn’t route traffic through a proxy node Compare your regular connection with the proxy connection Don’t assume the proxy is working just because the client’s switch is on

For your first setup, start with the rules provided by the service. Avoid changing DNS, routing, protocol parameters, and app exclusions all at once. If a webpage works only in global mode, check how it matches the rules rather than leaving global mode enabled indefinitely. Global mode also doesn’t guarantee that every app’s traffic will be handled.

Adjust Battery Settings to Prevent Disconnects When the Screen Is Off

Some Android systems restrict background activity. You may find that the connection works while the screen is on, but messages stop updating after you lock it, or the client works again only after you reopen it. Check the system’s battery settings before assuming your subscription has stopped working. Menu names vary by manufacturer; look in the app info screen for options such as “Battery,” “Background activity,” or “Autostart.”

  • ✅ Allow the client to run in the background as needed, and set it to unrestricted or exempt from battery optimization if your system offers that option.
  • ✅ If your system has autostart controls, allow the client to start as needed and keep its foreground service notification enabled.
  • ✅ If Data Saver is on, check whether it restricts the client’s background network access.
  • ✅ After locking the screen, reopen an app you use regularly and check that it still works. Then switch networks and check the connection again.

Some systems let you lock an app in the recent-apps screen to make it less likely to be cleared, but this doesn’t disable battery restrictions. You don’t need to grant access to contacts, photos, or other features unrelated to networking. If you’re unsure why a permission is needed, check the client’s documentation first.

Switching from Wi-Fi to mobile data may require the connection to be re-established. If it doesn’t reconnect automatically, wait for the new network to stabilize, then disconnect and reconnect. Avoid switching nodes repeatedly before your underlying network has internet access; it makes it harder to tell whether the problem is local connectivity or the route.

Verify the Connection: Check Websites, Exit IP, and DNS Separately

The status bar icon only shows that a VPN interface is active; it doesn’t prove that a particular website is reachable. First open a site you normally use to confirm your local connection works, then try the international website you need, and finally test the target app. If a webpage loads but you can’t sign in, the issue may involve your account, regional rules, or the service’s security checks.

To check your exit IP, use an IP lookup page you trust and compare the results before and after connecting. In rule-based mode, the lookup page may be set to connect directly, so an unchanged exit IP doesn’t necessarily mean that no traffic is going through the proxy. Check the client’s connection logs, matched policies, and test destination together.

DNS checks show whether domain lookups are taking the expected route. A test page showing a particular resolver doesn’t prove a leak just because of where that resolver is located. Encrypted DNS in your browser, Android Private DNS, the client’s DNS settings, and routing rules can all affect the result. If a domain won’t load while the connection is still active, note these settings and compare them with the client’s instructions before changing them one at a time.

Setup also differs by platform. A desktop “system proxy” setting may not handle traffic from every app, while Android clients often use the system VPN interface. Don’t copy desktop port settings or skip Android’s system permission and background activity checks just because the service works on your computer.

Common Issues: Troubleshoot Based on What You See

The Subscription Imported, but No Nodes Appeared

Check that the configuration you just imported is enabled and review the update result. Some clients don’t download the subscription automatically after you save the link. The format may also be incompatible, leaving only the configuration name saved. Checking your dashboard, compatible clients, and subscription type is more useful than changing protocol settings first.

A Node Is Selected, but Websites Won’t Load

Disconnect the client first and check whether your local network can access the internet. Then check system permissions, connection logs, and routing mode. If switching to another node in your dashboard fixes the issue, note the original node name and when the error occurred so you can report it. IEPL, transit, and direct routes describe different network arrangements, not client protocols, and they can’t fix problems with your local Wi-Fi.

Some Apps Work, but Others Don’t

Check whether the affected app is excluded, whether a rule sends its domain directly, and whether the client supports the type of traffic the app needs. Some apps rely on UDP, so a successful browser test isn’t enough. Reproduce the issue with the configuration recommended in your dashboard, then include your client version, system details, and redacted logs when you submit a support ticket in your dashboard. Don’t share your full subscription link.

If you need to review the setup steps, see the setup guide. For route details or pricing, see the route list and plans page. Verify your setup before choosing based on your needs, so you don’t mistake a configuration issue for a reason to change plans.