Skip to content

Activity

The Activity tab has two parts, switched with the Connections | Logs control at the top. The Connections side shows the number of open connections in its label, and the title row shows the total uploaded and downloaded by the connections in the list.

  • Phones and narrow screens: the switch, a search field, the type filter, and a list where each connection is a small card. Tap a card to open its details in a sheet.
  • Wide screens (Windows, and tablets at least 900 points wide): a table of connections on the left and a details pane on the right. With nothing selected, the right pane shows a summary (number of connections, how many are proxied and direct, and the totals) and “Select a connection to see details”.

The list refreshes every 1.5 seconds, but only while the Activity tab is visible, the app is in the foreground and MeowX is connected. While disconnected, the Connections side says the tunnel is not connected.

A row of chips filters both the connections and the logs:

Chip Shows
All Everything
Push Google push notification traffic (FCM / Google Play services): mtalk.google.com and the FCM / GCM API domains, and TCP ports 5228 to 5230
DNS DNS traffic: port 53, DNS over TLS on port 853, and well-known DNS-over-HTTPS services on port 443 (by name, or by address for public DNS servers such as 8.8.8.8 and 1.1.1.1)
Direct Connections whose final outbound is DIRECT
Proxy Connections that go through a node

A connection can be in more than one category, for example Push and Proxy. Rejected connections are neither Direct nor Proxy.

The search field matches the domain, destination or rule (on the Logs side, the log text).

Each connection shows:

  • A tag at the start: TCP or UDP on Android. On Windows it shows the inbound instead (TUN, HTTP for system proxy and local proxy traffic, or SOCKS), so you can tell how the traffic was captured; TCP / UDP then appears with the rule.
  • The host (domain, or IP address if there is none).
  • The outbound chosen by the rules: DIRECT in green, rejected connections in red, nodes and groups in the accent color, followed by the rule that matched.
  • Uploaded and downloaded bytes and how long the connection has been open.

Tap the × on a connection to close it. Close all (next to the search field) closes every open connection immediately, without asking.

The details card shows:

  • Outbound chain: the path from the group the rule chose down to the actual node, for example “Proxy › Auto › Tokyo 01”.
  • Matched rule.
  • Upload and Download.
  • Network (TCP / UDP), Inbound Windows, Host with port, Destination IP (when the connection has a domain), and Duration.
  • This domain goes (see below).
  • Close this connection.

The This domain goes: Direct / Proxy / Reject card (This IP goes for connections without a domain) adds a custom rule in one tap:

  1. If the connection has a domain, choose Domain only or Include subdomains (the default).
  2. Tap Direct, Proxy or Reject.

The rule is placed at the top of your custom rules, so it wins even over a broader rule you added earlier. If a custom rule already matches the connection, the card shows it (“Current rule: … → …”) with a button to delete it, and highlights the action only when that rule is the one in effect.

The note under the buttons tells you when it applies: custom rules only work in Rule mode, take priority over the subscription’s rules, and apply to new connections. Close the connection if you want the app to reconnect under the new rule.

Turn on Me › Record logs (“Also records the routing and DNS details of each connection”) to stream the core’s log into the app. Each line shows a colored level dot, the time and the message. The list follows new lines as long as you stay at the bottom; scroll up to read and it stops following until you scroll back down.

  • Clear empties the log.
  • The search field and type filter narrow the lines shown.

How much the core writes depends on its log level, which you can change in Me › Advanced › Core Configuration. The log is kept in memory only and is lost when the app restarts.