J'ai trouvé un script greasemonkey qui permet de virer toutes les pubs d'ogame :-D
Ca ressemble maintenant de tres près à un compte commandant.
Il y a une différence fondamentale entre les blockers et ce script.
Les blockers interdisent l'acces aux cookie+images dès reception sur l'ordinateur, ainsi que souvent, la modification du code HTML pour ne pas l'afficher. Or il est vrai qu'en France, le fait de modifier le fichier HTML en cache dans votre browser internet, est soumis à la propriété intellectuel. GF joue sur ces mots pour dire que c'est interdit.
Ce script est completement différent. Il ne bloque rien, et ne modifie en rien le code source du fichier HTML. Les cookies+images sont bels ete bien enregistré sur votre ordinateur. D'ailleurs on peut le voir en faisant "voir code source" avec IE ou Firefox, c'est bien le code source originel.
Ce script bloque les images+remanie le code HTML directement en mémoire (volatile). Bien que le fichier en cache est soumis au droit d'auteur, nous n'avons pas le droit de le modifier, en revanche, tout ce qui est en mémoire (RAM) de votre ordinateur est soumis à votre propriété. Il y a un precédent sur ce type de fonctionnement, ce sont les Trainers. Ces fameux petits logiciels qui modifient directement en mémoire un jeu pour rajouter des points de vie/argent. Les trainers en RAM sont légaux et à ce jour, aucune société n'a réussi à les rendre illegaux.
Pourquoi les Trainers sont légaux ? Car comme je l'ai dis , les modifications sont totalement volatile en RAM, et par delà, leur temps d'existence non-écrit en dur sur le disque, ne porte pas préjudice au caractère des droits d'auteurs sur les fichiers en cache.
Ca ressemble maintenant de tres près à un compte commandant.
Il y a une différence fondamentale entre les blockers et ce script.
Les blockers interdisent l'acces aux cookie+images dès reception sur l'ordinateur, ainsi que souvent, la modification du code HTML pour ne pas l'afficher. Or il est vrai qu'en France, le fait de modifier le fichier HTML en cache dans votre browser internet, est soumis à la propriété intellectuel. GF joue sur ces mots pour dire que c'est interdit.
Ce script est completement différent. Il ne bloque rien, et ne modifie en rien le code source du fichier HTML. Les cookies+images sont bels ete bien enregistré sur votre ordinateur. D'ailleurs on peut le voir en faisant "voir code source" avec IE ou Firefox, c'est bien le code source originel.
Ce script bloque les images+remanie le code HTML directement en mémoire (volatile). Bien que le fichier en cache est soumis au droit d'auteur, nous n'avons pas le droit de le modifier, en revanche, tout ce qui est en mémoire (RAM) de votre ordinateur est soumis à votre propriété. Il y a un precédent sur ce type de fonctionnement, ce sont les Trainers. Ces fameux petits logiciels qui modifient directement en mémoire un jeu pour rajouter des points de vie/argent. Les trainers en RAM sont légaux et à ce jour, aucune société n'a réussi à les rendre illegaux.
Pourquoi les Trainers sont légaux ? Car comme je l'ai dis , les modifications sont totalement volatile en RAM, et par delà, leur temps d'existence non-écrit en dur sur le disque, ne porte pas préjudice au caractère des droits d'auteurs sur les fichiers en cache.
- Code:
// ==UserScript==
// @name Ogame : anti-pub/script
// @author Izcelion
// @description anti-pub/script
// @language FR
// @include http://ogame*.de/game/*.php*
// @exclude http://ogame*.de/game/leftmenu.php*
// @exclude http://ogame*.de/game/notizen.php*
// ==/UserScript==
(function(){
//==================================
// Remove protection <meta-refresh>
//==================================
var headnote = document.getElementsByTagName('head');
var i = 0;
while (i<headnote.length) {
var sentenceIni = headnote[i].innerHTML;
var sentence1 = "<meta http-equiv=\"refresh\""
var pos1 = sentenceIni.indexOf(sentence1,0);
if (pos1 >= 0 ){
var sentence2 = "\">\n";
var pos2 = sentenceIni.indexOf(sentence2,pos1+sentence1.length);
var sentence3 = sentenceIni.substring(pos1,pos2+sentence2.length);
headnote[i].innerHTML = sentenceIni.replace(sentence3,"");
headnote = document.getElementsByTagName('head');
//alert("meta-refresh");
} else i++;
}
//============================================
// Remove pub <script>, <noscript>, <a href=>,
// <img>, <div>, <iframe>
//============================================
var tabTag=new Array();
tabTag[0]="script";
tabTag[1]="noscript";
tabTag[2]="a";
tabTag[3]="img";
tabTag[4]="div";
tabTag[5]="iframe";
var TabSrc=new Array();
TabSrc[0] = new RegExp("ads.gameforgeads.de","g");
TabSrc[1] = new RegExp("googlesyndication","g");
TabSrc[2] = new RegExp("media.fastclick.net","g");
TabSrc[3] = new RegExp("oz.valueclick.com","g");
TabSrc[4] = new RegExp("show_ads.js","g");
TabSrc[5] = new RegExp("get.js","g");
TabSrc[6] = new RegExp("www.girlsgotech.org","g");
TabSrc[7] = new RegExp("google","g");
TabSrc[8] = new RegExp("beacon_","g");
TabSrc[9] = new RegExp("adframe.htm","g");
TabSrc[10] = new RegExp("cdn.fastclick.net","g");
TabSrc[11] = new RegExp("adframe.php","g");
var tabText=new Array();
tabText[0] = new RegExp("Click here to visit our sponsor","g");
tabText[1] = new RegExp("link_to_gamepay()","g");
tabText[2] = new RegExp("parent.frames.length","g");
tabText[3] = new RegExp("ValueBannerType","g");
tabText[4] = new RegExp("ValueShowAd()","g");
tabText[5] = new RegExp("google","g");
tabText[6] = new RegExp("googlesyndication","g");
tabText[7] = new RegExp("ads.gameforgeads.de","g");
tabText[8] = new RegExp("media.fastclick.net","g");
for(var t=0;t<tabTag.length;t++){
var TagNode = document.getElementsByTagName(tabTag[t]);
var i = 0;
var status = true;
while (i<TagNode.length) {
var TagNodesentence = TagNode[i].innerHTML;
var k = 0;
while (k < TabSrc.length && status && (t==0 || t==1 || t==3 || t==5)){
if (TabSrc[k].test(TagNode[i].getAttribute("src"))) {
TagNode[i].parentNode.removeChild(TagNode[i]);
status = false;
}
k++;
}
var k = 0;
while (k < tabText.length && status){
if (tabText[k].test(TagNodesentence)) {
TagNode[i].parentNode.removeChild(TagNode[i]);
status = false;
}
k++;
}
var k = 0;
while (k < TabSrc.length && status && t==2){
if (TabSrc[k].test(TagNode[i].getAttribute("href"))) {
TagNode[i].parentNode.removeChild(TagNode[i]);
status = false;
}
k++;
}
var k = 0;
while (k < TabSrc.length && status && t==4){
if (TabSrc[k].test(TagNode[i].getAttribute("id"))) {
TagNode[i].parentNode.removeChild(TagNode[i]);
status = false;
}
k++;
}
if (status) {
i++;
}
else {
status = true;
TagNode = document.getElementsByTagName(tabTag[t]);
}
}
}
//==================================
// Remove pub <table> commandant
//==================================
var tablenode = document.getElementsByTagName('table');
var i = 0;
while (i<tablenode.length) {
if (tablenode[i].getAttribute("width") == 519){
var tablenodesentence = tablenode[i].innerHTML;
var expgamepay = new RegExp("https://www.gamepay.de/","g");
var expcommandant = new RegExp("Devenez Commandant OGame","g");
var expcommander = new RegExp("Commandez ici","g");
var trnode = tablenode[i].getElementsByTagName('tr');
if (trnode.length == 1 && expgamepay.test(tablenodesentence) && expcommandant.test(tablenodesentence) && expcommander.test(tablenodesentence)) {
tablenode[i].parentNode.removeChild(tablenode[i]);
tablenode = document.getElementsByTagName('table');
//alert("pub <table> commandant");
} else i++;
} else i++;
}
//==================================
// Remove empty <TR></TR>
//==================================
var trnode = document.getElementsByTagName('tr');
var i = 0;
var status = true;
while (i<trnode.length) {
var trnodesentence = trnode[i].innerHTML;
var expthcolspan = new RegExp("<th colspan=\"4\">","g");
var expvcactive = new RegExp("<!-- vc active -->","g");
var expbrcenter = new RegExp("<br><center></center><br>","g");
var expshowads = new RegExp("show_ads.js","g");
if (expthcolspan.test(trnodesentence) && expvcactive.test(trnodesentence)) {
trnode[i].parentNode.removeChild(trnode[i]);
status = false;
} else if (expthcolspan.test(trnodesentence) && expbrcenter.test(trnodesentence)) {
trnode[i].parentNode.removeChild(trnode[i]);
status = false;
}
if (status) i++;
else {
status = true;
trnode = document.getElementsByTagName('tr');
}
}
})();
Dernière édition par le Sam 16 Sep - 18:51, édité 1 fois