AWS に squid で proxy を立てて Netflix 等がどうなるのか見てみた

## 概要
AWS に squid で Proxy を立てて、Netflix、Amazon Prime Video、radiko につながるか試してみた結果、Amazon Prime Video は OKで Netflix、radiko は NG だった。というメモ。Proxy を使った Region 超えの不正視聴を推奨するものではないです。

## 動機
Netflix や Amazon Prime Video、radiko のようなアクセス元の Region 判定しているサービスは、基本的には利用できないかアクセス元 Region の内容になる。東京・ホーチミンの2拠点居住の私は、ベトナム国内では Netflix はベトナム Region のもの、Amazon Prime は海外でも見られる内容のみ、radiko は使えない状況。
これを回避するためには、VPN サービス等を使うのが一般的であるが、無料 VPN サービスはセキュリティ的に問題しか感じないので、使うなら有料サービスを使うのが良い。別に大した金額でもないので払っても良いが、Netflix のベトナム Region で満足しており、ちょくちょく日本に帰る私には月額払うほどのモチベーションがない。なかった。

最近行ったインドで見た Netflix インド Region の Bollywood がかなり面白かった。が、ベトナムからあんまり見られない！というところから興味が湧いた。AWS 上に proxy サーバを立てて接続してみたら、どうなるか？ムンバイリージョンあるし、セキュリティ的なリスクがない（少ない）し、AWS の無料枠のなかで検証できるし。OpenVPN でも良かったが、proxy の方が簡単だったので。

## squid の設定
AWS Tokyo Region の AmazonLinux サーバに squid をインストール

```
$ sudo su -
# yum install squid -y
```
3.5.20 がインストールされた。

/etc/squid/squid.conf を編集

```
...
# And finally deny all other access to this proxy
#http_access deny all     # コメントアウトする

# Squid normally listens to port 3128
#http_port 3128      # コメントアウト
...
## 色々隠す
http_access allow all
http_access deny all
http_port xxxxx      # ポートは適当に変える。SG 等の設定も忘れずに。
visible_hostname unknown
forwarded_for off
request_header_access X-Forwarded-For deny all
request_header_access Via deny all
request_header_access Cache-Control deny all
reply_header_access X-Forwarded-For deny all
reply_header_access Via deny all
reply_header_access Cache-Control deny all
```

今回はちょっと検証するだけなので、アクセス元の制限は省略。検証終わったらすぐ止めるし。
いざ、起動する。

```
# service squid start
```

iPad に設定して、[診断くん](http://taruo.net/e/)で確認してみる。きちんと刺さってる。評価として Proxy 判定が 〜20％なので、まぁ良しとする。 
接続速度も、Download 26Mbps くらい出ていたので、十分。ビデオのストリーミングは、ものによるが基本 20Mbps くらいあれば途切れない。

## 検証
### Netflix
NG。
Netflix は、VPN や Proxy の対策をしているそうで、判定アルゴリズム + Black List なんだろうけど、いま立てたサーバが Black List に載っているとは考えづらく、AWS の IP レンジを全部ってことはきっとないだろうし、Netflix に接続できる VPN サービスは存在するので、なにか方法があるのだろう。
あからさまに怪しいのは、Gateway の名前 ```ec2-xxxx.ap-northeast-1.compute.amazonaws.com``` 。
なお、Netflix はダウンロードした Video を別の Region の IP アドレスから見ようとするとエラーになる。両方の Region で見られるものは別。ネット接続を切ってしまえば見ることはできる。その場合、Chromecast で見るなどはできない。

### Amazon Prime Video
OK。
なお、Amazon Prime Video はダウンロードしてしまえば、視聴はIPアドレスがどこからだろうが、可能。オフライン視聴には46時間の時間制限がつく。

### radiko
NG。
データセンターの場所が radiko 非対応の場所？？などとも思いましたが、Tokyo Region というくらいだし、[WikiLeaks](https://wikileaks.org/amazon-atlas/map/) によれば、データセンターは千葉市印西、江東区枝川、横浜市磯子区とのことなので違いますね。あまり興味がないので、追求せず。

## ところで利用規約的な話
ExpressVPN などのように大々的に、具体的なサービス名まであげてブロック解除できるよとうたっているサービス。Netflix とか Facebook とか YouTube とかと何か特別な契約でもあるの？そんなわけないよねと利用規約を見てみた。

[ExpressVPN Terms of Service](https://www.expressvpn.com/jp/tos)

> 6.Acceptable Use Policy
ExpressVPN Services may be accessed from all around the world, so it is your responsibility to assess whether using the Site, Apps, Software, or Services is in compliance with local laws and regulations. Whenever you use the Site, Apps, Software, or Services, you should comply with these Terms and applicable laws, regulations, and policies.

アクセス元の現地の法律および、利用するサービス等の利用規約に従いなさい。と書いてある。つまり、アクセスできるからって、ダメと言われているところにアクセスしちゃダメよと。

でも「[VPNでサイトのブロックを解除し、自由なインターネットを手に入れよう](https://www.expressvpn.com/jp/what-is-vpn/unblock-websites)」などのページに具体的なサービス名を挙げて、ブロック解除できると言っている。そんなのあり？どうなってんの？と利用規約を読み進めると…

> 9.Third-party Websites
ExpressVPN may provide you with content belonging to Third Parties (“Third Parties”) or links leading to third-party websites. ExpressVPN is not responsible for the availability of the content provided by Third Parties as they are not under the control or supervision of ExpressVPN, and they may have different terms of use and policies. Your access through our Services to any website, service, or content provided by Third Parties does not indicate any relationship between ExpressVPN and such Third Parties.

サービス名やリンクをあげることがあるけど、うちの管理下にあるサービスじゃないし、サービス提供会社とうちはなんの関係もないし、書いてるだけです。知りません。と書いてある。なんてこったい！

その後は一切責任は取らないからね！と書いてある。

その売り方に誠実さはあるのか？！とは思うものの、VPN サービスは Region 超えが目的ではないし、ユーザは利用規約に同意しているので、ExpressVNP 等が悪いとは思わない。利用規約に違反して使うユーザが悪い。

なお、VPN と言えば中国に行く時〜みたいなのをよく見かけるが、中国での VPN 利用（海外に行くようなもの）はそもそも違法である。

## まとめ
できるものもあるけど、禁止されてることは、やっちゃダメだぞ。温泉入りたい。