check.sh is a self-contained shell script that probes each Ukrainian streaming source, detects which embedded video player provider it uses, and then tests whether that player can serve a real stream URL — all from your server’s network. Run it any time you suspect a source is down, geo-blocked, or otherwise unreachable from your host.
check.sh requires curl to be installed on the host. The script exits immediately with an error if curl is not found.Sources checked
The script tests the following five sources:| Source | Domain |
|---|---|
| Uaflix | uafix.net |
| AnimeON | animeon.club |
| Bamboo | bambooua.com |
| Mikai | mikai.me |
| KlonFUN | klon.fun |
Player providers detected
After fetching each source page, the script scans the HTML for embedded player URLs and identifies which provider is in use:| Provider | Detection trigger |
|---|---|
| Ashdi | ashdi.vip in embedded URL |
| Zetvideo | zetvideo.net in embedded URL |
| Moonanime | moonanime.art in embedded URL |
| Tortuga | tortuga in embedded URL |
| BambooPlayer | Direct .m3u8 / .mp4 stream on friends.bambooua.com |
Running the script
Download and run in one command
Paste this into your server terminal. The script downloads
check.sh from GitHub and runs it immediately with sh:Review Report 1: source page and detected player
The first section of output shows, for each source, whether the source page returned a successful HTTP status and which player provider was found embedded in the page:A
FAIL(NNN) status means the source page returned an error HTTP code or timed out. NOT_FOUND for the player means no recognised player URL was detected in the page HTML.Review Report 2: player stream availability
The second section tests whether each player can actually serve a playable stream. The script fetches a sample player page (preferring
/vod/ paths), extracts stream URLs, and probes them:GEO_BLOCK means the player page was reachable but no stream URL could be extracted — a typical sign of geographic access restrictions from your server’s IP.Environment variables
You can override the default request timeout before running the script:| Variable | Default | Description |
|---|---|---|
TIMEOUT | 12 | Maximum seconds to wait for any single curl request |
Special handling per provider
Uaflix — geo-block detection
Uaflix is a Ukrainian-only service. When fetching its page, the script scans the HTML body for Ukrainian-language phrases indicating restricted access (e.g., “доступний лише в Україні”, “geo-block”, “бачите тільки трейлер”). If any match is found, Report 1 showsGEO_BLOCK instead of the HTTP status:
Moonanime — player query parameter variants
Some sources embed Moonanime player URLs without aplayer= query parameter. The script automatically tries three candidate URLs for the same player page: the original URL, the URL with ?player=animeon.club appended, and the URL with ?player=mikai.me appended. Stream extraction is attempted against each until one succeeds.
Tortuga — base64 obfuscation
Tortuga player pages often obfuscate their stream URL inside afile: JavaScript property using base64 encoding. After extracting the value of any file: property, the script checks whether the value is a valid base64 string (not a plain URL). If so, it decodes it and then additionally tries reversing the decoded string — because Tortuga frequently encodes a reversed URL. The first value that resolves to a valid http(s):// URL is used as the stream to probe.
BambooPlayer — direct stream detection
Bamboo hosts its own video player atfriends.bambooua.com and serves .m3u8 or .mp4 URLs directly in the source page HTML, without a separate player embed page. The script detects these direct stream URLs and probes them immediately, skipping the player-fetch step used for other providers.