11. Link1 App Management#


The user management entry point for Link1 is the App, rather than direct access to the underlying core. The App organizes configuration, runtime status, policy groups, connections, logs, and HTTP capture into understandable pages, helping you complete the full loop of “import → validate → start → observe → troubleshoot”.

Division of Responsibilities Between the App and the Core#

CapabilityLink1 AppLink1 Core
ProfilesImport, edit, validate, switch, and display errorsCompile YAML and generate runtime structures
Runtime statusStart/stop, show the current configuration, and display ratesListen on ports, create TUN, and maintain connections
Policy groupsShow members, switch manually, and trigger testsSelect nodes by group type and dial
ProviderShow subscription sources, refresh status, and node countsDownload, parse, filter, and perform health checks
ConnectionsShow targets, rules, outbound, and trafficAccept connections and forward data
LogsSearch, filter, and copy errorsOutput configuration, DNS, rule, dialing, and protocol errors
HTTP captureShow flows, body previews, and replay entry pointsExecute Capture, MITM, rewrite, and Mock

Users should focus on “which layer the information on the page indicates has a problem”, rather than how the underlying system exposes that information.

Profiles#

A profile is a launchable description of network behavior. It usually includes:

Common profile operations in the App:

OperationWhen to use itActual effect
ImportAdd a configuration from a subscription, local file, or clipboardAdds a profile that can be validated
ValidateConfirm that the configuration can compile before startingDoes not start network listeners; only checks fields and references
ApplyMake the current configuration the running configurationThe core restarts or hot-switches according to this configuration
DuplicateKeep the original configuration before experimentsAvoids accidentally modifying a working configuration
ExportMigrate to another deviceSaves YAML and related file references

Recommendation: duplicate the profile before making major changes. If something goes wrong, you can roll back quickly.

Home and Runtime Status#

The home page should help you answer four questions:

  1. Whether the current core is running.
  1. Which profile is currently in use.
  1. Whether the current upload/download rates match expectations.
  1. Whether there are persistent error logs.

Common status meanings:

StatusMeaningNext step
Not runningThe core has not startedApply a configuration or check startup errors
StartingCompiling the configuration, listening on ports, and creating TUNWait or check logs
RunningEntry points and the data plane are readyVerify traffic in the connection list
Running but no connectionsThe core is available, but clients are not entering Link1Check system proxy, TUN, and router takeover
ErrorConfiguration, permission, port, or protocol failureCopy the error and troubleshoot by chapter

Connection List#

The connection list is one of the most important troubleshooting pages. For each connection, understand at least these fields:

FieldMeaningWhat it helps determine
Source addressWho initiated the connectionWhether it is the local machine, a LAN device, or an inbound user
TargetDomain or IP + portWhether Link1 obtained the correct target
NetworkTCP/UDPWhen UDP does not work, check whether the protocol supports UDP
InboundWhich entry point it came fromWhether it matches your expected takeover method
Matched ruleWhich rule returned the actionWhether the rule order is correct
OutboundWhich node/group is ultimately usedWhether it is using the expected route
Rate/trafficCurrent data volume of the connectionWhether data is actually being transferred
ErrorReason for connection failureWhether the issue is DNS, dialing, handshake, or remote disconnect

When troubleshooting, first check “Target” and “Matched rule”. If the target only has an IP and no domain, domain rules not matching usually does not mean the rule is wrong; it means DNS/Fake-IP/Sniffer did not provide domain information.

Policy Groups#

The policy group page is used to view and switch exits.

Group typeUser action in the AppNotes
selectManually select a memberThe selection is usually persisted and remains after restart
url-testView latency results and manually trigger tests when neededOnly represents the latency of the test URL, not the experience for all websites
fallbackView the currently available primary/backup nodesAvailable nodes earlier in the list take priority
load-balanceView member health statusA single connection usually does not use multiple nodes at the same time
smartView quality feedbackSelection results may change with network quality
relayView the multi-hop pathAny unavailable hop affects the entire path

If a rule action points to a policy group, the final outbound depends on the policy group’s current selection. If the action points directly to a node, the policy group page will not change the outbound for that connection.

Provider and Subscriptions#

Provider is the source of nodes or rules. Common types:

TypePurposeWhat to check in the App
HTTP proxy providerPull nodes from a subscription URLUpdate time, download errors, node count, and filter results
File proxy providerLoad nodes from a local fileWhether the file path exists and the format is correct
Inline proxy providerDefine nodes inside the main configurationConfiguration validation errors and node names
WARP providerAutomatically materialize WARP/WireGuard/MASQUE candidatesAccount/private key, candidate nodes, and health checks
Rule providerLoad rule sets from a file or remote sourceRule count, update failures, and behavior type
Hosts providerLoad hosts from an external sourceWhether domain mappings match expectations

When Provider has a problem, symptoms are usually empty policy group members, unavailable rule sets, rule matching failures, or nodes that remain unavailable.

Rule Testing#

Rule testing is used to check which rule a “hypothetical connection” would match without actually accessing the network. You usually need to fill in:

InputExampleEffect
Target hostchat.openai.comAffects DOMAIN/GEOSITE rules
Target IP1.1.1.1Affects IP-CIDR/GEOIP/IP-ASN rules
Port443Affects DST-PORT rules
Networktcp/udpAffects NETWORK rules
Inbound typemixed/tunAffects IN-TYPE/IN-NAME/IN-PORT rules
Source IP192.168.9.10Affects SRC-IP-CIDR/SRC-GEOIP rules
Process nameSafariAffects PROCESS rules, depending on platform capabilities

Rule test results should include: the matched rule, final action, whether DNS resolution is triggered, and whether it falls through to MATCH. If the test result is correct but the real connection is not, it usually means the real connection’s metadata differs from your test input.

Observing DNS and Fake-IP#

The DNS page or related logs are used to answer:

Typical issues:

SymptomPossible cause
Domain rules do not matchDNS did not enter Link1, and the connection only has an IP
Domestic sites resolve to overseas IPsThe nameserver/fallback strategy is inappropriate
Access fails under TUNDNS hijack is not effective, and the system is still using external DNS
LAN services break after Fake-IPInternal domains should be added to fake-ip-filter or hosts

Logs#

More detailed logs are not always better. Recommendations:

ScenarioRecommended log level
Daily useinfo
Startup failuredebug or copy the startup error
DNS issuesTemporarily raise to debug
Protocol handshake failureCheck the node name, remote address, and TLS/authentication-related errors
HTTP Engine debuggingEnable only for the target host and limit the body size

When reading logs, first identify “which layer the error belongs to”: configuration compilation, inbound listener, DNS, rules, policy groups, provider, outbound protocol, or HTTP Engine.

HTTP Capture and Replay#

After HTTP Engine Capture is enabled, the App can display HTTP flows:

Replay is used to reproduce a captured request, which is suitable for debugging rewrite rules or Mock rules. Note: replay may access the real target service again and may include sensitive headers/body. Confirm the target and content before use.

Security Boundaries#