{"id":13825990,"url":"https://github.com/cdhowie/netflix-no-ipv6-dns-proxy","last_synced_at":"2025-07-08T22:33:08.589Z","repository":{"id":140675646,"uuid":"60626342","full_name":"cdhowie/netflix-no-ipv6-dns-proxy","owner":"cdhowie","description":"NOTE: I am no longer a Netflix subscriber and therefore cannot reasonably maintain this project anymore. (Fix for Netflix blocking various IPv6 tunnels by returning no results for AAAA queries of Netflix domains)","archived":true,"fork":false,"pushed_at":"2021-06-26T21:51:55.000Z","size":22,"stargazers_count":88,"open_issues_count":3,"forks_count":19,"subscribers_count":12,"default_branch":"master","last_synced_at":"2024-08-05T09:14:42.663Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cdhowie.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-06-07T15:49:48.000Z","updated_at":"2023-05-19T17:04:46.000Z","dependencies_parsed_at":"2024-01-07T22:49:02.895Z","dependency_job_id":"d54ccb27-7b66-4f9d-8236-47462a1fdef2","html_url":"https://github.com/cdhowie/netflix-no-ipv6-dns-proxy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdhowie%2Fnetflix-no-ipv6-dns-proxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdhowie%2Fnetflix-no-ipv6-dns-proxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdhowie%2Fnetflix-no-ipv6-dns-proxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdhowie%2Fnetflix-no-ipv6-dns-proxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cdhowie","download_url":"https://codeload.github.com/cdhowie/netflix-no-ipv6-dns-proxy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225470631,"owners_count":17479366,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-04T09:01:30.428Z","updated_at":"2024-11-20T04:31:08.826Z","avatar_url":"https://github.com/cdhowie.png","language":"Python","funding_links":[],"categories":["Python (1887)","Python","\u003ca id=\"01e6651181d405ecdcd92a452989e7e0\"\u003e\u003c/a\u003e工具"],"sub_categories":["\u003ca id=\"9d6789f22a280f5bb6491d1353b02384\"\u003e\u003c/a\u003e隧道\u0026\u0026穿透"],"readme":"# netflix-no-ipv6-dns-proxy\n\nThis is a DNS server that intentionally returns an empty result set for any\nAAAA query for netflix.com or any subdomain thereof.  The intent is to force\nNetflix to use IPv4 in cases where Netflix has blocked IPv6 access --\nspecifically, for [Hurricane Electric users who find Netflix giving them the\nerror](https://forums.he.net/index.php?topic=3564.0):\n\n\u003e You seem to be using an unblocker or proxy. Please turn off any of these\n\u003e services and try again. For more help, visit netflix.com/proxy.\n\nNote that this server **does not** in any way circumvent Netflix's block\nagainst these IPv6 address ranges; all it does is force Netflix to use the IPv4\nInternet.\n\nI also considered null-routing the Netflix IPv6 address ranges, but many (all?)\nNetflix services are deployed in Amazon Web Services, so there's no good way to\nreliably null-route Netflix without null-routing all of AWS.  Dealing with the\nproblem in the DNS process allows us to precisely block exactly what we want\nblocked (\\*.netflix.com) and nothing that we don't want blocked.\n\n## Dependencies\n\nThe only dependency is Twisted Names for Python.\n\n## Configuration\n\nOpen `server.py` and configure the `OPTIONS` dict according to the comments.\nHere you will be able to configure which address and port this server binds to,\nas well as which DNS server it will forward requests to.\n\nThe Netflix apps for Chromecast and Android have started **ignoring the DNS\nservers announced over DHCP and will send queries directly to 8.8.8.8 and/or\n8.8.4.4**. If you are running this proxy on your network's default gateway,\nsimply configure the LAN-facing interface with these addresses to force all\nqueries to them to be handled by the proxy. If you are running the DNS proxy\non another box, you will have to configure your router to NAT DNS requests to\nthese addresses to that other box.\n\nAlternatively, if you block the Google Public DNS servers at the router level\nthis will force a Chromecast device to fallback to the DNS servers pushed via DHCP.\n\nAn example of achieving this with `iptables`:\n\n```\niptables -I FORWARD --destination 8.8.8.8 -j REJECT\niptables -I FORWARD --destination 8.8.4.4 -j REJECT\n```\n\nNote that if you are using dnsmasq and its built-in DHCP server, and you\nreconfigure it to listen on a port other than 53 for DNS, it will stop\nadvertising itself as a DNS server to DHCP clients.  Put `dhcp-option=6,$IP` in\n`dnsmasq.conf` (changing `$IP` to the server's LAN IP) to fix this.  Note that\nthis will not work when dnsmasq is serving multiple different DHCP ranges,\nunless you use an IP address that is reachable from all of those networks.\n\n## Installation\n\nClone this repository into `/opt/netflix-no-ipv6-dns-proxy`.  (You can clone as\nany user, but the server must be run as root in order to bind to port 53.)\n\nRun the following commands to install the systemd service:\n\n    cp /opt/netflix-no-ipv6-dns-proxy/netflix-no-ipv6-dns-proxy.service /etc/systemd/system/\n    systemctl enable netflix-no-ipv6-dns-proxy.service\n    systemctl start netflix-no-ipv6-dns-proxy.service\n\nIf you don't want to have to keep the unit file up to date manually, you can\nsymlink it (`ln -s`) if your version of systemd works with symlinked unit\nfiles, or hardlink it if `/opt/netflix-no-ipv6-dns-proxy` and\n`/etc/systemd/system` exist on the same volume.\n\nIf you're using a system that's not using systemd, install the init script and start the service as follows:\n\n    cp netflix-no-ipv6-dns-proxy.init /etc/init.d/netflix-no-ipv6-dns-proxy\n    update-rc.d -n netflix-no-ipv6-dns-proxy defaults\n    service netflix-no-ipv6-dns-proxy start\n\nIf you're using launchd (eg: macOS), install the launchd.plist and load the service as follows:\n\n    sudo cp com.github.cdhowie.netflix-no-ipv6-dns-proxy.plist /Library/LaunchDaemons\n    sudo launchctl load -w /Library/LaunchDaemons/com.github.cdhowie.netflix-no-ipv6-dns-proxy.plist\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcdhowie%2Fnetflix-no-ipv6-dns-proxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcdhowie%2Fnetflix-no-ipv6-dns-proxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcdhowie%2Fnetflix-no-ipv6-dns-proxy/lists"}