The Incomplete iOS Guide

← Back to How-Tos

Loon app icon
SOFTWARE GUIDE · LOON

Too Many Ads, Slow Connection? Smart Routing with Loon on iPhone — Say Goodbye to Splash Ads

Start from everyday use: learn rules and policy groups, then set up routing and ad blocking step by step.

How-TosGetting startedAbout 8 min read

1. What Is Loon?

Loon is a network proxy and traffic management tool for iPhone. It can pick a proxy policy for each request based on rules, and can also block or handle some network requests through rules, plugins and more. This article covers only the two most common everyday uses: routing and ad blocking; advanced features like packet capture and scripts are not covered here.

Before you start, you need a working node or service configuration. Loon does not provide proxy nodes itself; you must judge subscription sources and service quality yourself. Get configurations through trusted channels and comply with local laws and the relevant terms of service.

2. A Few Basic Concepts First

1. Nodes

Think of a node as a relay server your network requests pass through. Nodes are usually provided by a network service provider, or you can set up your own. Importing nodes only gives Loon routes to choose from; it does not mean your rules are set up.

2. Rules

Rules look at a request’s domain, IP and other details to decide which policy it should use. For example:

Rules ultimately point to Direct, Reject or a policy group. Loon’s matching order is not simply “all rules from top to bottom”: the official docs cover domain rules, IP rules, the order of other rules, rule-source priority and the FINAL fallback policy. When rules conflict, see the official rule matching docs.

3. Policy Groups

A policy group is a set of nodes or other policy groups. Common types:

TypeWhat it doesWhen to use
Manual select (select)You choose the current node or policy yourselfWhen you want to pick routes yourself
Auto speed test (url-test)Periodically tests members and picks a lower-latency nodeWhen you want routes chosen automatically; low latency doesn’t mean the best experience on every site
Failover (fallback)Uses available members in orderTo have backup options for your routes

Policy group names and members depend on your current configuration, and the group names referenced by rules must match those in the configuration. See the policy group docs.

4. Plugins

Plugins are reusable configuration bundles that can include rules, rewrites, scripts and other modules. Some ad-blocking plugins reject ad domains with rules, while some features may rely on rewrites or MitM. Read the plugin’s description and check who maintains it first; installing a plugin doesn’t guarantee it works with every app.

3. Importing Nodes or a Service Configuration

What service providers offer and how Loon looks may differ by version; here is the usual approach:

  1. Find the Loon subscription link or config file on your service provider’s official page or account page.
  2. In Loon, open the configuration or proxy page, choose to add a subscription/configuration, then paste the link, name it and save as prompted.
  3. After updating the subscription, make sure the nodes or policy groups appear in the configuration.
  4. If the provider gives you a full configuration file, import it as instructed; a node subscription and a full configuration are not the same thing.
⚠️ Loon does not provide nodes. Don’t import subscriptions or config files from unknown sources; they may contain rules, plugins, scripts or certificate-related settings. Confirm the source before importing and pay attention to what the configuration includes.

4. Part One: Use Routing Rules to Decide Where Traffic Goes

1. What is routing?

Routing means letting different network requests use different policies. For example, a configuration can send some requests direct, hand others to a proxy policy group, and set other policies for specific domains. The actual result depends on your current rules and policy groups — it shouldn’t be simplified to “all domestic traffic direct, all foreign traffic proxied.”

2. Where beginners should start

First check whether your current configuration already includes rules and policy groups. If your provider offers a full Loon configuration, import it as instructed and review the policy groups; if you only have a node subscription, you usually still need a rule configuration for automatic routing.

Choose a rule set you trust that is still maintained. For example, YFamily offers Loon rules and configuration resources: YFamily Loon page. Before using third-party rules, read the project description, update dates and rule contents; don’t pile rules from different configurations on top of each other indiscriminately.

3. How to set up policy groups

4. How to check that routing works

  1. Make sure the configuration contains rules and that the policy groups they reference exist.
  2. Start Loon, open a familiar website or app and see whether it works normally.
  3. In the request log, check which rule each request hit and which policy it used; menu names may change between versions.
  4. If things don’t behave as expected, check the matched rules and policy groups first, then node status; change only one thing at a time so you can pinpoint the cause.

5. Part Two: Cut Ad Requests with Rules or Plugins

1. How ad blocking roughly works

All of these have limits. Ads may come from the same domain as normal content, or be rendered directly inside the app, so there’s no guarantee every splash, feed or video ad will be blocked. Blocking rules can also break normal features.

2. Adding ad-blocking rules or plugins

Start with rule sets or plugins that are clearly maintained and well documented. For example, YFamily’s Loon page provides related resources. Before choosing, check the author, update history, supported apps and required permissions or settings, and avoid installing scripts of unknown origin.

A common import path is Loon’s “Configuration → Rules” or “Configuration → Plugins”, but menus and import methods change with versions and resource types, so go by the app’s current screens and the resource’s instructions. After adding one, enable it and check that your everyday apps still work before adding more.

3. MitM: enable it only when a plugin truly needs it

MitM (man-in-the-middle decryption) can let Loon inspect HTTPS request contents for specified domains, which carries higher privacy and security risks.Not every ad-blocking rule or plugin needs MitM; read the plugin docs first and leave it off if it isn’t needed.

  1. Only enable the domain scope a trusted plugin explicitly requires, and avoid widening the decryption scope.
  2. Generate and install the certificate as Loon and iOS prompt, then complete the system trust setting. Exact menus may change with iOS versions.
  3. Never share config files containing a certificate private key or account info; a CA private key should never be public.
  4. When you no longer need it, turn off MitM or remove the related certificate/configuration.

Some apps use certificate pinning and similar mechanisms, so they may show errors or fail to connect with MitM on; if that happens, turn off the related plugin or MitM to test. Don’t casually disable system security protections just to make an app work.

6. Common Problems & Troubleshooting Order

Network problems after turning on Loon

Stop Loon first and see whether your network recovers; then check that the node works and that the policy groups referenced by rules exist. Adjust one thing at a time so you can find the source of the problem.

A website takes the wrong route

Check in the request log which rule and policy it hit. See whether the rule set is up to date, whether rule order or source priority affects matching, and what the FINAL fallback policy is.

An app misbehaves after enabling ad blocking

Disable the most recently added plugin or rule first and see whether the problem goes away. If it does, check the resource’s exclusion settings or maintenance notes; don’t stack several similar plugins at once.

An app can’t connect after enabling MitM

Turn off MitM or remove that app’s decryption configuration to compare. Some apps don’t support HTTPS decryption; don’t try to fix it by installing unknown certificates.

7. Tips for Beginners

  1. Start with a minimal setup: make sure nodes, rules and policy groups each work before adding ad blocking.
  2. Add one thing at a time: import or enable only one rule set/plugin at a time, so it’s easier to roll back when something goes wrong.
  3. Keep a recoverable configuration: note where your configuration came from before editing, and back up before major changes.
  4. Check sources and updates regularly: remove resources you haven’t used in a long time or that are no longer maintained.
  5. Be careful with certificates and scripts: enable them only after confirming their source and purpose, and never share sensitive configurations publicly.

Debugging routing and ad blocking separately, one item at a time, is usually easier to understand and maintain than importing a pile of rules at once. Menu names and features change with Loon and iOS versions and configuration sources, so go by the current interface and official docs.