私はUbuntuを実行している米国のVPSを持っています。 http://www.usvideo.org に似たものをセットアップしたい。基本的に、USVIDEOは、カナダ人がHulu、Netflix、NBCなどのアメリカのコンテンツにアクセスできるようにするDNSサービスです( IP)。
USVideoがそれを行う方法は次のとおりです。
このソリューションの優れている点は、特定のWebサイトからの地理的なIPチェックをバイパスするためにVPNトンネルが必要ないことです。クライアント側で必要なのは、DNSサーバー(VPS)を指定することだけです。特定のサイトが地理的にロックされている場合は、トラフィックをプロキシに転送するだけです。これらのサイトは、DNSエントリで指定することも、プロキシサービスで指定して、DNS要求を独自のプロキシにリダイレクトすることもできます。
似たようなものをセットアップするために必要なのは、Squid Proxy、IPTables、およびDNSだと思います。私が助けを必要としているのは、これに正確に取り組む方法ですか? Squidプロキシは透過プロキシとして設定されますか?
秘訣は、プロキシするものだけでなく、プロキシしないものです。ほとんどのビデオサイトは、異なるホストまたは異なるドメインのWebコンテンツとビデオコンテンツをホストします。 hulu.comの場合、すべてのビデオコンテンツはakamaitechnologies.comドメインにあります...したがって、hulu.comをプロキシし、akamaitechnologies.comをプロキシしない場合、地理的領域を偽造できます。
さらに良いのは、ルーターへのアクセスと低帯域幅のVPNサービスがある場合、ファイアウォールルールを使用してこれを実行できることです。低帯域幅のものをVPNサービスにリダイレクトし、高帯域幅のものはフィルタリングされないままにします。このソリューションの利点は、無料の低帯域幅VPNプロバイダーが多数あることです...チェックするサイトの数がかなり少ない場合は、vpnの代わりにsshトンネルを使用することもできます。
しかし、 http://tunlr.net のようなサービスは、これを自動的かつ無料で行います。そこには「netflux」は存在しないと確信しています...
私はDNSで何のトリックもしません。むしろ、指定したドメインのVPSでのみプロキシを使用するローカルネットにプロキシを設定します。例:イカのcache_peer_domain
オプションはこれを実現します。追加する地元のイカに
cache_peer_domain vps-in-america.example.com .Pandora.com
参考までに、キャッシュのみのBIND DNSおよびSNIプロキシを使用してこれを行う方法があります。
米国では、*。netflix.comリクエストのみがVPSを介してプロキシされますが、AkamaiCDNからのビデオコンテンツにはプレーヤーデバイスから直接アクセスされます。
Pandora、Crackleなど、他の多くのジオロックサービスでも機能します。
--ab1
参照: 安価な米国ベースのVPSでのNetflix Tunlr/Unblock-Us/UnoTellyのDIYクローン
参照: SNIプロキシGitHub
mmmmmmmm、メタコンテンツを見ると、ムービーが読み込まれるとすぐに、GeoLocationがフラッシュで実行されていることがわかります。繰り返しますが、これはnetflixの初期インストール、サインアップ、およびログインでチェックされます。
では、unblock-usは何をしているのでしょうか?本質的に彼らはnetflixのクローンを実行しているので、このクローンをnetflux.comと呼びます。
彼らは実際のウェブサイト(ビデオコンテンツを除く)からすべてのデータを取得し、クローンサイトnetflux.comに投稿します。これは、DNSサーバーの出番です。サイトnetflux.comは実際にはイントラネットにのみ存在し、インターネットには存在しないため、レコードはドメインネームサーバーにしか存在できないため、表示するにはサーバーの一部でなければなりません。グローバルに更新されないためです。
ステップ1(非常に簡単)既存の名前の仮想ネームサーバーをセットアップしますが、DNSサーバーによってのみ指示できるIPをリッスンします。したがって、dnsを使用するとnetflix.comは10.20.30.80(例)になり、netflix.comにアクセスすると、netflux.comが自動的に読み込まれます。
オリジナル:netflix.com->(実際のnetflix ip)->お使いのデバイス。
新しいdnsmap:
netflix.com->(サーバーIP)-> [email protected]>/var/www1/netflux/index.pl->デバイス。
Dnsサーバーは「your server ip」セクションを制御します。
step 2(easy):実際のnetflixにログインし、ビデオを除くWebコンテンツ全体をリーチします。これは基本的にWebサイトをコピーするので比較的簡単です。ネットワークで何を監視できますか? wii/360/sp3)はWebリクエストであり、そのコンテンツもダウンロードして、好きなシステムと互換性を持たせます。
ステップ3(ある程度のスキルが必要):次の部分は、phpを理解している平均的なコーダーにとって簡単です(Perlはこれをパイのように簡単にします)。 netflixが使用する基本的なフォーラム認証は、ここでの弱点です。holyflux.com(*実際のnetflix)へのログイン中にユーザーの資格情報を解析するだけです。
MAP:www.netflix.com->(DNSはnetflux.comをロードします)->ユーザーがログインします-> holyflix.com(* real netflix)は検証を返します。
step3は、サーバーのコーディング方法に応じて、ある程度オプションです。プライベートDNSサーバーを使用しているユーザーが有効な認証を持っていることがわかっている場合は、サイトにログインする必要はまったくありません。それを得る?
ステップ4(熟練)これで、netflixのミラーを完全に参照しています。ビデオをクリックして、サーバーにデバイスIDを取得させ、サーバーに基づいてholyflux.comに解析させます(すでに確立され、確認されているか、完全にトークンが有効であることを知っていて、タイトルを見ようとすると確認されるので、それを切り取ります)これで、デバイスはコンテンツをストリーミングするためのソケットを開いています。戻りアドレスは、サーバーパケットからholyflux.comへのヘッダーに設定され、地理位置情報はサーバーIPによってだまされ、ソケットは実際のnetflixサーバーからのデバイスで確立されます。彼らのソフトウェアはDRMを処理し、ビデオはチェック柄です。
パケットレベルで抽出する必要があるため、最も難しい部分はプロトコルですが、すべてが実際にはプレーンテキストの暗号化です。MSNPについて考えてみてください。ただし、文字キーとMSG順序付けはありません。
乾杯〜InSaneGame〜
別の解決策は、このオーストラリア人がしたように、Pythonでソケットを使用してプロキシを設定することです http://delx.net.au/blog/2011/12/hulu-and-Pandora-outside-usa/
彼のソリューションのパフォーマンスのオーバーヘッドについてはよくわかりませんが、とにかくジオブロッキングドメインをプロキシするためだけのものです。