TL;DR
ابحث عن مربع n19 Debian أو Ubuntu (حديث) به جذر على عنوان 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 الخاص بك، إذا قام مزود خدمة الإنترنت لديك بتعيين عنوان جديد لك (على سبيل المثال عبر 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. من المرجح أن تفشل في كافة التوزيعات الأخرى. تتطلب بعض المتطلبات المسبقة تعيين اللغة بشكل صحيح وتحتاج بعض صور نظام تشغيل الموفر إلى مساعدة إضافية. إذا حصلت على مشكلات 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]) يستند ما يلي إلى صورة دبيان المقدمة من Vultr
، ولكن من المفترض أن يعمل نظريًا على أي توزيعة دبيان.
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
ثم يقوم بإجراء مجموعة من الاختبارات للتحقق من (أ) بدء تشغيل كافة حاويات Docker
؛ (ب) يقوم البرنامج النصي built.sh
بإخراج الرسالة الصحيحة في النهاية؛ (ج) تبقى جميع الخدمات ذات الصلة بعد إعادة التشغيل؛ و(د) الوكيل قادر على التواصل مع 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 ثانية من عنوان معروف بأنه متاح فقط في منطقة الولايات المتحدة (على سبيل المثال 1000 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]
؛ لن يعمل هذا الحل إلا على الأجهزة التي تدعم إشارة اسم الخادم (SNI)[n7] وفقط إذا كانت تستخدم DNS لحل الأسماء.Hulu
مقيد جغرافيًا بشدة من معظم نطاقات IP غير السكنية ولا يدعم IPv6.-c <ip>
لـ build.sh
.black.box
unzoner.black.box
unzoner.[email protected]
.© 2016-2019 أب1