Hulu.jp 只允许日本 IP 观看视频,并且和 hulu 美国一样,封锁了某些 VPN / Proxy / VPS / 数据中心的IP。比如 Linode Tokyo 的 IP 就无法看 hulu.jp 视频,会提示检测到访问 IP 是匿名代理。
于是我在 Linode Tokyo VPS 上将对 hulu.jp 的 IP 段的访问全部通过隧道 (GRE Tunnel)转到另一个未被 hulu.jp 封锁的 VPS (简称 VPS B)上,通过后者的 IP访问 hulu.jp。为什么不直接从本地连接 VPS B 呢,因为本地的网络连接 Linode 很多时候比 VPS B 更稳定。
关键是需要获取 www.hulu.jp 的 IP 列表。在路由器上运行 dnsmasq,打开 log.
log-queries log-facility=/tmp/dnsmasq.log
这样 dnsmasq 会记录所有查询的域名和查询结果到日志文件里。用 iptables 将所有外发的 53 端口 UDP 的 DNS 查询请求重定向到本机 dnsmasq。然后在 PC 浏览器里访问 hulu.jp 并打开一个视频播放页面。
然后去 dnsmasq 日志里,找到刚才查询的所有域名,将查询结果放到 he.net BGP Toolkit 里搜索,找到这些 IP 所属的 IP 段。
然后在路由表里将这些 IP 段全部通过 与 VPS B 的 GRE tunnel 访问即可。
附:我找到的 hulu.jp 使用的 IP 段
#hulu-japan.jp (use amazon) 52.68.90.80 54.250.244.125 #hulu.jp 208.91.156.0/23 210.155.0.0/17 #Akamai CDN 23.32.0.0/11 96.16.0.0/15 104.64.0.0/10 118.214.0.0/15 184.84.0.0/14 72.246.0.0/15 69.192.0.0/16 61.213.160.0/19 # akamai kddi t2.huluim.com 106.187.61.0/24