Shanghai

Apple TV 国内观看 Netflix/HBO

Setup shadowsocks and dnsmasq on OpenWrt for Apple TV

如果你不愿意折腾的话,也可以尝试 Getflix 提供的 Smart DNS 解决方案,只需要在 Apple TV 上手动配置 DNS 即可,缺点是并不稳定且限制固定 IP 使用、对 Netflix 的支持比较复杂。或者试试这里 http://comparitech.net/netflix-vpn 列出来的支持 Netflix 的 VPN.

设备

  1. Apple TV
  2. 支持 OpenWrt 的路由器

配置 shadowsocks

首先,你需要一个支持 Netflix/HBO 等地区解锁的 shadowsocks 服务,我目前用的是 rixCloud 提供的 Relay 服务,需要在路由器上安装配置 shadowsocks。

我使用的是小米路由器 mini,直接用了 miwifi-ss 的方案按照配置了 shadowsocks ss-redir 服务。

cd /tmp
curl https://raw.githubusercontent.com/blademainer/miwifi-ss/master/miwifi.sh -o miwifi.sh
chmod +x miwifi.sh
sh ./miwifi.sh
rm miwifi.sh

配置 iptables

miwifi-ss 中提供的 iptables 配置太过简单,由于 Netflix/HBO 等服务均会验证用户 IP 位置,我们需要自行配置 iptables 规则:

/etc/firewall.user:

iptables -t nat -N SHADOWSOCKS

iptables -t nat -A SHADOWSOCKS -d YOUR_SS_SERVER_IP -j RETURN

iptables -t nat -A SHADOWSOCKS -d 0.0.0.0/8 -j RETURN
iptables -t nat -A SHADOWSOCKS -d 10.0.0.0/8 -j RETURN
iptables -t nat -A SHADOWSOCKS -d 127.0.0.0/8 -j RETURN
iptables -t nat -A SHADOWSOCKS -d 169.254.0.0/16 -j RETURN
iptables -t nat -A SHADOWSOCKS -d 172.16.0.0/12 -j RETURN
iptables -t nat -A SHADOWSOCKS -d 192.168.0.0/16 -j RETURN
iptables -t nat -A SHADOWSOCKS -d 224.0.0.0/4 -j RETURN
iptables -t nat -A SHADOWSOCKS -d 240.0.0.0/4 -j RETURN

iptables -t nat -A SHADOWSOCKS -p tcp -j REDIRECT --to-ports 1081

iptables -t nat -A PREROUTING -p tcp -j SHADOWSOCKS

配置好后重启 firewall 服务:

/etc/init.d/firewall restart

DNS

即便配置好了 shadowsocks 和 iptables,仍然很有可能会遇到 DNS 投毒的情况,建议配置下 dnsmasq,可以使用 gfwlist2dnsmasq 生成 dnsmasq 配置文件并放到 /etc/dnsmasq.d 文件夹中,然后重启 dnsmasq 服务:

/etc/init.d/dnsmasq restart

我目前使用的 gfwlist.conf 内容如下:

Now enjoy some nice TV shows. :-)