Как стать автором
Обновить

Комментарии 59

НЛО прилетело и опубликовало эту надпись здесь
Тут уже каждый сам для себя решает :-)
Я не скажу за последние 2 года, но еще 2 года назад пандора в смысле подборки была реально круче. Всмысле формирование своего канала на основе предпочтений пользователя пандора делала просто не в пример лучше ластфм. Сейчас не знаю, может, ластфм подтянулся.
хм, зато ластфм явно крупнее пандоры. Например, пандора не знает исполнителя Mono Inc, ластфм знает
Они разные. Ласт.фм никак не анализирует собственно музыку, а статистически определяет, что еще нравится людям с похожими на вас интересами. Плюс ориентируется по тегам, которые расставляет коммьюнити. Пандора анализирует тембр, темп и другие характеристики собственно трека.

В результате если вы залайкали, допустим, Таню Буланову, то ластфм догадается предложить вам Филиппа Киркорова и Стаса Михайлова, хотя они в общем-то не сильно похожи. А вот пандора может предложить в таком случае малоизвестную шотландскую певицу, потому что Алгоритм решил, что голоса похожи и музыка созвучна. Плюс ластфм может подкинуть подряд, например французский рэп, американский металл и хэппи хардкор, потому что кто-то проставил к ним тэги «Музыка для спортивных тренировок».

Ну, в целом рецепт один — попробуйте оба сервиса, они оба вполне качественные.
Судя по всему нет. Только hulu.com, netflix.com и pandora.com.

Т.к. внутри плагина...
const {Cc,Ci} = require("chrome");
var prefs = Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefBranch);
exports.main = function(){
	prefs.setIntPref("network.proxy.type", 2);
	prefs.setCharPref("network.proxy.autoconfig_url", "http://mediahint.com/default.pac");
}
exports.onUnload = function (reason) {
	prefs.setIntPref("network.proxy.type", 0);
	prefs.setCharPref("network.proxy.autoconfig_url", "");
};


http://mediahint.com/default.pac:
function FindProxyForURL(url, host) {
	var basic_files = [/.*\.gif/, /.*\.png/, /.*\.jpg/, /.*\.mp3/, /.*\.js/, /.*\.css/, /.*\.mp4/, /.*\.flv/, /.*\.swf/, /hulu\.com\/mozart\//, /.*\.json/, /crossdomain\.xml/];
	for(var i=0;i<basic_files.length;i++){
		if(url.match(basic_files[i])){
			return 'DIRECT';
		}
	}
	var usa = ['hulu.com', 'netflix.com', 'pandora.com'];
	var direct = ['urlcheck.hulu.com', 'r.hulu.com', 'contactus.netflix.com', 'p.hulu.com', 't2.hulu.com', 'assets.hulu.com', 'll.a.hulu.com', 'ads.hulu.com', 'stats.pandora.com', 'blog.netflix.com', 'nordicsblog.netflix.com', 'blog.pandora.com'];
	for(var i=0;i<direct.length;i++){
		if(host.indexOf(direct[i]) > -1){
			return 'DIRECT';
		}
	}
	if(host.match(/audio.*\.pandora\.com/) || host.match(/const.*\.pandora\.com/) || host.match(/mediaserver.*\.pandora\.com/) || host.match(/cont.*\.pandora\.com/)){
		return 'DIRECT';
	}
	for(var i=0;i<usa.length;i++){
		if(host.indexOf(usa[i]) > -1){
			return 'PROXY 50.116.59.63:80';
		}
	}
	return 'DIRECT';
}

зачем так сложно проверять? Я просто поставил плагин — ластфм работает (в Фаерфоксе)
пардон, я хотел написать, что НЕ работает
офигительно большое спасибо! Теперь hulu открыт!
Не за что ;-) Пользуйтесь на здоровье!
вписал в named.conf, работает:
zone "pandora.com" { type forward; forwarders {184.82.222.5; 199.167.30.144; }; };
You have totally made my day! У меня как-раз dd-wrt циска и как-раз мне надоело тыкать vpn.

Благодарю за статью! :)
А меня вот заинтересовала техническая часть =). Что же это за «магия» такая? Ваши днс отдают адрес проксирующего сервиса какого-нибудь?
Ну хоть убейте, не представляю как может днс-сервер повлиять на заголовки пакетов прямого tcp-соединения.
Из ответа в этом топике по поводу работы 8.8.8.8:
На сайте developers.google.com
In addition, Google Public DNS engineers have proposed a technical solution to the issue in an IETF draft, Client subnet information in DNS requests. This proposal defines an EDNS0 extension which allows resolvers to pass in part of the client's IP address as the source IP in the DNS message, so that nameservers can return optimized results based on the user's location rather than that of the resolver.
всё передается в расшренном заголовке ДНС-запроса. Вот как!

Это? (я совершенно не специалист)
Вопрос на superuser.com. Если коротко:
This is partially correct: the only part that's proxied is the geo authorization and the initial data stream (which is mangled to include your real IP). This is why it's so fast because they're only man-in-the-middle proxying up until the streaming begins.
Моё предположение на примере hulu.com, для других не смотрел:
hulu пользуется akamai для географического распределения нагрузки. Если мы втупую пойдём на hulu.com наш повседневный резолвер идёт на NS-серверы akamai и получает A-запись сервера, который заранее знает что нам давать доступ к сервису нельзя. Указанные в статье рекурсоры скорее всего просто не отдают наш реальный ip NS-ам akamai и получают в ответ RR как будто они находятся на территории США (или ещё где-то).

Как я понял, для того чтобы заработало нужно резолвить через волшебные DNS'ы не только зоны сервисов, но и сопутствующие зоны к которым обращаются страницы этих сервисов.

Гугловые 8.8.8.8 и 8.8.4.4 при выполнении рекурсивного запроса передают NS-серверам akamai наш реальный ip, вследствие чего нас отправляют на серверы, с которых смотреть нельзя.

Так же возможно что они отдают свои подставные ip для определённых зон чтобы обмануть плеер сервиса.

На достоверность не претендую. Если ошибся — поправляйте.
Конспирология :)
Эти DNS-сервера для некоторых хостов вместо реальных адресов банально отдают адрес прокси, который в штатах.
Буду признателен, если кто-нибудь поделится рецептом для OpenWRT.
Если вы пользуетесь LuCI то настройка на Network → DHCP and DNS → DNS Forwarding

Для UCI надо отредактировать /etc/config/dhcp, добавив в секцию config dnsmasq строки:

list 'server' '/tunlr.net/184.82.222.5'
list 'server' '/pandora.com/184.82.222.5'
list 'server' '/hulu.com/184.82.222.5'


затем выполнить
uci commit dhcp
А под виндой как то можно это встроенным средствами заюзать? (с сохранения текущих ДНС серверов для всего остального)
НЛО прилетело и опубликовало эту надпись здесь
Да, нетфликс недавно прекратили поддерживать. Они по этому поводу писали:
Proxying requests for Netflix consumes more than 90% of our server resources compared to all other services we currently support. Over time, the number of Netflix users grew steadily, amounting to a 5-digit number of Netflix users each day and thousands of concurrent network connections at any given time. We probably could handle this load for another couple of months to come but eventually, we’d have to give up support for Netflix anyway.
Почему бы не сделать сервис платным? За разумную цену я бы например купил подписку, учитывая, что это не только удобней чем VPN, но и более универсальное и, главное, куда более быстрое решение.
Там же в записи: «There are quite a few commercial DNS unblocking services available for a couple of bucks a month if you don’t want to loose access to the U.S. Netflix catalog», хотя без конкретных ссылок.

По поводу монетизации в более развернутом посте на форуме: «Since going commercial never was (and never will be) an option for us ...»
к примеру такой сервис есть тут — unblock-us.com. Принцип работы тот же, одно время пользовался, потом перешел на платный VPN.

Netflix поддерживается. Цены действительно низкие.
Такой сервис тоже существует.
А-а-а, «www». Я сравнил резолвы для «pandora.com» через их DNS и напрямую — долго смотрел удивленными глазами на одинаковый результат.
Ох, спасибо!

Почему изменения в hosts на iPhone ничего не дает? Location Services для Pandora выключены.
На PC проблем нет.
96.9.145.226 www.pandora.com
208.47.254.40 www.hulu.com

Вот это по нашему! А то роутеры перепрошивать, вот ещё…

Работает, только не понимаю как. Ну ок — раньше броузер коннкетился к одному айпи, а теперь к другому — вот и вся разница. И как же данное статическое преопределение мешает Хулу определить мой российский айпи?!
Это адреса прокси. Настоящий вопрос в том, почему само видео не проходит через них, а идет напрямую к вам.
Найн. Просто проверка географии на самом сервисе по видимому не производится. Как я понял на уровне днс, если вы не из правильной страны адрес сервиса резолвится на сервер для недостойных.
В итоге Пандора заработала в полном объеме. Хулу пускает к себе, но при загрузке конкретного видео всё-таки понимает что я не достоин. Походу в файл hosts нужно обильно добавить строк типа s21.hulu.com, что весьма затруднительно делать руками (а вайлдкардов этот файлик не поддерживает).
А для Spotify есть что-нибудь подобное?
А у вас пандора последние дни тоже пишет «Welcome to nginx»?
Сейчас попробовал — всё нормально. У меня бывает, что в середине песни вдруг переадресовывает на страницу «Извините, мы работаем только для Штатов», хотя айпи не изменялся.
Непонятно зачем это нужно было делать через DNS.
По-моему через WPAD-скрипт было бы гибче — можно через него регулировать доступ к каким URL требуется проксировать, а к каким можно разрешить клиенту ходить напрямую. Плюс отказоустойчивость прокси-серверов можно легко реализовать — а-ля CARP.
Это будет работать на iPhone / Android / Xbox / Playstation?
Это лайф хак! То есть из за того что у этих сервисов все круто и раздается через CDN, то для обхода гео привязки достаточно в hosts прописать ip CDN который раздает на US, поскольку проверка гео локации происходит на уровне dns лоад балансера который в случае если ip клиента российский откидает ему ip сервера со страницей запрета доступа, а случае если ip сша то ip cdn, так вот если сразу пойти по ip cdn мы обходим гео лоад балансер и попадаем на сервис.
Попробовал Пандору. Круто.

Кто-нибудь в курсе, как запихивать случайно выпадающих исполнителей в уже имеющуюся «станцию», а не создавать новую? Никак не вкурю, как это сделать не за 10 кликов.
А вы оплатили или пользуетесь бесплатным аккаунтом? Сервис отличный, но 64 кбит/с — мало, даже для не самого прихотливого слушателя.
Бесплатный аккаунт, конечно. :) Как постоянное радио использовать — да, не очень-то качественно. Но похожую музыку находит отлично. А дальше уже музыка в высоком качестве добывается иными путями.

Меня от формулировок «Why was this track selected?» прёт:
Металл:

Based on what you've told us so far, we're playing this track because it features mystical qualities, folk influences, a subtle use of vocal harmony, acoustic rhythm piano and intricate melodic phrasing.

...mystical qualities, a subtle use of vocal harmony, intricate melodic phrasing, a twelve-eight time signature and chromatic harmonic structure.

...hard rock roots, mystical qualities, minor key tonality, orchestral arranging and a distinctive male lead vocal.

...hard rock roots, heavy use of vocal harmonies, varying tempo and time signatures, call and answer vocal harmony (antiphony) and interweaving vocal harmony.

...hard rock roots, heavy use of vocal harmonies, acoustic sonority, extensive vamping and minor key tonality.

...hard rock roots, mild rhythmic syncopation, acoustic rhythm piano, intricate melodic phrasing and demanding instrumental part writing.

Детские песни:

...a kid-friendly vibe, heavy use of vocal harmonies, acoustic sonority, varying tempo and time signatures and major key tonality.

...a kid-friendly vibe, a subtle use of paired vocal harmony, use of a string ensemble, major key tonality and a vocal-centric aesthetic.

...a kid-friendly vibe, mild rhythmic syncopation, acoustic sonority, demanding instrumental part writing and a clear focus on recording studio production.

Симфоническая:

...a 19th century ballet score, an acclaimed work, a well-known composer, a romantic-era style and a symphony orchestra.

...a supremely inspired melody, an overall compositional virtuosity, a passionate atmosphere, a subdued, expressive aesthetic and an acclaimed work.

Танцевальная:

...electronica roots, danceable beats, unsyncopated ensemble rhythms, prominent backup vocals and use of modal harmonies.

Ну и так далее. :) Жалко, что количество пропусков ограничено. Несколько мешает быстро искать интересное.
«Add Variety» на станции.
Для прошивки роутеров от Олега:
Зайти по ssh
Создать файл /usr/local/etc/dnsmasq.conf с содержимым как в статье.
далее выполнить команды:
flashfs save
flashfs commit
flashfs enable
reboot
не могли бы вы подробнее расписать процедуру?
*только установил новую прошивку на асус и по ssh вижу только /tmp/local/root
все разобрался.
Для pdnsd кто-нибудь может подсказать решение?
$ cat /etc/powerdns/recursor.conf|grep forward
# forward-zones Zones for which we forward queries, comma separated domain=ip pairs
forward-zones=www.pandora.com=184.82.222.5

$ nslookup www.pandora.com
Server:         127.0.0.1
Address:        127.0.0.1#53

Non-authoritative answer:
Name:   www.pandora.com
Address: 96.9.145.226

но pandora не заработала :(
We believe that you are in Ukraine (your IP address appears to be 178.137.215.*). If you believe we have made a mistake, we apologize and ask that you please email us.
Хм, а у меня не работает. Пробовал вводить в apple tv как описано на сайте, и как не описано — пропадает интернет и все. Сделал через роутер, так же не работает, сайты просто не грузятся. При чем у них написано что dns активны и работают.
А у вас пандора сейчас тоже пишет «Welcome to nginx»?
Спасибо вам огромное, а то без пандоры немного скучновато. Никогда не догадался бы проверить ip адрес.
пожалуйста =)
Грустная новость. Несколько дней не работал тунлр — думал, что проэкспайрился. Зашел проверить, а гейткипер недоступен, на самом сайте пишут:

Tunlr Has Left The Building…
A little over two years ago we started Tunlr as a fun project. It was a steep but interesting learning curve and we've developed many ideas, skills and code snippets which we will be of use in future projects.

However, while preparing the paid plans we recognized that we had no desire to run Tunlr as a paid service. Running Tunlr as a good-quality and reliable, paid service requires more time than we're willing to devote to the cause. We didn't want Tunlr to become one of the many mediocre DNS unblocking services available on the market today. That's why we pulled the plug. None of your account data will be shared, all account data has been destroyed.

A few facts about Tunlr:
At its peak time, Tunlr had more than 100,000 (anonymous) users
During this time, the bandwidth for Netflix alone exceeded 30 TB of data/month
With the introduction of Gatekeeper 2, 30,000 accounts were opened in the first two months of this year
Tunlr was running mostly on dedicated servers in order to cope with the demand
The operational cost to run Tunlr's infrastructure was well below $1,000/year
Ребята, взамен помершего Tunlr мы подняли свой DNS Proxy для Pandora и Spotify. Работает, понянтно, на всех платформарх и практически не требует настройки — habrahabr.ru/post/215889/. Велкам!
Добавил в топик, спасибо.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории