Is ReYohoho Twitch Proxy 1080p/1440p (Russia) safe?
ReYohoho Twitch Proxy is medium risk. On any Twitch page, this extension sends a HEAD request to a third-party server, ext.rte.net.ru, even without the IRC proxy enabled. It repeats every 30s on Twitch, letting the server log your IP and visit time regardless of settings.
Who publishes itreyohoho - 3 other listings from the same operator, none carrying a finding
reyohoho - 3 other listings from the same operator, none carrying a finding
What this publisher told the store about itself, and the other listings that told it the same thing.
Same store account
3 other listings published from this account, 22k+ users between them, none of them carrying a finding.
Shared hosts - 5 hostnames
Hostnames hardcoded in this extension that few other listings call. That can mean one operator behind both, and it can equally mean a small shared vendor, so it is context rather than a conclusion. Hosts that many listings call are left out: they are services, not connections.
AI-generated. Findings may contain errors. Those marked Verified have been manually reviewed.
Publishers can request a review.
Findings
Unconditional Availability Probe Exposes IP on Every Twitch Page Load
On any Twitch page, this extension sends a HEAD request to a third-party server, ext.rte.net.ru, even without the IRC proxy enabled.
It repeats every 30s on Twitch, letting the server log your IP and visit time regardless of settings.
- Severity
- Medium unwanted
- Type
- Unexpected
- CWE
- CWE-200
- Source
- Dynamic sandbox
You navigate to any Twitch page.
Matches https://www.twitch.tv/*, https://twitch.tv/*, and https://dashboard.twitch.tv/*.
The extension immediately sends a HEAD request to ext.rte.net.ru:8443.
The probe fires regardless of whether the IRC proxy feature is enabled in extension settings.
Every 30 seconds
After the initial probe on page load, the extension schedules a repeat probe every 30 000 ms via setInterval for the entire duration of the Twitch session.
Unconditional probe in checkIrcProxyAvailability (content.js:695-728)
async function checkIrcProxyAvailability() { const probeUrl = (typeof IRC_PROXY_HOST !== 'undefined' ? IRC_PROXY_HOST : 'https://ext.rte.net.ru:8443') + '/https://google.com'; const timeoutMs = typeof IRC_PROXY_CHECK_TIMEOUT !== 'undefined' ? IRC_PROXY_CHECK_TIMEOUT : 3000; let available = false; try { const controller = new AbortController(); const timeoutId = setTimeout(() => controller.abort(), timeoutMs); await fetch(probeUrl, { method: 'HEAD', mode: 'no-cors', cache: 'no-store', signal: controller.signal }); clearTimeout(timeoutId); available = true; } catch (e) { available = false; console.warn('[ReYohoho] IRC proxy host unreachable, falling back to direct:', e.name || e.message); } // ... updates localStorage and may drop sockets return available;}initUI() schedules the probe at startup with no opt-in guard (content.js:809-816)
// Periodic IRC proxy availability probe. Runs once immediately so// the cached flag reflects current reality on a fresh page load.const ircInterval = typeof IRC_PROXY_CHECK_INTERVAL !== 'undefined' ? IRC_PROXY_CHECK_INTERVAL : 30000;checkIrcProxyAvailability().then(() => { updateAllPanels(extensionEnabled, vaftEnabled, proxyStatus, ircProxyState(), hideAudioOnlyEnabled);});setInterval(async () => { await checkIrcProxyAvailability(); updateAllPanels(extensionEnabled, vaftEnabled, proxyStatus, ircProxyState(), hideAudioOnlyEnabled);}, ircInterval);- Your IP address203.0.113.47
Every TCP connection reveals your public IP address to the server. The server can log this alongside a timestamp.
- Visit timingHEAD /https://google.com HTTP/1.1 (repeated every 30 s)
The server receives a request each time you open a Twitch page and every 30 seconds you remain there, creating a session-length record.
- ext.rte.net.ru
Russian-hosted proxy infrastructure operated by the extension developer. Receives HEAD requests carrying the user's IP address on every Twitch page load.