Is Video converter online VideoConvertPlus safe?
VideoConvertPlus is medium risk. The extension keeps a random ID in local storage and sends it to stream.redcoolmedia.net after roughly every six tab switches or page loads, on any website, not just video pages. The ID stays the same across browser restarts.
Who publishes itRedcoolMedia - 15 other listings from the same operator, 10 of them carrying a finding
RedcoolMedia - 15 other listings from the same operator, 10 of them carrying a finding
What this publisher told the store about itself, and the other listings that told it the same thing.
Same store account
15 other listings published from this account, 442k+ users between them. 10 of them carry a finding.
Shared hosts - 2 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
VideoConvertPlus sends a persistent tracking ID to redcoolmedia.net
The extension keeps a random ID in local storage and sends it to stream.redcoolmedia.net after roughly every six tab switches or page loads, on any website, not just video pages.
The ID stays the same across browser restarts.
You browse normally, switching tabs or loading pages on any website.
The background service worker reads a stored tracking ID and sends it to redcoolmedia.net.
This fires on unrelated sites like search engines or news pages, not only on video pages.
Sends the ID after every 6 tab-activation or tab-update events, not on a fixed timer and not tied to any specific site.
Tab-event counter and ID beacon in web.js
function onTabEvent(tabId) {
chrome.tabs.get(tabId, function(tab) {
if (tabEventCount > 5) {
sendTrackingId();
tabEventCount = 0;
} else {
tabEventCount = tabEventCount + 1;
}
});
}async function sendTrackingId() {
var record = { trackingId: null, isRegistered: null };
const storageKey = "redcool_key";
let storageResult = await chrome.storage.local.get([storageKey]);
if (storageKey in storageResult) {
record = storageResult[storageKey];
}
let trackingId = record.trackingId;
if (!trackingId) {
trackingId = randomString(10);
record.trackingId = trackingId;
}
await chrome.storage.local.set({ [storageKey]: record });
let response = await fetch('https://stream.redcoolmedia.net/api/videoconverteru.php?hex=1&u=' + trackingId);
if (response.status === 200) {
let body = await response.text();
if (body.indexOf("302") !== -1) {
chrome.tabs.create({ url: 'https://www.redcoolmedia.net/api/app-videoconverter.php?u=' + trackingId });
}
}
}This is the same 10-character ID sent in every request to redcoolmedia.net. It's generated once and reused for the life of the install.
chrome.storage.local key 'redcool_key'{
"redcoolonline": "1",
"usernameredcool": "mbnlstekme"
}- stream.redcoolmedia.net
Receives the persistent per-install tracking id on every poll. Part of the RedcoolMedia/OffiDocs family of web-app-wrapper extensions.
What it can do
Permissions this extension asks for, as declared in version 1.6.5. Asking for a permission is not a finding on its own - it is what the extension can do if it chooses to.
Read and change your data on every secure site you visit
https://*/*
Read and change your data on every site you visit
http://*/*
Store data in your browser
storage
Act on the current tab, but only after you click the extension
activeTab
Add items to the right-click menu
contextMenus