TL;DR
ค้นหากล่อง Debian หรือ Ubuntu (ล่าสุด) n19 ที่มีรูทบน IP สาธารณะที่สะอาดแล้วเรียกใช้:
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
เป็นพร็อกซี DNS อัจฉริยะสำหรับการสตรีม Netflix
, Hulu
[n2], HBO Now
และอื่นๆ นอกภูมิภาค มีการปรับใช้โดยใช้คอนเทนเนอร์ Docker และใช้ dnsmasq
[n18] และ sniproxy
[n1] เพื่อให้บริการ SmartDNS มันใช้งานได้กับบางเว็บไซต์ที่ถูกบล็อก เช่น PornHub และ YouTube สมัครรับรายชื่ออีเมลและรับการแจ้งเตือนเกี่ยวกับคุณสมบัติใหม่ การอัพเดต ฯลฯ
สิ่งต่อไปนี้ได้รับการสนับสนุนนอกกรอบ แต่การเพิ่มบริการเพิ่มเติมนั้นไม่สำคัญและทำได้โดยการอัปเดตไฟล์ dnsmasq.conf
และเรียกใช้ docker restart dnsmasq
:
โครงการนี้ ฟรี อยู่ภายใต้ใบอนุญาต MIT มีให้โดยไม่มีการรับประกันใดๆ และสามารถใช้เพื่อวัตถุประสงค์ใดๆ รวมทั้งส่วนตัวและเชิงพาณิชย์ อย่างไรก็ตาม หากคุณวางแผนที่จะใช้มันเพื่อวัตถุประสงค์ทางการค้า (เช่น หาเงินจากมัน) โปรดอย่าคาดหวังความช่วยเหลือฟรี เพราะมันจะไม่ยุติธรรม โมเดลการสนับสนุนเชิงพาณิชย์สามารถเจรจาได้เสมอ หากจำเป็น โปรดติดต่อฉันหากนี่คือสิ่งที่คุณสนใจ
ย่อหน้าต่อไปนี้แสดงวิธีเริ่มต้นใช้งานโซลูชันนี้กับผู้ให้บริการคลาวด์สองสามรายที่ฉันเคยลองใช้มา หากคุณต้องการวิดีโอสอน นี่คือวิดีโอที่ผู้ใช้คนใดคนหนึ่งเตรียมไว้ หมายเหตุ OpenVZ จะไม่ทำงาน [n15] ตรวจสอบให้แน่ใจว่าได้รับเครื่องเสมือนที่เหมาะสมโดยใช้ KVM หรือ Xen
(Netflix ถูก บล็อก [n16]) ข้อมูลต่อไปนี้อิงตามอิมเมจ Ubuntu Docker มาตรฐานที่จัดทำโดย DigitalOcean
แต่ในทางทฤษฎีแล้วควรใช้งานได้กับการกระจาย Linux ใดๆ ที่ ติดตั้ง Docker ไว้ล่วงหน้า
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
และรายการอื่นๆ นอกภูมิภาคได้#netflix-proxy
บน freenode เพื่อขอความช่วยเหลือ หากคุณต้องการแบ่งปันระบบของคุณกับเพื่อนและครอบครัว คุณสามารถอนุญาตที่อยู่ IP บ้านของพวกเขาได้โดยใช้ไซต์ผู้ดูแลระบบ netflix-proxy
ซึ่งอยู่ที่ http://<ipaddr>:8080/
โดยที่ ipaddr
คือที่อยู่ IP สาธารณะ ของ VPS ของคุณ เข้าสู่ระบบโดยใช้บัญชี admin
ด้วยรหัสผ่านที่คุณบันทึกไว้ระหว่างการสร้าง หากคุณลืมข้อมูลรับรองผู้ดูแลระบบ ให้รีเซ็ต
บัญชี admin
ไม่จำกัดการเข้าหรือการลบ IP หากคุณต้องการจำกัดรายการ IP ไว้ที่ IP ไคลเอ็นต์ปัจจุบันโดยใช้เมนูแบบเลื่อนลงที่เติมข้อมูลโดยอัตโนมัติ ให้สร้างบัญชีผู้ใช้มาตรฐานโดยใช้สคริปต์ account-creator.sh
ที่อยู่ในไดเร็กทอรี auth
ซึ่งจะแจ้งให้คุณป้อนข้อมูลและสร้าง บัญชีผู้ใช้
คุณยังสามารถใช้ไซต์ผู้ดูแล netflix-proxy
เพื่ออัปเดตที่อยู่ IP ของคุณได้ หาก ISP ของคุณกำหนดที่อยู่ใหม่ให้กับคุณ (เช่น ผ่าน DHCP) หากที่อยู่ IP ของคุณเปลี่ยนแปลง คำขอ HTTP/HTTPS ทั้งหมดจะถูกเปลี่ยนเส้นทางไปยังไซต์ผู้ดูแลระบบบนพอร์ต 8080
โดยอัตโนมัติ คำขอ DNS ทั้งหมดจะถูกเปลี่ยนเส้นทางไปยังอินสแตนซ์ dnsmasq
ที่ทำงานบนพอร์ต 5353
คุณมักจะต้องล้างแคชเบราว์เซอร์และ DNS ของระบบหลังจากนี้ บน Windows ให้รัน ipconfig /flushdns
บน OS X ให้รัน:
sudo killall -HUP mDNSResponder
&& sudo dscacheutil -flushcache`
จากนั้นรีสตาร์ทเบราว์เซอร์ (เช่น chrome://restart
) และ/หรือรีบูตอุปกรณ์ที่เกี่ยวข้อง กลไกนี้ควรใช้ได้บนเบราว์เซอร์ แต่มักจะทำให้เกิดข้อผิดพลาดบนอุปกรณ์อื่นๆ เช่น Apple TV และสมาร์ททีวี หากอินเทอร์เน็ตของคุณหยุดทำงานกะทันหัน ให้ลองโหลดเบราว์เซอร์และไปที่ netflix.com
ipaddr
คือที่อยู่ IP สาธารณะของ VPS ของคุณ) แทนที่ข้อมูลรับรองผู้ดูแลระบบและรัน: 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 ที่เข้าถึงพร็อกซีของคุณ ให้ตั้งค่า AUTO_AUTH = True
ใน auth/settings.py
และเรียกใช้ service netflix-proxy-admin restart
การตั้งค่านี้จะอนุญาต IP ใด ๆ ที่เข้าถึง IP พร็อกซีของคุณด้วยเว็บเบราว์เซอร์เป็นครั้งแรกอย่างมีประสิทธิภาพ รวมถึงบอท แฮกเกอร์ ผู้ส่งอีเมลขยะ ฯลฯ เมื่ออนุญาตสำเร็จ เบราว์เซอร์จะถูกเปลี่ยนเส้นทางไปยัง Google
บริการ DNS ได้รับการกำหนดค่าโดยเปิดการเรียกซ้ำตามค่าเริ่มต้น ดังนั้นหลังจากการอนุญาตสำเร็จ ใครๆ ก็สามารถใช้ VPS ของคุณในการโจมตีการขยาย DNS ซึ่งอาจทำให้คุณละเมิดสัญญากับผู้ให้บริการ VPS คุณได้ รับคำเตือน
สคริปต์การสร้างจะกำหนดค่าระบบโดยอัตโนมัติโดย เปิดการเรียกซ้ำ DNS สิ่งนี้มีผลกระทบด้านความปลอดภัย เนื่องจากเซิร์ฟเวอร์ DNS ของคุณอาจเปิดการโจมตีด้วยการขยาย DNS ซึ่งเป็นการโจมตี DDoS ประเภทหนึ่ง อย่างไรก็ตาม สิ่งนี้ไม่ควรเป็นกังวล ตราบใดที่กฎไฟร์วอลล์ 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 ของผู้ให้บริการบางรายต้องการความช่วยเหลือเพิ่มเติม หากคุณได้รับปัญหา locale
ที่รายงานโดย Python
และ/หรือ pip
ในระหว่างการสร้าง ให้ลองเรียกใช้สิ่งต่อไปนี้ก่อน:
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]) สิ่งต่อไปนี้อิงตามอิมเมจ Debian ที่จัดทำโดย Vultr
แต่ในทางทฤษฎีแล้วควรจะใช้ได้กับการแจกแจง 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
บน freenode เพื่อขอความช่วยเหลือ (Netflix ถูก บล็อก [n16]) สิ่งต่อไปนี้อิงตามอิมเมจ Ubuntu มาตรฐานที่ 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
และรายการอื่นๆ นอกภูมิภาคได้#netflix-proxy
บน freenode เพื่อขอความช่วยเหลือ (Netflix ถูกบล็อก[n16]) สิ่งต่อไปนี้อิงตามอิมเมจ Debian หรือ Ubuntu ที่ RamNode
มอบให้
VPS Control Panel
และติดตั้งระบบปฏิบัติการใหม่โดยใช้อิมเมจ Ubuntu หรือ 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
บน freenode เพื่อขอความช่วยเหลือ (Netflix ถูก บล็อก [n16]) ข้อมูลต่อไปนี้อิงตามอิมเมจ Ubuntu มาตรฐานที่ Linode
จัดเตรียมไว้ให้ แต่ควรใช้ได้กับ Linux ทุกรุ่น ที่ไม่ได้ ติดตั้ง Docker
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
บน freenode เพื่อขอความช่วยเหลือ (ยังไม่ได้ทดสอบ) ข้อมูลต่อไปนี้อิงตามอิมเมจ Ubuntu มาตรฐานที่จัดทำโดย DreamHost
แต่ควรทำงานบนการกระจาย Linux โดยไม่ต้อง ติดตั้ง Docker และทำงานภายใต้ผู้ใช้ ที่ไม่ใช่รูท (เช่น Amazon Web Services
[n13])
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
บน freenode เพื่อขอความช่วยเหลือ ข้อมูลต่อไปนี้อิงตามอิมเมจ Ubuntu ที่จัดทำโดย Gandi
โดยใช้การล็อกอิน root
ด้วยคีย์ SSH เท่านั้น (ไม่มีรหัสผ่าน) สำหรับการเข้าสู่ระบบ admin
ที่ไม่ใช่รูทเริ่มต้น ให้ปรับขั้นตอนที่ 6 เพื่อใช้ sudo
เมื่อจำเป็น
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
บน freenode เพื่อขอความช่วยเหลือ สิ่งต่อไปนี้ ยังไม่ได้รับการทดสอบ และอิงตามอิมเมจ Ubuntu มาตรฐานที่ Microsoft Azure
จัดทำโดยใช้เครื่องมืออัตโนมัติ cloud-harness
ฉันเขียนย้อนกลับไปสักพักและถือว่าการสมัครใช้งาน 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)
และรักษาความปลอดภัยให้กับบ้าน/ที่ทำงาน/IP ใดก็ตามของคุณโดยใช้คุณสมบัติ Azure ACL
azureuser
โดยใช้พอร์ต TCP สาธารณะที่กำหนดเอง (ไม่ใช่ 22
) และใช้คำแนะนำ Ubuntu ที่ไม่ใช่ผู้ใช้รูทเพื่อสร้าง / ติดตั้ง netflix-proxy
โปรเจ็กต์นี้เชื่อมโยงกับ Travis CI
เพื่อปรับใช้และทดสอบโปรเจ็กต์โดยอัตโนมัติ สคริปต์ Python testbuild.py
ใช้ในการปรับใช้และทดสอบ netflix-proxy
สคริปต์นี้ปรับใช้ Droplet
การทดสอบ จากนั้นทำการทดสอบอย่างจริงจังเพื่อตรวจสอบ (a) ว่าคอนเทนเนอร์ Docker
ทั้งหมดเริ่มทำงาน; (b) สคริปต์ built.sh
ส่งออกข้อความที่ถูกต้องในตอนท้าย; (c) บริการที่เกี่ยวข้องทั้งหมดยังคงอยู่จากการรีบูต; และ (d) พร็อกซีสามารถสื่อสารกับ Netflix ผ่าน SSL ได้
สคริปต์ 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 ซึ่งทำได้โดยการเล่น 60 วินาทีของชื่อที่ทราบว่ามีเฉพาะในภูมิภาคสหรัฐอเมริกาเท่านั้น (เช่น 1,000 Times Good Night)
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
จะถูกดำเนินการเพื่อทดสอบการเล่นวิดีโอ Hulu โดยใช้หนึ่งในชื่อฟรี (เช่น South Park S01E01: Cartman Gets an Anal Probe) โครงสร้างได้รับการกำหนดค่าไม่ให้ล้มเหลวในกรณีที่การทดสอบ Hulu ล้มเหลว นี่เป็นเพราะ Hulu เกือบจะถูกบล็อกจาก Digital Ocean อย่างแน่นอน
โซลูชันนี้ใช้ IPv6 ดาวน์สตรีมจากพร็อกซีเพื่อปลดบล็อกผู้ให้บริการที่เปิดใช้งาน IPv6 เช่น Netflix ไม่จำเป็นต้องมีการสนับสนุน 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-c <ip>
เพื่อ build.sh
black.box
unzoner ได้black.box
unzoner[email protected]
© 2016-2019 ab1