пятница, 21 марта 2014 г.

Продолжаем слушать Pandora.com


     Рассказывать про такой замечательный сервис как Pandora не стану.  Кто читает эту статью наверняка знает что это. Скажу лишь, что это онлайн радио, которое умеет хорошо подбирать под Вас музыку. Но минус в том, что у нас слушать это радио не получится. Только для капиталистического запада ). Но никто не мешает конечно сидеть за прокси и подобными сервисами. Одним из таких был  Tunlr, который помимо Пандоры позволял заходить и на многие другие сервисы. Для этого нужно лишь было прописать их днс. Но не так давно этот сервис к сожалению закрылся. А использовать для этого прокси все так же не хотелось. Аналог найти так и не удалось, решил пойти другим путем.
     Для браузеров есть много расширений, позволяющих слушать/смотреть  сервисы с региональными ограничениями. В большинстве своем эти расширения просто перенаправляют трафик того или иного сервиса через свои прокси. Поэтому решил поковырять первое попавшееся расширения. "Жертвой" стал ProxMate, который позволяет пользоваться многими сервисами. Но мне нужна была только лишь Pandora.

      Итак, после изучения выяснилось, что расширение использует следующие адреса в качестве прокси:
us01.sq.proxmate.me us02.sq.proxmate.me us03.sq.proxmate.me us04.sq.proxmate.me us05.sq.proxmate.me us06.sq.proxmate.me us07.sq.proxmate.me us08.sq.proxmate.me us09.sq.proxmate.me us10.sq.proxmate.me us11.sq.proxmate.me
Перенаправлять весь трафик нам не нужно. Да и не получится.  Поэтому прописываем небольшое правила на нашем шлюзе

 iptables -t nat -I PREROUTING -d 208.85.40.50 -p tcp -m tcp --dport 80 -j DNAT --to-destination 96.47.230.66:80  
 iptables -t nat -I PREROUTING -d 208.85.40.20 -p tcp -m tcp --dport 80 -j DNAT --to-destination 96.47.230.66:80  
 iptables -t nat -I PREROUTING -d 208.85.40.20 -p tcp -m tcp --dport 443 -j DNAT --to-destination 96.47.230.66:443  
 iptables -t nat -I PREROUTING -d 208.85.40.50 -p tcp -m tcp --dport 443 -j DNAT --to-destination 96.47.230.66:443  

Где 208.85.40.52 и 208.85.40.20 адреса www.pandora.com, а  66.85.131.8 адрес одного из прокси. Если кому-то нужен доступ к другим сервисам (например HULU), то просто создаем аналогичные правила для их адресов.

Почему я делаю столько телодвижений, а не использую просто расширение? Потому что у меня в сети много устройств, в том числе и мобильных. Ставить расширение на каждое из них нет никакого желания. Да и зачем, если есть такое универсальное решение?


UPD. Если используется прокси сервер (например SQUID) то нужно еще добавить


 iptables -t nat -I OUTPUT -d 208.85.40.50 -p tcp -m tcp --dport 80 -j DNAT --to-destination 96.47.230.66:80   
 iptables -t nat -I OUTPUT -d 208.85.40.20 -p tcp -m tcp --dport 80 -j DNAT --to-destination 96.47.230.66:80   
 iptables -t nat -I OUTPUT -d 208.85.40.20 -p tcp -m tcp --dport 443 -j DNAT --to-destination 96.47.230.66:443   
 iptables -t nat -I OUTPUT -d 208.85.40.50 -p tcp -m tcp --dport 443 -j DNAT --to-destination 96.47.230.66:443   

UPD. Способ больше не работает!! Proxmate теперь использует squid  НЕ в прозрачном режиме. То есть средствами iptables туда трафик не загнать. Поэтому решил использовать Openvpn, тем более что итак он используется для обхода запрета на трекеры и другие сайты. Кто уже настраивал Openvpn по моей статье могут просто в строку dadr добавить  www.pandora.com. Главное при этом выбрать Openvpn сервер расположенный в США, иначе не будет работать.