How to bypass a URL shortener with advertising?
Я ищу скрипт для обхода ссылок, предоставленных сайтом http://1short.us/, чтобы получить ссылку для скачивания напрямую.
Например: http://1short.us/368527
Есть ли способ сделать это?
Я нашел этот пользовательский скрипт, но он не может обойти вторую страницу.
// @namespace TecHPrO
// @description Short Script Bypass u can add any site using this script
// @include http://1short.us/*
// ==/UserScript==
var n=location.pathname;
var exp= /m1.php/;
var x= n.search(exp);
if (x != -1)
{
var l=document.getElementsByName('groovybtn1')[0];
var s = l.getAttribute('onclick');
var s1= s.split("(\'");
var s2= s1[1];
var s3= s2.split("\',\'");
var s4= s3[0];
window.location= s4;}
else {
var p=location.href;
var c=p.split("http://");
var c1=c[0];
var c2=c[1].split("/");
var c3=c2[0];
var c4=c2[1]
window.location="http://"+c3+"/m1.php?id="+c4;
}
Я нашел второй пользовательский скрипт, но он добавляет ','name','800','800','yes');return%20false
на окончательный URL.
Вот код:
// ==UserScript==
// @name 1short.us
// @namespace 1short.us/*
// @include http://1short.us/*
// @version 1
// ==/UserScript==
/*! jQuery v1.8.3 jquery.com | jquery.org/license */
/* Contents of http://code.jquery.com/jquery-1.8.3.min.js */
//this is the place to work in lets test
//"NewWindow('mediafire_fix.php?url=http://www.mediafire.com/?a0unhxiksg47ejg','name','800','600','yes');return false"
var link =location.href;
link=link.replace("http://1short.us/","");
//alert(link);
var link2="";
$.get("http://1short.us/m1.php?",{'id':link} ,function(data){
link2=$(data).find(':button').attr('onclick');
link2=link2.replace("NewWindow('","");
link2=link2.replace("','name','800','600','yes');return false","");
location.href=link2
});
1 ответ
Сам сценарий пользователя работает нормально, но заголовки неполные.
Первые строки должны быть:
// ==UserScript==
// @namespace TecHPrO
// @description Short Script Bypass u can add any site using this script
// @include http://1short.us/*
// ==/UserScript==
Обратите внимание, что первая строка отсутствует. Это приводит к игнорированию заголовков, поэтому скрипт применяется ко всем веб-сайтам. Для правильной работы он должен быть ограничен сайтами 1short.us
домен.
Как есть, пользовательский скрипт перенаправляет с 1short.us/368527
в 1short.us/m1.php?id=368527
и оттуда turbobit.net/aveyd9fs89oc.html
, Все идет нормально. Это должно остановиться здесь.
Однако из-за отсутствующего заголовка else
блок из if
оператор выполняется снова, и скрипт перенаправляет на turbobit.net/m1.php?id=aveyd9fs89oc.html
, Это приводит к 404.
Второй пользовательский скрипт не работает, так как 1short - видимо - изменил размер своего нового окна браузера. Любые изменения на сайте могут сделать пользовательский скрипт бесполезным.
В этом случае линия
link2=link2.replace("','name','800','600','yes');return false","");
предполагается избавиться от нежелательной части URL, но фактический URL заканчивается:
','name','800','800','yes');return false
Изменение этой строки пользовательского скрипта на
link2=link2.replace("','name','800','800','yes');return false","");
(т.е. замена 600
с 800
) это исправит.