Я ищу скрипт для обхода ссылок, предоставляемых сайтом.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
) исправит ситуацию.