TL;DR
クリーンなパブリック IP 上のルートを持つ (最近の)n19 Debian または Ubuntu ボックスを見つけて、次を実行します。
apt-get update
&& apt-get -y install vim dnsutils curl sudo
&& curl -fsSL https://get.docker.com/ | sh || apt-get -y install docker.io
&& mkdir -p ~/netflix-proxy
&& cd ~/netflix-proxy
&& curl -fsSL https://github.com/ab77/netflix-proxy/archive/latest.tar.gz | gunzip - | tar x --strip-components=1
&& ./build.sh
一般的なトラブルシューティングのアイデアについては、 Wikiページを参照してください。
...または、Unzoner VPN サービスに登録してブロックを解除します。
netflix-proxy
Netflix
、 Hulu
[n2]、 HBO Now
などを地域外にストリーミングするためのスマート DNS プロキシです。 Docker コンテナを使用してデプロイされ、 dnsmasq
[n18] とsniproxy
[n1] を使用して SmartDNS サービスを提供します。これは、PornHub や YouTube など、ブロックされた一部のサイトで機能します。メーリング リストに登録すると、新機能やアップデートなどの通知が届きます。
以下はそのままの状態でサポートされていますが、追加サービスの追加は簡単で、 dnsmasq.conf
ファイルを更新し、 docker restart dnsmasq
実行することで実行できます。
このプロジェクトは無料で、MIT ライセンスの対象となります。無保証で提供されており、個人、商用を問わず、いかなる目的でも使用できます。ただし、商業目的で使用する (つまり、収益を上げる) ことを計画している場合は、不公平となるため、無料サポートを期待しないでください。必要に応じて、商用サポート モデルをいつでも交渉できます。ご興味がございましたら、ご連絡ください。
次の段落では、これまでに試したいくつかの異なるクラウド プロバイダーでこのソリューションを立ち上げて実行する方法を示します。ビデオ チュートリアルをご希望の場合は、ユーザーの 1 人が作成したビデオ チュートリアルをご覧ください。 OpenVZ は動作しないことに注意してください [n15]。KVM または Xen を使用して適切な仮想マシンを取得するようにしてください。
(Netflix はブロックされています [n16]) 以下は、 DigitalOcean
によって提供される標準の Ubuntu Docker イメージに基づいていますが、理論的には、Dockerがプリインストールされているすべての Linux ディストリビューションで動作するはずです。
One-click Apps
タブにあります)。 mkdir -p ~/netflix-proxy
&& cd ~/netflix-proxy
&& curl -fsSL https://github.com/ab77/netflix-proxy/archive/latest.tar.gz | gunzip - | tar x --strip-components=1
&& ./build.sh
netflix-proxy
管理サイトのURL と認証情報を必ず記録してください。Netflix
などをお楽しみください。#netflix-proxy
試してみてください。システムを友人や家族と共有したい場合は、 http://<ipaddr>:8080/
にあるnetflix-proxy
管理サイトを使用して、ホーム IP アドレスを認証できます。ここで、 ipaddr
パブリック IP アドレスです。 VPS の。ビルド中に記録したパスワードを持つadmin
アカウントを使用してログインします。管理者の資格情報を忘れた場合は、リセットしてください。
admin
アカウントは、IP の入力または削除を制限しません。自動的に入力されるドロップダウンを使用して IP の入力を現在のクライアント IP に制限する場合は、 auth
ディレクトリにあるaccount-creator.sh
スクリプトを使用して標準ユーザー アカウントを作成します。これにより、入力と作成を求めるプロンプトが表示されます。ユーザーアカウント。
ISP が新しい IP アドレスを割り当てた場合 (例: DHCP 経由)、 netflix-proxy
管理サイトを使用して IP アドレスを更新することもできます。 IP アドレスが変更された場合、すべての HTTP/HTTPS リクエストはポート8080
の管理サイトに自動的にリダイレクトされます。すべての DNS リクエストは、ポート5353
で実行されているdnsmasq
インスタンスにリダイレクトされます。この後、ブラウザとシステムの DNS キャッシュを削除する必要がある可能性があります。 Windows では、 ipconfig /flushdns
を実行します。 OS X では、次を実行します。
sudo killall -HUP mDNSResponder
&& sudo dscacheutil -flushcache`
次に、ブラウザを再起動するか (例: chrome://restart
)、関連するデバイスを再起動します。このメカニズムはブラウザーでは機能しますが、Apple TV やスマート TV などの他のデバイスではエラーが発生する可能性が高くなります。インターネットが突然機能しなくなった場合は、ブラウザをロードしてnetflix.com
にアクセスしてみてください。
ipaddr
VPS のパブリック IP アドレスです)、管理者の資格情報を置き換えて実行します。 curl -L http://<ipaddr>:8080/autoadd?username=<admin-username>&password=<admin-password>
curl -L http://<ipaddr>:8080/autoadd?ip=<your-public-ipaddr>&username=<admin-username>&password=<admin-password>
警告: 何をしようとしているのか理解していない限り、これを有効にしないでください。
プロキシにヒットするすべての IP の自動認証を有効にするには、 auth/settings.py
でAUTO_AUTH = True
を設定し、 service netflix-proxy-admin restart
を実行します。この設定は、ボット、ハッカー、スパマーなどを含む、Web ブラウザで初めてプロキシ IP にアクセスするすべての IP を効果的に認可します。認可に成功すると、ブラウザは Google にリダイレクトされます。
DNS サービスはデフォルトで再帰がオンになるように構成されているため、認証に成功すると、誰でも VPS を DNS 増幅攻撃に使用でき、おそらく VPS プロバイダーとの契約に違反することになります。警告を受けています。
ビルド スクリプトは、DNS 再帰をオンにしてシステムを自動的に構成します。これは、DNS サーバーが DDoS 攻撃の一種である DNS 増幅攻撃にさらされる可能性があるため、セキュリティに影響を及ぼします。ただし、ビルド スクリプトによって自動的に構成されたiptables
ファイアウォール ルールがそのまま残っている限り、これは問題になりません。ただし、ファイアウォールを無効にする場合は、この点に注意してください。
追加の制御のために、次のコマンド ライン オプションをオプションでbuild.sh
に渡すことができます。
Usage: ./build.sh [-b 0|1] [-c <ip>]
-b grab docker images from repository (0) or build locally (1) (default: 0)
-c specify client-ip instead of being taken from ssh_connection
既存のデータベース スキーマを更新するには、提供されているupdate.sh
スクリプトを実行してください。あるいは、スキーマの更新を手動で実行することもできます (バージョンをスキップした場合など)。
ビルド スクリプトは、Ubuntu と Debian で動作するように設計されています。他のすべてのディストリビューションでは失敗する可能性が高くなります。一部の前提条件ではロケールを正しく設定する必要があり、一部のプロバイダー OS イメージには追加のヘルプが必要です。ビルド中にPython
やpip
によってlocale
問題が報告された場合は、まず次のコマンドを実行してみてください。
export LANGUAGE=en_US.UTF-8
&& export LANG=en_US.UTF-8
&& export LC_ALL=en_US.UTF-8
&& export LC_CTYPE="en_US.UTF-8"
&& locale-gen en_US.UTF-8
&& sudo apt-get -y install language-pack-en-base
&& sudo dpkg-reconfigure locales
(Netflix はブロックされています [n16]) 以下はVultr
によって提供される Debian イメージに基づいていますが、理論的にはどの Debian ディストリビューションでも動作するはずです。
apt-get update
&& apt-get -y install vim dnsutils curl sudo
&& curl -fsSL https://get.docker.com/ | sh || apt-get -y install docker.io
&& mkdir -p ~/netflix-proxy
&& cd ~/netflix-proxy
&& curl -fsSL https://github.com/ab77/netflix-proxy/archive/latest.tar.gz | gunzip - | tar x --strip-components=1
&& ./build.sh
netflix-proxy
管理サイトの認証情報を必ず記録してください。Netflix
などをお楽しみください。#netflix-proxy
試してみてください。 (Netflix はブロックされています [n16]) 以下は、 Kamatera
が提供する標準の Ubuntu イメージに基づいています。
apt-get update
&& apt-get -y install vim dnsutils curl sudo
&& curl -fsSL https://get.docker.com/ | sh || apt-get -y install docker.io
&& mkdir -p ~/netflix-proxy
&& cd ~/netflix-proxy
&& curl -fsSL https://github.com/ab77/netflix-proxy/archive/latest.tar.gz | gunzip - | tar x --strip-components=1
| tar x --strip-components=1
&& ./build.sh
netflix-proxy
管理サイトのURL と認証情報を必ず記録してください。Netflix
などをお楽しみください。#netflix-proxy
試してみてください。 (Netflix はブロックされています[n16]) 以下は、 RamNode
によって提供される Debian または Ubuntu イメージに基づいています。
VPS Control Panel
にログインし、Ubuntu または Debian イメージを使用して OS を (再) インストールします。 apt-get update
&& apt-get -y install vim dnsutils curl sudo
&& curl -fsSL https://get.docker.com/ | sh || apt-get -y install docker.io
&& mkdir -p ~/netflix-proxy
&& cd ~/netflix-proxy
&& curl -fsSL https://github.com/ab77/netflix-proxy/archive/latest.tar.gz | gunzip - | tar x --strip-components=1
&& ./build.sh
netflix-proxy
管理サイトの認証情報を必ず記録してください。Netflix
などをお楽しみください。#netflix-proxy
試してみてください。 (Netflix はブロックされています [n16]) 以下はLinode
によって提供される標準の Ubuntu イメージに基づいていますが、Docker がインストールされていないLinux ディストリビューションでも動作するはずです。
Linode
作成し、そこに Ubuntu イメージをデプロイします。 apt-get update
&& apt-get -y install vim dnsutils curl sudo
&& curl -fsSL https://get.docker.com/ | sh || apt-get -y install docker.io
&& mkdir -p ~/netflix-proxy
&& cd ~/netflix-proxy
&& curl -fsSL https://github.com/ab77/netflix-proxy/archive/latest.tar.gz | gunzip - | tar x --strip-components=1
&& ./build.sh
netflix-proxy
管理サイトの認証情報を必ず記録してください。Netflix
などをお楽しみください。#netflix-proxy
試してみてください。 (未テスト)以下はDreamHost
によって提供される標準の Ubuntu イメージに基づいていますが、Docker がインストールされていない、非 rootユーザー ( Amazon Web Services
[n13] など) で実行されていない Linux ディストリビューションでも動作するはずです。
DreamCompute
またはPublic Cloud Computing
セクションを見つけて、対象の地理的場所で Ubuntu インスタンスを起動します。Ingress - IPv4 - UDP - 53 - 0.0.0.0/0 (CIDR)
Floating IP
を追加します。 sudo apt-get update
&& sudo apt-get -y install vim dnsutils curl
&& curl -fsSL https://get.docker.com/ | sh || apt-get -y install docker.io
&& sudo usermod -aG docker $(whoami | awk '{print $1}')
&& mkdir -p ~/netflix-proxy
&& cd ~/netflix-proxy
&& curl -fsSL https://github.com/ab77/netflix-proxy/archive/latest.tar.gz | gunzip - | tar x --strip-components=1
&& ./build.sh
netflix-proxy
管理サイトの認証情報を必ず記録してください。Netflix
などをお楽しみください。#netflix-proxy
試してみてください。以下は、SSH キーのみ (パスワードなし) でroot
ログインを使用してGandi
によって提供される Ubuntu イメージに基づいています。デフォルトの非 root admin
ログインの場合は、必要に応じてsudo
使用するようにステップ 6 を調整します。
apt-get update
&& apt-get -y install vim dnsutils curl sudo
&& curl -fsSL https://get.docker.com/ | sh || apt-get -y install docker.io
&& mkdir -p ~/netflix-proxy
&& cd ~/netflix-proxy
&& curl -fsSL https://github.com/ab77/netflix-proxy/archive/latest.tar.gz | gunzip - | tar x --strip-components=1
&& ./build.sh
netflix-proxy
管理サイトの認証情報を必ず記録してください。Netflix
などをお楽しみください。#netflix-proxy
試してみてください。以下はテストされておらず、私が少し前に書いたcloud-harness
自動化ツールを使用してMicrosoft Azure
によって提供される標準の Ubuntu イメージに基づいており、空のMicrosoft Azure
サブスクリプションを前提としています。また、Azure はロード バランサーを通じて ICMP をブロックし、ネイティブ IPv6 サポートを提供しないため、IPv6 は機能しません。
git clone https://github.com/ab77/cloud-harness.git ~/cloud-harness
を実行します。cloud-harness
インストールと構成セクションに従って設定してください。 ./cloud-harness.py azure --action create_virtual_machine_deployment
--service <your hosted service name>
--deployment <your hosted service name>
--name <your virtual machine name>
--label 'Netflix proxy'
--account <your storage account name>
--blob b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04-LTS-amd64-server-20140414-en-us-30GB
--os Linux
--network VNet1
--subnet Subnet-1
--ipaddr <your reserved ipaddr name>
--size Medium
--ssh_auth
--disable_pwd_auth
--verbose
DNS (UDP)
、 HTTP (TCP)
、およびHTTPS (TCP)
エンドポイントを追加し、Azure ACL
機能を使用してそれらを自宅/職場などの IP にセキュリティで保護します。22
ではない) を使用してazureuser
として VM に SSH 接続し、非 root ユーザーの Ubuntu 手順を使用してnetflix-proxy
構築/インストールします。このプロジェクトはTravis CI
にリンクされており、プロジェクトのデプロイとテストが自動的に行われます。 Python スクリプトtestbuild.py
は、 netflix-proxy
のデプロイとテストに使用されます。このスクリプトは、テストDroplet
をデプロイし、次に本格的なテストを実行して、(a) すべてのDocker
コンテナが起動することを確認します。 (b) built.sh
スクリプトは最後に正しいメッセージを出力します。 (c) すべての関連サービスは再起動後も存続します。 (d) プロキシは SSL 経由で Netflix と通信できます。
testbuild.py
スクリプトを使用して、コマンド ラインからプログラムでDroplets
をデプロイすることもできます。
usage: testbuild.py digitalocean [-h] --api_token API_TOKEN
[--client_ip CLIENT_IP]
[--fingerprint FINGERPRINT [FINGERPRINT ...]]
[--region REGION] [--branch BRANCH]
[--create] [--destroy] [--list_regions]
[--name NAME]
optional arguments:
-h, --help show this help message and exit
--api_token API_TOKEN
DigitalOcean API v2 secret token
--client_ip CLIENT_IP
client IP to secure Droplet
--fingerprint FINGERPRINT [FINGERPRINT ...]
SSH key fingerprint
--region REGION region to deploy into; use --list_regions for a list
--branch BRANCH netflix-proxy branch to deploy (default: master)
--create Create droplet
--destroy Destroy droplet
--list_regions list all available regions
--name NAME Droplet name
動作するPython 2.7
環境と、 tests/requirements.txt
にリストされているモジュールが必要であることに注意してください ( pip install -r tests/requirements.txt
を実行します)。
プロバイダーがブロックされているため、ビデオ再生テストは現在無効になっています。
ビルドのデプロイが成功すると、 testvideo.py
が実行されて Netflix ビデオの再生がテストされます。これは、米国地域でのみ利用可能であることが知られているタイトル (例: 1,000 Times Good Night) を 60 秒間再生することによって行われます。
usage: testvideo.py netflix [-h] --email EMAIL --password PASSWORD
[--seconds SECONDS] [--titleid TITLEID]
[--tries TRIES]
optional arguments:
-h, --help show this help message and exit
--email EMAIL Netflix username
--password PASSWORD Netflix password
--seconds SECONDS playback time per title in seconds (default: 60)
--titleid TITLEID Netflix title_id to play (default: 80001898)
--tries TRIES Playback restart attempts (default: 4)
テストの終了時にスクリーンショットが保存され、 gh-pages
ブランチにアップロードされます。
同様に、 testvideo.py
実行して、無料タイトルの 1 つ (例: South Park S01E01: Cartman Gets an Anal Probe) を使用して Hulu ビデオの再生をテストします。ビルドは、Hulu テストが失敗した場合でも失敗しないように構成されています。これは、Hulu がほぼ確実に Digital Ocean からブロックされているためです。
このソリューションは、プロキシからの IPv6 ダウンストリームを使用して、Netflix などの IPv6 対応プロバイダーのブロックを解除します。これが機能するためにクライアントでの IPv6 サポートは必要ありません。VPS にのみパブリック IPv6 接続が必要です。ローカル ネットワーク (および/または関連デバイス) で IPv6 をオフにする必要がある場合もあります。[n6]
+----------+ +-----------+ +-----------------+
| | | | | |
| client | +--------------> | proxy | +-------------> | Netflix, etc. |
| | (ipv4) | | (ipv6) | |
+----------+ +-----------+ +-----------------+
何かアイデアがある場合は、お気軽にフォークして変更を私に送信してください。
これが役立つと思われた場合は、PayPal または Bitcoin で少額の寄付をお願いいたします。
ペイパル | ビットコイン |
---|---|
1GUrKgkaCkdsrCzb4pq3bJwkmjTVv9X7eG |
[email protected]
;このソリューションは、Server Name Indication (SNI)[n7] をサポートするデバイス上で、名前解決に DNS を使用する場合にのみ有効です。Hulu
、ほとんどの非住宅 IP 範囲から地理的に厳しく制限されており、IPv6 をサポートしていません。build.sh
の-c <ip>
オプションを使用して手動で IP を作成します。black.box
unzoner を試してみてください。black.box
unzoner を試してください。[email protected]
。© 2016-2019 ab1