Shanghai

Apple TV 国内观看 Netflix/HBO

Setup shadowsocks and dnsmasq on OpenWrt for Apple TV

如果你不愿意折腾的话,也可以尝试 Getflix 提供的 Smart DNS 解决方案,只需要在 Apple TV 上手动配置 DNS 即可,缺点是并不稳定且限制固定 IP 使用、对 Netflix 的支持比较复杂。

设备

  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. :-)