TL;DR
temukan kotak Debian atau Ubuntu (terbaru) n19 dengan root pada IP publik yang bersih dan jalankan:
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
Lihat halaman Wiki untuk beberapa ide pemecahan masalah umum.
... atau berlangganan layanan Unzoner VPN untuk membuka blokir:
netflix-proxy
adalah proksi DNS cerdas untuk melakukan streaming Netflix
, Hulu
[n2], HBO Now
, dan lainnya ke luar wilayah. Itu disebarkan menggunakan wadah Docker dan menggunakan dnsmasq
[n18] dan sniproxy
[n1] untuk menyediakan layanan SmartDNS. Ini berfungsi untuk beberapa situs yang diblokir, seperti PornHub dan YouTube. Berlangganan ke milis dan dapatkan pemberitahuan tentang fitur baru, pembaruan, dll.
Yang berikut ini sudah didukung, namun menambahkan layanan tambahan adalah hal yang sepele dan dilakukan dengan memperbarui file dnsmasq.conf
dan menjalankan docker restart dnsmasq
:
Proyek ini gratis , dilindungi oleh Lisensi MIT. Ini disediakan tanpa jaminan apa pun dan dapat digunakan untuk tujuan apa pun, termasuk pribadi dan komersial. Namun, jika Anda berencana menggunakannya untuk tujuan komersial (misalnya menghasilkan uang), jangan mengharapkan dukungan gratis, karena ini tidak adil. Model dukungan komersial selalu dapat dinegosiasikan, jika diperlukan. Silakan hubungi saya jika ini adalah sesuatu yang menarik minat Anda.
Paragraf berikut menunjukkan cara mengaktifkan dan menjalankan solusi ini dengan beberapa penyedia Cloud berbeda yang telah saya coba sejauh ini. Jika Anda lebih suka video tutorial, berikut ini yang disiapkan oleh salah satu pengguna. Catatan, OpenVZ tidak akan berfungsi [n15], pastikan untuk mendapatkan mesin virtual yang tepat menggunakan KVM atau Xen.
(Netflix diblokir [n16]) Berikut ini didasarkan pada gambar Docker Ubuntu standar yang disediakan oleh DigitalOcean
, tetapi secara teori seharusnya berfungsi pada distribusi Linux apa pun dengan Docker yang sudah diinstal sebelumnya.
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
.Netflix
dan lainnya di luar wilayah.#netflix-proxy
di freenode untuk mendapatkan bantuan. Jika Anda ingin berbagi sistem dengan teman dan keluarga, Anda dapat mengotorisasi alamat IP rumah mereka menggunakan situs admin netflix-proxy
, yang terletak di http://<ipaddr>:8080/
, dengan ipaddr
adalah alamat IP publik dari VPS Anda. Login menggunakan akun admin
dengan kata sandi yang Anda catat saat pembuatan. Jika Anda lupa kredensial admin Anda, setel ulang.
Akun admin
tidak membatasi masuk atau penghapusan IP. Jika Anda ingin membatasi entri IP ke IP klien saat ini menggunakan drop-down yang diisi secara otomatis, buat akun pengguna standar menggunakan skrip account-creator.sh
yang terletak di direktori auth
, yang akan meminta Anda untuk memasukkan dan membuat akun pengguna.
Anda juga dapat menggunakan situs admin netflix-proxy
untuk memperbarui alamat IP Anda, jika ISP Anda memberikan alamat IP baru (misalnya melalui DHCP). Jika alamat IP Anda berubah, semua permintaan HTTP/HTTPS akan secara otomatis dialihkan ke situs admin pada port 8080
. Semua permintaan DNS akan dialihkan ke instance dnsmasq
yang berjalan pada port 5353
. Kemungkinan besar Anda perlu membersihkan cache DNS browser dan sistem Anda setelah ini. Di Windows, jalankan ipconfig /flushdns
. Di OS X, jalankan:
sudo killall -HUP mDNSResponder
&& sudo dscacheutil -flushcache`
Kemudian restart browser (misalnya chrome://restart
) dan/atau reboot perangkat terkait. Mekanisme ini seharusnya berfungsi di browser, namun kemungkinan besar akan menyebabkan kesalahan pada perangkat lain, seperti Apple TV dan smart TV. Jika Internet Anda tiba-tiba berhenti berfungsi, coba muat browser dan buka netflix.com
.
ipaddr
adalah alamat IP publik VPS Anda), gantikan kredensial admin dan jalankan: 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>
PERINGATAN : jangan aktifkan ini kecuali Anda tahu apa yang Anda lakukan.
Untuk mengaktifkan otorisasi otomatis setiap IP yang masuk ke proxy Anda, setel AUTO_AUTH = True
di auth/settings.py
dan jalankan service netflix-proxy-admin restart
. Pengaturan ini secara efektif akan mengotorisasi IP apa pun yang mengenai IP proxy Anda dengan browser web untuk pertama kalinya, termasuk bot, peretas, spammer, dll. Setelah otorisasi berhasil, browser akan dialihkan ke Google.
Layanan DNS dikonfigurasi dengan rekursi yang diaktifkan secara default, jadi setelah otorisasi berhasil, siapa pun dapat menggunakan VPS Anda dalam serangan amplifikasi DNS, yang mungkin akan membuat Anda melanggar kontrak dengan penyedia VPS. Anda telah diperingatkan .
Skrip build secara otomatis mengkonfigurasi sistem dengan rekursi DNS diaktifkan . Hal ini memiliki implikasi keamanan, karena berpotensi membuka server DNS Anda terhadap serangan amplifikasi DNS, sejenis serangan DDoS. Namun hal ini tidak perlu menjadi masalah, selama aturan firewall iptables
yang dikonfigurasi secara otomatis oleh skrip build untuk Anda tetap berlaku. Namun jika Anda memutuskan untuk mematikan firewall, harap waspadai hal ini.
Opsi baris perintah berikut dapat diteruskan secara opsional ke build.sh
untuk kontrol tambahan:
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
Untuk memperbarui skema database Anda yang ada, jalankan skrip update.sh
yang disediakan. Alternatifnya, Anda dapat menjalankan pembaruan skema secara manual (misalnya jika Anda melewatkan satu versi).
Skrip build telah dirancang untuk bekerja di Ubuntu dan Debian. Kemungkinan besar akan gagal pada semua distribusi lainnya. Beberapa prasyarat mengharuskan lokal disetel dengan benar dan beberapa image OS penyedia memerlukan bantuan tambahan. Jika Anda mendapatkan masalah locale
yang dilaporkan oleh Python
dan/atau pip
selama pembangunan, coba jalankan yang berikut ini terlebih dahulu:
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 diblokir [n16]) Berikut ini didasarkan pada gambar Debian yang disediakan oleh Vultr
, tetapi secara teori dapat berfungsi pada distribusi Debian mana pun.
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
dan lainnya di luar wilayah.#netflix-proxy
di freenode untuk mendapatkan bantuan. (Netflix diblokir [n16]) Berikut ini didasarkan pada image standar Ubuntu yang disediakan oleh Kamatera
.
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
.Netflix
dan lainnya di luar wilayah.#netflix-proxy
di freenode untuk mendapatkan bantuan. (Netflix diblokir[n16]) Berikut ini didasarkan pada image Debian atau Ubuntu yang disediakan oleh RamNode
.
VPS Control Panel
dan instal (ulang) OS menggunakan image Ubuntu atau 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
dan lainnya di luar wilayah.#netflix-proxy
di freenode untuk mendapatkan bantuan. (Netflix diblokir [n16]) Berikut ini didasarkan pada image standar Ubuntu yang disediakan oleh Linode
, tetapi dapat berfungsi pada distribusi Linux apa pun tanpa menginstal Docker.
Linode
baru di lokasi geografis yang diinginkan dan terapkan image Ubuntu ke dalamnya. 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
dan lainnya di luar wilayah.#netflix-proxy
di freenode untuk mendapatkan bantuan. (belum diuji) Berikut ini didasarkan pada gambar Ubuntu standar yang disediakan oleh DreamHost
, tetapi dapat berfungsi pada distribusi Linux apa pun tanpa Docker diinstal dan dijalankan pada pengguna non-root (misalnya Amazon Web Services
[n13]).
DreamCompute
atau Public Cloud Computing
dan luncurkan instans Ubuntu di lokasi geografis yang diinginkan.Ingress - IPv4 - UDP - 53 - 0.0.0.0/0 (CIDR)
Floating IP
ke instans Anda. 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
dan lainnya di luar wilayah.#netflix-proxy
di freenode untuk mendapatkan bantuan. Berikut ini berdasarkan gambar Ubuntu yang disediakan oleh Gandi
menggunakan login root
dengan kunci SSH saja (tanpa kata sandi). Untuk login admin
non-root default, sesuaikan langkah 6 untuk menggunakan sudo
jika diperlukan.
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
dan lainnya di luar wilayah.#netflix-proxy
di freenode untuk mendapatkan bantuan. Yang berikut ini belum diuji dan didasarkan pada gambar standar Ubuntu yang disediakan oleh Microsoft Azure
menggunakan alat otomatisasi cloud-harness
yang saya tulis beberapa waktu lalu dan mengasumsikan langganan Microsoft Azure
kosong. Selain itu, karena Azure memblokir ICMP secara menyeluruh dalam penyeimbang beban dan tidak menawarkan dukungan IPv6 asli, IPv6 tidak akan berfungsi.
git clone https://github.com/ab77/cloud-harness.git ~/cloud-harness
.cloud-harness
untuk mengaturnya. ./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)
dan HTTPS (TCP)
dan mengamankannya ke IP rumah/kantor/apa pun menggunakan fitur Azure ACL
.azureuser
menggunakan port TCP publik khusus (bukan 22
) dan gunakan instruksi Ubuntu pengguna non-root apa pun untuk membangun/menginstal netflix-proxy
. Proyek ini terhubung dengan Travis CI
untuk menerapkan dan menguji proyek secara otomatis. Skrip Python testbuild.py
digunakan untuk menyebarkan dan menguji netflix-proxy
. Skrip ini menyebarkan tes Droplet
dan kemudian menjalankan tes serius untuk memverifikasi (a) bahwa semua container Docker
dimulai; (b) skrip built.sh
menampilkan pesan yang benar di bagian akhir; (c) semua layanan yang relevan dapat bertahan setelah reboot; dan (d) proxy dapat berkomunikasi dengan Netflix melalui SSL.
Skrip testbuild.py
juga dapat digunakan untuk menyebarkan Droplets
secara terprogram dari baris perintah:
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
Catatan, Anda memerlukan lingkungan Python 2.7
yang berfungsi dan modul-modul yang tercantum dalam tests/requirements.txt
(jalankan pip install -r tests/requirements.txt
).
Tes pemutaran video saat ini dinonaktifkan karena pemblokiran penyedia.
Setelah penerapan build berhasil, testvideo.py
dijalankan untuk menguji pemutaran video Netflix. Hal ini dilakukan dengan memutar ulang judul yang diketahui hanya tersedia di wilayah AS (misalnya 1.000 Times Good Night) berdurasi 60 detik.
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)
Tangkapan layar disimpan di akhir pengujian dan diunggah ke cabang gh-pages
.
Demikian pula, testvideo.py
dijalankan untuk menguji pemutaran video Hulu menggunakan salah satu judul gratis (misalnya South Park S01E01: Cartman Gets an Anal Probe). Build dikonfigurasikan agar tidak gagal jika pengujian Hulu gagal. Ini karena Hulu hampir pasti diblokir dari Digital Ocean.
Solusi ini menggunakan hilir IPv6 dari proksi untuk membuka blokir penyedia yang mendukung IPv6, seperti Netflix. Tidak diperlukan dukungan IPv6 pada klien agar ini dapat berfungsi, hanya VPS yang harus memiliki konektivitas IPv6 publik. Anda mungkin juga perlu mematikan IPv6 di jaringan lokal Anda (dan/atau perangkat terkait).[n6]
+----------+ +-----------+ +-----------------+
| | | | | |
| client | +--------------> | proxy | +-------------> | Netflix, etc. |
| | (ipv4) | | (ipv6) | |
+----------+ +-----------+ +-----------------+
Jika Anda punya ide, jangan ragu untuk membaginya dan kirimkan kembali perubahan Anda kepada saya.
Jika Anda merasa ini bermanfaat, silakan memberikan donasi kecil melalui PayPal atau Bitcoin.
Paypal | Bitcoin |
---|---|
1GUrKgkaCkdsrCzb4pq3bJwkmjTVv9X7eG |
[email protected]
; solusi ini hanya berlaku pada perangkat yang mendukung Indikasi Nama Server (SNI)[n7] dan hanya jika perangkat tersebut menggunakan DNS untuk menentukan nama.Hulu
sangat dibatasi secara geografis dari sebagian besar rentang IP non-perumahan dan tidak mendukung IPv6.-c <ip>
ke build.sh
.black.box
unzoner.black.box
unzoner.[email protected]
.© 2016-2019 ab1