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 라이선스가 적용됩니다. 어떠한 보증도 없이 제공되며 개인용, 상업용 등 어떠한 목적으로도 사용할 수 있습니다. 그러나 상업적인 목적(예: 돈벌기)으로 사용할 계획이라면 무료 지원을 기대하지 마십시오. 불공평할 수 있습니다. 필요한 경우 상용 지원 모델을 언제든지 협상할 수 있습니다. 이것이 당신에게 관심이 있다면 저에게 연락해주세요.
다음 단락에서는 지금까지 시도한 몇 가지 클라우드 제공업체를 통해 이 솔루션을 시작하고 실행하는 방법을 보여줍니다. 비디오 튜토리얼을 선호한다면 여기 사용자 중 한 명이 준비한 튜토리얼이 있습니다. 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가 DHCP를 통해 새 IP 주소를 할당한 경우 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
실행하세요. 이 설정은 봇, 해커, 스패머 등을 포함하여 처음으로 웹 브라우저를 사용하여 프록시 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가 설치 되지 않고 루트가 아닌 사용자(예: 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 이미지를 기반으로 합니다. 루트가 아닌 기본 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를 연결하고 루트가 아닌 사용자 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회 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
무료 타이틀(예: 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]
; 이 솔루션은 SNI(Server Name Indication)[n7]를 지원하는 장치와 DNS를 사용하여 이름을 확인하는 경우에만 적용됩니다.Hulu
는 대부분의 비거주 IP 범위에서 지리적으로 크게 제한되어 있으며 IPv6를 지원하지 않습니다.build.sh
에 -c <ip>
옵션을 사용하여 수동으로 IP를 지정합니다.black.box
unzoner를 사용해 볼 수 있습니다.black.box
unzoner를 사용해 보세요.[email protected]
의 dnsmasq.© 2016-2019 ab1