ArenaVision Helper

A script that makes browsing ArenaVision website easier on touchscreens and on browsers with adblock enabled. It can retrieve direct AceStream links for browsers that don't support the player embedded in the page.

As of 2021-10-27. See the latest version.

Author
StephenP
Ratings
0 0 0
Version
1.10.0
Created
2019-04-30
Updated
2021-10-27
License
N/A
Applies to

// ==UserScript==
// @name ArenaVision Helper
// @name:it Script di aiuto per ArenaVision
// @namespace StephenP
// @version 1.10.0
// @description A script that makes browsing ArenaVision website easier on touchscreens and on browsers with adblock enabled. It can retrieve direct AceStream links for browsers that don't support the player embedded in the page.
// @description:it Uno script che rende la navigazione su Arenavision facile con i touchscreen e sui browser con adblock abilitato. È un grado di ottenere i link diretti AceStream per i browser che non supportano il lettore video integrato nella pagina.
// @author StephenP
// @grant GM.xmlHttpRequest
// @grant GM.openInTab
// @icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAD1BMVEVldC3+AwD/dW//rKr///+uAvmgAAAAAXRSTlMAQObYZgAAAFdJREFUCNdFjtERgCAMQ8MGRliADUS7ACX7zyQCan7yLtdLCiCQGzB8EodW8ERBzpM8YFIRU4NyqlasQoyeXBywq3Uo0anKfnw5UyaC5Tp73sJv4h9db9zQhg1MUu12QwAAAABJRU5ErkJggg==
// @include https://arenavision.cc/*
// @include https://www.arenavision.cc/*
// @include https://arenavision.in/*
// @include https://www.arenavision.in/*
// @include https://arenavision.biz/*
// @include https://www.arenavision.biz/*
// @include https://arenavision.us/*
// @include https://www.arenavision.us/*
// @include https://arenavision.link/*
// @include https://www.arenavision.link/*
// @include https://arenavision.live/*
// @include https://www.arenavision.live/*
// @include https://arenavision.club/*
// @include https://www.arenavision.club/*
// @include https://arenavision.site/*
// @include https://www.arenavision.site/*
// @include https://linkotes.com/*
// @include https://linkotes.com
// @connect *
// ==/UserScript==
//NOTE: I would like to avoid using the "@connect *" property, but the process of retrieving the acestream link is very complex and it will probably be changed day by day as the Arenavision's webmaster tries to prevent my script from working. As Tampermonkey validates every URL a XmlHttpRequest is going through, I need to be sure that any possible domain is allowed to successfully complete the request.
var infobox=setupInfobox();
var chLinks=listLinks();
var channel=0;
const altListName="OG"; //set the name for the alternate list of channel: "OG" was for Olympic Games
const altListLinkTag="olympic"; //set a text that is included in the links of the alternate list of channels, but not in the standard ArenaVision list. Olympic Channels used to include "olympic" in the href.
const isAlternateAvailable=false; //set to true if an alternate list is available at the moment: could be the next Olympic Games, the World Soccer Championship or anything else.
const styleCSS=`
:root {
--main-bg-color: #f0f0f0;
--even-line-color: #f2f2f2;
--odd-line-color: #e0e0e0;
--main-font-color: black;
}
#selector{
z-index: 3;
position: fixed;
text-align: center;
padding: 0.5em;
background-color: var(--main-bg-color);
top: 0;
left: 0;
height: 1.5em;
width: 100%;
border-bottom: 0.2em solid var(--odd-line-color);
filter: drop-shadow(0 0 0.5em black);
}
#intDiv{
margin: auto;
}
#ch{
font-size: inherit;
}
#go{
font-size: inherit;
}
#alternateLabel{
display: none;
margin-left: 5px;
}
#alternate{
display: none;
}
#footer{
width: 100%;
height: 3em;
position: fixed;
bottom: 0;
left: 0;
background-color: var(--main-bg-color);
border-top: 0.2em solid var(--odd-line-color);
filter: drop-shadow(0 0 0.5em black);
}
#footerText{
margin: 1em;
}
#linkotesLink{
color: orange;
}
table{
padding-top: 5em;
padding-bottom: 3em;
}
body{
margin: 0;
font-family: Arial;
font-size: 1em;
background-color: var(--main-bg-color);
color: var(--main-font-color);
}
tr.even{
background-color: var(--even-line-color);
}
tr.odd{
background-color: var(--odd-line-color);
}
#infobox{
position: fixed;
bottom: 2em;
right: 2em;
z-index: 9999;
background-color: var(--main-bg-color);
border-radius: 5px;
padding: 1em;
color: var(--main-font-color);
box-shadow: 5px 5px 5px rgba(0,0,0,0.5);
text-align: left;
}
h1{
display: none;
}
@media screen and (min-width: 1921px) and (max-resolution: 150dpi){
body{
font-size: 3em;
}
#footerText{
font-size: 0.8em;
}
}
@media (max-aspect-ratio: 1/1) {
#footer {
position: inherit;
height: auto;
padding-top: 1em;
padding-bottom: 1em;
width: auto;
margin-bottom: 3em;
filter: none;
}
table{
padding-top: 1em;
padding-bottom: 1em;
}
#selector{
top: unset;
bottom: 0;
border-bottom: none;
border-top: 0.2em solid var(--odd-line-color);
}
h1{
display: block;
font-size: 2em;
}
}
@media (prefers-color-scheme: dark){
:root {
--main-bg-color: #303030;
--even-line-color: #323232;
--odd-line-color: #202020;
--main-font-color: #dfdfdf;
}
}
`;
(function(){
let iframes=document.getElementsByTagName("IFRAME");
while(iframes.length>0){//removes iframes, none of them is necessary as they are only used for ads both on arenavision and linkotes
iframes[0].remove();
}
console.log(document.location);
var newHTML='

Channel: GO!'+altListName+'

ArenaVision Events

';
var newHTMLFooter='

If ArenaVision is actively blocking this script you can use linkotes.com instead: it provides the direct Acestream IDs/AceLive files for the same ArenaVision channels.

';
var menus=document.getElementsByClassName("expanded");
for(var m=0;m0){
if(document.getElementsByClassName("title")[0].innerHTML.toLowerCase().includes("events")){
var tableList=document.getElementsByTagName("TABLE");
var table;
var h=0;
for(;h