[PROOF] Vidara = Streamup

PaySkipORG

Active Member
106
2025
32
2,050
Vidara's admin asked and you shall receive

79C5663D-6C97-4CE6-BA58-BDE71C727B0A.png


"But PaySkip admin man, what proof do you have?"
I'm glad you asked. Let's look at the JWPlayer keys

NSFW: view-source:https://strmup[.]to/bd2933ca92c4


808439C7-F848-421C-A914-D7AE11002315.png


Now you can see NSFW view-source:https://vidara[.]so/e/HUoBslYov6Pxr


7A447695-D436-4D2B-B32E-F2C05BC549C1.png





It's odd how he's trash talking strmup while having the same JWPlayer key. And streamup was a very good streaming service.
 
56 comments
NSFW: view-source:https://strmup[.]to/6myxhsZeHXq9v

<script>const file_id="2768397",visitorData={file_id:"2768397",gpu:null,cpu:null,screen_res:`${screen.width}x${screen.height}`,iframe_size:`${window.innerWidth}x${window.innerHeight}`,mouse_position:"",click_position:"",page_duration:0,referer:document.referrer||window.location.href,watch_time:0,tab_visibility_changes:0};let startTime=Date.now(),lastActivityTime=Date.now(),inactivityStart=null;function updateActivity(){lastActivityTime=Date.now()}document.addEventListener("mousemove",t=>{visitorData.mouse_position=`${t.pageX}x${t.pageY}`,updateActivity()}),document.addEventListener("click",t=>{visitorData.click_position=`${t.pageX}x${t.pageY}`,updateActivity()}),document.addEventListener("visibilitychange",()=>{document.hidden&&visitorData.tab_visibility_changes++}),setInterval(()=>{let t=Date.now();t-lastActivityTime>=1e4&&!inactivityStart?inactivityStart=lastActivityTime:t-lastActivityTime<1e4&&inactivityStart&&(inactivityStart=null)},1e3);try{let t=document.createElement("canvas"),i=t.getContext("webgl")||t.getContext("experimental-webgl"),a=i.getExtension("WEBGL_debug_renderer_info");visitorData.gpu=a?i.getParameter(a.UNMASKED_RENDERER_WEBGL):"Unknown"}catch{visitorData.gpu="Unavailable"}visitorData.cpu=navigator.hardwareConcurrency?`${navigator.hardwareConcurrency} cores`:"Unknown";let hasSentData=!1;function sendVisitorData(){hasSentData||(hasSentData=!0,visitorData.page_duration=Math.round((Date.now()-startTime)/1e3),visitorData.watch_time=Math.round(totalWatchTime),fetch("/ajax/data",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(visitorData)}).catch(()=>{}))}setInterval(()=>{"undefined"!=typeof totalWatchTime&&!hasSentData&&Math.floor(totalWatchTime)>=87&&sendVisitorData()},500);</script>

NSFW: view-source:https://vidara[.]so/e/LBPXMQ2oTjL3p

const visitorData={file_id: 148201 ,viewport_size:`${window.innerWidth}x${window.innerHeight}`,referer:"http:\/\/vidara.so",timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,gpu:null,cpu:null,browser:null,platform:navigator.platform,plugins_count:navigator.plugins?navigator.plugins.length:0,permissions_api:void 0!==navigator.permissions,notification_api:"undefined"!=typeof Notification,page_duration:0,watch_time:0,tab_visibility_changes:0,focus_changes:0,mouse_movements:[],click_positions:[]};let startTime=Date.now(),hasSentData=!1;const ENCRYPTION_KEY="7k9mP2nQ8vR4xT6yU3wZ1aS5dF0gH7jL";function compressAndEncrypt(t){try{let e=JSON.stringify(t),i=pako.gzip(e),n=btoa(String.fromCharCode.apply(null,i)),o=CryptoJS.AES.encrypt(n,"7k9mP2nQ8vR4xT6yU3wZ1aS5dF0gH7jL").toString();return o}catch(a){return console.error("Compression/Encryption error:",a),null}}let heartbeatInterval=null,sessionId=null;function generateSessionId(){return`${Date.now()}-${Math.random().toString(36).substr(2,9)}`}function sendHeartbeat(){let t={file_id:visitorData.file_id,session_id:sessionId};fetch("/api/heartbeat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t),keepalive:!0}).catch(()=>{})}function startHeartbeat(){heartbeatInterval||(sessionId||(sessionId=generateSessionId()),sendHeartbeat(),heartbeatInterval=setInterval(()=>{sendHeartbeat()},15e3))}function stopHeartbeat(){heartbeatInterval&&(clearInterval(heartbeatInterval),heartbeatInterval=null)}function detectBrowser(){let t=navigator.userAgent,e=navigator.vendor;return navigator.brave&&"function"==typeof navigator.brave.isBrave?"Brave":t.indexOf("Edg/")>-1||t.indexOf("Edge/")>-1?"Edge":window.opr||window.opera||t.indexOf("OPR/")>-1?"Opera":t.indexOf("Vivaldi")>-1?"Vivaldi":t.indexOf("YaBrowser")>-1?"Yandex":t.indexOf("UCBrowser")>-1?"UC Browser":t.indexOf("SamsungBrowser")>-1?"Samsung Internet":t.indexOf("Firefox")>-1||t.indexOf("FxiOS")>-1?"Firefox":t.indexOf("Safari")>-1&&-1===t.indexOf("Chrome")&&e.indexOf("Apple")>-1?"Safari":t.indexOf("Chrome")>-1&&e.indexOf("Google")>-1?"Chrome":t.indexOf("MSIE")>-1||t.indexOf("Trident/")>-1?"Internet Explorer":"Unknown"}function getCPU(){return navigator.hardwareConcurrency?`${navigator.hardwareConcurrency} cores`:"Unknown"}function getGPU(){try{let t=document.createElement("canvas"),e=t.getContext("webgl")||t.getContext("experimental-webgl");if(!e)return null;let i=e.getExtension("WEBGL_debug_renderer_info");if(i)return e.getParameter(i.UNMASKED_RENDERER_WEBGL);return"Unknown"}catch(n){return null}}document.addEventListener("visibilitychange",()=>{document.hidden&&visitorData.tab_visibility_changes++}),window.addEventListener("focus",()=>{visitorData.focus_changes++}),window.addEventListener("blur",()=>{visitorData.focus_changes++}),window.addEventListener("load",()=>{startHeartbeat()}),("complete"===document.readyState||"interactive"===document.readyState)&&startHeartbeat(),window.addEventListener("beforeunload",()=>{stopHeartbeat()});let mouseMoveCount=0;function calculateMouseEntropy(){if(visitorData.mouse_movements.length<10)return 0;let t=[];for(let e=1;e<visitorData.mouse_movements.length;e++){let i=visitorData.mouse_movements[e-1],n=visitorData.mouse_movements[e],o=n.x-i.x,a=n.y-i.y,r=Math.sqrt(o*o+a*a);t.push(r)}let s=t.reduce((t,e)=>t+e,0)/t.length,l=t.reduce((t,e)=>t+Math.pow(e-s,2),0)/t.length;return Math.sqrt(l)}function detectStraightLineMovements(){if(visitorData.mouse_movements.length<3)return 0;let t=0;for(let e=2;e<visitorData.mouse_movements.length;e++){let i=visitorData.mouse_movements[e-2],n=visitorData.mouse_movements[e-1],o=visitorData.mouse_movements[e],a=Math.abs((n.x-i.x)*(o.y-i.y)-(o.x-i.x)*(n.y-i.y));a<5&&t++}return t/visitorData.mouse_movements.length}function sendVisitorData(){if(hasSentData)return;hasSentData=!0,visitorData.page_duration=Math.round((Date.now()-startTime)/1e3),visitorData.watch_time=void 0!==totalWatchTime?Math.round(totalWatchTime):0,visitorData.session_id=sessionId,visitorData.behavioral_analysis={mouse_entropy:calculateMouseEntropy(),straight_line_ratio:detectStraightLineMovements(),has_mouse_movement:visitorData.mouse_movements.length>0};let t=compressAndEncrypt(visitorData);if(!t){console.error("Failed to encrypt data");return}fetch("/api/count",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({data:t}),keepalive:!0}).then(t=>t.json()).then(t=>{}).catch(t=>{}),stopHeartbeat()}document.addEventListener("mousemove",t=>{++mouseMoveCount%10==0&&(visitorData.mouse_movements.push({x:t.pageX,y:t.pageY,t:Date.now()-startTime}),visitorData.mouse_movements.length>50&&visitorData.mouse_movements.shift())}),document.addEventListener("click",t=>{visitorData.click_positions.push({x:t.pageX,y:t.pageY,t:Date.now()-startTime,button:t.button}),visitorData.click_positions.length>20&&visitorData.click_positions.shift()}),visitorData.browser=detectBrowser(),visitorData.gpu=getGPU(),visitorData.cpu=getCPU(),setInterval(()=>{void 0!==totalWatchTime&&!hasSentData&&Math.floor(totalWatchTime)>= 36 &&sendVisitorData()},500);</script>

Doesn't it seem like the anti-fraud is written by the same person?
Post automatically merged:

vidara anti-fraud https://pastebin.com/DuCVFvKz
streamup anti-fraud https://pastebin.com/rNNeMwfd
Post automatically merged:

• Both build a visitorData object and send it only after a watch-time threshold is reached.
• Both rely on a global totalWatchTime variable and check it every 500 ms.
• Both track mouse movement, click positions, page duration, and tab visibility.
• Both fingerprint hardware using identical WebGL GPU detection and CPU core detection.
• Both prevent multiple submissions using a hasSentData flag.
• Both send engagement data to the backend once viewing conditions are satisfied.
 
Last edited:
lol that's how you can get data using javascript, are you using AI by any chance, anyway anti-fraud doesn't look same to me
it's very similar

they rely on collecting GPU data

which is smart, but that was streamup's special thing from what I remember

some variables repeat

i'm now actually 99% convinced streamup will close - maybe i'm wrong

but why would vidara not want people to know this?
 
vidara anti-fraud looks like 172 lines streamup 58 lines
Post automatically merged:

that's the WebGL API, how other way you can get GPU lol
 
Last edited:
Guys, just look on interface and GUI. Is streamup including on settings page where you have stated license key 2023.

vidara = streamup

Just new design to make you feel is new service. Pretty well done on start of service for new video hosting. Simply they reclone project with new layout.
 
Last edited:
visitorData
file_id
gpu
cpu
page_duration
referer
watch_time
tab_visibility_changes
startTime
hasSentData
totalWatchTime (global dependency)

mousemove event tracking
click event tracking
pageX/pageY coordinate capture

visibilitychange event
document.hidden checks

navigator.hardwareConcurrency
WEBGL_debug_renderer_info
UNMASKED_RENDERER_WEBGL



and look at vidara's

visitorData.browser = detectBrowser(), visitorData.gpu = getGPU(), visitorData.cpu = getCPU(), setInterval(() => {
void 0 !== totalWatchTime && !hasSentData && Math.floor(totalWatchTime) >= 36 && sendVisitorData()
}, 500);

look at streamup's

setInterval(() => {
"undefined" != typeof totalWatchTime && !hasSentData && Math.floor(totalWatchTime) >= 87 && sendVisitorData()
}, 500);
 
Last edited:
Guys, just look on interface and GUI. Is streamup including on settings page where you have stated license key 2023.

vidara = streamup

Just new design to make you feel is new service. Pretty well done on start of service for new video hosting. Simply they reclone project with new layout.
true and all use hetzner servers for "uploading"..
 
Oh, and I have never seen other video hosting providers using

[domain]/v/[id]

structure
Post automatically merged:

that's API, there is no magic you can get the cpu or gpu other way
look at the last setInterval -> "totalWatchTime && !hasSentData && Math.floor(totalWatchTime) >="
 
Last edited:
If you checked even settings page you can clearly see of year 2023.
Just new GUI + same config is used. Open dev console and check JWPlayer API keys and same also.

Strmup and Vidara is same (maybe some others here from them)

strmup.png
 
that wrong, because there is more hosting provider use the same structure, that's video host field, your field is link shortner
fine, stay with streamup

but ask yourself:

- why would streamup sell a perfectly profitable service? is it really not just an excuse to distance himself and lower quality, etc?
- have the ad links changed since the "purchase" of streamup?
- if there are problems with the ad network, did he switch out any of the ad networks? why would he not if he had fund withdrawal issues?
- how many coincidences do you need before you risk getting scammed? it's the same code, modified, and it was originally hand made by streamup.
 
Last edited:
fine, stay with streamup

but ask yourself:

- why would streamup sell a perfectly profitable service? is it really not just an excuse to distance himself and lower quality, etc?
- have the ad links changed since the "purchase" of streamup?
- if there are problems with the ad network, did he switch out any of the ad networks? why would he not if he had fund withdrawal issues?
- how many coincidences do you need before you risk getting scammed? it's the same code, modified, and it was originally hand made by streamup.
because he was afraid and getting threatened being sued, he decided to stop it to avoid legal issue
 
If you checked even settings page you can clearly see of year 2023.
Just new GUI + same config is used. Open dev console and check JWPlayer API keys and same also.

Strmup and Vidara is same (maybe some others here from them)

strmup.png
Hey, you seem to forgot that we got the licsense key from streamwish, here is another proof your saying we copying them, we could be but here the first look of our theme, it was made by XVS dev, not out backend just frontend

proof of this how it looked like before
 
NSFW: view-source:https://strmup[.]to/6myxhsZeHXq9v



NSFW: view-source:https://vidara[.]so/e/LBPXMQ2oTjL3p



Doesn't it seem like the anti-fraud is written by the same person?
Post automatically merged:

vidara anti-fraud https://pastebin.com/DuCVFvKz
streamup anti-fraud https://pastebin.com/rNNeMwfd
Post automatically merged:

• Both build a visitorData object and send it only after a watch-time threshold is reached.
• Both rely on a global totalWatchTime variable and check it every 500 ms.
• Both track mouse movement, click positions, page duration, and tab visibility.
• Both fingerprint hardware using identical WebGL GPU detection and CPU core detection.
• Both prevent multiple submissions using a hasSentData flag.
• Both send engagement data to the backend once viewing conditions are satisfied.
care to explain this?
 
Back
Top