Press the button to find out whether UDP is blocked. If it is, you get ready-made text for your ISP's support with the place where the route breaks.
Status based on node measurements and visitor checks over the last 6 hours. The chart shows the share of measurements where UDP from abroad does not pass. Click a card for a detailed chart, results per server and routes. A provider card appears on its own as soon as a check is made in its network or a node comes online.
This is where checks made with a VPN on or from servers end up: the address belongs to a hosting company, not an ordinary ISP, so they are not part of the main list.
When a provider's picture changed: the network appeared in checks for the first time, its status changed, or one of the checks showed blocking where there was none before. Hosting and VPN networks are not shown here.
The installer picks the role itself: a machine with a public IP becomes an anchor server, a home network becomes a node. The verdict “blocked or not” is built from the project's anchor servers. Volunteer servers take part in checks as independent witnesses: they can soften the verdict (“partially blocked”), but cannot accuse a provider on their own. In a country without project servers they serve as the reference point.
For every visitor and node the reference points are the servers in their own country; all the others count as foreign.
One line for Linux and OpenWrt, root or sudo required. The installer picks the role itself: a VPS or server with a public IP becomes an anchor server (open UDP 47321, 47322 and TCP 47321), a home network or router becomes a node (nothing needs to be opened).
(curl -fsSL https://dagart.xyz/en/i 2>/dev/null || wget -qO- https://dagart.xyz/en/i) | sh
It detects the system, installs Python if needed, downloads the agent and checks its SHA-256, and starts a service as an unprivileged user. It does not touch SSH or other services. It does not change the firewall: if the ports of the anchor role turn out to be closed, it shows which ones and offers to open them, but only with your consent. Before starting it shows the plan and waits 5 seconds (cancel with Ctrl+C). Code: install-node.en.sh. If an anchor server is unreachable from outside (firewall, NAT), it stays inactive until the ports are opened.
(curl -fsSL https://dagart.xyz/en/i 2>/dev/null || wget -qO- https://dagart.xyz/en/i) | UDPCHECK_ROLE=node sh
(curl -fsSL https://dagart.xyz/en/i 2>/dev/null || wget -qO- https://dagart.xyz/en/i) | UDPCHECK_ROLE=ref sh
(curl -fsSL https://dagart.xyz/en/i 2>/dev/null || wget -qO- https://dagart.xyz/en/i) | sh -s -- uninstall
iwr https://dagart.xyz/node/udpcheck_node.py -OutFile udpcheck_node.py; python udpcheck_node.py
If a proxy, VPN or tunnel is on the path, the node notices it and such a measurement is not counted.
For the service to compare “you” with “from abroad”, it needs an anchor server in your country. Until there is one, volunteer servers can play that role.
A volunteer server takes part in checks of visitors and nodes as an independent witness: it can soften the verdict (“partially blocked”) but cannot accuse a provider on its own. Where there are no project servers, it serves as the reference point. The server's IP becomes known to the nodes and to the browsers of the visitors it checks.